[MPlayer-cvslog] r29305 - in trunk: DOCS/README DOCS/man/cs/mplayer.1 DOCS/man/en/mplayer.1 DOCS/man/es/mplayer.1 DOCS/man/it/mplayer.1 DOCS/man/pl/mplayer.1 DOCS/man/ru/mplayer.1 DOCS/man/zh_CN/mplayer.1 DOCS/tech...

diego subversion at mplayerhq.hu
Wed May 13 04:59:03 CEST 2009


Author: diego
Date: Wed May 13 04:58:57 2009
New Revision: 29305

Log:
whitespace cosmetics: Remove all trailing whitespace.

Modified:
   trunk/DOCS/README
   trunk/DOCS/tech/Doxyfile
   trunk/DOCS/tech/TODO
   trunk/DOCS/tech/codec-devel.txt
   trunk/DOCS/tech/dr-methods.txt
   trunk/DOCS/tech/encoding-tips.txt
   trunk/DOCS/tech/formats.txt
   trunk/DOCS/tech/general.txt
   trunk/DOCS/tech/hwac3.txt
   trunk/DOCS/tech/libao2.txt
   trunk/DOCS/tech/libvo.txt
   trunk/DOCS/tech/mingw-crosscompile.txt
   trunk/DOCS/tech/new_policy_proposal.txt
   trunk/DOCS/tech/playtree
   trunk/DOCS/tech/realcodecs/TODO
   trunk/DOCS/tech/realcodecs/audio-codecs.txt
   trunk/DOCS/tech/realcodecs/video-codecs.txt
   trunk/DOCS/tech/slave.txt
   trunk/DOCS/tech/snow.txt
   trunk/DOCS/tech/subcp.txt
   trunk/DOCS/tech/swscaler_methods.txt
   trunk/DOCS/tech/vidix.txt
   trunk/DOCS/xml/xsl/ldp-html-chunk.xsl
   trunk/DOCS/xml/xsl/ldp-html-common.xsl
   trunk/DOCS/xml/xsl/ldp-html.xsl
   trunk/TOOLS/aconvert.sh
   trunk/TOOLS/bmovl-test.c
   trunk/TOOLS/calcbpp.pl
   trunk/TOOLS/divx2svcd.sh
   trunk/TOOLS/mencvcd.sh
   trunk/TOOLS/modify_reg.c
   trunk/TOOLS/movinfo.c
   trunk/TOOLS/netstream.c
   trunk/TOOLS/plotpsnr.pl
   trunk/TOOLS/qepdvcd.sh
   trunk/TOOLS/realcodecs/14_4.c
   trunk/TOOLS/realcodecs/28_8.c
   trunk/TOOLS/realcodecs/cook.c
   trunk/TOOLS/realcodecs/drv2.c
   trunk/TOOLS/realcodecs/drv3.c
   trunk/TOOLS/realcodecs/drv4.c
   trunk/TOOLS/realcodecs/ra.c
   trunk/TOOLS/realcodecs/rv30.c
   trunk/TOOLS/realcodecs/sipr.c
   trunk/TOOLS/subrip.c
   trunk/TOOLS/vivodump.c
   trunk/TOOLS/vobshift.py
   trunk/TOOLS/w32codec_dl.pl
   trunk/asxparser.c
   trunk/asxparser.h
   trunk/cfg-common-opts.h
   trunk/cfg-common.h
   trunk/cfg-mencoder.h
   trunk/cfg-mplayer.h
   trunk/codec-cfg.c
   trunk/command.c
   trunk/cpudetect.c
   trunk/debian/README.debian
   trunk/debian/changelog
   trunk/debian/control
   trunk/debian/rules
   trunk/drivers/3dfx.h
   trunk/drivers/hacking.ati
   trunk/drivers/mga_vid.c
   trunk/drivers/mga_vid_test.c
   trunk/drivers/radeon.h
   trunk/drivers/radeon_vid.c
   trunk/drivers/tdfx_vid.c
   trunk/drivers/tdfx_vid.h
   trunk/drivers/tdfx_vid_test.c
   trunk/edl.c
   trunk/etc/codecs.conf
   trunk/etc/input.conf
   trunk/etc/menu.conf
   trunk/find_sub.c
   trunk/gui/app.c
   trunk/gui/app.h
   trunk/gui/bitmap.c
   trunk/gui/cfg.c
   trunk/gui/interface.c
   trunk/gui/interface.h
   trunk/gui/mplayer/gtk/about.c
   trunk/gui/mplayer/gtk/eq.c
   trunk/gui/mplayer/gtk/gtk_common.c
   trunk/gui/mplayer/gtk/gtk_url.c
   trunk/gui/mplayer/gtk/mb.c
   trunk/gui/mplayer/gtk/menu.c
   trunk/gui/mplayer/gtk/opts.c
   trunk/gui/mplayer/gtk/pl.c
   trunk/gui/mplayer/gtk/sb.c
   trunk/gui/mplayer/gui_common.c
   trunk/gui/mplayer/mw.c
   trunk/gui/mplayer/pb.c
   trunk/gui/mplayer/play.c
   trunk/gui/mplayer/sw.c
   trunk/gui/mplayer/widgets.c
   trunk/gui/skin/cut.c
   trunk/gui/skin/font.c
   trunk/gui/skin/skin.c
   trunk/gui/wm/ws.c
   trunk/gui/wm/wsxdnd.c
   trunk/input/appleir.c
   trunk/input/input.c
   trunk/input/input.h
   trunk/input/joystick.c
   trunk/input/lirc.c
   trunk/input/lirc.h
   trunk/libaf/af.c
   trunk/libaf/af.h
   trunk/libaf/af_center.c
   trunk/libaf/af_channels.c
   trunk/libaf/af_comp.c
   trunk/libaf/af_delay.c
   trunk/libaf/af_dummy.c
   trunk/libaf/af_equalizer.c
   trunk/libaf/af_export.c
   trunk/libaf/af_extrastereo.c
   trunk/libaf/af_format.c
   trunk/libaf/af_format_alaw.h
   trunk/libaf/af_format_ulaw.h
   trunk/libaf/af_gate.c
   trunk/libaf/af_hrtf.c
   trunk/libaf/af_karaoke.c
   trunk/libaf/af_ladspa.c
   trunk/libaf/af_lavcresample.c
   trunk/libaf/af_pan.c
   trunk/libaf/af_resample.c
   trunk/libaf/af_resample_template.c
   trunk/libaf/af_sinesuppress.c
   trunk/libaf/af_sub.c
   trunk/libaf/af_surround.c
   trunk/libaf/af_sweep.c
   trunk/libaf/af_tools.c
   trunk/libaf/af_volnorm.c
   trunk/libaf/af_volume.c
   trunk/libaf/control.h
   trunk/libaf/equalizer.h
   trunk/libaf/filter.c
   trunk/libaf/filter.h
   trunk/libaf/format.c
   trunk/libaf/window.c
   trunk/libao2/ao_alsa.c
   trunk/libao2/ao_alsa5.c
   trunk/libao2/ao_coreaudio.c
   trunk/libao2/ao_dsound.c
   trunk/libao2/ao_dxr2.c
   trunk/libao2/ao_esd.c
   trunk/libao2/ao_ivtv.c
   trunk/libao2/ao_jack.c
   trunk/libao2/ao_mpegpes.c
   trunk/libao2/ao_nas.c
   trunk/libao2/ao_null.c
   trunk/libao2/ao_openal.c
   trunk/libao2/ao_oss.c
   trunk/libao2/ao_pcm.c
   trunk/libao2/ao_sdl.c
   trunk/libao2/ao_sgi.c
   trunk/libao2/ao_sun.c
   trunk/libao2/ao_v4l2.c
   trunk/libao2/ao_win32.c
   trunk/libao2/audio_out.h
   trunk/libass/ass.c
   trunk/libass/ass.h
   trunk/libass/ass_bitmap.c
   trunk/libass/ass_cache.c
   trunk/libass/ass_cache.h
   trunk/libass/ass_font.c
   trunk/libass/ass_fontconfig.c
   trunk/libass/ass_library.c
   trunk/libass/ass_mp.c
   trunk/libass/ass_render.c
   trunk/libass/ass_types.h
   trunk/libass/ass_utils.c
   trunk/libmenu/menu.c
   trunk/libmenu/menu.h
   trunk/libmenu/menu_chapsel.c
   trunk/libmenu/menu_cmdlist.c
   trunk/libmenu/menu_console.c
   trunk/libmenu/menu_dvbin.c
   trunk/libmenu/menu_filesel.c
   trunk/libmenu/menu_list.c
   trunk/libmenu/menu_list.h
   trunk/libmenu/menu_param.c
   trunk/libmenu/menu_pt.c
   trunk/libmenu/menu_txt.c
   trunk/libmenu/vf_menu.c
   trunk/libmpcodecs/ad_acm.c
   trunk/libmpcodecs/ad_alaw.c
   trunk/libmpcodecs/ad_dk3adpcm.c
   trunk/libmpcodecs/ad_dmo.c
   trunk/libmpcodecs/ad_dshow.c
   trunk/libmpcodecs/ad_dvdpcm.c
   trunk/libmpcodecs/ad_faad.c
   trunk/libmpcodecs/ad_ffmpeg.c
   trunk/libmpcodecs/ad_hwac3.c
   trunk/libmpcodecs/ad_hwmpa.c
   trunk/libmpcodecs/ad_imaadpcm.c
   trunk/libmpcodecs/ad_liba52.c
   trunk/libmpcodecs/ad_libdv.c
   trunk/libmpcodecs/ad_libmad.c
   trunk/libmpcodecs/ad_libvorbis.c
   trunk/libmpcodecs/ad_mp3lib.c
   trunk/libmpcodecs/ad_mpc.c
   trunk/libmpcodecs/ad_msadpcm.c
   trunk/libmpcodecs/ad_msgsm.c
   trunk/libmpcodecs/ad_pcm.c
   trunk/libmpcodecs/ad_qtaudio.c
   trunk/libmpcodecs/ad_realaud.c
   trunk/libmpcodecs/ad_sample.c
   trunk/libmpcodecs/ad_twin.c
   trunk/libmpcodecs/ae.c
   trunk/libmpcodecs/ae_faac.c
   trunk/libmpcodecs/ae_lame.c
   trunk/libmpcodecs/ae_lavc.c
   trunk/libmpcodecs/ae_pcm.c
   trunk/libmpcodecs/ae_toolame.c
   trunk/libmpcodecs/ae_twolame.c
   trunk/libmpcodecs/mp_image.c
   trunk/libmpcodecs/native/rtjpegn.c
   trunk/libmpcodecs/native/rtjpegn.h
   trunk/libmpcodecs/native/xa_gsm.c
   trunk/libmpcodecs/native/xa_gsm_int.h
   trunk/libmpcodecs/pullup.c
   trunk/libmpcodecs/vd.c
   trunk/libmpcodecs/vd_dmo.c
   trunk/libmpcodecs/vd_dshow.c
   trunk/libmpcodecs/vd_hmblck.c
   trunk/libmpcodecs/vd_libdv.c
   trunk/libmpcodecs/vd_libmpeg2.c
   trunk/libmpcodecs/vd_lzo.c
   trunk/libmpcodecs/vd_mpegpes.c
   trunk/libmpcodecs/vd_mpng.c
   trunk/libmpcodecs/vd_mtga.c
   trunk/libmpcodecs/vd_null.c
   trunk/libmpcodecs/vd_qtvideo.c
   trunk/libmpcodecs/vd_raw.c
   trunk/libmpcodecs/vd_realvid.c
   trunk/libmpcodecs/vd_sgi.c
   trunk/libmpcodecs/vd_theora.c
   trunk/libmpcodecs/vd_vfw.c
   trunk/libmpcodecs/vd_xanim.c
   trunk/libmpcodecs/vd_xvid4.c
   trunk/libmpcodecs/vd_zrmjpeg.c
   trunk/libmpcodecs/ve_lavc.c
   trunk/libmpcodecs/ve_libdv.c
   trunk/libmpcodecs/ve_nuv.c
   trunk/libmpcodecs/ve_qtvideo.c
   trunk/libmpcodecs/ve_raw.c
   trunk/libmpcodecs/ve_vfw.c
   trunk/libmpcodecs/ve_x264.c
   trunk/libmpcodecs/ve_xvid4.c
   trunk/libmpcodecs/vf.c
   trunk/libmpcodecs/vf.h
   trunk/libmpcodecs/vf_1bpp.c
   trunk/libmpcodecs/vf_2xsai.c
   trunk/libmpcodecs/vf_ass.c
   trunk/libmpcodecs/vf_bmovl.c
   trunk/libmpcodecs/vf_boxblur.c
   trunk/libmpcodecs/vf_crop.c
   trunk/libmpcodecs/vf_cropdetect.c
   trunk/libmpcodecs/vf_decimate.c
   trunk/libmpcodecs/vf_delogo.c
   trunk/libmpcodecs/vf_detc.c
   trunk/libmpcodecs/vf_dvbscale.c
   trunk/libmpcodecs/vf_eq.c
   trunk/libmpcodecs/vf_eq2.c
   trunk/libmpcodecs/vf_expand.c
   trunk/libmpcodecs/vf_field.c
   trunk/libmpcodecs/vf_fil.c
   trunk/libmpcodecs/vf_filmdint.c
   trunk/libmpcodecs/vf_flip.c
   trunk/libmpcodecs/vf_format.c
   trunk/libmpcodecs/vf_fspp.c
   trunk/libmpcodecs/vf_halfpack.c
   trunk/libmpcodecs/vf_harddup.c
   trunk/libmpcodecs/vf_hqdn3d.c
   trunk/libmpcodecs/vf_hue.c
   trunk/libmpcodecs/vf_il.c
   trunk/libmpcodecs/vf_ilpack.c
   trunk/libmpcodecs/vf_ivtc.c
   trunk/libmpcodecs/vf_lavc.c
   trunk/libmpcodecs/vf_lavcdeint.c
   trunk/libmpcodecs/vf_mcdeint.c
   trunk/libmpcodecs/vf_mirror.c
   trunk/libmpcodecs/vf_noformat.c
   trunk/libmpcodecs/vf_noise.c
   trunk/libmpcodecs/vf_ow.c
   trunk/libmpcodecs/vf_palette.c
   trunk/libmpcodecs/vf_perspective.c
   trunk/libmpcodecs/vf_phase.c
   trunk/libmpcodecs/vf_pp.c
   trunk/libmpcodecs/vf_pp7.c
   trunk/libmpcodecs/vf_pullup.c
   trunk/libmpcodecs/vf_qp.c
   trunk/libmpcodecs/vf_rectangle.c
   trunk/libmpcodecs/vf_remove_logo.c
   trunk/libmpcodecs/vf_rgb2bgr.c
   trunk/libmpcodecs/vf_rgbtest.c
   trunk/libmpcodecs/vf_rotate.c
   trunk/libmpcodecs/vf_sab.c
   trunk/libmpcodecs/vf_scale.c
   trunk/libmpcodecs/vf_smartblur.c
   trunk/libmpcodecs/vf_softskip.c
   trunk/libmpcodecs/vf_spp.c
   trunk/libmpcodecs/vf_swapuv.c
   trunk/libmpcodecs/vf_telecine.c
   trunk/libmpcodecs/vf_tfields.c
   trunk/libmpcodecs/vf_tinterlace.c
   trunk/libmpcodecs/vf_unsharp.c
   trunk/libmpcodecs/vf_uspp.c
   trunk/libmpcodecs/vf_yuvcsp.c
   trunk/libmpcodecs/vf_yuy2.c
   trunk/libmpcodecs/vf_yvu9.c
   trunk/libmpcodecs/vqf.h
   trunk/libmpdemux/aac_hdr.c
   trunk/libmpdemux/asf.h
   trunk/libmpdemux/asfguid.h
   trunk/libmpdemux/asfheader.c
   trunk/libmpdemux/aviheader.c
   trunk/libmpdemux/aviheader.h
   trunk/libmpdemux/aviprint.c
   trunk/libmpdemux/demux_aac.c
   trunk/libmpdemux/demux_asf.c
   trunk/libmpdemux/demux_audio.c
   trunk/libmpdemux/demux_avi.c
   trunk/libmpdemux/demux_avs.c
   trunk/libmpdemux/demux_avs.h
   trunk/libmpdemux/demux_demuxers.c
   trunk/libmpdemux/demux_film.c
   trunk/libmpdemux/demux_fli.c
   trunk/libmpdemux/demux_gif.c
   trunk/libmpdemux/demux_lmlm4.c
   trunk/libmpdemux/demux_mf.c
   trunk/libmpdemux/demux_mkv.c
   trunk/libmpdemux/demux_mov.c
   trunk/libmpdemux/demux_mpg.c
   trunk/libmpdemux/demux_nemesi.c
   trunk/libmpdemux/demux_nsv.c
   trunk/libmpdemux/demux_ogg.c
   trunk/libmpdemux/demux_pva.c
   trunk/libmpdemux/demux_real.c
   trunk/libmpdemux/demux_realaud.c
   trunk/libmpdemux/demux_roq.c
   trunk/libmpdemux/demux_rtp.cpp
   trunk/libmpdemux/demux_rtp_codec.cpp
   trunk/libmpdemux/demux_smjpeg.c
   trunk/libmpdemux/demux_ts.c
   trunk/libmpdemux/demux_ty_osd.c
   trunk/libmpdemux/demux_viv.c
   trunk/libmpdemux/demux_vqf.c
   trunk/libmpdemux/demux_xmms_plugin.h
   trunk/libmpdemux/demux_y4m.c
   trunk/libmpdemux/demuxer.h
   trunk/libmpdemux/genres.h
   trunk/libmpdemux/mf.c
   trunk/libmpdemux/mp3_hdr.c
   trunk/libmpdemux/mp3_hdr.h
   trunk/libmpdemux/mpeg_hdr.c
   trunk/libmpdemux/mpeg_packetizer.c
   trunk/libmpdemux/mpeg_packetizer.h
   trunk/libmpdemux/muxer.c
   trunk/libmpdemux/muxer_avi.c
   trunk/libmpdemux/muxer_lavf.c
   trunk/libmpdemux/muxer_mpeg.c
   trunk/libmpdemux/parse_es.c
   trunk/libmpdemux/parse_mp4.c
   trunk/libmpdemux/parse_mp4.h
   trunk/libmpdemux/qtpalette.h
   trunk/libmpdemux/video.c
   trunk/libmpdemux/yuv4mpeg.c
   trunk/libmpdemux/yuv4mpeg_intern.h
   trunk/libmpdemux/yuv4mpeg_ratio.c
   trunk/libvo/aspecttest.c
   trunk/libvo/font_load.c
   trunk/libvo/font_load.h
   trunk/libvo/font_load_ft.c
   trunk/libvo/geometry.c
   trunk/libvo/gl_common.c
   trunk/libvo/gl_common.h
   trunk/libvo/gtf.c
   trunk/libvo/gtf.h
   trunk/libvo/jpeg_enc.c
   trunk/libvo/jpeg_enc.h
   trunk/libvo/mga_common.c
   trunk/libvo/osd_template.c
   trunk/libvo/spuenc.c
   trunk/libvo/sub.c
   trunk/libvo/vesa_lvo.c
   trunk/libvo/videodev_mjpeg.h
   trunk/libvo/vo_3dfx.c
   trunk/libvo/vo_aa.c
   trunk/libvo/vo_bl.c
   trunk/libvo/vo_caca.c
   trunk/libvo/vo_corevideo.h
   trunk/libvo/vo_corevideo.m
   trunk/libvo/vo_cvidix.c
   trunk/libvo/vo_dga.c
   trunk/libvo/vo_directfb2.c
   trunk/libvo/vo_directx.c
   trunk/libvo/vo_dxr2.c
   trunk/libvo/vo_dxr3.c
   trunk/libvo/vo_fbdev2.c
   trunk/libvo/vo_gif89a.c
   trunk/libvo/vo_gl.c
   trunk/libvo/vo_ivtv.c
   trunk/libvo/vo_jpeg.c
   trunk/libvo/vo_md5sum.c
   trunk/libvo/vo_mga.c
   trunk/libvo/vo_mpegpes.c
   trunk/libvo/vo_null.c
   trunk/libvo/vo_png.c
   trunk/libvo/vo_pnm.c
   trunk/libvo/vo_quartz.c
   trunk/libvo/vo_quartz.h
   trunk/libvo/vo_s3fb.c
   trunk/libvo/vo_sdl.c
   trunk/libvo/vo_tdfx_vid.c
   trunk/libvo/vo_v4l2.c
   trunk/libvo/vo_vdpau.c
   trunk/libvo/vo_vesa.c
   trunk/libvo/vo_winvidix.c
   trunk/libvo/vo_x11.c
   trunk/libvo/vo_xover.c
   trunk/libvo/vo_xv.c
   trunk/libvo/vo_yuv4mpeg.c
   trunk/libvo/vo_zr.c
   trunk/libvo/vo_zr2.c
   trunk/libvo/vosub_vidix.c
   trunk/libvo/w32_common.c
   trunk/libvo/x11_common.c
   trunk/loader/afl.c
   trunk/loader/com.h
   trunk/loader/dmo/DMO_AudioDecoder.c
   trunk/loader/dmo/DMO_VideoDecoder.c
   trunk/loader/dshow/DS_AudioDecoder.c
   trunk/loader/dshow/DS_Filter.c
   trunk/loader/dshow/DS_VideoDecoder.c
   trunk/loader/dshow/allocator.c
   trunk/loader/dshow/cmediasample.c
   trunk/loader/dshow/inputpin.c
   trunk/loader/dshow/libwin32.h
   trunk/loader/dshow/mediatype.c
   trunk/loader/dshow/mediatype.h
   trunk/loader/dshow/outputpin.c
   trunk/loader/elfdll.c
   trunk/loader/ext.c
   trunk/loader/ldt_keeper.c
   trunk/loader/module.c
   trunk/loader/pe_image.c
   trunk/loader/pe_resource.c
   trunk/loader/qtx/list.c
   trunk/loader/qtx/qtxload.c
   trunk/loader/qtx/qtxsdk/components.h
   trunk/loader/resource.c
   trunk/loader/vfl.c
   trunk/loader/win32.c
   trunk/loader/wine/avifmt.h
   trunk/loader/wine/driver.h
   trunk/loader/wine/ldt.h
   trunk/loader/wine/mmreg.h
   trunk/loader/wine/module.h
   trunk/loader/wine/msacm.h
   trunk/loader/wine/msacmdrv.h
   trunk/loader/wine/ntdef.h
   trunk/loader/wine/vfw.h
   trunk/loader/wine/winbase.h
   trunk/loader/wine/windef.h
   trunk/loader/wine/winnt.h
   trunk/loader/wine/winreg.h
   trunk/loader/wine/winuser.h
   trunk/loader/wrapper.S
   trunk/m_config.c
   trunk/m_config.h
   trunk/m_option.c
   trunk/m_option.h
   trunk/m_property.c
   trunk/m_property.h
   trunk/m_struct.c
   trunk/mencoder.c
   trunk/mixer.c
   trunk/mp3lib/dct12.c
   trunk/mp3lib/dct36.c
   trunk/mp3lib/dct64_altivec.c
   trunk/mp3lib/decod386.c
   trunk/mp3lib/huffman.h
   trunk/mp3lib/l2tables.h
   trunk/mp3lib/layer1.c
   trunk/mp3lib/layer2.c
   trunk/mp3lib/layer3.c
   trunk/mp3lib/sr1.c
   trunk/mp3lib/test.c
   trunk/mp3lib/test2.c
   trunk/mp_msg.c
   trunk/mpcommon.c
   trunk/mplayer.c
   trunk/osdep/getch2-win.c
   trunk/osdep/glob-win.c
   trunk/osdep/keycodes.h
   trunk/osdep/macosx_finder_args.c
   trunk/osdep/mmap_anon.c
   trunk/osdep/mplayer.rc
   trunk/osdep/strsep.c
   trunk/osdep/timer-darwin.c
   trunk/osdep/timer-win2.c
   trunk/parser-cfg.c
   trunk/parser-mecmd.c
   trunk/parser-mpcmd.c
   trunk/playtree.c
   trunk/playtree.h
   trunk/playtreeparser.c
   trunk/rpm/mplayer.spec
   trunk/spudec.c
   trunk/stream/ai_alsa.c
   trunk/stream/ai_alsa1x.c
   trunk/stream/ai_oss.c
   trunk/stream/asf_mmst_streaming.c
   trunk/stream/asf_streaming.c
   trunk/stream/audio_in.c
   trunk/stream/audio_in.h
   trunk/stream/cache2.c
   trunk/stream/cdd.h
   trunk/stream/cdinfo.c
   trunk/stream/cookies.c
   trunk/stream/cookies.h
   trunk/stream/dvb_tune.c
   trunk/stream/freesdp/common.h
   trunk/stream/freesdp/parser.c
   trunk/stream/freesdp/parser.h
   trunk/stream/freesdp/parserpriv.h
   trunk/stream/freesdp/priv.h
   trunk/stream/frequencies.c
   trunk/stream/frequencies.h
   trunk/stream/http.c
   trunk/stream/http.h
   trunk/stream/librtsp/rtsp.c
   trunk/stream/librtsp/rtsp.h
   trunk/stream/librtsp/rtsp_rtp.c
   trunk/stream/librtsp/rtsp_session.c
   trunk/stream/network.c
   trunk/stream/open.c
   trunk/stream/pnm.c
   trunk/stream/pnm.h
   trunk/stream/pvr.h
   trunk/stream/realrtsp/asmrp.c
   trunk/stream/realrtsp/real.c
   trunk/stream/realrtsp/real.h
   trunk/stream/realrtsp/rmff.c
   trunk/stream/realrtsp/rmff.h
   trunk/stream/realrtsp/sdpplin.c
   trunk/stream/realrtsp/sdpplin.h
   trunk/stream/realrtsp/xbuffer.c
   trunk/stream/realrtsp/xbuffer.h
   trunk/stream/rtp.c
   trunk/stream/stream.c
   trunk/stream/stream.h
   trunk/stream/stream_cdda.c
   trunk/stream/stream_cddb.c
   trunk/stream/stream_cue.c
   trunk/stream/stream_dvb.c
   trunk/stream/stream_dvd.c
   trunk/stream/stream_dvd_common.c
   trunk/stream/stream_dvdnav.c
   trunk/stream/stream_file.c
   trunk/stream/stream_ftp.c
   trunk/stream/stream_live555.c
   trunk/stream/stream_mf.c
   trunk/stream/stream_netstream.c
   trunk/stream/stream_netstream.h
   trunk/stream/stream_pvr.c
   trunk/stream/stream_radio.c
   trunk/stream/stream_rtp.c
   trunk/stream/stream_rtsp.c
   trunk/stream/stream_smb.c
   trunk/stream/stream_tv.c
   trunk/stream/stream_udp.c
   trunk/stream/stream_vcd.c
   trunk/stream/stream_vstream.c
   trunk/stream/tcp.c
   trunk/stream/tv.c
   trunk/stream/tv.h
   trunk/stream/tvi_bsdbt848.c
   trunk/stream/tvi_def.h
   trunk/stream/tvi_dshow.c
   trunk/stream/tvi_dshow.h
   trunk/stream/tvi_v4l.c
   trunk/stream/tvi_v4l2.c
   trunk/stream/tvi_vbi.c
   trunk/stream/udp.c
   trunk/stream/url.c
   trunk/stream/url.h
   trunk/stream/vcd_read.h
   trunk/stream/vcd_read_darwin.h
   trunk/sub_cc.c
   trunk/subopt-helper.h
   trunk/subreader.c
   trunk/subreader.h
   trunk/vidix/AsmMacros.h
   trunk/vidix/cyberblade_vid.c
   trunk/vidix/dha.c
   trunk/vidix/dhahelper/dhahelper.c
   trunk/vidix/dhahelper/test.c
   trunk/vidix/dhahelperwin/dhahelper.c
   trunk/vidix/dhahelperwin/dhasetup.c
   trunk/vidix/drivers.c
   trunk/vidix/glint_regs.h
   trunk/vidix/ivtv_vid.c
   trunk/vidix/mach64.h
   trunk/vidix/mach64_vid.c
   trunk/vidix/mga_vid.c
   trunk/vidix/mtrr.c
   trunk/vidix/nvidia_vid.c
   trunk/vidix/pci.c
   trunk/vidix/pci.db
   trunk/vidix/pci_db2c.awk
   trunk/vidix/pm3_regs.h
   trunk/vidix/pm3_vid.c
   trunk/vidix/radeon_vid.c
   trunk/vidix/s3_regs.h
   trunk/vidix/s3_vid.c
   trunk/vidix/sis_vid.c
   trunk/vidix/sysdep/AsmMacros_x86.h
   trunk/vidix/sysdep/libdha_os2.c
   trunk/vidix/sysdep/libdha_win32.c
   trunk/vidix/sysdep/pci_alpha.c
   trunk/vidix/sysdep/pci_arm32.c
   trunk/vidix/sysdep/pci_ia64.c
   trunk/vidix/sysdep/pci_linux.c
   trunk/vidix/sysdep/pci_lynx.c
   trunk/vidix/sysdep/pci_os2.c
   trunk/vidix/sysdep/pci_powerpc.c
   trunk/vidix/sysdep/pci_sparc.c
   trunk/vidix/sysdep/pci_x86.c
   trunk/vidix/unichrome_regs.h
   trunk/vidix/unichrome_vid.c
   trunk/vidix/vidix.c
   trunk/vobsub.c
   trunk/xvid_vbr.c
   trunk/xvid_vbr.h

Changes in other areas also in this revision:
Modified:
   trunk/DOCS/man/cs/mplayer.1
   trunk/DOCS/man/en/mplayer.1
   trunk/DOCS/man/es/mplayer.1
   trunk/DOCS/man/it/mplayer.1
   trunk/DOCS/man/pl/mplayer.1
   trunk/DOCS/man/ru/mplayer.1
   trunk/DOCS/man/zh_CN/mplayer.1
   trunk/DOCS/xml/configure
   trunk/DOCS/xml/cs/documentation.xml
   trunk/DOCS/xml/cs/encoding-guide.xml
   trunk/DOCS/xml/cs/install.xml
   trunk/DOCS/xml/cs/mencoder.xml
   trunk/DOCS/xml/cs/ports.xml
   trunk/DOCS/xml/cs/skin.xml
   trunk/DOCS/xml/cs/video.xml
   trunk/DOCS/xml/de/cd-dvd.xml
   trunk/DOCS/xml/de/documentation.xml
   trunk/DOCS/xml/en/documentation.xml
   trunk/DOCS/xml/en/skin.xml
   trunk/DOCS/xml/es/bugreports.xml
   trunk/DOCS/xml/es/cd-dvd.xml
   trunk/DOCS/xml/es/documentation.xml
   trunk/DOCS/xml/es/faq.xml
   trunk/DOCS/xml/es/install.xml
   trunk/DOCS/xml/es/mencoder.xml
   trunk/DOCS/xml/es/ports.xml
   trunk/DOCS/xml/es/skin.xml
   trunk/DOCS/xml/es/tvinput.xml
   trunk/DOCS/xml/es/usage.xml
   trunk/DOCS/xml/es/video.xml
   trunk/DOCS/xml/fr/documentation.xml
   trunk/DOCS/xml/fr/encoding-guide.xml
   trunk/DOCS/xml/fr/install.xml
   trunk/DOCS/xml/fr/mencoder.xml
   trunk/DOCS/xml/fr/ports.xml
   trunk/DOCS/xml/fr/radio.xml
   trunk/DOCS/xml/fr/tvinput.xml
   trunk/DOCS/xml/fr/video.xml
   trunk/DOCS/xml/html-common.xsl
   trunk/DOCS/xml/hu/documentation.xml
   trunk/DOCS/xml/it/documentation.xml
   trunk/DOCS/xml/it/encoding-guide.xml
   trunk/DOCS/xml/it/faq.xml
   trunk/DOCS/xml/it/install.xml
   trunk/DOCS/xml/it/mencoder.xml
   trunk/DOCS/xml/it/tvinput.xml
   trunk/DOCS/xml/it/video.xml
   trunk/DOCS/xml/ldp.dsl
   trunk/DOCS/xml/pl/bugreports.xml
   trunk/DOCS/xml/pl/cd-dvd.xml
   trunk/DOCS/xml/pl/documentation.xml
   trunk/DOCS/xml/pl/encoding-guide.xml
   trunk/DOCS/xml/pl/faq.xml
   trunk/DOCS/xml/pl/install.xml
   trunk/DOCS/xml/pl/mencoder.xml
   trunk/DOCS/xml/pl/ports.xml
   trunk/DOCS/xml/pl/skin.xml
   trunk/DOCS/xml/pl/usage.xml
   trunk/DOCS/xml/pl/video.xml
   trunk/DOCS/xml/ru/documentation.xml
   trunk/DOCS/xml/ru/install.xml
   trunk/DOCS/xml/ru/mencoder.xml
   trunk/DOCS/xml/ru/ports.xml
   trunk/DOCS/xml/ru/radio.xml
   trunk/DOCS/xml/ru/skin.xml
   trunk/DOCS/xml/ru/tvinput.xml
   trunk/DOCS/xml/ru/usage.xml
   trunk/DOCS/xml/ru/video.xml
   trunk/DOCS/xml/zh_CN/documentation.xml
   trunk/DOCS/xml/zh_CN/mencoder.xml
   trunk/DOCS/xml/zh_CN/radio.xml
   trunk/help/help_mp-bg.h
   trunk/help/help_mp-cs.h
   trunk/help/help_mp-dk.h
   trunk/help/help_mp-es.h
   trunk/help/help_mp-fr.h
   trunk/help/help_mp-hu.h
   trunk/help/help_mp-it.h
   trunk/help/help_mp-ko.h
   trunk/help/help_mp-nl.h
   trunk/help/help_mp-pl.h
   trunk/help/help_mp-ro.h
   trunk/help/help_mp-sk.h
   trunk/help/help_mp-sv.h
   trunk/help/help_mp-tr.h
   trunk/help/help_mp-uk.h
   trunk/help/help_mp-zh_CN.h
   trunk/help/help_mp-zh_TW.h

Modified: trunk/DOCS/README
==============================================================================
--- trunk/DOCS/README	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/README	Wed May 13 04:58:57 2009	(r29305)
@@ -11,11 +11,11 @@ Thanks for reading MPlayer documentation
    a, Enter the HTML/ directory, and there you'll find the documentation,
       each language in its own subdirectory.
 
-   b, If you prefer reading the documentation as a single big file it 
-      can be found in the HTML-single/ directory, each language in its 
+   b, If you prefer reading the documentation as a single big file it
+      can be found in the HTML-single/ directory, each language in its
       own subdirectory.
 
-   c, If the HTML/ or HTML-single/ directories don't contain your language, 
+   c, If the HTML/ or HTML-single/ directories don't contain your language,
       try the subdirectories in this very same folder.
 
 

Modified: trunk/DOCS/tech/Doxyfile
==============================================================================
--- trunk/DOCS/tech/Doxyfile	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/Doxyfile	Wed May 13 04:58:57 2009	(r29305)
@@ -14,190 +14,190 @@
 # Project related configuration options
 #---------------------------------------------------------------------------
 
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
 # by quotes) that should identify the project.
 
 PROJECT_NAME           = MPlayer
 
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 
+PROJECT_NUMBER         =
 
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
 # where doxygen was started. If left blank the current directory will be used.
 
 OUTPUT_DIRECTORY       = DOCS/tech/doxygen
 
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
-# 2 levels of 10 sub-directories under the output directory of each output 
-# format and will distribute the generated files over these directories. 
-# Enabling this option can be useful when feeding doxygen a huge amount of source 
-# files, where putting all generated files in the same directory would otherwise 
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 2 levels of 10 sub-directories under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of source
+# files, where putting all generated files in the same directory would otherwise
 # cause performance problems for the file system.
 
 CREATE_SUBDIRS         = YES
 
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
-# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, 
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
+# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese,
 # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
 
 OUTPUT_LANGUAGE        = English
 
-# This tag can be used to specify the encoding used in the generated output. 
-# The encoding is not always determined by the language that is chosen, 
-# but also whether or not the output is meant for Windows or non-Windows users. 
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
-# forces the Windows encoding (this is the default for the Windows binary), 
-# whereas setting the tag to NO uses a Unix-style encoding (the default for 
+# This tag can be used to specify the encoding used in the generated output.
+# The encoding is not always determined by the language that is chosen,
+# but also whether or not the output is meant for Windows or non-Windows users.
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
+# forces the Windows encoding (this is the default for the Windows binary),
+# whereas setting the tag to NO uses a Unix-style encoding (the default for
 # all platforms other than Windows).
 
 USE_WINDOWS_ENCODING   = NO
 
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
 # Set to NO to disable this.
 
 BRIEF_MEMBER_DESC      = YES
 
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
 # brief descriptions will be completely suppressed.
 
 REPEAT_BRIEF           = YES
 
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is used 
-# as the annotated text. Otherwise, the brief description is used as-is. If left 
-# blank, the following values are used ("$name" is automatically replaced with the 
-# name of the entity): "The $name class" "The $name widget" "The $name file" 
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is used
+# as the annotated text. Otherwise, the brief description is used as-is. If left
+# blank, the following values are used ("$name" is automatically replaced with the
+# name of the entity): "The $name class" "The $name widget" "The $name file"
 # "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
 
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
 # description.
 
 ALWAYS_DETAILED_SEC    = NO
 
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
-# members of a class in the documentation of that class as if those members were 
-# ordinary class members. Constructors, destructors and assignment operators of 
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
 # the base classes will not be shown.
 
 INLINE_INHERITED_MEMB  = YES
 
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
 # to NO the shortest path that makes the file name unique will be used.
 
 FULL_PATH_NAMES        = YES
 
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. The tag can be used to show relative paths in the file list. 
-# If left blank the directory from which doxygen is run is used as the 
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
 # path to strip.
 
-STRIP_FROM_PATH        = 
+STRIP_FROM_PATH        =
 
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
 # are normally passed to the compiler using the -I flag.
 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_INC_PATH    =
 
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
 # doesn't support long names like on DOS, Mac, or CD-ROM.
 
 SHORT_NAMES            = NO
 
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
 # explicit @brief command for a brief description.
 
 JAVADOC_AUTOBRIEF      = NO
 
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
 # description. Set this tag to YES if you prefer the old behaviour instead.
 
 MULTILINE_CPP_IS_BRIEF = NO
 
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
 # will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member 
+# If set to NO, the detailed description appears after the member
 # documentation.
 
 DETAILS_AT_TOP         = NO
 
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
 # re-implements.
 
 INHERIT_DOCS           = YES
 
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
 # all members of a group must be documented explicitly.
 
 DISTRIBUTE_GROUP_DOC   = NO
 
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
 # Doxygen uses this value to replace tabs by spaces in code fragments.
 
 TAB_SIZE               = 8
 
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
 # You can put \n's in the value part of an alias to insert newlines.
 
-ALIASES                = 
+ALIASES                =
 
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
-# only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
 # of all members will be omitted, etc.
 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
-# only. Doxygen will then generate output that is more tailored for Java. 
-# For instance, namespaces will be presented as packages, qualified scopes 
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
+# only. Doxygen will then generate output that is more tailored for Java.
+# For instance, namespaces will be presented as packages, qualified scopes
 # will look different, etc.
 
 OPTIMIZE_OUTPUT_JAVA   = NO
 
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
 # the \nosubgrouping command.
 
 SUBGROUPING            = YES
@@ -206,162 +206,162 @@ SUBGROUPING            = YES
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
 
 EXTRACT_ALL            = YES
 
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
 # will be included in the documentation.
 
 EXTRACT_PRIVATE        = YES
 
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
 # will be included in the documentation.
 
 EXTRACT_STATIC         = YES
 
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
 # If set to NO only classes defined in header files are included.
 
 EXTRACT_LOCAL_CLASSES  = YES
 
-# This flag is only useful for Objective-C code. When set to YES local 
-# methods, which are defined in the implementation section but not in 
-# the interface are included in the documentation. 
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
 # If set to NO (the default) only methods in the interface are included.
 
 EXTRACT_LOCAL_METHODS  = NO
 
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
 # This option has no effect if EXTRACT_ALL is enabled.
 
 HIDE_UNDOC_MEMBERS     = NO
 
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
 # overviews. This option has no effect if EXTRACT_ALL is enabled.
 
 HIDE_UNDOC_CLASSES     = NO
 
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
 # documentation.
 
 HIDE_FRIEND_COMPOUNDS  = NO
 
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
 # function's detailed documentation block.
 
 HIDE_IN_BODY_DOCS      = NO
 
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
 # Set it to YES to include the internal documentation.
 
 INTERNAL_DOCS          = NO
 
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
 # users are advised to set this option to NO.
 
 CASE_SENSE_NAMES       = YES
 
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
 # documentation. If set to YES the scope will be hidden.
 
 HIDE_SCOPE_NAMES       = NO
 
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
 # of that file.
 
 SHOW_INCLUDE_FILES     = YES
 
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
 # is inserted in the documentation for inline members.
 
 INLINE_INFO            = YES
 
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
 # declaration order.
 
 SORT_MEMBER_DOCS       = YES
 
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# brief documentation of file, namespace and class members alphabetically 
-# by member name. If set to NO (the default) the members will appear in 
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
 # declaration order.
 
 SORT_BRIEF_DOCS        = NO
 
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the 
+# Note: This option applies only to the class list, not to the
 # alphabetical list.
 
 SORT_BY_SCOPE_NAME     = NO
 
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
 # commands in the documentation.
 
 GENERATE_TODOLIST      = YES
 
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
 # commands in the documentation.
 
 GENERATE_TESTLIST      = YES
 
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
 # commands in the documentation.
 
 GENERATE_BUGLIST       = YES
 
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
 # \deprecated commands in the documentation.
 
 GENERATE_DEPRECATEDLIST= YES
 
-# The ENABLED_SECTIONS tag can be used to enable conditional 
+# The ENABLED_SECTIONS tag can be used to enable conditional
 # documentation sections, marked by \if sectionname ... \endif.
 
-ENABLED_SECTIONS       = 
+ENABLED_SECTIONS       =
 
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
 # command in the documentation regardless of this setting.
 
 MAX_INITIALIZER_LINES  = 30
 
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
 # list will mention the files that were used to generate the documentation.
 
 SHOW_USED_FILES        = YES
@@ -370,123 +370,123 @@ SHOW_USED_FILES        = YES
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 
-# The QUIET tag can be used to turn on/off the messages that are generated 
+# The QUIET tag can be used to turn on/off the messages that are generated
 # by doxygen. Possible values are YES and NO. If left blank NO is used.
 
 QUIET                  = NO
 
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
 # NO is used.
 
 WARNINGS               = YES
 
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
 # automatically be disabled.
 
 WARN_IF_UNDOCUMENTED   = NO
 
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
 # don't exist or using markup commands wrongly.
 
 WARN_IF_DOC_ERROR      = NO
 
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
 # warning originated and the warning text.
 
 WARN_FORMAT            = "$file:$line: $text"
 
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
 # to stderr.
 
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = 
+INPUT                  =
 
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
 # *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
 
-FILE_PATTERNS          = 
+FILE_PATTERNS          =
 
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
 # If left blank NO is used.
 
 RECURSIVE              = YES
 
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
 EXCLUDE                = DOCS TOOLS
 
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
 # that are symbolic links (a Unix filesystem feature) are excluded from the input.
 
 EXCLUDE_SYMLINKS       = NO
 
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
 # certain files from those directories.
 
-EXCLUDE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
 
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
 # the \include command).
 
-EXAMPLE_PATH           = 
+EXAMPLE_PATH           =
 
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
 # blank all files are included.
 
-EXAMPLE_PATTERNS       = 
+EXAMPLE_PATTERNS       =
 
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
 # Possible values are YES and NO. If left blank NO is used.
 
 EXAMPLE_RECURSIVE      = NO
 
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
 # the \image command).
 
-IMAGE_PATH             = 
+IMAGE_PATH             =
 
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
 # to standard output.
 
-INPUT_FILTER           = 
+INPUT_FILTER           =
 
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
 
 FILTER_SOURCE_FILES    = NO
@@ -495,38 +495,38 @@ FILTER_SOURCE_FILES    = NO
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
 
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
 # VERBATIM_HEADERS is set to NO.
 
 SOURCE_BROWSER         = YES
 
-# Setting the INLINE_SOURCES tag to YES will include the body 
+# Setting the INLINE_SOURCES tag to YES will include the body
 # of functions and classes directly in the documentation.
 
 INLINE_SOURCES         = YES
 
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
 # fragments. Normal C and C++ comments will always remain visible.
 
 STRIP_CODE_COMMENTS    = YES
 
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
 # functions referencing it will be listed.
 
 REFERENCED_BY_RELATION = YES
 
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
 # called/used by that function will be listed.
 
 REFERENCES_RELATION    = YES
 
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
 # which an include is specified. Set to NO to disable this.
 
 VERBATIM_HEADERS       = YES
@@ -535,133 +535,133 @@ VERBATIM_HEADERS       = YES
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
 
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
 # contains a lot of classes, structs, unions or interfaces.
 
 ALPHABETICAL_INDEX     = YES
 
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
 # in which this list will be split (can be a number in the range [1..20])
 
 COLS_IN_ALPHA_INDEX    = 2
 
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
 # should be ignored while generating the index headers.
 
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
 # generate HTML output.
 
 GENERATE_HTML          = YES
 
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
 # put in front of it. If left blank `html' will be used as the default path.
 
 HTML_OUTPUT            = html
 
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
 # doxygen will generate files with .html extension.
 
 HTML_FILE_EXTENSION    = .html
 
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
 # standard header.
 
-HTML_HEADER            = 
+HTML_HEADER            =
 
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
 # standard footer.
 
-HTML_FOOTER            = 
+HTML_FOOTER            =
 
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
 # stylesheet in the HTML output directory as well, or it will be erased!
 
-HTML_STYLESHEET        = 
+HTML_STYLESHEET        =
 
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
 # NO a bullet list will be used.
 
 HTML_ALIGN_MEMBERS     = YES
 
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
 # of the generated HTML documentation.
 
 GENERATE_HTMLHELP      = NO
 
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
 # written to the html output directory.
 
-CHM_FILE               = 
+CHM_FILE               =
 
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
 # the HTML help compiler on the generated index.hhp.
 
-HHC_LOCATION           = 
+HHC_LOCATION           =
 
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
 # it should be included in the master .chm file (NO).
 
 GENERATE_CHI           = NO
 
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
 # normal table of contents (NO) in the .chm file.
 
 BINARY_TOC             = NO
 
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
 # to the contents of the HTML help documentation and to the tree view.
 
 TOC_EXPAND             = NO
 
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
 # the value YES disables it.
 
 DISABLE_INDEX          = NO
 
-# This tag can be used to set the number of enum values (range [1..20]) 
+# This tag can be used to set the number of enum values (range [1..20])
 # that doxygen will group on one line in the generated HTML documentation.
 
 ENUM_VALUES_PER_LINE   = 4
 
 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
 # probably better off using the HTML help feature.
 
 GENERATE_TREEVIEW      = NO
 
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
 # is shown.
 
 TREEVIEW_WIDTH         = 250
@@ -670,74 +670,74 @@ TREEVIEW_WIDTH         = 250
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
 # generate Latex output.
 
 GENERATE_LATEX         = NO
 
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
 # put in front of it. If left blank `latex' will be used as the default path.
 
 LATEX_OUTPUT           = latex
 
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
 # invoked. If left blank `latex' will be used as the default command name.
 
 LATEX_CMD_NAME         = latex
 
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
 # default command name.
 
 MAKEINDEX_CMD_NAME     = makeindex
 
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
 # save some trees in general.
 
 COMPACT_LATEX          = NO
 
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
 # executive. If left blank a4wide will be used.
 
 PAPER_TYPE             = a4wide
 
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
 # packages that should be included in the LaTeX output.
 
-EXTRA_PACKAGES         = 
+EXTRA_PACKAGES         =
 
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
 # standard header. Notice: only use this tag if you know what you are doing!
 
-LATEX_HEADER           = 
+LATEX_HEADER           =
 
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
 # This makes the output suitable for online browsing using a pdf viewer.
 
 PDF_HYPERLINKS         = NO
 
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
 # higher quality PDF documentation.
 
 USE_PDFLATEX           = NO
 
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
 # This option is also used when generating formulas in HTML.
 
 LATEX_BATCHMODE        = NO
 
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
 # in the output.
 
 LATEX_HIDE_INDICES     = NO
@@ -746,68 +746,68 @@ LATEX_HIDE_INDICES     = NO
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
 # other RTF readers or editors.
 
 GENERATE_RTF           = NO
 
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
 # put in front of it. If left blank `rtf' will be used as the default path.
 
 RTF_OUTPUT             = rtf
 
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
 # save some trees in general.
 
 COMPACT_RTF            = NO
 
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
 # Note: wordpad (write) and others do not support links.
 
 RTF_HYPERLINKS         = NO
 
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
 # replacements, missing definitions are set to their default value.
 
-RTF_STYLESHEET_FILE    = 
+RTF_STYLESHEET_FILE    =
 
-# Set optional variables used in the generation of an rtf document. 
+# Set optional variables used in the generation of an rtf document.
 # Syntax is similar to doxygen's config file.
 
-RTF_EXTENSIONS_FILE    = 
+RTF_EXTENSIONS_FILE    =
 
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
 # generate man pages
 
 GENERATE_MAN           = NO
 
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
 # put in front of it. If left blank `man' will be used as the default path.
 
 MAN_OUTPUT             = man
 
-# The MAN_EXTENSION tag determines the extension that is added to 
+# The MAN_EXTENSION tag determines the extension that is added to
 # the generated man pages (default is the subroutine's section .3)
 
 MAN_EXTENSION          = .3
 
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
 # would be unable to find the correct page. The default is NO.
 
 MAN_LINKS              = NO
@@ -816,33 +816,33 @@ MAN_LINKS              = NO
 # configuration options related to the XML output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
 # the code including all documentation.
 
 GENERATE_XML           = NO
 
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
 # put in front of it. If left blank `xml' will be used as the default path.
 
 XML_OUTPUT             = xml
 
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
 # syntax of the XML files.
 
-XML_SCHEMA             = 
+XML_SCHEMA             =
 
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
 # syntax of the XML files.
 
-XML_DTD                = 
+XML_DTD                =
 
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
 # enabling this will significantly increase the size of the XML output.
 
 XML_PROGRAMLISTING     = YES
@@ -851,10 +851,10 @@ XML_PROGRAMLISTING     = YES
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
 # and incomplete at the moment.
 
 GENERATE_AUTOGEN_DEF   = NO
@@ -863,280 +863,280 @@ GENERATE_AUTOGEN_DEF   = NO
 # configuration options related to the Perl module output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
 # moment.
 
 GENERATE_PERLMOD       = NO
 
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
 # to generate PDF and DVI output from the Perl module output.
 
 PERLMOD_LATEX          = NO
 
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.  This is useful
+# if you want to understand what is going on.  On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
 # and Perl will parse it just the same.
 
 PERLMOD_PRETTY         = YES
 
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
 # Makefile don't overwrite each other's variables.
 
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
 # files.
 
 ENABLE_PREPROCESSING   = YES
 
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
 # way by setting EXPAND_ONLY_PREDEF to YES.
 
 MACRO_EXPANSION        = NO
 
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
 # PREDEFINED and EXPAND_AS_PREDEFINED tags.
 
 EXPAND_ONLY_PREDEF     = NO
 
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
 # in the INCLUDE_PATH (see below) will be search if a #include is found.
 
 SEARCH_INCLUDES        = YES
 
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
 # the preprocessor.
 
-INCLUDE_PATH           = 
+INCLUDE_PATH           =
 
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
 # be used.
 
-INCLUDE_FILE_PATTERNS  = 
+INCLUDE_FILE_PATTERNS  =
 
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
 # omitted =1 is assumed.
 
-PREDEFINED             = 
+PREDEFINED             =
 
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
 # Use the PREDEFINED tag if you want to use a different macro definition.
 
-EXPAND_AS_DEFINED      = 
+EXPAND_AS_DEFINED      =
 
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse the 
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse the
 # parser if not removed.
 
 SKIP_FUNCTION_MACROS   = YES
 
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
 
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#   TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#   TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
 # does not have to be run to correct the links.
 # Note that each tag file must have a unique name
 # (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen 
+# If a tag file is not located in the directory in which doxygen
 # is run, you must also specify the path to the tagfile here.
 
-TAGFILES               = 
+TAGFILES               =
 
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
 # a tag file that is based on the input files it reads.
 
-GENERATE_TAGFILE       = 
+GENERATE_TAGFILE       =
 
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
 # will be listed.
 
 ALLEXTERNALS           = NO
 
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
 # be listed.
 
 EXTERNAL_GROUPS        = YES
 
-# The PERL_PATH should be the absolute path and name of the perl script 
+# The PERL_PATH should be the absolute path and name of the perl script
 # interpreter (i.e. the result of `which perl').
 
 PERL_PATH              = /usr/bin/perl
 
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or 
-# super classes. Setting the tag to NO turns the diagrams off. Note that this 
-# option is superseded by the HAVE_DOT option below. This is only a fallback. It is 
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
 # recommended to install and use dot, since it yields more powerful graphs.
 
 CLASS_DIAGRAMS         = NO
 
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
 # or is not a class.
 
 HIDE_UNDOC_RELATIONS   = YES
 
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
 # have no effect if this option is set to NO (the default)
 
 HAVE_DOT               = NO
 
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
 # the CLASS_DIAGRAMS tag to NO.
 
 CLASS_GRAPH            = YES
 
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
 # class references variables) of the class with other documented classes.
 
 COLLABORATION_GRAPH    = YES
 
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
 # Language.
 
 UML_LOOK               = NO
 
-# If set to YES, the inheritance and collaboration graphs will show the 
+# If set to YES, the inheritance and collaboration graphs will show the
 # relations between templates and their instances.
 
 TEMPLATE_RELATIONS     = NO
 
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
 # other documented files.
 
 INCLUDE_GRAPH          = YES
 
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
 # indirectly include this file.
 
 INCLUDED_BY_GRAPH      = YES
 
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a call dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable call graphs for selected 
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
+# generate a call dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
 # functions only using the \callgraph command.
 
 CALL_GRAPH             = NO
 
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
 # will graphical hierarchy of all classes instead of a textual one.
 
 GRAPHICAL_HIERARCHY    = YES
 
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
 # generated by dot. Possible values are png, jpg, or gif
 # If left blank png will be used.
 
 DOT_IMAGE_FORMAT       = png
 
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
 # found. If left blank, it is assumed the dot tool can be found on the path.
 
-DOT_PATH               = 
+DOT_PATH               =
 
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
 # \dotfile command).
 
-DOTFILE_DIRS           = 
+DOTFILE_DIRS           =
 
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
 # large images.
 
 MAX_DOT_GRAPH_WIDTH    = 1024
 
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
 # large images.
 
 MAX_DOT_GRAPH_HEIGHT   = 1024
 
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes that 
-# lay further from the root node will be omitted. Note that setting this option to 
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also 
-# note that a graph may be further truncated if the graph's image dimensions are 
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). 
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes that
+# lay further from the root node will be omitted. Note that setting this option to
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that a graph may be further truncated if the graph's image dimensions are
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
 # If 0 is used for the depth value (the default), the graph is not depth-constrained.
 
 MAX_DOT_GRAPH_DEPTH    = 0
 
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
 # arrows in the dot generated graphs.
 
 GENERATE_LEGEND        = YES
 
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
 # the various graphs.
 
 DOT_CLEANUP            = YES
 
 #---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
+# Configuration::additions related to the search engine
 #---------------------------------------------------------------------------
 
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# The SEARCHENGINE tag specifies whether or not a search engine should be
 # used. If set to NO the values of all tags below this one will be ignored.
 
 SEARCHENGINE           = NO

Modified: trunk/DOCS/tech/TODO
==============================================================================
--- trunk/DOCS/tech/TODO	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/TODO	Wed May 13 04:58:57 2009	(r29305)
@@ -26,7 +26,7 @@ FOR THE NEXT RELEASE:
 ~~~~~~~~~~~~~~~~~~~~~~
 - fix vo_svga vs. -vf scale - DONE?
 - Re: [MPlayer-cvslog] CVS: main/libvo vo_vesa.c,1.82,1.83
-  This patch makes mplayer unusable in console mode, always leaves the 
+  This patch makes mplayer unusable in console mode, always leaves the
   console in graphic mode.
 - Dec 19: [BUG] mencoder+mp3lame creates desynced AVI (<=22Khz support missing)
 - finish testing /old-incoming/ samples

Modified: trunk/DOCS/tech/codec-devel.txt
==============================================================================
--- trunk/DOCS/tech/codec-devel.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/codec-devel.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -74,7 +74,7 @@ the driver name.
 
 Next, create a new source file which contains the main decoding function
 that MPlayer will call to decode data. Eventually, you may have multiple
-files which comprise your decoder, but let's start simple here. 
+files which comprise your decoder, but let's start simple here.
 For audio codecs, see ad_sample.c skeleton. For video, choose one of the
 existing vd_*.c files which you think is close to your codec in behaviour.
 
@@ -188,7 +188,7 @@ files:
 - Makefile
 - etc/codecs.conf
 - ad.c or vd.c
-Of course, you will need to include your newly-created file(s): 
+Of course, you will need to include your newly-created file(s):
 vd_<name>.c -OR- ad_<name>.c. If you contribute enough decoders, the
 development team may even grant you write privileges to the Subversion
 repository.
@@ -198,7 +198,7 @@ You may think you're finished when you r
 extremely lucky, you will be right. However, it's more likely that people
 will start throwing all kinds of oddball media at your decoder that it
 never counted on. Cheer up; take comfort in knowing that people are
-testing your code and attempting to use it as a real world 
+testing your code and attempting to use it as a real world
 application. Download the problem media that people upload to the MPlayer
 FTP site and get back to work, implementing fixed code that addresses the
 issues. Contribute more patches and encourage people to hammer on your

Modified: trunk/DOCS/tech/dr-methods.txt
==============================================================================
--- trunk/DOCS/tech/dr-methods.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/dr-methods.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -106,7 +106,7 @@ steps of decoding with libmpcodecs:
 3. vd asks libvo (control(VOCTRL_GET_IMAGE)), if it can provide such buffer:
    - if it can -> do direct rendering
    - it it can not -> allocate system ram area with memalign()/malloc()
-   Note: codec may request EXPORT buffer, it means buffer allocation is 
+   Note: codec may request EXPORT buffer, it means buffer allocation is
    done inside the codec, so we cannot do DR :(
 4. codec decodes one frame to the mpi struct (system ram or direct rendering)
 5. if it isn't DR, we call libvo's draw functions to blit image to video ram

Modified: trunk/DOCS/tech/encoding-tips.txt
==============================================================================
--- trunk/DOCS/tech/encoding-tips.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/encoding-tips.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -122,7 +122,7 @@ long, encoded at 25fps (those nasty NTSC
 headaches. Adjust to your needs, of course!). This leaves you with
 a video bitrate of:
 
-                $videosize * 8 
+                $videosize * 8
 $videobitrate = --------------
                 $length * 1000
 
@@ -152,7 +152,7 @@ vbitate and scale. Why? Because both tog
 many bits it may spend on each frame for each bit: and this is
 the 'bpp' value (bits per pixel). It's simply defined as
 
-         $videobitrate * 1000       
+         $videobitrate * 1000
 $bpp = -----------------------
        $width * $height * $fps
 
@@ -260,7 +260,7 @@ majority of quantizers at 4 and above th
 the resolution (you'll definitly see block artefacts).
 
 
-Well... Several people will probably disagree with me on certain 
+Well... Several people will probably disagree with me on certain
 points here, especially when it comes down to hard values (like the
 $bpp categories and the percentage of the quantizers used). But
 the idea is still valid.
@@ -275,13 +275,13 @@ end up with movies that could certainly 
 
 Now please shoot me if you have any complaints ;)
 
--- 
+--
  ==> Ciao, Mosu (Moritz Bunkus)
 
 ===========
 ANOTHER APPROACH: BITS PER BLOCK:
 
->          $videobitrate * 1000       
+>          $videobitrate * 1000
 > $bpp = -----------------------
 >        $width * $height * $fps
 
@@ -341,7 +341,7 @@ scale down again in desesperate need of 
 In my experience, don't try to go below a width of 576 without closely
 watching what's going on.
 
--- 
+--
 Rémi
 
 ===========
@@ -488,18 +488,18 @@ I found myself that  4:3 B&W old movies 
 addition to the 4:3 aspect ratio which  eats lots of bits, those movies are
 typically very "noisy", which doesn't help at all. Anyway :
 
-> After a few tries I am                                                        
-> still a little bit disappointed with the video quality. Since it is a         
-> "dark" movies, there is a lot of black on the pictures, and on the            
-> encoded avi I can see a lot of annoying "mpeg squares". I am using            
-> avifile codec, but the best I think is to give you the command line I         
-> used to encode a preview of the result:                                       
+> After a few tries I am
+> still a little bit disappointed with the video quality. Since it is a
+> "dark" movies, there is a lot of black on the pictures, and on the
+> encoded avi I can see a lot of annoying "mpeg squares". I am using
+> avifile codec, but the best I think is to give you the command line I
+> used to encode a preview of the result:
 
->                                                                               
-> First pass:                                                                   
-> mencoder TITLE01-ANGLE1.VOB -oac copy -ovc lavc -lavcopts                     
-> vcodec=mpeg4:vhq:vpass=1:vbitrate=800:keyint=48 -ofps 23.976 -npp lb          
-> -ss 2:00 -endpos 0:30 -vf scale -zoom -xy 640 -o movie.avi                   
+>
+> First pass:
+> mencoder TITLE01-ANGLE1.VOB -oac copy -ovc lavc -lavcopts
+> vcodec=mpeg4:vhq:vpass=1:vbitrate=800:keyint=48 -ofps 23.976 -npp lb
+> -ss 2:00 -endpos 0:30 -vf scale -zoom -xy 640 -o movie.avi
 
 1) keyint=48 is way too low. The  default value is 250, this is in *frames*
 not seconds. Keyframes are significantly larger than P or B frames, so the
@@ -555,35 +555,35 @@ Be warned that these options are really 
 could be very good or very bad depending on your visualization device
 (computer CRT, TV or TFT screen). Don't push too hard these options.
 
-> Second pass:                                                                  
-> the same with vpass=2                                                         
+> Second pass:
+> the same with vpass=2
 
 7) I've found  that lavc gives better  results when the first  pass is done
 with  "vqscale=2" instead  of a  target bitrate.  The statistics  collected
 seems to be more precise. YMMV.
 
-> I am new to mencoder, so please tell me any idea you have even if it          
-> obvious. I also tried the "gray" option of lavc, to encode B&W only,          
-> but strangely it gives me "pink" squares from time to time.                   
+> I am new to mencoder, so please tell me any idea you have even if it
+> obvious. I also tried the "gray" option of lavc, to encode B&W only,
+> but strangely it gives me "pink" squares from time to time.
 
 Yes, I've seen  that too. Playing the resulting file  with "-lavdopts gray"
 fix the problem but it's not very nice ...
 
-> So if you could tell me what option of mencoder or lavc I should be           
-> looking at to lower the number of "squares" on the image, it would be         
-> great. The version of mencoder i use is 0.90pre8 on a macos x PPC             
-> platform. I guess I would have the same problem by encoding anime             
-> movies, where there are a lot of region of the image with the same            
-> color. So if you managed to solve this problem...                             
+> So if you could tell me what option of mencoder or lavc I should be
+> looking at to lower the number of "squares" on the image, it would be
+> great. The version of mencoder i use is 0.90pre8 on a macos x PPC
+> platform. I guess I would have the same problem by encoding anime
+> movies, where there are a lot of region of the image with the same
+> color. So if you managed to solve this problem...
 
 You could  also try the  "mpeg_quant" flag. It  selects a different  set of
 quantizers and produce  somewhat sharper pictures and less  blocks on large
 zones with the same or similar luminance, at the expense of some bits.
 
-> This is completely off topic, but do you know how I can create good           
-> subtitles from vobsub subtitles ? I checked the -dumpmpsub option of          
-> mplayer, but is there a way to do it really fast (ie without having to        
-> play the whole movie) ?                                                       
+> This is completely off topic, but do you know how I can create good
+> subtitles from vobsub subtitles ? I checked the -dumpmpsub option of
+> mplayer, but is there a way to do it really fast (ie without having to
+> play the whole movie) ?
 
 I didn't  find a way under  *nix to produce reasonably  good text subtitles
 from vobsubs. OCR  *nix softwares seems either not suited  to the task, not
@@ -601,14 +601,14 @@ for f in 0 1 2 3 4 5 6 7 8 9 10 11 ; do 
 done
 
 (and yes, I've a DVD with 12 subtitles)
---                                                                              
+--
 Rémi
 
 
 ================================================================================
 
 
-TIPS FOR SMOKE & CLOUDS 
+TIPS FOR SMOKE & CLOUDS
 
 Q: I'm trying  to encode Dante's Peak and I'm  having problems with clouds,
 fog and  smoke: They don't  look fine  (they look very  bad if I  watch the
@@ -620,10 +620,10 @@ In particular I'm using vqscale=2:vhq:v4
 
 A: Try adding "vqcomp=0.7:vqblur=0.2:mpeg_quant" to lavcopts.
 
-Q: I tried your suggestion and it  improved the image a little ... but not 
-enough. I was playing with different  options and I couldn't find the way. 
-I  suppose that  the vob  is not  so good  (watching it  in TV  trough the 
-computer looks better than my encoding, but it isn't a lot of better).     
+Q: I tried your suggestion and it  improved the image a little ... but not
+enough. I was playing with different  options and I couldn't find the way.
+I  suppose that  the vob  is not  so good  (watching it  in TV  trough the
+computer looks better than my encoding, but it isn't a lot of better).
 
 A: Yes, those scenes with qscale=2 looks terrible :-(
 
@@ -652,46 +652,46 @@ A = Rémi
 
 TIPS FOR TWEAKING RATECONTROL
 
-(For the purpose of this explanation, consider "2nd pass" to be any beyond 
-the 1st. The algorithm is run only on P-frames; I- and B-frames use QPs 
-based on the adjacent P. While x264's 2pass ratecontrol is based on lavc's, 
+(For the purpose of this explanation, consider "2nd pass" to be any beyond
+the 1st. The algorithm is run only on P-frames; I- and B-frames use QPs
+based on the adjacent P. While x264's 2pass ratecontrol is based on lavc's,
 it has diverged somewhat and not all of this is valid for x264.)
 
 Consider the default ratecontrol equation in lavc: "tex^qComp".
-At the beginning of the 2nd pass, rc_eq is evaluated for each frame, and 
-the result is the number of bits allocated to that frame (multiplied by 
+At the beginning of the 2nd pass, rc_eq is evaluated for each frame, and
+the result is the number of bits allocated to that frame (multiplied by
 some constant as needed to match the total requested bitrate).
 
-"tex" is the complexity of a frame, i.e. the estimated number of bits it 
-would take to encode at a given quantizer. (If the 1st pass was CQP and 
-not turbo, then we know tex exactly. Otherwise it is calculated by 
-multiplying the 1st pass's bits by the QP of that frame. But that's not 
+"tex" is the complexity of a frame, i.e. the estimated number of bits it
+would take to encode at a given quantizer. (If the 1st pass was CQP and
+not turbo, then we know tex exactly. Otherwise it is calculated by
+multiplying the 1st pass's bits by the QP of that frame. But that's not
 why CQP is potentially good; more on that later.)
-"qComp" is just a constant. It has no effect outside the rc_eq, and is 
+"qComp" is just a constant. It has no effect outside the rc_eq, and is
 directly set by the vqcomp parameter.
 
-If vqcomp=1, then rc_eq=tex^1=tex, so 2pass allocates to each frame the 
+If vqcomp=1, then rc_eq=tex^1=tex, so 2pass allocates to each frame the
 number of bits needed to encode them all at the same QP.
-If vqcomp=0, then rc_eq=tex^0=1, so 2pass allocates the same number of 
-bits to each frame, i.e. CBR. (Actually, this is worse than 1pass CBR in 
-terms of quality; CBR can vary within its allowed buffer size, while 
+If vqcomp=0, then rc_eq=tex^0=1, so 2pass allocates the same number of
+bits to each frame, i.e. CBR. (Actually, this is worse than 1pass CBR in
+terms of quality; CBR can vary within its allowed buffer size, while
 vqcomp=0 tries to make each frame exactly the same size.)
-If vqcomp=0.5, then rc_eq=sqrt(tex), so the allocation is somewhere 
-between CBR and CQP. High complexity frames get somewhat lower quality 
+If vqcomp=0.5, then rc_eq=sqrt(tex), so the allocation is somewhere
+between CBR and CQP. High complexity frames get somewhat lower quality
 than low complexity, but still more bits.
 
-While the actual selection of a good value of vqcomp is experimental, the 
+While the actual selection of a good value of vqcomp is experimental, the
 following underlying factors determine the result:
-Arguing towards CQP: You want the movie to be somewhere approaching 
-constant quality; oscillating quality is even more annoying than constant 
-low quality. (However, constant quality does not mean constant PSNR nor 
-constant QP. Details are less noticeable in high-motion scenes, so you can 
-get away with somewhat higher QP in high-complexity frames for the same 
+Arguing towards CQP: You want the movie to be somewhere approaching
+constant quality; oscillating quality is even more annoying than constant
+low quality. (However, constant quality does not mean constant PSNR nor
+constant QP. Details are less noticeable in high-motion scenes, so you can
+get away with somewhat higher QP in high-complexity frames for the same
 perceived quality.)
-Arguing towards CBR: You get more quality per bit if you spend those bits 
-in frames where motion compensation works well (which tends to be 
-correlated with "tex"): A given artifact may stick around several seconds 
-in a low-motion scene, and you only have to fix it in one frame to improve 
+Arguing towards CBR: You get more quality per bit if you spend those bits
+in frames where motion compensation works well (which tends to be
+correlated with "tex"): A given artifact may stick around several seconds
+in a low-motion scene, and you only have to fix it in one frame to improve
 the quality of the whole sequence.
 
 Now for why the 1st pass ratecontrol method matters:

Modified: trunk/DOCS/tech/formats.txt
==============================================================================
--- trunk/DOCS/tech/formats.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/formats.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -19,17 +19,17 @@
     It accepts all PES variants, including files created by VDR.
     Note: VOB (video object) is simple mpeg stream, but it usually has 01BD
     packets which may contain subtitles and non-mpeg audio. Usually found on DVD discs.
-    
+
     Headers: mpeg streams has no global header. each frame sequence (also called GOP,
     group of pictures) contains an sequence header, it describes that block.
     In normal mpeg 1/2 content there are groups of 12-15 frames (24/30 fps).
     It means you can freely seek in mpeg streams, and even can cut it to
     small parts with standard file tools (dd, cut) without destroying it.
-    
+
     Codecs: video is always mpeg video (mpeg1, mpeg2 or mpeg4).
     audio is usually mpeg audio (any layer allowed, but it's layer 2 in most files)
     but 01BD packets may contain AC3, DTS or LPCM too.
-    
+
     FPS: mpeg2 content allows variable framerate, in form of delayed frames.
     It's mostly used for playback 24fps content at 29.97/30 fps (NTSC) rate.
     (so called Telecine or 3:2 pulldown effect)
@@ -77,7 +77,7 @@
     as VBR is unusual, and Microsoft's AVI specs only describe CBR audio.
     I also note, that most AVI encoders/multiplexers create bad files if
     using VBR audio. only 2 exception (known by me): NaNDub and MEncoder.
-    
+
     FPS: only constant framerate allowed, but it's possible to skip frames.
 
   - ASF streams:
@@ -94,7 +94,7 @@
     but all files i've seen had it at the beginning of the file.
     Asf uses fixed packet size, so it is seekable without any INDEX block,
     and broken files are playable well.
-    
+
     Codecs: video is mostly microsoft's mpeg4 variants: MP42, MP43 (aka DivX),
             WMV1 and WMV2. but any codecs allowed.
             audio is usually wma or voxware, sometimes mp3, but any codecs allowed.
@@ -106,16 +106,16 @@
     They come from Mac users, usually with .mov or .qt extension, but as
     MPEG Group chose quicktime as recommended file format for MPEG4,
     sometimes you meet quicktime files with .mpg or .mp4 extension.
-  
+
     At first look, it's a mixture of ASF and AVI.
     It requires INDEX block for random access and seeking, and even for
     playback, like AVI, but uses timestamps instead of constant framerate
     and has more flexible stream options (including network stuff) like ASF.
-    
+
     Headers: header can be placed at the beginning or at the end of file.
     About half of my files have it at the beginning, others have it at the end.
     Broken files are only playable if they have header at the beginning!
-    
+
     Codecs: any codecs allowed, both CBR and VBR.
     Note: most new mov files use Sorenson video and QDesign Music audio,
     they are patented, closed, secret, (TM)-ed etc formats, only Apple's
@@ -128,7 +128,7 @@
     files even has no keyframes, so forget seeking!
     Video is standard h.263 (in vivo/2.0 files it's modified, non-standard
     h.263), audio is either standard g.723 or Vivo Siren codec.
-    
+
     Note, that microsoft licensed vivo stuff, and included in their netshow
     v2.0 program, so there are VfW/ACM codecs for vivo video and audio.
 
@@ -142,14 +142,14 @@
     appended fragments of the video frame. RV30+ supports B frames, so
     you have to parse some bits of the first fragment to get the real PTS.
     The audio frames are fixed size (CBR) but using the same scrambling
-    (out-of-order interleaving) as in the ASF files. 
-    
+    (out-of-order interleaving) as in the ASF files.
+
     Codecs: Audio is either COOK(er), SIPR(o), ATRAC3 or DNET.
     The DNET is actually a byte-swapped low-bitrate Dolby AC3 variant :)
     Video is RV10 (h263 variant), RV20 (rp G2), RV30 (rp v8) or RV40 (rp v9).
-    
+
     FPS: variable, just like in ASF.
-    
+
     Note, that similarity of real and asf has some background - they worked
     together on the (never finished/used) ASF v2 spec for some time.
 

Modified: trunk/DOCS/tech/general.txt
==============================================================================
--- trunk/DOCS/tech/general.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/general.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -148,7 +148,7 @@ Now, go on:
 	 From this we can calculate what PTS we need for the just played
 	 audio, then after we compare this with the video's PTS, we have
 	 the difference!
-	 
+
 	 Life didn't get simpler with AVI. There's the "official" timing
 	 method, the BPS-based, so the header contains how many compressed
 	 audio bytes or chunks belong to one second of frames.
@@ -194,14 +194,14 @@ Now, go on:
 	   blocking. Unfortunately it doesn't say how much we could :((
 	   Also, doesn't/badly works with some drivers.
 	   Only used if none of the above works.
-	 
+
 4. Codecs. Consists of libmpcodecs/* and separate files or libs,
    for example liba52, libmpeg2, xa/*, alaw.c, opendivx/*, loader, mp3lib.
 
    mplayer.c doesn't call them directly, but through the dec_audio.c and
    dec_video.c files, so the mplayer.c doesn't have to know anything about
    the codecs.
-   
+
    libmpcodecs contains wrapper for every codecs, some of them include the
    codec function implementation, some calls functions from other files
    included with mplayer, some calls optional external libraries.

Modified: trunk/DOCS/tech/hwac3.txt
==============================================================================
--- trunk/DOCS/tech/hwac3.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/hwac3.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -61,83 +61,83 @@ running for me.
 -----------------------------------------------------------------------
 Hi there.
 
-Perhaps I can clear up some mystification about AC3 passthrough in 
+Perhaps I can clear up some mystification about AC3 passthrough in
 general and mplayer in special:
 
-To get the external decoder solution working, it must be fed with data 
-which is bitidentical to the chunks in the source ac3 file (compressed 
-data is very picky about bit errors). Additionally - or better to say 
-'historically' - the non-audio bit should be set in the spdif status 
-fields to prevent old spdif hardware from reproducing ugly scratchy 
-noise. Note: for current decoders (probably those with DTS capability) 
-this safety bit isn't needed anymore. At least I can state that for my 
-Sherwood RVD-6095RDS. I think it is due to DTS because DTS sound can 
-reside on a ordinary AudioCD and an ordinary AudioCD-Player will always 
+To get the external decoder solution working, it must be fed with data
+which is bitidentical to the chunks in the source ac3 file (compressed
+data is very picky about bit errors). Additionally - or better to say
+'historically' - the non-audio bit should be set in the spdif status
+fields to prevent old spdif hardware from reproducing ugly scratchy
+noise. Note: for current decoders (probably those with DTS capability)
+this safety bit isn't needed anymore. At least I can state that for my
+Sherwood RVD-6095RDS. I think it is due to DTS because DTS sound can
+reside on a ordinary AudioCD and an ordinary AudioCD-Player will always
 have it's audio-bit set.
 
-The sample format of the data must be 2channel 16bit (little endian 
-IIRC). Samplerates are 48kHz - although my receiver also accepts 
-44100Hz. I do not know if this is due to an over-compatability of my 
-receiver or if 44100 is also possible in the ac3 specs. For safety's 
-sake lets keep this at 48000Hz. AC3 data chunks are inserted into the 
-stream every 0x1600 bytes (don't bite me on that, look into 
+The sample format of the data must be 2channel 16bit (little endian
+IIRC). Samplerates are 48kHz - although my receiver also accepts
+44100Hz. I do not know if this is due to an over-compatability of my
+receiver or if 44100 is also possible in the ac3 specs. For safety's
+sake lets keep this at 48000Hz. AC3 data chunks are inserted into the
+stream every 0x1600 bytes (don't bite me on that, look into
 'ac3-iec958.c': 'ac3_iec958_build_burst').
 
-To come back to the problem: data must be played bit-identically through 
-the soundcard at the correct samplerate and should optionally have it's 
+To come back to the problem: data must be played bit-identically through
+the soundcard at the correct samplerate and should optionally have it's
 non-audio bit set. There are two ways to accomplish this:
 
-1) Some OSS guy invented the format AFMT_AC3. Soundcard drivers 
-implementing this format should therefore adjust it's mixers and 
-switches to produce the desired output. Unfortunately some soundcard 
-drivers do not support this format correctly and most do not even 
+1) Some OSS guy invented the format AFMT_AC3. Soundcard drivers
+implementing this format should therefore adjust it's mixers and
+switches to produce the desired output. Unfortunately some soundcard
+drivers do not support this format correctly and most do not even
 support it at all (including ALSA).
 
-2) The alternative approach currently in mplayer CVS is to simply set 
-the output format to 48kHz16bitLE and rely on the user to have the 
+2) The alternative approach currently in mplayer CVS is to simply set
+the output format to 48kHz16bitLE and rely on the user to have the
 soundcard mixers adjusted properly.
 
-I do have two soundcards with digital IO facilities (CMI8738 and 
-Trident4DWaveNX based) plus the mentioned decoder. I'm currently running 
+I do have two soundcards with digital IO facilities (CMI8738 and
+Trident4DWaveNX based) plus the mentioned decoder. I'm currently running
 Linux-2.4.17. Following configurations are happily running here:
 
 1. Trident with ALSA drivers (OSS does not support Hoontech's dig. IO)
 2. CMI with ALSA drivers
 3. CMI with OSS drivers
 
-For Linux I'd suggest using ALSA because of it's cleaner architecture 
-and more consitent user interface. Not to mention that it'll be the 
+For Linux I'd suggest using ALSA because of it's cleaner architecture
+and more consitent user interface. Not to mention that it'll be the
 standard sound support in Linux soon.
 
-For those who want to stick to OSS drivers: The CMI8738 drivers works 
+For those who want to stick to OSS drivers: The CMI8738 drivers works
 out-of-the-box, if the PCM/Wave mixer is set to 100%.
 
-For ALSA I'd suggest using its OSS emulation. More on that later. 
-ALSA-0.9 invented the idea of cards, devices and dubdevices. You can 
-reach the digital interface of all supported cards consitently by using 
-the device 'hw:x,2' (x counting from 0 is the number of your soundcard). 
-So most people would end up at 'hw:0,2'. This device can only be opened 
-in sample formats and rates which are directly supported in hardware 
-hence no samplerate conversion is done keeping the stream as-is. However 
-most consumer soundcards do not support 44kHz so it would definitively 
-be a bad idea to use this as your standard device if you wanted to 
-listen to some mp3s (most of them are 44kHz due to CD source). Here the 
-OSS comes to play again. You can configure which OSS device (/dev/dsp 
-and /dev/adsp) uses which ALSA device. So I'd suggest pointing the 
-standard '/dev/dsp' to standard 'hw:0,0' which suports mixing and 
-samplerate conversion. No further reconfiguration would be needed for 
-your sound apps. For movies I'd point '/dev/adsp' to 'hw:0,2' and 
-configure mplayer to use adsp instead of dsp. The samplerate constrain 
-is no big deal here since movies usually are in 48Khz anyway. The 
+For ALSA I'd suggest using its OSS emulation. More on that later.
+ALSA-0.9 invented the idea of cards, devices and dubdevices. You can
+reach the digital interface of all supported cards consitently by using
+the device 'hw:x,2' (x counting from 0 is the number of your soundcard).
+So most people would end up at 'hw:0,2'. This device can only be opened
+in sample formats and rates which are directly supported in hardware
+hence no samplerate conversion is done keeping the stream as-is. However
+most consumer soundcards do not support 44kHz so it would definitively
+be a bad idea to use this as your standard device if you wanted to
+listen to some mp3s (most of them are 44kHz due to CD source). Here the
+OSS comes to play again. You can configure which OSS device (/dev/dsp
+and /dev/adsp) uses which ALSA device. So I'd suggest pointing the
+standard '/dev/dsp' to standard 'hw:0,0' which suports mixing and
+samplerate conversion. No further reconfiguration would be needed for
+your sound apps. For movies I'd point '/dev/adsp' to 'hw:0,2' and
+configure mplayer to use adsp instead of dsp. The samplerate constrain
+is no big deal here since movies usually are in 48Khz anyway. The
 configuration in '/etc/modules.conf' is no big deal also:
 
 alias snd-card-0 snd-card-cmipci	# insert your card here
 alias snd-card-1 snd-pcm-oss		# load OSS emulation
 options snd-pcm-oss snd_dsp_map=0 snd_adsp_map=2	# do the mapping
 
-This works flawlessly in combination with alsa's native 
-SysVrc-init-script 'alsasound'. Be sure to disable any distribution 
-dependent script (e.g. Mandrake-8.1 has an 'alsa' script which depends 
+This works flawlessly in combination with alsa's native
+SysVrc-init-script 'alsasound'. Be sure to disable any distribution
+dependent script (e.g. Mandrake-8.1 has an 'alsa' script which depends
 on ALSA-0.5).
 
 Sorry for you *BSD'lers out there. I have no grasp on sound support there.

Modified: trunk/DOCS/tech/libao2.txt
==============================================================================
--- trunk/DOCS/tech/libao2.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/libao2.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -41,7 +41,7 @@ static int play(void* data,int len,int f
   rounded down to 0 or the data will never be played (as MPlayer will never
   call play() with a larger len).
 
-static float get_delay(void); 
+static float get_delay(void);
   Returns how long time it will take to play the data currently in the
   output buffer. Be exact, if possible, since the whole timing depends
   on this! In the worst case, return the maximum delay.
@@ -53,4 +53,4 @@ static void audio_pause(void);
   Pause playing but do not delete buffered data if possible.
 
 static void audio_resume(void);
-  Continue playing after audio_pause().  
+  Continue playing after audio_pause().

Modified: trunk/DOCS/tech/libvo.txt
==============================================================================
--- trunk/DOCS/tech/libvo.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/libvo.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -106,7 +106,7 @@ Each vo driver _has_ to implement these:
 		that sets vo_dx, vo_dy etc. appropriately before config()
 		is called.
 
-    config():	
+    config():
       Set up the video system. You get the dimensions and flags.
       width, height: size of the source image
       d_width, d_height: wanted scaled/display size (it's a hint)
@@ -116,7 +116,7 @@ Each vo driver _has_ to implement these:
 	0x04	- allow software scaling (-zoom)
 	0x08	- flipping (-flip)
       They're defined as VOFLAG_* (see libvo/video_out.h)
-      
+
       IMPORTANT NOTE: config() may be called 0 (zero), 1 or more (2,3...)
       times between preinit() and uninit() calls. You MUST handle it, and
       you shouldn't crash at second config() call or at uninit() without
@@ -158,7 +158,7 @@ Each vo driver _has_ to implement these:
 	 this filter automatically.
 	 Make sure you set VFCAP_OSD depending on whether you implemented it
 	 or not.
-	 
+
 	 NOTE: This one will be obsolete soon! But it's still useful when
 	 you want to do tricks, like rendering osd _after_ hardware scaling
 	 (tdfxfb) or render subtitles under of the image (vo_mpegpes, sdl)

Modified: trunk/DOCS/tech/mingw-crosscompile.txt
==============================================================================
--- trunk/DOCS/tech/mingw-crosscompile.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/mingw-crosscompile.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -11,7 +11,7 @@ http://natsuki.mplayerhq.hu/~reimar/mpl_
 NOTE that this is likely to be quite out-dated and might include packages
 with security issues, so do not use it to build binaries for real use.
 
-After extracting this package into the MPlayer source-tree, 
+After extracting this package into the MPlayer source-tree,
 you only need to run the included linux-mingw.sh to configure (it just runs
 ./configure --host-cc=cc --target=i686-mingw32msvc --cc=i586-mingw32msvc-cc
 --windres=i586-mingw32msvc-windres --ranlib=i586-mingw32msvc-ranlib

Modified: trunk/DOCS/tech/new_policy_proposal.txt
==============================================================================
--- trunk/DOCS/tech/new_policy_proposal.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/new_policy_proposal.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -90,7 +90,7 @@ Reverting broken commits
   If you are even just slightly uncertain how to revert something then ask on
   the mplayer-dev-eng mailing list.
 
-Broken code 
+Broken code
    You must not commit code which breaks MPlayer! (Meaning unfinished but
    enabled code which breaks compilation or compiles but does not work.)
    You can commit unfinished stuff (for testing etc), but it must be disabled
@@ -256,7 +256,7 @@ public developer mailing list and rate o
 unrated options shall be counted equal to the default option
 Any leader can cast a veto against any option except the default up to 10 days
 days after a vote has been started, to do so she has to reply to the original
-vote mail on the public developer mailing list and replace 
+vote mail on the public developer mailing list and replace
 [VOTE] by [VOTE-VETO]
 Developers and leaders who use gpg/pgp MUST sign their votes and vetoes
 
@@ -287,7 +287,7 @@ furthermore B wins even though 100 of 10
 
 S. Changes to developer and Leader status
 ----------------------------------------
-The majority of leaders, that is yes>no can give and take away 
+The majority of leaders, that is yes>no can give and take away
 developer and leader status to people
 furthermore any developer or leader can step back and thus loose
 his leader and or developer status

Modified: trunk/DOCS/tech/playtree
==============================================================================
--- trunk/DOCS/tech/playtree	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/playtree	Wed May 13 04:58:57 2009	(r29305)
@@ -1,5 +1,5 @@
 
-How work the playtree ? 
+How work the playtree ?
 
 Good question, I try to explain but note that it's the first doc
 I write :)
@@ -25,7 +25,7 @@ struct play_tree {
 
 The play_tree_t* hold the links in the 4 directions, the params hold
 all parameters of this entry, loop is obvious (loop < 0 mean infint loop),
-files hold all the files of this entry and entry_type obviously tell the 
+files hold all the files of this entry and entry_type obviously tell the
 type of this entry (Node, file, dvd, vcd ot tv).
 
 An entry can hold more than one file, why ?
@@ -47,7 +47,7 @@ be raised).
 Then to create a list of entry you should use play_tree_append_entry,
 play_tree_prepend_entry or play_tree_insert_entry.
 In all this function you can use any entry of the the list as first argument,
-no need that it's the first one. The same apply when you set the child of a node, 
+no need that it's the first one. The same apply when you set the child of a node,
 the child argument can be any entry in a list.
 To remove an entry from the tree use play_tree_remove. If the second arg (free_it)
 is true it will also free it, if the entry should be freed and the third
@@ -103,7 +103,7 @@ iter->num_files and which one it returne
 In case the entry is a DVD, VCD or TV channel the returned string is not a filename
 but "DVD title x", "VCD track x" or "TV channel x".
 To distinc those case from a normal file you can check iter->tree->entry_type.
-It will contain one of PLAY_TREE_ENTRY_DVD, PLAY_TREE_ENTRY_VCD, 
+It will contain one of PLAY_TREE_ENTRY_DVD, PLAY_TREE_ENTRY_VCD,
 PLAY_TREE_ENTRY_TV or PLAY_TREE_ENTRY_FILE.
 
 If you need to make some check with the iter, such as will next entry be valid, etc

Modified: trunk/DOCS/tech/realcodecs/TODO
==============================================================================
--- trunk/DOCS/tech/realcodecs/TODO	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/realcodecs/TODO	Wed May 13 04:58:57 2009	(r29305)
@@ -20,5 +20,5 @@ TODO:
   also statistics->streams->video->POST FILTER: ON
   (i've found that custommessage calls differ wiht pp on/off, but adding
   these calls to mplayer didn't make a pixel difference between outputs)
-  
+
 

Modified: trunk/DOCS/tech/realcodecs/audio-codecs.txt
==============================================================================
--- trunk/DOCS/tech/realcodecs/audio-codecs.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/realcodecs/audio-codecs.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -65,7 +65,7 @@ void *GetRAFlavorProperty(ra_main_t *raM
 returns property data for a specific data
 
 This is not important, because it's just a read only function.
-These flavor properties don't seem to exist in 
+These flavor properties don't seem to exist in
 
 
 ulong RADecode(ra_main_t *raMain, char *input_buffer,
@@ -91,7 +91,7 @@ audio data storage:
 With Real Audio V5 (or earlier?), the audio streams can be interleaved,
 i.e. the stream is striped amongst several data packets. The packets
 (which have a fixed size packet_len) are split up into a fixed number
-of num_parts equally sized parts - I call them leaves in lack of 
+of num_parts equally sized parts - I call them leaves in lack of
 better name. The leaves have the size leaf_size = packet_len / num_parts.
 
 To create a bunch of packets, you need 2*num_parts stream packets.

Modified: trunk/DOCS/tech/realcodecs/video-codecs.txt
==============================================================================
--- trunk/DOCS/tech/realcodecs/video-codecs.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/realcodecs/video-codecs.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -94,7 +94,7 @@ NOTE:
 rv30 only requires the (0x24,2|3,{w,h,w,h}) message. others can be left out!
 rv20 only requires the (0x11,2,0) message in rp8, before each transform call.
 
-(3,2,0) 
+(3,2,0)
 returns always(?) an error, since a global variable inside the codec
 (which points to a function similar to custommessage), is always NULL
 
@@ -140,7 +140,7 @@ unscaled video stream, the second possib
 060	height	width	height	0
 070	0	1	0	0
 080	0	0xb	w	h
-090	w	h	0	0	
+090	w	h	0	0
 0A0	1	0xb0(w?)	0x58	0x58
 0B0	ptr->?	0	0	1
 0C0	0x32	1	0	0
@@ -148,7 +148,7 @@ unscaled video stream, the second possib
 0E0	0	0	0	0
 0F0	0	0	0	0
 100	0	0	0	0
-110	p	p	p	p p are pointers to several function, for 
+110	p	p	p	p p are pointers to several function, for
 120	p	p	p	p example to the actual public functions
 130	p	p	p	p (except init, the others are some kind of
 140	p	p	p	p interfaces)

Modified: trunk/DOCS/tech/slave.txt
==============================================================================
--- trunk/DOCS/tech/slave.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/slave.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -237,7 +237,7 @@ radio_step_channel <-1|1>
     'channels' radio parameter was set.
 
 radio_step_freq <value>
-    Tune frequency by the <value> (positive - up, negative - down). 
+    Tune frequency by the <value> (positive - up, negative - down).
 
 seek <value> [type]
     Seek to some place in the movie.
@@ -541,7 +541,7 @@ teletext_page      int       0       799
 teletext_subpage   int       0       64      X   X   X
 teletext_mode      flag      0       1       X   X   X    0 - off, 1 - on
 teletext_format    int       0       3       X   X   X    0 - opaque,
-                                                          1 - transparent, 
+                                                          1 - transparent,
                                                           2 - opaque inverted,
                                                           3 - transp. inv.
 teletext_half_page int       0       2       X   X   X    0 - off, 1 - top half,

Modified: trunk/DOCS/tech/snow.txt
==============================================================================
--- trunk/DOCS/tech/snow.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/snow.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -32,7 +32,7 @@ OPTIONS RECOGNIZED BY SNOW
 
  * cmp, subcmp, mbcmp
    Set the comparison function, default: 0 (SAD).
-   useful values = 0 (SAD), 1 (SSD), 2 (SATD), 
+   useful values = 0 (SAD), 1 (SSD), 2 (SATD),
                    11 (5/3 wavelet), 12 (9/7 wavelet).
    SAD is fastest and lowest quality.
    SSD is the only function that makes correct decisions about intra vs

Modified: trunk/DOCS/tech/subcp.txt
==============================================================================
--- trunk/DOCS/tech/subcp.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/subcp.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -1,7 +1,7 @@
 Ascii Subtitle / Font CODEPAGEs
 ===============================
 
-The subtitle encoding issue seems a bit confusing, so I'll try to 
+The subtitle encoding issue seems a bit confusing, so I'll try to
 summarize it here.
 
 There are 2 approaches:
@@ -10,7 +10,7 @@ There are 2 approaches:
 	subfont --unicode <signle-byte encoding known by iconv> ...
 or
 	subfont --unicode <path to custom encoding file> ...
-	(this custom encoding file could list all iso-8859-* characters to create 
+	(this custom encoding file could list all iso-8859-* characters to create
 single font file for common encodings)
 
 and then run mplayer this way (-subcp and -utf8 expect Unicode font!):
@@ -23,8 +23,8 @@ or
 or
 	subfont <path to custom signle-byte or EUC encoding file> ...
 
-and then run mplayer without any encoding options for signle-byte 
-encodings, or with -unicode option for EUC (and the like) encodings 
+and then run mplayer without any encoding options for signle-byte
+encodings, or with -unicode option for EUC (and the like) encodings
 (which is only partially implemented in mplayer).
 
 AFAIK, CJK encodings: EUC-*, BIG5 and GB2312 work more or less this way:
@@ -34,11 +34,11 @@ AFAIK, CJK encodings: EUC-*, BIG5 and GB
 - other characters are single-byte.
 
 
-I tested charmap2enc script only with /usr/share/i18n/charmaps/EUC-KR.gz 
+I tested charmap2enc script only with /usr/share/i18n/charmaps/EUC-KR.gz
 (on RedHat). It wasn't intended to be perfect.
 
 
--- 
+--
 Artur Zaprzala
 
 

Modified: trunk/DOCS/tech/swscaler_methods.txt
==============================================================================
--- trunk/DOCS/tech/swscaler_methods.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/swscaler_methods.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -28,7 +28,7 @@ blocky (upscale only)
 
 recommendations: (based upon my personal opinion many ppl might disagree ...)
 ---------------------------------------------------------------------
-        
+
 the recommended scalers for upscaling:
 fast_bilinear, point if speed is important
 cubic, spline, lanczos if quality is important
@@ -38,8 +38,8 @@ fast_bilinear, point if speed is importa
 gauss, bilinear if quality is important
 cubic, spline, lanczos if a sharper picture is important
 
-note: when encoding at a limited amount of bits (not constant quantizer) 
-then a slightly blurred input might look better after decoding than a slightly 
+note: when encoding at a limited amount of bits (not constant quantizer)
+then a slightly blurred input might look better after decoding than a slightly
 sharpened one, especially for lower bitrates
 
 sws numbers / names / artifact types
@@ -64,6 +64,6 @@ m mosaic (blocky) (upscale only)
 		short filter		 b
 -sws 10	bicubic spline			r
 
-Notes: 
+Notes:
 	area upscale is identical to bilinear
 

Modified: trunk/DOCS/tech/vidix.txt
==============================================================================
--- trunk/DOCS/tech/vidix.txt	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/tech/vidix.txt	Wed May 13 04:58:57 2009	(r29305)
@@ -1,6 +1,6 @@
 		VIDIX - VIDeo Interface for *niX
 		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		
+
 This interface was designed and introduced as interface to userspace drivers
 to provide DGA everywhere where it's possible (unline X11).
 I hope that these drivers will be portable same as X11 (not only on *nix).
@@ -12,10 +12,10 @@ What is it:
 - Unlikely linux's drivers it uses mathematics library.
 
 Why it was developed:
-As said Vladimir Dergachev 
+As said Vladimir Dergachev
 (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gatos/km/km.rfc.txt):
 "0) Motivation
-    v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit 
+    v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit
     existing multimedia devices into a fixed scheme."
 Well - I tried to implement something similar by motivation.
 
@@ -42,7 +42,7 @@ So any suggestions, reports, criticism a
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    vidix_playback_t.fourcc	- contains fourcc of movie
    vidix_playback_t.capability	- currently contsinas copy of vidix_capability_t.flags
-   vidix_playback_t.blend_factor- currently unused   
+   vidix_playback_t.blend_factor- currently unused
    vidix_playback_t.src		- x,y,w,h fields contain original movie size
 				  (in pixels) x and y often are nulls.
    vidix_playback_t.src.pitch.y   These fields contain source pitches
@@ -61,23 +61,23 @@ So any suggestions, reports, criticism a
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    vidix_playback_t.num_frames  - real # of frames which will be used by driver.
 				  (Should be less or equal to app's num_frames).
-				  
+
    vidix_playback_t.dest.pitch.y   These fields should contain alignment
    vidix_playback_t.dest.pitch.u - for each Y,U,V plane in bytes.
    vidix_playback_t.dest.pitch.v   (For packed fourcc only Y value is used)
-   
+
    vidix_playback_t.frame_size	- Driver should tell to app which size of
 				      source frame (src.w and src.h) should
 				      use APP (according to pitches and offsets)
 
    vidix_playback_t.offsets	- offsets from begin of BES memory for each frame
-   
+
    vidix_playback_t.offset.y	  These field should contain offset
    vidix_playback_t.offset.u	- for each Y,U,V plane within frame.
    vidix_playback_t.offset.v	  (For packed fourcc only Y value is used)
 
    vidix_playback_t.dga_addr	- Address of BES memory.
-   
+
 Also see this picture:
 
 VIDEO MEMORY layout:
@@ -128,8 +128,8 @@ Formula: (For Y plane) copy source to:
 10) APP calls vixPlaybackOff. Driver should deactivate BES on this call.
 11) If vixDestroy is defined APP calls this function before unloading driver
     from memory.
-    
-    
+
+
 What functions are mandatory:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 vixGetVersion

Modified: trunk/DOCS/xml/xsl/ldp-html-chunk.xsl
==============================================================================
--- trunk/DOCS/xml/xsl/ldp-html-chunk.xsl	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/xml/xsl/ldp-html-chunk.xsl	Wed May 13 04:58:57 2009	(r29305)
@@ -19,7 +19,7 @@
 <!-- Imports the common LDP customization layer. -->
 <xsl:import href="ldp-html-common.xsl"/>
 
-<!-- If there was some reason to override 'ldp-html-common.xsl' or to 
+<!-- If there was some reason to override 'ldp-html-common.xsl' or to
      perform any other customizations that affect *only* the generation
      of multiple HTML files, those templates or parameters could be
      entered here. -->

Modified: trunk/DOCS/xml/xsl/ldp-html-common.xsl
==============================================================================
--- trunk/DOCS/xml/xsl/ldp-html-common.xsl	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/xml/xsl/ldp-html-common.xsl	Wed May 13 04:58:57 2009	(r29305)
@@ -53,16 +53,16 @@
 <!-- declare-characteristic preserve-sdata?
      No longer appears necessary as it is a JadeTex issue. -->
 
-<!-- generate-legalnotice-link? 
+<!-- generate-legalnotice-link?
      Not currently supported in Norm's XSL stylesheets. Logged
      at SourceForge as a bug. -->
 
 <!-- Should graphics be used for admonitions (notes, warnings)? 0 or 1 -->
 <xsl:param name="admon.graphics" select="0"/>
 
-<!-- If using admon graphics (1 above), what is path to graphics? 
+<!-- If using admon graphics (1 above), what is path to graphics?
      Should be the path relative to your document and MUST end with
-     a trailing slash.  Also, this parameter needs to be on a 
+     a trailing slash.  Also, this parameter needs to be on a
      single line. -->
 <xsl:param name="admon.graphics.path">images/</xsl:param>
 
@@ -82,7 +82,7 @@
 
 <!-- generate-article-titlepage -->
 
-<!-- Equivalent to chunk-skip-first-element-list - forces TOC on separate page 
+<!-- Equivalent to chunk-skip-first-element-list - forces TOC on separate page
      If 0, first sect is on page for chapter or article -->
 <xsl:param name="chunk.first.sections" select="'1'"/>
 
@@ -97,7 +97,7 @@
 <!-- Filename for the root chunk -->
 <xsl:param name="root.filename" select="'index'"/>
 
-<!-- shade-verbatim 
+<!-- shade-verbatim
      I have created a function below that shades the verbatim sections.
      logic would need to be added to check if this is set.
      Norm has added parameters to his 1.44 stylesheets that support
@@ -126,7 +126,7 @@
 <!-- To what depth (in sections) should the TOC go? -->
 <xsl:param name="toc.section.depth" select="2"/>
 
-<!-- Custom 'emphasis' template to allow 'role="strong"' to 
+<!-- Custom 'emphasis' template to allow 'role="strong"' to
      also produce a bold item. -->
 <xsl:template match="emphasis">
   <xsl:choose>
@@ -140,10 +140,10 @@
 </xsl:template>
 
 <!-- book-titlepage-recto-elements
-     article-titlepage-recto-elements 
-     article-titlepage-recto-mode 
-     article-title 
-     
+     article-titlepage-recto-elements
+     article-titlepage-recto-mode
+     article-title
+
      - Customizing these elements (for instance, to list what is on the
        title page) involves writing a layer for html/titlepage.templates.xml and the
        other files html/titlepage.xsl and html/titlepage.templates.xsl - Norm
@@ -151,7 +151,7 @@
 
 <!-- The remainder of ldp.dsl deals with changing the foreground and
      background colors of verbatim elements although in reading through the
-     DSSSL it doesn't look like it actually changed the foreground colors. 
+     DSSSL it doesn't look like it actually changed the foreground colors.
      The changing of the background shading can be done at two locations
      (one numbered, one not) in the template below. -->
 

Modified: trunk/DOCS/xml/xsl/ldp-html.xsl
==============================================================================
--- trunk/DOCS/xml/xsl/ldp-html.xsl	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/DOCS/xml/xsl/ldp-html.xsl	Wed May 13 04:58:57 2009	(r29305)
@@ -19,7 +19,7 @@
 <!-- Imports the common LDP customization layer. -->
 <xsl:import href="/home/n/xml/xsl/ldp-html-common.xsl"/>
 
-<!-- If there was some reason to override 'ldp-html-common.xsl' or to 
+<!-- If there was some reason to override 'ldp-html-common.xsl' or to
      perform any other customizations that affect *only* the generation
      of a single HTML file, those templates or parameters could be
      entered here. -->

Modified: trunk/TOOLS/aconvert.sh
==============================================================================
--- trunk/TOOLS/aconvert.sh	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/aconvert.sh	Wed May 13 04:58:57 2009	(r29305)
@@ -9,5 +9,5 @@ if [ "$1" = "" ]; then
 fi
 
 options=${3:-"-oac mp3lame"}
- 
+
 mencoder -demuxer rawvideo -rawvideo w=1:h=1 -ovc copy -of rawaudio -endpos `mplayer -identify $1 -frames 0 2>&1 | grep ID_LENGTH | cut -d "=" -f 2` -audiofile $1 -o $2 $options $1

Modified: trunk/TOOLS/bmovl-test.c
==============================================================================
--- trunk/TOOLS/bmovl-test.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/bmovl-test.c	Wed May 13 04:58:57 2009	(r29305)
@@ -15,10 +15,10 @@ blit(int fifo, unsigned char *bitmap, in
 {
 	char str[100];
 	int  nbytes;
-	
+
 	sprintf(str, "RGBA32 %d %d %d %d %d %d\n",
 	        width, height, xpos, ypos, alpha, clear);
-	
+
 	if(DEBUG) printf("Sending %s", str);
 
 	write(fifo, str, strlen(str));
@@ -33,7 +33,7 @@ set_alpha(int fifo, int width, int heigh
 
 	sprintf(str, "ALPHA %d %d %d %d %d\n",
 	        width, height, xpos, ypos, alpha);
-	
+
 	if(DEBUG) printf("Sending %s", str);
 
 	write(fifo, str, strlen(str));
@@ -110,7 +110,7 @@ int main(int argc, char **argv) {
 	for(i=-255; i <= 0; i++)
 		set_alpha(fifo, image->w, image->h,
 		          (width/2)-(image->w/2), (height/2)-(image->h/2), i);
-	
+
 
 	// Clean up
 	free(bitmap);

Modified: trunk/TOOLS/calcbpp.pl
==============================================================================
--- trunk/TOOLS/calcbpp.pl	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/calcbpp.pl	Wed May 13 04:58:57 2009	(r29305)
@@ -4,7 +4,7 @@ use POSIX;
 
 sub round {
   my $v = shift;
-  
+
   return floor($v + 0.5);
 }
 

Modified: trunk/TOOLS/divx2svcd.sh
==============================================================================
--- trunk/TOOLS/divx2svcd.sh	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/divx2svcd.sh	Wed May 13 04:58:57 2009	(r29305)
@@ -315,7 +315,7 @@ if [ "$burning" = 1 ]; then
 cat <<EOF
 
 Please insert a blank cd in your cdwriter.
-(If you are using a rewritable media, 
+(If you are using a rewritable media,
 don't forgot to blank it before using divx2svcd.)
 Press any key when your are ready.
 EOF

Modified: trunk/TOOLS/mencvcd.sh
==============================================================================
--- trunk/TOOLS/mencvcd.sh	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/mencvcd.sh	Wed May 13 04:58:57 2009	(r29305)
@@ -31,7 +31,7 @@ done
 ################################################################################
 #
 # 2002/04/11        v0.1.0: first version
-# 2002/04/12        v0.1.1: 
+# 2002/04/12        v0.1.1:
 # 2002/04/14        v0.1.2:
 #                     - handles now multiple vcd's
 #                     - support's mp3 audio as option
@@ -81,7 +81,7 @@ done
 TMPDIR="." # path to directory for creating temporary files, recommended 2-3GB space
 
 CDDRV="generic-mmc"    # cdrdao: cdwriter driver
-CDDEV="--device 0,1,0" # or comment out and create link /dev/cdrecorder 
+CDDEV="--device 0,1,0" # or comment out and create link /dev/cdrecorder
                        # to your cdwriter dev
 CDMAXSIZE=800
 
@@ -170,7 +170,7 @@ usage() {
 
 HOWCALLED=`basename $0`
 if [ $# -le 1 ]; then
-   usage 
+   usage
    exit 1
 fi
 case $1 in
@@ -359,19 +359,19 @@ if [ $burnonly -eq 0 ]; then
       command="mplayer -noframedrop -vo yuv4mpeg -ao pcm:waveheader -v -osdlevel 0 $sub $params"
       echo "$command"
       $command &
-      
+
       # mjpegtools
       ($denoise < $VIDEO | \
          yuvscaler -v 0 $wide -O $vnorm $size $yuvin | \
          mpeg2enc -v 0 -s $mpegnorm $aratio -S $CDMAXSIZE -g 6 -G 15 -r 16 \
 	          $pd $framerate $yuvin -4 2 -2 1 -o $NAME.mpv) &
-   
+
       # wait for finishing the subprocesses
       wait
 
       # normalize sound
       [ $norm -eq 1 ] && (echo "normalizing sound..."; normalize $AUDIO)
-      
+
       # do resampling with sox
       if [ $sox -ne 0 ]; then
 	echo "wait, do resampling with sox..."
@@ -384,7 +384,7 @@ if [ $burnonly -eq 0 ]; then
 	echo "wait, encoding to mp2 audio with toolame..."
 	toolame -b $abr $AUDIO
 	mv -f `basename $AUDIO .wav`.mp2 $NAME.mpa
-      elif [ $toolame -eq 0 -a $mp3 -eq 0 ]; then 
+      elif [ $toolame -eq 0 -a $mp3 -eq 0 ]; then
         # mp2enc/lame can't read audiodump.wav directly from named pipe,
         # we have to read the whole file.
 	echo "wait, encoding to mp2 audio with mp2enc..."
@@ -405,12 +405,12 @@ if [ $burnonly -eq 0 ]; then
 
    # remove pipe, won't need anymore!
    rm -f $VIDEO
-   
+
    # should i create only the mpeg file?
    [ $mpgonly -eq 1 ] && exit 0
 
    # create cd images
-   for mpg in ${NAME}*.mpg; do 
+   for mpg in ${NAME}*.mpg; do
       [ -f $mpg ] || exit 1
       cue="`basename $mpg .mpg`.cue"
       bin="`basename $mpg .mpg`.bin"

Modified: trunk/TOOLS/modify_reg.c
==============================================================================
--- trunk/TOOLS/modify_reg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/modify_reg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -105,7 +105,7 @@ int main(int argc, char *argv[]) {
         if (c == EOF)
             break;
         switch(c) {
-          case 'r': 
+          case 'r':
             localregpathname = optarg;
             break;
           case 'l':

Modified: trunk/TOOLS/movinfo.c
==============================================================================
--- trunk/TOOLS/movinfo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/movinfo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -8,9 +8,9 @@
 
   By older files, mdat is at the beginning, and moov follows it later,
   by newer files, moov is at the begininng.
-  
+
   Fontosabb typeok:
-  
+
   trak: track: ezeken belul van egy-egy stream (video/audio)
   tkhd: track header: fps (video esten picture size is itt van)
   vmhd: video media handler (video stream informaciok)
@@ -113,7 +113,7 @@ static void userdata_info(FILE *f, int l
   {
     atom_size=read_dword(f);//  if(fread(&atom_size_b,4,1,f)<=0) break;
     if(fread(&atom_type,4,1,f)<=0) break;
-  
+
     if(atom_size<8) break; // error
 
 //    printf("%08X:  %*s %.4s (%08X) %05d (begin: %08X)\n",pos,level*2,"",
@@ -124,7 +124,7 @@ static void userdata_info(FILE *f, int l
       case 0x797063A9: /* cpy (copyright) */
         {
 	  char *data = malloc(atom_size-8);
-	  
+
 	  fseek(f, pos+6, SEEK_SET);
 	  fread(data, atom_size-8, 1, f);
 	  printf(" Copyright: %s\n", data);
@@ -134,7 +134,7 @@ static void userdata_info(FILE *f, int l
       case 0x666E69A9: /* inf (information) */
         {
 	  char data[atom_size-8];
-	  
+
 	  fread(&data, 1, atom_size-8, f);
 	  printf(" Owner: %s\n", &data);
 	}
@@ -142,7 +142,7 @@ static void userdata_info(FILE *f, int l
       case 0x6D616EA9: /* nam (name) */
         {
 	  char data[atom_size-8];
-	  
+
 	  fread(&data, 1, atom_size-8, f);
 	  printf(" Name: %s\n", &data);
 	}
@@ -164,9 +164,9 @@ static void lschunks(FILE *f,int level,u
   pos=ftell(f);
   atom_size=read_dword(f);//  if(fread(&atom_size_b,4,1,f)<=0) break;
   if(fread(&atom_type,4,1,f)<=0) break;
-  
+
   if(atom_size<8) break; // error
-  
+
   printf("%08X:  %*s %.4s (%08X) %05d [%s] (begin: %08X)\n",pos,level*2,"",&atom_type,atom_type,atom_size,
     atom2human_type(atom_type), pos+8); // 8: atom_size fields (4) + atom_type fields (4)
 
@@ -177,7 +177,7 @@ static void lschunks(FILE *f,int level,u
   if (atom_type == 0x6468646D)
   {
     char data[4];
-    
+
     fread(&data, 1, 1, f); // char
     printf("mdhd version %d\n", data[0]);
     fread(&data, 3, 1, f); // int24
@@ -196,7 +196,7 @@ static void lschunks(FILE *f,int level,u
     stream = S_VIDEO;
     printf(" Found VIDEO Stream #%d\n", v_stream++);
   }
-  
+
   if (atom_type == 0x64686D73)
   {
     stream = S_AUDIO;
@@ -219,7 +219,7 @@ static void lschunks(FILE *f,int level,u
     if (x == 0 && y == 0)
 	printf(" Possible audio stream!\n");
   }
-  
+
   if(atom_type==0x64737473) {  // stsd
     unsigned int tmp;
     unsigned int count;
@@ -240,7 +240,7 @@ static void lschunks(FILE *f,int level,u
       fseek(f,len-8,SEEK_CUR);
     }
   }
-  
+
   if(atom_type==0x6F637473) {  // stco
     int len,i;
     read_dword(f);
@@ -292,7 +292,7 @@ static void lschunks(FILE *f,int level,u
     }
   }
 #endif
-  
+
 #if 1
   switch(atom_type){
   case 0x7461646D: // mdat  Movie data
@@ -326,7 +326,7 @@ static void lschunks(FILE *f,int level,u
 int main(int argc,char* argv[])
 {
     FILE *f;
-    
+
     if ((f = fopen(argc>1?argv[1]:"Akira.mov","rb")) == NULL)
 	return 1;
 

Modified: trunk/TOOLS/netstream.c
==============================================================================
--- trunk/TOOLS/netstream.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/netstream.c	Wed May 13 04:58:57 2009	(r29305)
@@ -108,7 +108,7 @@ static int net_stream_open(client_t* cl,
 static int net_stream_fill_buffer(client_t* cl,uint16_t max_len) {
   int r;
   mp_net_stream_packet_t *pack;
-  
+
   if(!cl->stream) {
     if(!write_error(cl->fd,"No stream is currently opened\n"))
       return 0;
@@ -132,7 +132,7 @@ static int net_stream_fill_buffer(client
 }
 
 static int net_stream_seek(client_t* cl, uint64_t pos) {
-  
+
   if(!cl->stream) {
     if(!write_error(cl->fd,"No stream is currently opened\n"))
       return 0;
@@ -180,7 +180,7 @@ static int handle_client(client_t* cl,mp
 
   if(!pack)
     return 0;
- 
+
   switch(pack->cmd) {
   case NET_STREAM_OPEN:
     if(((char*)pack)[pack->len-1] != '\0') {
@@ -239,7 +239,7 @@ static int make_fd_set(fd_set* fds, clie
       if(cl->stream) free_stream(cl->stream);
       if(!cl->prev) // Remove the head
 	*_cl = cl->next;
-      cl = cl->next;  
+      cl = cl->next;
       free(f);
       continue;
     }
@@ -276,7 +276,7 @@ static int main_loop(int listen_fd) {
   signal(SIGHUP,exit_sig);  // kill -HUP  /  xterm closed
   signal(SIGINT,exit_sig);  // Interrupt from keyboard
   signal(SIGQUIT,exit_sig); // Quit from keyboard
-#endif 
+#endif
 
   while(run_server) {
     int sel_n = make_fd_set(&fds,&clients,listen_fd);
@@ -338,7 +338,7 @@ int main(void) {
 
   mp_msg_init();
   //  mp_msg_set_level(verbose+MSGL_STATUS);
-  
+
 #ifdef __MINGW32__
   WSADATA wsaData;
   WSAStartup(MAKEWORD(1,1), &wsaData);
@@ -356,7 +356,7 @@ int main(void) {
     mp_msg(MSGT_NETST,MSGL_FATAL,"Failed to bind listen socket: %s\n",strerror(errno));
     return -1;
   }
-  
+
 
   if(listen(listen_fd,1)) {
     mp_msg(MSGT_NETST,MSGL_FATAL,"Failed to turn the socket in listen state: %s\n",strerror(errno));

Modified: trunk/TOOLS/plotpsnr.pl
==============================================================================
--- trunk/TOOLS/plotpsnr.pl	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/plotpsnr.pl	Wed May 13 04:58:57 2009	(r29305)
@@ -216,7 +216,7 @@ sub commandline {
 	"iframes"	=> \$options{iframes},
 	"pframes"	=> \$options{pframes},
 	"bframes"	=> \$options{bframes},
-	"aframes"	=> sub { $options{iframes} = 1; 
+	"aframes"	=> sub { $options{iframes} = 1;
 				 $options{pframes}  = 1;
 				 $options{bframes}  = 1; },
         "qs=s"     	=> \$options{qs},

Modified: trunk/TOOLS/qepdvcd.sh
==============================================================================
--- trunk/TOOLS/qepdvcd.sh	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/qepdvcd.sh	Wed May 13 04:58:57 2009	(r29305)
@@ -3,23 +3,23 @@
 # QEPDVCD
 #
 # Most of this stuff comes straight from MPlayer documentation.
-# Options are limited only to a small useful subset, if you 
+# Options are limited only to a small useful subset, if you
 # want more control, RTFM and DIY.
 #
 # Version:          0.1
 #
 # Licence:          GPL
 #
-# Author:           Reynaldo H. Verdejo Pinochet <reynaldo at opendot.cl> 
+# Author:           Reynaldo H. Verdejo Pinochet <reynaldo at opendot.cl>
 #
-# Script:           MPlayer Sources. Anything supported to vcd/svcd pal/ntsc 
+# Script:           MPlayer Sources. Anything supported to vcd/svcd pal/ntsc
 #
 # requires:         mencoder
 #
-# sugests:          vcdimager / cdrecord 
+# sugests:          vcdimager / cdrecord
 #
 # Thanks to:        Carlos Navarro Salas - name author ;)
-#					
+#
 #
 
 # Defaults
@@ -276,7 +276,7 @@ for j in $(seq 0 $CICLES); do
 			fi
 		done
 	fi
-		
+
 # Mencoder Time ;-) ###################################################
 
 mencoder \

Modified: trunk/TOOLS/realcodecs/14_4.c
==============================================================================
--- trunk/TOOLS/realcodecs/14_4.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/14_4.c	Wed May 13 04:58:57 2009	(r29305)
@@ -137,7 +137,7 @@ void hexdump(void *pos, int len) {
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "%0x  ", cpos); 
+		fprintf(stderr, "%0x  ", cpos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -157,7 +157,7 @@ void hexdump(void *pos, int len) {
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -177,7 +177,7 @@ static int pkno=0;
 ulong RADecode(ulong p1,ulong p2,ulong p3,ulong p4,ulong* p5,ulong p6) {
 	ulong result;
 	int x,y;
-	
+
 	fprintf(stderr, "RADecode(ulong ctx=0x%0lx, ", p1);
 	fprintf(stderr, "ulong src=0x%0lx,\n", p2);
 	fprintf(stderr, "ulong len=0x%0lx,", p3);
@@ -261,7 +261,7 @@ ulong RAInitDecoder(ulong p1,ulong p2) {
 //	memset(temp2,0x77,256);
 //	memcpy(temp2,temp[6],16);
 //	temp[6]=temp2;
-	
+
 	result=(*raInitDecoder)(p1,/*temp*/p2);
 //	hexdump((void*)temp[6], 32);
 //	memcpy(p2,temp,4*11);
@@ -310,6 +310,6 @@ ulong RASetFlavor(ulong p1) {
 
 	fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
 #endif
-	
+
 	return result;
 }

Modified: trunk/TOOLS/realcodecs/28_8.c
==============================================================================
--- trunk/TOOLS/realcodecs/28_8.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/28_8.c	Wed May 13 04:58:57 2009	(r29305)
@@ -137,7 +137,7 @@ void hexdump(void *pos, int len) {
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "%0x  ", cpos); 
+		fprintf(stderr, "%0x  ", cpos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -157,7 +157,7 @@ void hexdump(void *pos, int len) {
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -177,7 +177,7 @@ static int pkno=0;
 ulong RADecode(ulong p1,ulong p2,ulong p3,ulong p4,ulong* p5,ulong p6) {
 	ulong result;
 	int x,y;
-	
+
 	fprintf(stderr, "RADecode(ulong ctx=0x%0lx, ", p1);
 	fprintf(stderr, "ulong src=0x%0lx,\n", p2);
 	fprintf(stderr, "ulong len=0x%0lx,", p3);
@@ -261,7 +261,7 @@ ulong RAInitDecoder(ulong p1,ulong p2) {
 //	memset(temp2,0x77,256);
 //	memcpy(temp2,temp[6],16);
 //	temp[6]=temp2;
-	
+
 	result=(*raInitDecoder)(p1,/*temp*/p2);
 //	hexdump((void*)temp[6], 32);
 //	memcpy(p2,temp,4*11);
@@ -310,6 +310,6 @@ ulong RASetFlavor(ulong p1) {
 
 	fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
 #endif
-	
+
 	return result;
 }

Modified: trunk/TOOLS/realcodecs/cook.c
==============================================================================
--- trunk/TOOLS/realcodecs/cook.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/cook.c	Wed May 13 04:58:57 2009	(r29305)
@@ -184,7 +184,7 @@ void hexdump(void *pos, int len) {
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "%0x  ", cpos); 
+		fprintf(stderr, "%0x  ", cpos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -204,7 +204,7 @@ void hexdump(void *pos, int len) {
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -224,7 +224,7 @@ static int pkno=0;
 ulong RADecode(ulong p1,ulong p2,ulong p3,ulong p4,ulong* p5,ulong p6) {
 	ulong result;
 	int x,y;
-	
+
 	fprintf(stderr, "RADecode(ulong ctx=0x%0lx, ", p1);
 	fprintf(stderr, "ulong src=0x%0lx,\n", p2);
 	fprintf(stderr, "ulong len=0x%0lx,", p3);
@@ -344,7 +344,7 @@ ulong RAInitDecoder(ulong p1,ulong p2) {
 	memset(temp2,0x77,256);
 	memcpy(temp2,temp[6],16);
 	temp[6]=temp2;
-	
+
 	result=(*raInitDecoder)(p1,temp);
 	hexdump((void*)temp[6], 32);
 //	memcpy(p2,temp,4*11);
@@ -414,7 +414,7 @@ ulong RASetFlavor(ulong p1,ulong p2) {
 
 	fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
 #endif
-	
+
 	return result;
 }
 

Modified: trunk/TOOLS/realcodecs/drv2.c
==============================================================================
--- trunk/TOOLS/realcodecs/drv2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/drv2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -161,7 +161,7 @@ static void hexdump(void *pos, int len) 
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "#R# %0x  ", (int)cpos-(int)pos); 
+		fprintf(stderr, "#R# %0x  ", (int)cpos-(int)pos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -181,7 +181,7 @@ static void hexdump(void *pos, int len) 
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -195,15 +195,15 @@ ulong RV20toYUV420CustomMessage(ulong* p
 
 /*
 	if(p1[0]!=17) return 0;
-	
+
 	if(p1[1]!=1) return 0;
-	
+
 	if(p1[0]==105) return 0;
 	if(p1[0]==3) return 0;
 	if(p1[0]==18) return 0;
 	if(p1[0]==30) return 0;
 */
-	
+
 	if(p1[0]==0x24){
 #if 1
 	    hexdump(p1[2],64);
@@ -257,9 +257,9 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 //	hexdump((void*)p1, sizeof(struct init_data));
 
 	fprintf(stderr,">HIVE %ld %p\n",p1[0],p1[1]);
-	
+
 	if(p1[0]!=0) return 0;
-	
+
 	p1[1]=0x10000000;
 	return 0;
 
@@ -267,7 +267,7 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 	memset(h_temp,0x77,1000);
 	memcpy(h_temp,p1,4);
 //	fprintf(stderr,"COPY OK!\n");
-	
+
 //	tic();
 //	result=(*rvyuvHiveMessage)(p1,p2);
 	result=(*rvyuvHiveMessage)(h_temp,p2);
@@ -281,7 +281,7 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 
 //	p1[0]=0;
 //	p1[1]=0x20000000;
-	
+
 	fprintf(stderr,"<HIVE %ld %p\n",p1[0],p1[1]);
 
 //	hexdump((void*)p1, sizeof(struct init_data));
@@ -387,28 +387,28 @@ ulong RV20toYUV420Transform(ulong p1,ulo
 	pch=p1;
 	crc_src=build_crc(pch, pp3[0]);
 
-	pp4=pp3[3];	
+	pp4=pp3[3];
 	fprintf(stderr,"transin1[%p]: {%ld/%ld} ",pp4,pp3[2],pp3[0]);
 //	pp4[0],pp4[1],pp4[2],pp4[3],
 //	pp4[4],pp4[5],pp4[6],pp4[7]);
-	
+
 	memset(temp,0x77,128*4);
-	
+
 	memcpy(temp,pp4,8*(pp3[2]+1));
 	for(i=0;i<=pp3[2];i++){
 	    fprintf(stderr," %p(%ld)",temp[i*2],temp[i*2+1]);
 	}
         fprintf(stderr,"\n");
-	
+
 
 	pp3[3]=pp4=temp;
-	
+
 //	pp4[2]=
 //	pp4[3]=
 //	pp4[4]=NULL;
-	
+
 	//pp4[6]=pp4[5];
-	
+
 	v=p5;
 /*	fprintf(stderr, "rvyuvMain=0x%0x\n", v);
 	v+=0x3c;
@@ -431,7 +431,7 @@ ulong RV20toYUV420Transform(ulong p1,ulo
 		fprintf(stderr, "[$+178h]=0x%0x\n", v);
 		hexdump(v, 128);
 	}
-*/	
+*/
 //	tic();
 	result=(*rvyuvTransform)(p1,p2,p3,p4,p5);
 //	toc();

Modified: trunk/TOOLS/realcodecs/drv3.c
==============================================================================
--- trunk/TOOLS/realcodecs/drv3.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/drv3.c	Wed May 13 04:58:57 2009	(r29305)
@@ -161,7 +161,7 @@ static void hexdump(void *pos, int len) 
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "#R# %0x  ", (int)cpos-(int)pos); 
+		fprintf(stderr, "#R# %0x  ", (int)cpos-(int)pos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -181,7 +181,7 @@ static void hexdump(void *pos, int len) 
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -242,7 +242,7 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 	memset(h_temp,0x77,1000);
 	memcpy(h_temp,p1,4);
 	fprintf(stderr,"COPY OK!\n");
-	
+
 //	tic();
 //	result=(*rvyuvHiveMessage)(p1,p2);
 	result=(*rvyuvHiveMessage)(h_temp,p2);
@@ -256,7 +256,7 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 
 //	p1[0]=0;
 //	p1[1]=0x20000000;
-	
+
 	fprintf(stderr,"<HIVE %ld %p\n",p1[0],p1[1]);
 
 //	hexdump((void*)p1, sizeof(struct init_data));
@@ -362,28 +362,28 @@ ulong RV20toYUV420Transform(ulong p1,ulo
 	pch=p1;
 	crc_src=build_crc(pch, pp3[0]);
 
-	pp4=pp3[3];	
+	pp4=pp3[3];
 	fprintf(stderr,"transin1[%p]: {%ld/%ld} ",pp4,pp3[2],pp3[0]);
 //	pp4[0],pp4[1],pp4[2],pp4[3],
 //	pp4[4],pp4[5],pp4[6],pp4[7]);
-	
+
 	memset(temp,0x77,128*4);
-	
+
 	memcpy(temp,pp4,8*(pp3[2]+1));
 	for(i=0;i<=pp3[2];i++){
 	    fprintf(stderr," %p(%ld)",temp[i*2],temp[i*2+1]);
 	}
         fprintf(stderr,"\n");
-	
+
 
 	pp3[3]=pp4=temp;
-	
+
 //	pp4[2]=
 //	pp4[3]=
 //	pp4[4]=NULL;
-	
+
 	//pp4[6]=pp4[5];
-	
+
 	v=p5;
 /*	fprintf(stderr, "rvyuvMain=0x%0x\n", v);
 	v+=0x3c;
@@ -406,7 +406,7 @@ ulong RV20toYUV420Transform(ulong p1,ulo
 		fprintf(stderr, "[$+178h]=0x%0x\n", v);
 		hexdump(v, 128);
 	}
-*/	
+*/
 //	tic();
 	result=(*rvyuvTransform)(p1,p2,p3,p4,p5);
 //	toc();

Modified: trunk/TOOLS/realcodecs/drv4.c
==============================================================================
--- trunk/TOOLS/realcodecs/drv4.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/drv4.c	Wed May 13 04:58:57 2009	(r29305)
@@ -133,7 +133,7 @@ static void hexdump(void *pos, int len) 
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "#R# %0x  ", (int)cpos-(int)pos); 
+		fprintf(stderr, "#R# %0x  ", (int)cpos-(int)pos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -153,7 +153,7 @@ static void hexdump(void *pos, int len) 
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -214,7 +214,7 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 	memset(h_temp,0x77,1000);
 	memcpy(h_temp,p1,4);
 	fprintf(stderr,"COPY OK!\n");
-	
+
 //	tic();
 //	result=(*rvyuvHiveMessage)(p1,p2);
 	result=(*rvyuvHiveMessage)(h_temp,p2);
@@ -228,7 +228,7 @@ ulong RV20toYUV420HiveMessage(ulong *p1,
 
 //	p1[0]=0;
 //	p1[1]=0x20000000;
-	
+
 	fprintf(stderr,"<HIVE %ld %p\n",p1[0],p1[1]);
 
 //	hexdump((void*)p1, sizeof(struct init_data));
@@ -334,28 +334,28 @@ ulong RV20toYUV420Transform(ulong p1,ulo
 	pch=p1;
 	crc_src=build_crc(pch, pp3[0]);
 
-	pp4=pp3[3];	
+	pp4=pp3[3];
 	fprintf(stderr,"transin1[%p]: {%ld/%ld} ",pp4,pp3[2],pp3[0]);
 //	pp4[0],pp4[1],pp4[2],pp4[3],
 //	pp4[4],pp4[5],pp4[6],pp4[7]);
-	
+
 	memset(temp,0x77,128*4);
-	
+
 	memcpy(temp,pp4,8*(pp3[2]+1));
 	for(i=0;i<=pp3[2];i++){
 	    fprintf(stderr," %p(%ld)",temp[i*2],temp[i*2+1]);
 	}
         fprintf(stderr,"\n");
-	
+
 
 	pp3[3]=pp4=temp;
-	
+
 //	pp4[2]=
 //	pp4[3]=
 //	pp4[4]=NULL;
-	
+
 	//pp4[6]=pp4[5];
-	
+
 	v=p5;
 /*	fprintf(stderr, "rvyuvMain=0x%0x\n", v);
 	v+=0x3c;
@@ -378,7 +378,7 @@ ulong RV20toYUV420Transform(ulong p1,ulo
 		fprintf(stderr, "[$+178h]=0x%0x\n", v);
 		hexdump(v, 128);
 	}
-*/	
+*/
 //	tic();
 	result=(*rvyuvTransform)(p1,p2,p3,p4,p5);
 //	toc();

Modified: trunk/TOOLS/realcodecs/ra.c
==============================================================================
--- trunk/TOOLS/realcodecs/ra.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/ra.c	Wed May 13 04:58:57 2009	(r29305)
@@ -183,7 +183,7 @@ void hexdump(void *pos, int len) {
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "%0x  ", cpos); 
+		fprintf(stderr, "%0x  ", cpos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -203,7 +203,7 @@ void hexdump(void *pos, int len) {
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -380,7 +380,7 @@ ulong RASetFlavor(ulong p1,ulong p2) {
 	}
 
 	fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
-*/	
+*/
 	return result;
 }
 

Modified: trunk/TOOLS/realcodecs/rv30.c
==============================================================================
--- trunk/TOOLS/realcodecs/rv30.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/rv30.c	Wed May 13 04:58:57 2009	(r29305)
@@ -212,7 +212,7 @@ void hexdump(void *pos, int len) {
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "%0x  ", cpos); 
+		fprintf(stderr, "%0x  ", cpos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -232,7 +232,7 @@ void hexdump(void *pos, int len) {
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }

Modified: trunk/TOOLS/realcodecs/sipr.c
==============================================================================
--- trunk/TOOLS/realcodecs/sipr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/realcodecs/sipr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -206,7 +206,7 @@ void hexdump(void *pos, int len) {
 	int lines=(len+15)>>4;
 	while(lines--) {
 		int len1=len, i;
-		fprintf(stderr, "%0x  ", cpos); 
+		fprintf(stderr, "%0x  ", cpos);
 		cpos1=cpos;
 		for (i=0;i<16;i++) {
 			if (len1>0) {
@@ -226,7 +226,7 @@ void hexdump(void *pos, int len) {
 			}
 			len--;
 		}
-		fputs("\n", stderr);		
+		fputs("\n", stderr);
 	}
 	fputc('\n', stderr);
 }
@@ -246,7 +246,7 @@ static int pkno=0;
 ulong RADecode(ulong p1,ulong p2,ulong p3,ulong p4,ulong* p5,ulong p6) {
 	ulong result;
 	int x,y;
-	
+
 	fprintf(stderr, "RADecode(ulong ctx=0x%0lx, ", p1);
 	fprintf(stderr, "ulong src=0x%0lx,\n", p2);
 	fprintf(stderr, "ulong len=0x%0lx,", p3);
@@ -375,7 +375,7 @@ ulong RAInitDecoder(ulong p1,ulong p2) {
 	memset(temp2,0x77,256);
 	memcpy(temp2,temp[6],16);
 	temp[6]=temp2;
-	
+
 	result=(*raInitDecoder)(p1,temp);
 	hexdump((void*)temp[6], 32);
 #endif
@@ -445,7 +445,7 @@ ulong RASetFlavor(ulong p1,ulong p2,ulon
 
 	fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
 #endif
-	
+
 	return result;
 }
 

Modified: trunk/TOOLS/subrip.c
==============================================================================
--- trunk/TOOLS/subrip.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/subrip.c	Wed May 13 04:58:57 2009	(r29305)
@@ -210,7 +210,7 @@ main(int argc, char **argv)
 	spudec_assemble(spudec, packet, packet_len, pts100);
 	if (spudec->queue_head) {
 		spudec_heartbeat(spudec, spudec->queue_head->start_pts);
-	if (spudec_changed(spudec)) 
+	if (spudec_changed(spudec))
 	    spudec_draw(spudec, draw_alpha);
 	}
     }

Modified: trunk/TOOLS/vivodump.c
==============================================================================
--- trunk/TOOLS/vivodump.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/vivodump.c	Wed May 13 04:58:57 2009	(r29305)
@@ -66,9 +66,9 @@ int height=240;
 static int h263_decode_picture_header(unsigned char *b_ptr)
 {
     int i;
-        
+
     for(i=0;i<16;i++) printf(" %02X",b_ptr[i]); printf("\n");
-    
+
     buffer=b_ptr;
     bufptr=bitcnt=buf=0;
 
@@ -193,8 +193,8 @@ mux=muxer_new_stream(avi,MUXER_TYPE_VIDE
 mux->buffer_size=0x200000;
 mux->buffer=malloc(mux->buffer_size);
 
-mux->h.dwScale=1; 
-mux->h.dwRate=10; 
+mux->h.dwScale=1;
+mux->h.dwRate=10;
 
 mux->bih=malloc(sizeof(BITMAPINFOHEADER));
 mux->bih->biSize=sizeof(BITMAPINFOHEADER);
@@ -256,7 +256,7 @@ while((c=fgetc(f))>=0){
 	h263_decode_picture_header(mux->buffer);
 	muxer_write_chunk(mux,mux->buffer_len,0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
 	mux->buffer_len=0;
-	
+
 	if((v_id&0xF0)==0x10) fprintf(stderr,"hmm. last video packet %02X\n",v_id);
     }
     flag2=0;

Modified: trunk/TOOLS/vobshift.py
==============================================================================
--- trunk/TOOLS/vobshift.py	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/vobshift.py	Wed May 13 04:58:57 2009	(r29305)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-#usage: 
+#usage:
 #
 # vobshift.py in.idx out.idx -8.45
 #
@@ -35,7 +35,7 @@ def delta2text(d):
 
 def shift(line,seconds):
 	triplet = tripletize(line)
-	
+
 	base = text2delta(triplet[1])
 	base = base + datetime.timedelta(seconds=seconds)
 	base = delta2text(base)
@@ -52,7 +52,7 @@ o = open(OUTFILE,'wt')
 for line in open(INFILE):
     if line.startswith('timestamp'):
 	line = shift(line,DIFF)
-    
+
     o.write(line)
 
 o.close()

Modified: trunk/TOOLS/w32codec_dl.pl
==============================================================================
--- trunk/TOOLS/w32codec_dl.pl	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/TOOLS/w32codec_dl.pl	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@ CC: while (<CCONF>)
 	next CC if (m/^[ \t]*\;/);
 	s/\;.*//g;
 	s/#.*//g;
-	
+
 	if (m/^videocodec (.*)/)
 	{
 		$codec = $1;
@@ -105,17 +105,17 @@ close CODEC_CABS;
 sub find_codec
 {
 	my ($fourcc) = @_;
-	
+
 	my $guid = sprintf ("%08X", unpack ("V", $fourcc))."-0000-0010-8000-00AA00389B71";
-	
+
 	my $req = HTTP::Request->new (POST => "http://activex.microsoft.com/objects/ocget.dll");
 	$req->header ('Accept', '*/*');
 	$req->content_type ('application/x-www-form-urlencoded');
 	$req->content ("CLSID=%7B${guid}%7D\n");
 	#$req->content ('CLSID={'.${guid}.'}');
-	
+
 	my $res = $ua->request ($req);
-	
+
 	if ($res->is_success) {
 		print "Lookup returned success... weird!\n";
 		return 1;
@@ -147,17 +147,17 @@ sub find_codec
 sub get_codec
 {
 	my ($url) = @_;
-	
+
 	my $req = HTTP::Request->new (GET => $url);
 	$req->header ("Accept", "*/*");
 	my $res = $ua->request ($req);
-	
+
 	if ($res->is_success)
 	{
 		open TMP, ">tmp.cab" or die "Unable to open tmp.cab";
 		print TMP $res->content;
 		close TMP;
-		
+
 		system "cabextract tmp.cab";
 		unlink "tmp.cab";
 	}

Modified: trunk/asxparser.c
==============================================================================
--- trunk/asxparser.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/asxparser.c	Wed May 13 04:58:57 2009	(r29305)
@@ -49,7 +49,7 @@ asx_list_remove(void* list_ptr,void* ent
   if(e == -1) return; // Not found
 
   if(free_func != NULL) free_func(list[e]);
-  
+
   if(c == 1) { // Only one entry, we drop all
     free(list);
     *(void**)list_ptr = NULL;
@@ -61,7 +61,7 @@ asx_list_remove(void* list_ptr,void* ent
 
   list = (void*)realloc(list,(c-1)*sizeof(void*));
   list[c-1] = NULL;
-  
+
   *(void***)list_ptr = list;
 }
 
@@ -167,22 +167,22 @@ asx_parse_attribs(ASX_Parser_t* parser,c
     strncpy(val,ptr1,ptr2-ptr1);
     val[ptr2-ptr1] = '\0';
     n_attrib++;
-    
+
     attribs = (char**)realloc(attribs,(2*n_attrib+1)*sizeof(char*));
     attribs[n_attrib*2-2] = attrib;
     attribs[n_attrib*2-1] = val;
-    
+
     ptr1 = ptr2+1;
   }
-  
+
   if(n_attrib > 0)
     attribs[n_attrib*2] = NULL;
 
   *_attribs = attribs;
-  
+
   return n_attrib;
 }
- 
+
 /*
  * Return -1 on error, 0 when nothing is found, 1 on sucess
  */
@@ -215,11 +215,11 @@ asx_get_element(ASX_Parser_t* parser,cha
 	parser->line = ls[i].line;
 	break;
       }
-      
+
     }
     if( i < parser->ret_stack_size) {
       i++;
-      if( i < parser->ret_stack_size)	
+      if( i < parser->ret_stack_size)
 	memmove(parser->ret_stack,parser->ret_stack+i, (parser->ret_stack_size - i)*sizeof(ASX_LineSave_t));
       parser->ret_stack_size -= i;
       if(parser->ret_stack_size > 0)
@@ -242,7 +242,7 @@ asx_get_element(ASX_Parser_t* parser,cha
     }
     //ptr1 = strchr(ptr1,'<');
     if(!ptr1 || ptr1[1] == '\0') return 0; // Nothing found
-    
+
     if(strncmp(ptr1,"<!--",4) == 0) { // Comments
       for( ; strncmp(ptr1,"-->",3) != 0 ; ptr1++) {
 	if(ptr1[0] == '\0') {
@@ -260,7 +260,7 @@ asx_get_element(ASX_Parser_t* parser,cha
       break;
     }
   }
-  
+
   // Is this space skip very useful ??
   for(ptr1++; strchr(SPACE,ptr1[0]) != NULL; ptr1++) { // Skip space
     if(ptr1[0] == '\0') {
@@ -268,7 +268,7 @@ asx_get_element(ASX_Parser_t* parser,cha
       return -1;
     }
     if(ptr1[0] == '\n') parser->line++;
-  } 
+  }
 
   for(ptr2 = ptr1; strchr(LETTER,*ptr2) != NULL;ptr2++) { // Go to end of name
     if(*ptr2 == '\0'){
@@ -292,10 +292,10 @@ asx_get_element(ASX_Parser_t* parser,cha
   }
   attrib_line = parser->line;
 
-  
+
 
   for(ptr3 = ptr2; ptr3[0] != '\0'; ptr3++) { // Go to element end
-    if(ptr3[0] == '"') quotes ^= 1;  
+    if(ptr3[0] == '"') quotes ^= 1;
     if(!quotes && (ptr3[0] == '>' || strncmp(ptr3,"/>",2) == 0))
       break;
     if(ptr3[0] == '\n') parser->line++;
@@ -344,7 +344,7 @@ asx_get_element(ASX_Parser_t* parser,cha
 	}
 	continue;
       }
-      if(ptr4 == NULL || ptr4[1] == '\0') { 
+      if(ptr4 == NULL || ptr4[1] == '\0') {
 	mp_msg(MSGT_PLAYTREE,MSGL_ERR,"At line %d : EOB reached while parsing %s element body",parser->line,element);
 	free(element);
 	if(attribs) free(attribs);
@@ -369,7 +369,7 @@ asx_get_element(ASX_Parser_t* parser,cha
 	  ptr4++;
 	  body = malloc(ptr4-ptr3+1);
 	  strncpy(body,ptr3,ptr4-ptr3);
-	  body[ptr4-ptr3] = '\0';	  
+	  body[ptr4-ptr3] = '\0';
 	}
 	break;
       } else {
@@ -419,7 +419,7 @@ asx_get_element(ASX_Parser_t* parser,cha
 static void
 asx_parse_param(ASX_Parser_t* parser, char** attribs, play_tree_t* pt) {
   char *name,*val;
-  
+
   name = asx_get_attrib("NAME",attribs);
   if(!name) {
     asx_warning_attrib_required(parser,"PARAM" ,"NAME" );
@@ -502,7 +502,7 @@ asx_parse_entryref(ASX_Parser_t* parser,
   free_stream(stream);
   free(href);
   //mp_msg(MSGT_PLAYTREE,MSGL_INFO,"Need to implement entryref\n");
-    
+
   return pt;
 }
 
@@ -539,7 +539,7 @@ asx_parse_entry(ASX_Parser_t* parser,cha
   return ref;
 
 }
-  
+
 
 static play_tree_t*
 asx_parse_repeat(ASX_Parser_t* parser,char* buffer,char** _attribs) {
@@ -690,7 +690,7 @@ asx_parser_build_tree(char* buffer,int d
 
   if(!list) {
     play_tree_free(asx,1);
-    
+
     return NULL;
   }
 

Modified: trunk/asxparser.h
==============================================================================
--- trunk/asxparser.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/asxparser.h	Wed May 13 04:58:57 2009	(r29305)
@@ -15,7 +15,7 @@ struct ASX_Parser_t {
   char* last_body;
   int deep;
 };
-  
+
 ASX_Parser_t*
 asx_parser_new(void);
 

Modified: trunk/cfg-common-opts.h
==============================================================================
--- trunk/cfg-common-opts.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/cfg-common-opts.h	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@
 	{"cuefile", "-cuefile has been removed, use cue://filename:N where N is the track number.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
 	{"cdrom-device", &cdrom_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
 #ifdef CONFIG_DVDREAD
-	{"dvd-device", &dvd_device,  CONF_TYPE_STRING, 0, 0, 0, NULL}, 
+	{"dvd-device", &dvd_device,  CONF_TYPE_STRING, 0, 0, 0, NULL},
 	{"dvd-speed", &dvd_speed, CONF_TYPE_INT, 0, 0, 0, NULL},
 	{"dvd", "-dvd N has been removed, use dvd://N instead.\n" , CONF_TYPE_PRINT, 0, 0, 0, NULL},
 	{"dvdangle", &dvd_angle, CONF_TYPE_INT, CONF_RANGE, 1, 99, NULL},
@@ -63,8 +63,8 @@
 	{"cookies", &network_cookies_enabled, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"nocookies", &network_cookies_enabled, CONF_TYPE_FLAG, 0, 1, 0, NULL},
 	{"cookies-file", &cookies_file, CONF_TYPE_STRING, 0, 0, 0, NULL},
-	{"prefer-ipv4", &network_prefer_ipv4, CONF_TYPE_FLAG, 0, 0, 1, NULL},	
-	{"ipv4-only-proxy", &network_ipv4_only_proxy, CONF_TYPE_FLAG, 0, 0, 1, NULL},	
+	{"prefer-ipv4", &network_prefer_ipv4, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+	{"ipv4-only-proxy", &network_ipv4_only_proxy, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"reuse-socket", &reuse_socket, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
 	{"noreuse-socket", &reuse_socket, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
 #ifdef HAVE_AF_INET6
@@ -91,13 +91,13 @@
 	{"rtsp-stream-over-tcp", "-rtsp-stream-over-tcp requires the \"LIVE555 Streaming Media\" libraries.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
 #endif /* CONFIG_LIVE555 */
 #ifdef CONFIG_NETWORK
-        {"rtsp-port", &rtsp_port, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL},	
+        {"rtsp-port", &rtsp_port, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL},
         {"rtsp-destination", &rtsp_destination, CONF_TYPE_STRING, CONF_MIN, 0, 0, NULL},
 #else
         {"rtsp-port", "MPlayer was compiled without network support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
         {"rtsp-destination", "MPlayer was compiled without network support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
 #endif /* CONFIG_NETWORK */
-  
+
 // ------------------------- demuxer options --------------------
 
 	// number of frames to play/convert
@@ -179,7 +179,7 @@
 
 	// set A-V sync correction speed (0=disables it):
 	{"mc", &default_max_pts_correction, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
-	
+
 	// force video/audio rate:
 	{"fps", &force_fps, CONF_TYPE_DOUBLE, CONF_MIN, 0, 0, NULL},
 	{"srate", &force_srate, CONF_TYPE_INT, CONF_RANGE, 1000, 8*48000, NULL},
@@ -275,7 +275,7 @@
 	{"noflip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 1, 0, NULL},
 	{"flip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 1, 0, NULL},
 	{"noflip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#else 
+#else
 	{"fribidi-charset", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
 	{"flip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
 	{"noflip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
@@ -284,7 +284,7 @@
 #endif /* CONFIG_FRIBIDI */
 #ifdef CONFIG_ICONV
 	{"subcp", &sub_cp, CONF_TYPE_STRING, 0, 0, 0, NULL},
-#endif	
+#endif
 	{"subdelay", &sub_delay, CONF_TYPE_FLOAT, 0, 0.0, 10.0, NULL},
 	{"subfps", &sub_fps, CONF_TYPE_FLOAT, 0, 0.0, 10.0, NULL},
 	{"autosub", &sub_auto, CONF_TYPE_FLAG, 0, 0, 1, NULL},

Modified: trunk/cfg-common.h
==============================================================================
--- trunk/cfg-common.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/cfg-common.h	Wed May 13 04:58:57 2009	(r29305)
@@ -243,7 +243,7 @@ const m_option_t mfopts_conf[]={
 
 #include "libaf/af.h"
 extern af_cfg_t af_cfg; // Audio filter configuration, defined in libmpcodecs/dec_audio.c
-const m_option_t audio_filter_conf[]={       
+const m_option_t audio_filter_conf[]={
 	{"list", &af_cfg.list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
         {"force", &af_cfg.force, CONF_TYPE_INT, CONF_RANGE, 0, 7, NULL},
 	{NULL, NULL, 0, 0, 0, 0, NULL}

Modified: trunk/cfg-mencoder.h
==============================================================================
--- trunk/cfg-mencoder.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/cfg-mencoder.h	Wed May 13 04:58:57 2009	(r29305)
@@ -200,20 +200,20 @@ const m_option_t mencoder_opts[]={
 
 	{"pass", "-pass has been removed, use -lavcopts vpass=n, -xvidencopts pass=n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
 	{"passlogfile", &passtmpfile, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
-	
+
 	{"vobsubout", &vobsub_out, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
 	{"vobsuboutindex", &vobsub_out_index, CONF_TYPE_INT, CONF_RANGE|CONF_GLOBAL, 0, 31, NULL},
 	{"vobsuboutid", &vobsub_out_id, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
 
 	{"autoexpand", &auto_expand, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"noautoexpand", &auto_expand, CONF_TYPE_FLAG, 0, 1, 0, NULL},
-	
+
 	{"encodedups", &encode_duplicates, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"noencodedups", &encode_duplicates, CONF_TYPE_FLAG, 0, 1, 0, NULL},
-	
+
 	{"odml", &write_odml, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
 	{"noodml", &write_odml, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
-	
+
 	// info header strings
 	{"info", info_conf, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},
 
@@ -256,7 +256,7 @@ const m_option_t mencoder_opts[]={
 	{"mpegopts",  mpegopts_conf, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},
 #ifdef CONFIG_LIBAVFORMAT
 	{"lavfopts",  lavfopts_conf, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},
-#endif	
+#endif
 
 #include "cfg-common-opts.h"
 

Modified: trunk/cfg-mplayer.h
==============================================================================
--- trunk/cfg-mplayer.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/cfg-mplayer.h	Wed May 13 04:58:57 2009	(r29305)
@@ -74,7 +74,7 @@ const m_option_t tvscan_conf[]={
 /*
  * CONF_TYPE_FUNC_FULL :
  * allows own implementations for passing the params
- * 
+ *
  * the function receives parameter name and argument (if it does not start with - )
  * useful with a conf.name like 'aa*' to parse several parameters to a function
  * return 0 =ok, but we didn't need the param (could be the filename)
@@ -122,7 +122,7 @@ const m_option_t mplayer_opts[]={
             CONF_TYPE_PRINT, 0, 0, 0, NULL},
 	{"noalsa", "-noalsa has been removed. Remove it from your config file.\n",
             CONF_TYPE_PRINT, 0, 0, 0, NULL},
-	{"edlout", &edl_output_filename,  CONF_TYPE_STRING, 0, 0, 0, NULL}, 
+	{"edlout", &edl_output_filename,  CONF_TYPE_STRING, 0, 0, 0, NULL},
 
 #ifdef CONFIG_X11
 	{"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0, NULL},
@@ -147,10 +147,10 @@ const m_option_t mplayer_opts[]={
 	    CONF_TYPE_PRINT, 0, 0, 0, NULL},
 
 #if defined(CONFIG_FBDEV) || defined(CONFIG_VESA)
-       {"monitor-hfreq", &monitor_hfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL}, 
-       {"monitor-vfreq", &monitor_vfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL}, 
-       {"monitor-dotclock", &monitor_dotclock_str, CONF_TYPE_STRING, 0, 0, 0, NULL}, 
-#endif 
+       {"monitor-hfreq", &monitor_hfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
+       {"monitor-vfreq", &monitor_vfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
+       {"monitor-dotclock", &monitor_dotclock_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
+#endif
 
 #ifdef CONFIG_FBDEV
 	{"fbmode", &fb_mode_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
@@ -196,7 +196,7 @@ const m_option_t mplayer_opts[]={
 
 	{"grabpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"nograbpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 1, 0, NULL},
-	
+
     {"adapter", &vo_adapter_num, CONF_TYPE_INT, CONF_RANGE, 0, 5, NULL},
     {"refreshrate",&vo_refresh_rate,CONF_TYPE_INT,CONF_RANGE, 0,100, NULL},
 	{"wid", &WinID, CONF_TYPE_INT64, 0, 0, 0, NULL},
@@ -307,7 +307,7 @@ const m_option_t mplayer_opts[]={
 
 	{"gui", "The -gui option will only work as the first command line argument.\n", CONF_TYPE_PRINT, 0, 0, 0, (void *)1},
 	{"nogui", "The -nogui option will only work as the first command line argument.\n", CONF_TYPE_PRINT, 0, 0, 0, (void *)1},
-      
+
 #ifdef CONFIG_GUI
 	{"skin", &skinName, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
 	{"enqueue", &enqueue, CONF_TYPE_FLAG, 0, 0, 1, NULL},

Modified: trunk/codec-cfg.c
==============================================================================
--- trunk/codec-cfg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/codec-cfg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -14,7 +14,7 @@
 #define DEBUG
 
 //disable asserts
-#define NDEBUG 
+#define NDEBUG
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -161,7 +161,7 @@ static int add_to_format(char *s, char *
 
 	        {"RGB4",  IMGFMT_RGB|4},
 	        {"RGB8",  IMGFMT_RGB|8},
-		{"RGB15", IMGFMT_RGB|15}, 
+		{"RGB15", IMGFMT_RGB|15},
 		{"RGB16", IMGFMT_RGB|16},
 		{"RGB24", IMGFMT_RGB|24},
 		{"RGB32", IMGFMT_RGB|32},
@@ -248,7 +248,7 @@ static int add_to_inout(char *sfmt, char
 
 	if (*(--sfmt) != '\0')
 		goto err_out_parse_error;
-        
+
 	return 1;
 err_out_too_many:
 	mp_msg(MSGT_CODECCFG,MSGL_ERR,MSGTR_TooManyOut);
@@ -499,16 +499,16 @@ int parse_codec_cfg(const char *cfgfile)
 	int *nr_codecsp;
 	int codec_type;		/* TYPE_VIDEO/TYPE_AUDIO */
 	int tmp, i;
-	
+
 	// in case we call it a second time
 	codecs_uninit_free();
-	
+
 	nr_vcodecs = 0;
 	nr_acodecs = 0;
 
 	if(cfgfile==NULL) {
 #ifdef CODECS2HTML
-	  	return 0; 
+	  	return 0;
 #else
 		video_codecs = builtin_video_codecs;
 		audio_codecs = builtin_audio_codecs;
@@ -517,7 +517,7 @@ int parse_codec_cfg(const char *cfgfile)
 		return 1;
 #endif
 	}
-	
+
 	mp_msg(MSGT_CODECCFG,MSGL_V,MSGTR_ReadingFile, cfgfile);
 
 	if ((fp = fopen(cfgfile, "r")) == NULL) {
@@ -532,7 +532,7 @@ int parse_codec_cfg(const char *cfgfile)
 	read_nextline = 1;
 
 	/*
-	 * this only catches release lines at the start of 
+	 * this only catches release lines at the start of
 	 * codecs.conf, before audiocodecs and videocodecs.
 	 */
 	while ((tmp = get_token(1, 1)) == RET_EOL)
@@ -593,11 +593,11 @@ int parse_codec_cfg(const char *cfgfile)
 			memset(codec->fourcc, 0xff, sizeof(codec->fourcc));
 			memset(codec->outfmt, 0xff, sizeof(codec->outfmt));
 			memset(codec->infmt, 0xff, sizeof(codec->infmt));
-                        
+
 			if (get_token(1, 1) < 0)
 				goto err_out_parse_error;
 			for (i = 0; i < *nr_codecsp - 1; i++) {
-				if(( (*codecsp)[i].name!=NULL) && 
+				if(( (*codecsp)[i].name!=NULL) &&
 				    (!strcmp(token[0], (*codecsp)[i].name)) ) {
 					mp_msg(MSGT_CODECCFG,MSGL_ERR,MSGTR_CodecNameNotUnique, token[0]);
 					goto err_out_print_linenum;
@@ -797,7 +797,7 @@ codecs_t* find_codec(unsigned int fourcc
 				}
 			}
 		}
-	} else 
+	} else
 #endif
         {
 		if (audioflag) {
@@ -878,7 +878,7 @@ void list_codecs(int audioflag){
 			  mp_msg(MSGT_CODECCFG,MSGL_INFO,"%-11s %-9s %s  %s  [%s]\n",c->name,c->drv,s,c->info,c->dll);
 			else
 			  mp_msg(MSGT_CODECCFG,MSGL_INFO,"%-11s %-9s %s  %s\n",c->name,c->drv,s,c->info);
-			
+
 		}
 
 }
@@ -905,7 +905,7 @@ void parsehtml(FILE *f1,FILE *f2,codecs_
                 continue;
             }
             d=fgetc(f1);
-            
+
             switch(d){
             case '.':
                 return; // end of section
@@ -971,7 +971,7 @@ static void print_int_array(const unsign
 static void print_char_array(const unsigned char* a, int size)
 {
 	printf("{ ");
-	while (size--) 
+	while (size--)
 	    if((*a)<10)
 		printf("%d%s", *a++, size?", ":"");
 	    else
@@ -1014,15 +1014,15 @@ int main(int argc, char* argv[])
 		nm[0] = "builtin_video_codecs";
 		cod[0] = video_codecs;
 		nr[0] = nr_vcodecs;
-		
+
 		nm[1] = "builtin_audio_codecs";
 		cod[1] = audio_codecs;
 		nr[1] = nr_acodecs;
-		
+
 		printf("/* GENERATED FROM %s, DO NOT EDIT! */\n\n",argv[1]);
 		printf("#include <stddef.h>\n",argv[1]);
 		printf("#include \"codec-cfg.h\"\n\n",argv[1]);
-		
+
 		for (i=0; i<2; i++) {
 		  	printf("const codecs_t %s[] = {\n", nm[i]);
 			for (j = 0; j < nr[i]; j++) {
@@ -1030,28 +1030,28 @@ int main(int argc, char* argv[])
 
 				print_int_array(cod[i][j].fourcc, CODECS_MAX_FOURCC);
 				printf(", /* fourcc */\n");
-				
+
 				print_int_array(cod[i][j].fourccmap, CODECS_MAX_FOURCC);
 				printf(", /* fourccmap */\n");
-				
+
 				print_int_array(cod[i][j].outfmt, CODECS_MAX_OUTFMT);
 				printf(", /* outfmt */\n");
-				
+
 				print_char_array(cod[i][j].outflags, CODECS_MAX_OUTFMT);
 				printf(", /* outflags */\n");
-				
+
 				print_int_array(cod[i][j].infmt, CODECS_MAX_INFMT);
 				printf(", /* infmt */\n");
-				
+
 				print_char_array(cod[i][j].inflags, CODECS_MAX_INFMT);
 				printf(", /* inflags */\n");
-				
+
 				print_string(cod[i][j].name);    printf(", /* name */\n");
 				print_string(cod[i][j].info);    printf(", /* info */\n");
 				print_string(cod[i][j].comment); printf(", /* comment */\n");
 				print_string(cod[i][j].dll);     printf(", /* dll */\n");
 				print_string(cod[i][j].drv);     printf(", /* drv */\n");
-				
+
 				printf("{ 0x%08lx, %hu, %hu,",
 				       cod[i][j].guid.f1,
 				       cod[i][j].guid.f2,
@@ -1071,7 +1071,7 @@ int main(int argc, char* argv[])
 
         f1=fopen("DOCS/tech/codecs-in.html","rb"); if(!f1) exit(1);
         f2=fopen("DOCS/codecs-status.html","wb"); if(!f2) exit(1);
-        
+
         while((c=fgetc(f1))>=0){
             if(c!='%'){
                 fputc(c,f2);
@@ -1133,13 +1133,13 @@ int main(int argc, char* argv[])
                 fseek(f1,pos,SEEK_SET);
                 skiphtml(f1);
 //void parsehtml(FILE *f1,FILE *f2,codecs_t *codec,int section,int dshow){
-                
+
                 continue;
             }
             fputc(c,f2);
             fputc(d,f2);
         }
-        
+
         fclose(f2);
         fclose(f1);
 	return 0;
@@ -1202,7 +1202,7 @@ next:
 		    for(j=0;j<8;j++) printf(" %02X",c->guid.f4[j]);
 		    printf("\n");
 
-		    
+
 		}
 	}
 	if (!state) {

Modified: trunk/command.c
==============================================================================
--- trunk/command.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/command.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1888,7 +1888,7 @@ static int mp_property_teletext_common(m
 {
     int val,result;
     int base_ioctl=(int)prop->priv;
-    /* 
+    /*
       for teletext's GET,SET,STEP ioctls this is not 0
       SET is GET+1
       STEP is GET+2

Modified: trunk/cpudetect.c
==============================================================================
--- trunk/cpudetect.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/cpudetect.c	Wed May 13 04:58:57 2009	(r29305)
@@ -29,8 +29,8 @@ CpuCaps gCpuCaps;
 #include <proto/exec.h>
 #endif
 
-/* Thanks to the FreeBSD project for some of this cpuid code, and 
- * help understanding how to use it.  Thanks to the Mesa 
+/* Thanks to the FreeBSD project for some of this cpuid code, and
+ * help understanding how to use it.  Thanks to the Mesa
  * team for SSE support detection and more cpu detect code.
  */
 
@@ -52,19 +52,19 @@ static int has_cpuid(void)
                           "pushfl\n\t"
                           "pop %0\n\t"
                           "mov %0, %1\n\t"
-                          
+
                           /* ... Toggle the ID bit in one copy and store */
                           /*     to the EFLAGS reg */
                           "xor $0x200000, %0\n\t"
                           "push %0\n\t"
                           "popfl\n\t"
-                          
+
                           /* ... Get the (hopefully modified) EFLAGS */
                           "pushfl\n\t"
                           "pop %0\n\t"
                           : "=a" (a), "=c" (c)
                           :
-                          : "cc" 
+                          : "cc"
                           );
 
 	return a != c;
@@ -86,7 +86,7 @@ do_cpuid(unsigned int ax, unsigned int *
 	("mov %%"REG_b", %%"REG_S"\n\t"
          "cpuid\n\t"
          "xchg %%"REG_b", %%"REG_S
-         : "=a" (p[0]), "=S" (p[1]), 
+         : "=a" (p[0]), "=S" (p[1]),
            "=c" (p[2]), "=d" (p[3])
          : "0" (ax));
 #endif
@@ -274,7 +274,7 @@ LONG CALLBACK win32_sig_handler_sse(EXCE
    if(ep->ExceptionRecord->ExceptionCode==EXCEPTION_ILLEGAL_INSTRUCTION){
       mp_msg(MSGT_CPUDETECT,MSGL_V, "SIGILL, " );
       ep->ContextRecord->Eip +=3;
-      gCpuCaps.hasSSE=0;       
+      gCpuCaps.hasSSE=0;
 	  return EXCEPTION_CONTINUE_EXECUTION;
    }
    return EXCEPTION_CONTINUE_SEARCH;
@@ -305,7 +305,7 @@ ULONG _System os2_sig_handler_sse( PEXCE
  * and RedHat patched 2.2 kernels that have broken exception handling
  * support for user space apps that do SSE.
  */
- 
+
 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 #define SSE_SYSCTL_NAME "hw.instruction_sse"
 #elif defined(__APPLE__)
@@ -433,7 +433,7 @@ static void sigill_handler (int sig)
         signal (sig, SIG_DFL);
         raise (sig);
     }
-    
+
     canjump = 0;
     siglongjmp (jmpbuf, 1);
 }
@@ -455,7 +455,7 @@ void GetCpuCaps( CpuCaps *caps)
 	caps->hasSSE4a=0;
 	caps->isX86=0;
 	caps->hasAltiVec = 0;
-#if HAVE_ALTIVEC   
+#if HAVE_ALTIVEC
 #ifdef __APPLE__
 /*
   rip-off from ffmpeg altivec detection code.
@@ -467,7 +467,7 @@ void GetCpuCaps( CpuCaps *caps)
                 size_t len = sizeof(has_vu);
                 int err;
 
-                err = sysctl(sels, 2, &has_vu, &len, NULL, 0);   
+                err = sysctl(sels, 2, &has_vu, &len, NULL, 0);
 
                 if (err == 0)
                         if (has_vu != 0)
@@ -488,12 +488,12 @@ void GetCpuCaps( CpuCaps *caps)
             signal (SIGILL, SIG_DFL);
           } else {
             canjump = 1;
-            
+
             __asm__ volatile ("mtspr 256, %0\n\t"
                           "vand %%v0, %%v0, %%v0"
                           :
                           : "r" (-1));
-            
+
             signal (SIGILL, SIG_DFL);
             caps->hasAltiVec = 1;
           }

Modified: trunk/debian/README.debian
==============================================================================
--- trunk/debian/README.debian	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/debian/README.debian	Wed May 13 04:58:57 2009	(r29305)
@@ -11,6 +11,6 @@ mplayer for Debian
   DEB_BUILD_OPTIONS like that:
 
   eyck at ghost$ DEB_BUILD_OPTIONS="--enable-streaming" fakeroot debian/rules binary
-  
+
 
 Dariush Pietrzak <eyck at ghost.anime.pl>  Sat Jan  5 20:28:23 CET 2002

Modified: trunk/debian/changelog
==============================================================================
--- trunk/debian/changelog	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/debian/changelog	Wed May 13 04:58:57 2009	(r29305)
@@ -104,14 +104,14 @@ mplayer (0.90pre2-1) unstable; urgency=l
 
 mplayer (0.60-3) unstable; urgency=low
 
-  * install xvidix correctly 
+  * install xvidix correctly
 
  -- Dariush Pietrzak <eyck at ghost.anime.pl>  Sun, 17 Mar 2002 16:38:54 +0100
 
 mplayer (0.60-2) unstable; urgency=low
 
   * This is meaningless, just to mark that more then 2 months have passed
-    since last release and lots of thing in mplayer have changed. 
+    since last release and lots of thing in mplayer have changed.
 
  -- Dariush Pietrzak <eyck at ghost.anime.pl>  Thu,  7 Mar 2002 00:34:20 +0100
 
@@ -149,7 +149,7 @@ mplayer (0.50-3) unstable; urgency=low
 
 mplayer (0.50-2) unstable; urgency=low
 
-  * gui added to package/menu 
+  * gui added to package/menu
 
  -- Dariush Pietrzak <eyck at ghost.anime.pl>  Wed,  7 Nov 2001 11:31:46 +0100
 
@@ -161,31 +161,31 @@ mplayer (0.50-1) unstable; urgency=low
 
 mplayer (0.18-4) unstable; urgency=low
 
-  * Changes to debian packaging suggested Josip Rodin 
+  * Changes to debian packaging suggested Josip Rodin
 
  -- Dariush Pietrzak <eyck at ghost.forumakad.pl>  Wed, 22 Aug 2001 22:40:58 +0200
 
 mplayer (0.18-3) unstable; urgency=low
 
-  * fixed templates. 
+  * fixed templates.
 
  -- Dariush Pietrzak <eyck at ghost.tinet.pl>  Sat, 28 Jul 2001 09:45:45 +0200
 
 mplayer (0.18-2) unstable; urgency=low
 
-  * modified debian scripts 
+  * modified debian scripts
 
  -- Dariush Pietrzak <eyck at ghost.tinet.pl>  Fri, 27 Jul 2001 09:25:52 +0200
 
 mplayer (0.18-1) unstable; urgency=low
 
-  * lots of changes in mplayer 
+  * lots of changes in mplayer
 
  -- Dariush Pietrzak <eyck at incubus.ar.lublin.pl>  Mon, 25 Jun 2001 15:59:18 +0200
 
 mplayer (0.17a-2) unstable; urgency=low
 
-  * mplayer.conf file, automatic menu files update 
+  * mplayer.conf file, automatic menu files update
 
  -- Dariush Pietrzak <eyck at incubus.ar.lublin.pl>  Sun, 20 May 2001 22:50:41 +0200
 

Modified: trunk/debian/control
==============================================================================
--- trunk/debian/control	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/debian/control	Wed May 13 04:58:57 2009	(r29305)
@@ -8,7 +8,7 @@ Build-Depends: libgtk1.2-dev | libgtk2.0
 Package: mplayer
 Architecture: any
 Depends: ${shlibs:Depends},debconf
-Description: The Ultimate Movie Player 
+Description: The Ultimate Movie Player
  MPlayer is a movie player for LINUX (runs on many other Unices, and non-x86
  CPUs, see the ports section). It plays most MPEG, VOB, AVI, OGG/OGM, VIVO,
  ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA files,

Modified: trunk/debian/rules
==============================================================================
--- trunk/debian/rules	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/debian/rules	Wed May 13 04:58:57 2009	(r29305)
@@ -28,7 +28,7 @@ build-stamp:
 	dh_testdir
 
 	# commands to compile the package.
-	${MAKE} 
+	${MAKE}
 
 	touch build-stamp
 
@@ -60,7 +60,7 @@ binary-arch: build
 		usr/share/man/man1/mplayer.1.gz usr/share/man/man1/gmplayer.1.gz
 
 
-	dh_installdebconf	
+	dh_installdebconf
 	dh_installdocs -X.svn -Xmplayer.1 DOCS/*
 	dh_installexamples etc/example.conf etc/dvb-menu.conf etc/input.conf etc/menu.conf
 	dh_installmenu
@@ -91,7 +91,7 @@ binary-arch: build
 
 # Must have debmake installed for this to work. Otherwise please copy
 # /usr/bin/debstd into the debian directory and change debstd to debian/debstd
-#	debstd 
+#	debstd
 #	dpkg-gencontrol -isp
 #	chown -R root.root debian/tmp
 #	chmod -R go=rX debian/tmp

Modified: trunk/drivers/3dfx.h
==============================================================================
--- trunk/drivers/3dfx.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/3dfx.h	Wed May 13 04:58:57 2009	(r29305)
@@ -346,7 +346,7 @@ typedef struct voodoo_yuv_fb_t voodoo_yu
 #define GRA_I	0x3ce
 #define GRA_D	0x3cf
 
-#ifndef FB_ACCEL_3DFX_BANSHEE 
+#ifndef FB_ACCEL_3DFX_BANSHEE
 #define FB_ACCEL_3DFX_BANSHEE 31
 #endif
 
@@ -362,12 +362,12 @@ typedef struct voodoo_yuv_fb_t voodoo_yu
 
 #define XYREG(x,y)		(((((unsigned long)y) & 0x1FFF) << 16) | (((unsigned long)x) & 0x1FFF))
 
-//#define TDFXFB_DEBUG 
+//#define TDFXFB_DEBUG
 #ifdef TDFXFB_DEBUG
 #define DPRINTK(a,b...) printk(KERN_DEBUG "fb: %s: " a, __FUNCTION__ , ## b)
 #else
 #define DPRINTK(a,b...)
-#endif 
+#endif
 
 /* ------------------------------------------------------------------------- */
 

Modified: trunk/drivers/hacking.ati
==============================================================================
--- trunk/drivers/hacking.ati	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/hacking.ati	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@ MPP   - Miscellaneous peripheral port. (
 	protection mechanism)
 OV    - Video overlay (YUV BES) (include subpictures, gamma correction and
         adaptive deinterlacing)
-CAP0  - Video capturing 
+CAP0  - Video capturing
 CAP1  - Video capturing (second unit)
 RT    - Rage theatre: video encoding and mixing
 MUX   - video muxer
@@ -227,7 +227,7 @@ OUTREG(OVERLAY_Y_X_END,((drw_x+drw_w)<<1
  ************************************
 
 #define OV0_Y_X_START                          0x0400
-#define OV0_Y_X_END                            0x0404  
+#define OV0_Y_X_END                            0x0404
 
 ...
 

Modified: trunk/drivers/mga_vid.c
==============================================================================
--- trunk/drivers/mga_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/mga_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -63,7 +63,7 @@
 
 #include "mga_vid.h"
 
-#ifdef CONFIG_MTRR 
+#ifdef CONFIG_MTRR
 #include <asm/mtrr.h>
 #endif
 
@@ -80,19 +80,19 @@
 
 #define DEFAULT_MGA_VID_MAJOR 178
 
-#ifndef PCI_DEVICE_ID_MATROX_G200_PCI 
+#ifndef PCI_DEVICE_ID_MATROX_G200_PCI
 #define PCI_DEVICE_ID_MATROX_G200_PCI 0x0520
 #endif
 
-#ifndef PCI_DEVICE_ID_MATROX_G200_AGP 
+#ifndef PCI_DEVICE_ID_MATROX_G200_AGP
 #define PCI_DEVICE_ID_MATROX_G200_AGP 0x0521
 #endif
 
-#ifndef PCI_DEVICE_ID_MATROX_G400 
+#ifndef PCI_DEVICE_ID_MATROX_G400
 #define PCI_DEVICE_ID_MATROX_G400 0x0525
 #endif
 
-#ifndef PCI_DEVICE_ID_MATROX_G550 
+#ifndef PCI_DEVICE_ID_MATROX_G550
 #define PCI_DEVICE_ID_MATROX_G550 0x2527
 #endif
 
@@ -208,12 +208,12 @@ typedef struct bes_registers_s
 	uint32_t beshiscal;
 	//BES Horizontal source start [10.14] (for scaling)
 	uint32_t beshsrcst;
-	//BES Horizontal source ending [10.14] (for scaling) 
+	//BES Horizontal source ending [10.14] (for scaling)
 	uint32_t beshsrcend;
-	//BES Horizontal source last 
+	//BES Horizontal source last
 	uint32_t beshsrclst;
 
-	
+
 	//BES Vertical coord
 	uint32_t besvcoord;
 	//BES Vertical inverse scaling [5.14]
@@ -291,7 +291,7 @@ typedef struct crtc2_registers_s
 
 /*CRTC2 registers*/
 #define XMISCCTRL  0x1e
-#define C2CTL       0x3c10 
+#define C2CTL       0x3c10
 #define C2DATACTL   0x3c4c
 #define C2MISC      0x3c44
 #define C2HPARAM    0x3c14
@@ -323,7 +323,7 @@ typedef struct crtc2_registers_s
 #define BESA1CORG   0x3d10
 #define BESA1ORG    0x3d00
 
-#define BESA2C3ORG  0x3d64 
+#define BESA2C3ORG  0x3d64
 #define BESA2CORG   0x3d14
 #define BESA2ORG    0x3d04
 
@@ -381,7 +381,7 @@ typedef struct mga_card_s {
 	uint32_t vid_overlay_on;
 
 	uint8_t *mmio_base;
-	uint32_t mem_base; 
+	uint32_t mem_base;
 	int src_base;	// YUV buffer position in video memory
 	uint32_t ram_size;	// how much megabytes videoram we have
 	uint32_t top_reserved;	// reserved space for console font (matroxfb + fastfont)
@@ -391,7 +391,7 @@ typedef struct mga_card_s {
 
 	struct pci_dev *pci_dev;
 
-	mga_vid_config_t config; 
+	mga_vid_config_t config;
 	int configured; // set to 1 when the card is configured over ioctl
 
 	int colkey_saved;
@@ -400,7 +400,7 @@ typedef struct mga_card_s {
 	unsigned char colkey_mask[4];
 
 	int irq; // = -1
-	int next_frame; 
+	int next_frame;
 } mga_card_t;
 
 #define MGA_MAX_CARDS 16
@@ -427,7 +427,7 @@ MODULE_PARM(major, "i");
 static void crtc2_frame_sel(mga_card_t * card, int frame)
 {
 switch(frame) {
-case 0:	
+case 0:
 	card->cregs.c2pl2startadd0=card->regs.besa1corg;
 	card->cregs.c2pl3startadd0=card->regs.besa1c3org;
 	card->cregs.c2startadd0=card->regs.besa1org;
@@ -463,7 +463,7 @@ static void mga_vid_frame_sel(mga_card_t
 	//we don't need the vcount protection as we're only hitting
 	//one register (and it doesn't seem to be double buffered)
 	card->regs.besctl = (card->regs.besctl & ~0x07000000) + (frame << 25);
-	writel( card->regs.besctl, card->mmio_base + BESCTL ); 
+	writel( card->regs.besctl, card->mmio_base + BESCTL );
 
 //	writel( card->regs.besglobctl + ((readl(card->mmio_base + VCOUNT)+2)<<16),
 	writel( card->regs.besglobctl + (MGA_VSYNC_POS<<16),
@@ -483,7 +483,7 @@ static void mga_vid_write_regs(mga_card_
 			card->mmio_base + BESGLOBCTL);
 
 	// color or coordinate keying
-	
+
 	if(restore && card->colkey_saved){
 	    // restore it
 	    card->colkey_saved=0;
@@ -491,12 +491,12 @@ static void mga_vid_write_regs(mga_card_
 #ifdef MP_DEBUG
 		printk("mga_vid: Restoring colorkey (ON: %d  %02X:%02X:%02X)\n",
 			card->colkey_on,card->colkey_color[0],card->colkey_color[1],card->colkey_color[2]);
-#endif		
+#endif
 
 		// Set color key registers:
 		writeb( XKEYOPMODE, card->mmio_base + PALWTADD);
 		writeb( card->colkey_on, card->mmio_base + X_DATAREG);
-		
+
 		writeb( XCOLKEY0RED, card->mmio_base + PALWTADD);
 		writeb( card->colkey_color[0], card->mmio_base + X_DATAREG);
 		writeb( XCOLKEY0GREEN, card->mmio_base + PALWTADD);
@@ -521,7 +521,7 @@ static void mga_vid_write_regs(mga_card_
 		// Get color key registers:
 		writeb( XKEYOPMODE, card->mmio_base + PALWTADD);
 		card->colkey_on=(unsigned char)readb(card->mmio_base + X_DATAREG) & 1;
-		
+
 		writeb( XCOLKEY0RED, card->mmio_base + PALWTADD);
 		card->colkey_color[0]=(unsigned char)readb(card->mmio_base + X_DATAREG);
 		writeb( XCOLKEY0GREEN, card->mmio_base + PALWTADD);
@@ -543,19 +543,19 @@ static void mga_vid_write_regs(mga_card_
 #ifdef MP_DEBUG
 		printk("mga_vid: Saved colorkey (ON: %d  %02X:%02X:%02X)\n",
 			card->colkey_on, card->colkey_color[0], card->colkey_color[1], card->colkey_color[2]);
-#endif		
+#endif
 
 	}
-	
+
 if(!restore){
 	writeb( XKEYOPMODE, card->mmio_base + PALWTADD);
 	writeb( card->config.colkey_on, card->mmio_base + X_DATAREG);
-	if ( card->config.colkey_on ) 
+	if ( card->config.colkey_on )
 	{
 		uint32_t r=0, g=0, b=0;
 
 		writeb( XMULCTRL, card->mmio_base + PALWTADD);
-		switch (readb (card->mmio_base + X_DATAREG)) 
+		switch (readb (card->mmio_base + X_DATAREG))
 		{
 			case BPP_8:
 				/* Need to look up the color index, just using color 0 for now. */
@@ -582,7 +582,7 @@ if(!restore){
 			break;
 		}
 
-		// Disable color keying on alpha channel 
+		// Disable color keying on alpha channel
 		writeb( XCOLMSK, card->mmio_base + PALWTADD);
 		writeb( 0x00, card->mmio_base + X_DATAREG);
 		writeb( X_COLKEY, card->mmio_base + PALWTADD);
@@ -609,10 +609,10 @@ if(!restore){
 }
 
 	// Backend Scaler
-	writel( card->regs.besctl,      card->mmio_base + BESCTL); 
+	writel( card->regs.besctl,      card->mmio_base + BESCTL);
 	if(card->is_g400)
-		writel( card->regs.beslumactl,  card->mmio_base + BESLUMACTL); 
-	writel( card->regs.bespitch,    card->mmio_base + BESPITCH); 
+		writel( card->regs.beslumactl,  card->mmio_base + BESLUMACTL);
+	writel( card->regs.bespitch,    card->mmio_base + BESPITCH);
 
 	writel( card->regs.besa1org,    card->mmio_base + BESA1ORG);
 	writel( card->regs.besa1corg,   card->mmio_base + BESA1CORG);
@@ -622,7 +622,7 @@ if(!restore){
 	writel( card->regs.besb1corg,   card->mmio_base + BESB1CORG);
 	writel( card->regs.besb2org,    card->mmio_base + BESB2ORG);
 	writel( card->regs.besb2corg,   card->mmio_base + BESB2CORG);
-	if(card->is_g400) 
+	if(card->is_g400)
 	{
 		writel( card->regs.besa1c3org,  card->mmio_base + BESA1C3ORG);
 		writel( card->regs.besa2c3org,  card->mmio_base + BESA2C3ORG);
@@ -635,7 +635,7 @@ if(!restore){
 	writel( card->regs.beshsrcst,   card->mmio_base + BESHSRCST);
 	writel( card->regs.beshsrcend,  card->mmio_base + BESHSRCEND);
 	writel( card->regs.beshsrclst,  card->mmio_base + BESHSRCLST);
-	
+
 	writel( card->regs.besvcoord,   card->mmio_base + BESVCOORD);
 	writel( card->regs.besviscal,   card->mmio_base + BESVISCAL);
 
@@ -643,7 +643,7 @@ if(!restore){
 	writel( card->regs.besv1wght,   card->mmio_base + BESV1WGHT);
 	writel( card->regs.besv2srclst, card->mmio_base + BESV2SRCLST);
 	writel( card->regs.besv2wght,   card->mmio_base + BESV2WGHT);
-	
+
 	//update the registers somewhere between 1 and 2 frames from now.
 	writel( card->regs.besglobctl + ((readl(card->mmio_base + VCOUNT)+2)<<16),
 			card->mmio_base + BESGLOBCTL);
@@ -682,7 +682,7 @@ if(!restore){
 
 #ifdef MP_DEBUG
 	printk("c2offset = %d\n",card->cregs.c2offset);
-#endif	
+#endif
 
 	writel(card->cregs.c2offset, card->mmio_base + C2OFFSET);
 	writel(card->cregs.c2startadd0, card->mmio_base + C2STARTADD0);
@@ -699,7 +699,7 @@ if(!restore){
 //	writel(card->cregs.c2ctl,	card->mmio_base + C2CTL);
 //	printk("c2ctl:0x%08x c2datactl:0x%08x\n",readl(card->mmio_base + C2CTL),readl(card->mmio_base + C2DATACTL));
 //	printk("c2misc:0x%08x\n", readl(card->mmio_base + C2MISC));
-#endif	
+#endif
 }
 
 static int mga_vid_set_config(mga_card_t * card)
@@ -725,7 +725,7 @@ static int mga_vid_set_config(mga_card_t
 	unsigned int vsyncstart = vdispend + lower_margin;
 	unsigned int vsyncend = vsyncstart + vsync_len;
 	unsigned int vtotal = vsyncend + upper_margin;
-#endif 
+#endif
 	x = config->x_org;
 	y = config->y_org;
 	sw = config->src_width;
@@ -736,7 +736,7 @@ static int mga_vid_set_config(mga_card_t
 #ifdef MP_DEBUG
 	printk(KERN_DEBUG "mga_vid: Setting up a %dx%d+%d+%d video window (src %dx%d) format %X\n",
 	       dw, dh, x, y, sw, sh, config->format);
-#endif	
+#endif
 
 	if(sw<4 || sh<4 || dw<4 || dh<4){
 	    printk(KERN_ERR "mga_vid: Invalid src/dest dimenstions\n");
@@ -744,15 +744,15 @@ static int mga_vid_set_config(mga_card_t
 	}
 
 	//FIXME check that window is valid and inside desktop
-	
-	//Setup the BES registers for a three plane 4:2:0 video source 
+
+	//Setup the BES registers for a three plane 4:2:0 video source
 
 	card->regs.besglobctl = 0;
 
 switch(config->format){
-    case MGA_VID_FORMAT_YV12:	
-    case MGA_VID_FORMAT_I420:	
-    case MGA_VID_FORMAT_IYUV:	
+    case MGA_VID_FORMAT_YV12:
+    case MGA_VID_FORMAT_I420:
+    case MGA_VID_FORMAT_IYUV:
 	card->regs.besctl = 1   // BES enabled
                     + (0<<6)    // even start polarity
                     + (1<<10)   // x filtering enabled
@@ -764,7 +764,7 @@ switch(config->format){
 	if(card->is_g400)
 	{
 		//zoom disabled, zoom filter disabled, 420 3 plane format, proc amp
-		//disabled, rgb mode disabled 
+		//disabled, rgb mode disabled
 		card->regs.besglobctl = (1<<5);
 	}
 	else
@@ -776,7 +776,7 @@ switch(config->format){
 #endif
         break;
 
-    case MGA_VID_FORMAT_YUY2:	
+    case MGA_VID_FORMAT_YUY2:
 	card->regs.besctl = 1   // BES enabled
                     + (0<<6)    // even start polarity
                     + (1<<10)   // x filtering enabled
@@ -788,7 +788,7 @@ switch(config->format){
 	card->regs.besglobctl = 0;        // YUY2 format selected
         break;
 
-    case MGA_VID_FORMAT_UYVY:	
+    case MGA_VID_FORMAT_UYVY:
 	card->regs.besctl = 1   // BES enabled
                     + (0<<6)    // even start polarity
                     + (1<<10)   // x filtering enabled
@@ -805,12 +805,12 @@ switch(config->format){
 	return -1;
 }
 
-	// setting black&white mode 
-	card->regs.besctl|=(card->regs.blackie<<20); 
+	// setting black&white mode
+	card->regs.besctl|=(card->regs.blackie<<20);
 
 	//Enable contrast and brightness control
 	card->regs.besglobctl |= (1<<5) + (1<<7);
-	
+
 	// brightness (-128..127) && contrast (0..255)
 	card->regs.beslumactl = (card->brightness << 16) | ((card->contrast+0x80)&0xFFFF);
 
@@ -819,19 +819,19 @@ switch(config->format){
 	bestop = y > 0 ? y : 0;
 	card->regs.beshcoord = (besleft<<16) + (x + dw-1);
 	card->regs.besvcoord = (bestop<<16) + (y + dh-1);
-	
+
 	//Setup source dimensions
 	card->regs.beshsrclst  = (sw - 1) << 16;
-	card->regs.bespitch = (sw + 31) & ~31 ; 
-	
+	card->regs.bespitch = (sw + 31) & ~31 ;
+
 	//Setup horizontal scaling
 	ifactor = ((sw-1)<<14)/(dw-1);
 	ofsleft = besleft - x;
-		
+
 	card->regs.beshiscal = ifactor<<2;
 	card->regs.beshsrcst = (ofsleft*ifactor)<<2;
 	card->regs.beshsrcend = card->regs.beshsrcst + (((dw - ofsleft - 1) * ifactor) << 2);
-	
+
 	//Setup vertical scaling
 	ifactor = ((sh-1)<<14)/(dh-1);
 	ofstop = bestop - y;
@@ -850,9 +850,9 @@ if(config->format==MGA_VID_FORMAT_YV12
  ||config->format==MGA_VID_FORMAT_I420
  ){
         // planar YUV frames:
-	if (card->is_g400) 
+	if (card->is_g400)
 		baseadrofs = ( ( (ofstop * card->regs.besviscal ) / 4 ) >> 16 ) * card->regs.bespitch;
-	else 
+	else
 		baseadrofs = ( ( ( ofstop * card->regs.besviscal ) / 2 ) >> 16 ) * card->regs.bespitch;
 
     if(config->format==MGA_VID_FORMAT_YV12 || !card->is_g400){
@@ -887,9 +887,9 @@ if(config->format==MGA_VID_FORMAT_YV12
 
 
 switch(config->format){
-    case MGA_VID_FORMAT_YV12:	
-    case MGA_VID_FORMAT_I420:	
-    case MGA_VID_FORMAT_IYUV:	
+    case MGA_VID_FORMAT_YV12:
+    case MGA_VID_FORMAT_I420:
+    case MGA_VID_FORMAT_IYUV:
 	card->cregs.c2ctl = 1   // CRTC2 enabled
 		    + (1<<1)	// external clock
 		    + (0<<2)	// external clock
@@ -945,7 +945,7 @@ switch(config->format){
 */		    ;
         break;
 
-    case MGA_VID_FORMAT_YUY2:	
+    case MGA_VID_FORMAT_YUY2:
 	card->cregs.c2ctl = 1   // CRTC2 enabled
 		    + (1<<1)	// external clock
 		    + (0<<2)	// external clock
@@ -1003,7 +1003,7 @@ switch(config->format){
 */			;
           break;
 
-    case MGA_VID_FORMAT_UYVY:	
+    case MGA_VID_FORMAT_UYVY:
 	card->cregs.c2ctl = 1   // CRTC2 enabled
 		    + (1<<1)	// external clock
 		    + (0<<2)	// external clock
@@ -1066,7 +1066,7 @@ switch(config->format){
 
 	card->cregs.c2hparam = ( (hdispend - 8) << 16) | (htotal - 8);
 	card->cregs.c2hsync = ( (hsyncend - 8) << 16) | (hsyncstart - 8);
-	
+
 	card->cregs.c2misc=0	// CRTCV2 656 togg f0
 		    +(0<<1) // CRTCV2 656 togg f0
 		    +(0<<2) // CRTCV2 656 togg f0
@@ -1083,21 +1083,21 @@ switch(config->format){
 //	card->cregs.c2pl2startadd1=card->regs.besa2corg;
 	card->cregs.c2pl3startadd0=card->regs.besa1c3org;
 //	card->cregs.c2pl3startadd1=card->regs.besa2c3org;
-		    
-	card->cregs.c2preload=(vsyncstart << 16) | (hsyncstart); // from 
-	
+
+	card->cregs.c2preload=(vsyncstart << 16) | (hsyncstart); // from
+
 	card->cregs.c2spicstartadd0=0; // not used
 //	card->cregs.c2spicstartadd1=0; // not used
-	
+
 	card->cregs.c2startadd0=card->regs.besa1org;
 //	card->cregs.c2startadd1=card->regs.besa2org;
-	
+
 	card->cregs.c2subpiclut=0; //not used
-	
+
 	card->cregs.c2vparam = ( (vdispend - 1) << 16) | (vtotal - 1);
 	card->cregs.c2vsync = ( (vsyncend - 1) << 16) | (vsyncstart - 1);
 
-	
+
 #endif
 
 	mga_vid_write_regs(card, 0);
@@ -1113,11 +1113,11 @@ static void enable_irq(mga_card_t * card
 //	printk(KERN_ALERT "*** !!! IRQREG = %d\n", (int)(cc&0xff));
 
 	writeb(0x11, card->mmio_base + CRTCX);
-	
+
 	writeb(0x20, card->mmio_base + CRTCD);  /* clear 0, enable off */
 	writeb(0x00, card->mmio_base + CRTCD);  /* enable on */
 	writeb(0x10, card->mmio_base + CRTCD);  /* clear = 1 */
-	
+
 	writel(card->regs.besglobctl , card->mmio_base + BESGLOBCTL);
 
 }
@@ -1144,21 +1144,21 @@ static void mga_handle_irq(int irq, void
 		cc = readl(card->mmio_base + STATUS);
 		if ( ! (cc & 0x10) ) return;  /* vsyncpen */
 // 		debug_irqcnt++;
-	} 
+	}
 
 //    if ( debug_irqignore ) {
 //	debug_irqignore = 0;
 
 //	frame=(frame+1)&1;
 	card->regs.besctl = (card->regs.besctl & ~0x07000000) + (card->next_frame << 25);
-	writel( card->regs.besctl, card->mmio_base + BESCTL ); 
+	writel( card->regs.besctl, card->mmio_base + BESCTL );
 
 #ifdef CRTC2
-// sem pridat vyber obrazku !!!!	
+// sem pridat vyber obrazku !!!!
 // i han echt kei ahnig was das obe heisse söll
 	crtc2_frame_sel(card->next_frame);
 #endif
-	
+
 #if 0
 	++counter;
 	if(!(counter&63)){
@@ -1191,7 +1191,7 @@ static int mga_vid_ioctl(struct inode *i
 	uint32_t tmp;
 	mga_card_t * card = (mga_card_t *) file->private_data;
 
-	switch(cmd) 
+	switch(cmd)
 	{
 		case MGA_VID_GET_VERSION:
 			tmp = MGA_VID_VERSION;
@@ -1210,7 +1210,7 @@ static int mga_vid_ioctl(struct inode *i
 			//FIXME remove
 
 			printk(KERN_DEBUG "mga_vid: Received configuration\n");
-#endif			
+#endif
 
  			if(copy_from_user(&card->config,(mga_vid_config_t*) arg,sizeof(mga_vid_config_t)))
 			{
@@ -1231,7 +1231,7 @@ static int mga_vid_ioctl(struct inode *i
 				printk(KERN_ERR "mga_vid: illegal num_frames: %d\n",card->config.num_frames);
 				return -EFAULT;
 			}
-			
+
 			card->src_base = (card->ram_size * 0x100000 - card->config.num_frames * card->config.frame_size - card->top_reserved);
 			if(card->src_base<0){
 				printk(KERN_ERR "mga_vid: not enough memory for frames!\n");
@@ -1240,13 +1240,13 @@ static int mga_vid_ioctl(struct inode *i
 			card->src_base &= (~0xFFFF); // 64k boundary
 #ifdef MP_DEBUG
 			printk(KERN_DEBUG "mga YUV buffer base: 0x%X\n", card->src_base);
-#endif			
-			
-			if (card->is_g400) 
+#endif
+
+			if (card->is_g400)
 			  card->config.card_type = MGA_G400;
 			else
 			  card->config.card_type = MGA_G200;
-		       
+
 			card->config.ram_size = card->ram_size;
 
 			if (copy_to_user((mga_vid_config_t *) arg, &card->config, sizeof(mga_vid_config_t)))
@@ -1255,7 +1255,7 @@ static int mga_vid_ioctl(struct inode *i
 				return -EFAULT;
 			}
 
-			result = mga_vid_set_config(card);	
+			result = mga_vid_set_config(card);
 			if(!result) card->configured=1;
 			return result;
 		break;
@@ -1263,7 +1263,7 @@ static int mga_vid_ioctl(struct inode *i
 		case MGA_VID_ON:
 #ifdef MP_DEBUG
 			printk(KERN_DEBUG "mga_vid: Video ON\n");
-#endif			
+#endif
 			card->vid_src_ready = 1;
 			if(card->vid_overlay_on)
 			{
@@ -1279,8 +1279,8 @@ static int mga_vid_ioctl(struct inode *i
 		case MGA_VID_OFF:
 #ifdef MP_DEBUG
 			printk(KERN_DEBUG "mga_vid: Video OFF (ioctl)\n");
-#endif			
-			card->vid_src_ready = 0;   
+#endif
+			card->vid_src_ready = 0;
 #ifdef MGA_ALLOW_IRQ
 			if ( card->irq != -1 ) disable_irq(card);
 #endif
@@ -1288,7 +1288,7 @@ static int mga_vid_ioctl(struct inode *i
                         card->regs.besglobctl &= ~(1<<6);  // UYVY format selected
 			mga_vid_write_regs(card, 0);
 		break;
-			
+
 		case MGA_VID_FSEL:
 			if(copy_from_user(&frame,(int *) arg,sizeof(int)))
 			{
@@ -1311,7 +1311,7 @@ static int mga_vid_ioctl(struct inode *i
 				return -EFAULT;
 			}
 		break;
-			
+
 		case MGA_VID_SET_LUMA:
 			tmp = arg;
 			card->brightness=tmp>>16; card->contrast=tmp&0xFFFF;
@@ -1319,12 +1319,12 @@ static int mga_vid_ioctl(struct inode *i
 			card->regs.beslumactl = (card->brightness << 16) | ((card->contrast+0x80)&0xFFFF);
 			mga_vid_write_regs(card, 0);
 		break;
-			
+
 	        default:
 			printk(KERN_ERR "mga_vid: Invalid ioctl\n");
 			return -EINVAL;
 	}
-       
+
 	return 0;
 }
 
@@ -1349,15 +1349,15 @@ static int mga_vid_find_card(void)
 		}
 
 		card = kmalloc(sizeof(mga_card_t), GFP_KERNEL);
-		if(!card) 
-		{ 
+		if(!card)
+		{
 			printk(KERN_ERR "mga_vid: memory allocation failed\n");
 			mga_cards_num--;
 			break;
 		}
-		
+
 		mga_cards[mga_cards_num - 1] = card;
-		
+
 		switch(dev->device) {
 		case PCI_DEVICE_ID_MATROX_G550:
 			mga_dev_name = "MGA G550";
@@ -1385,14 +1385,14 @@ static int mga_vid_find_card(void)
 			break;
 		}
 	}
- 	
+
 	if(!mga_cards_num)
 	{
 		printk(KERN_ERR "mga_vid: No supported cards found\n");
 	} else {
 		printk(KERN_INFO "mga_vid: %d supported cards found\n", mga_cards_num);
 	}
-	
+
 	return mga_cards_num;
 }
 
@@ -1419,7 +1419,7 @@ static ssize_t mga_vid_read(struct file 
 {
 	uint32_t size;
 	mga_card_t * card = (mga_card_t *) file->private_data;
-	
+
 	if(!card->param_buff) return -ESPIPE;
 	if(!(*ppos)) mga_param_buff_fill(card);
 	if(*ppos >= card->param_buff_len) return 0;
@@ -1437,18 +1437,18 @@ static ssize_t mga_vid_write(struct file
 	{
 		short brightness;
 		brightness=simple_strtol(&buf[strlen(PARAM_BRIGHTNESS)],NULL,10);
-		if (brightness>127 || brightness<-128) { brightness=0;} 
+		if (brightness>127 || brightness<-128) { brightness=0;}
 //		printk(KERN_DEBUG "mga_vid: brightness modified ( %d ) \n",brightness);
 		card->brightness=brightness;
-	} else 
+	} else
 	if(memcmp(buf,PARAM_CONTRAST,min(count,strlen(PARAM_CONTRAST))) == 0)
 	{
 		short contrast;
 		contrast=simple_strtol(&buf[strlen(PARAM_CONTRAST)],NULL,10);
-		if (contrast>127 || contrast<-128) { contrast=0;} 
+		if (contrast>127 || contrast<-128) { contrast=0;}
 //		printk(KERN_DEBUG "mga_vid: contrast modified ( %d ) \n",contrast);
 		card->contrast=contrast;
-	} else 
+	} else
 
         if(memcmp(buf,PARAM_BLACKIE,min(count,strlen(PARAM_BLACKIE))) == 0)
 	{
@@ -1467,7 +1467,7 @@ static int mga_vid_mmap(struct file *fil
 
 #ifdef MP_DEBUG
 	printk(KERN_DEBUG "mga_vid: mapping video memory into userspace\n");
-#endif	
+#endif
 
 	if(!card->configured)
 	{
@@ -1476,7 +1476,7 @@ static int mga_vid_mmap(struct file *fil
 	}
 
 	if(remap_page_range(vma->vm_start, card->mem_base + card->src_base,
-		 vma->vm_end - vma->vm_start, vma->vm_page_prot)) 
+		 vma->vm_end - vma->vm_start, vma->vm_page_prot))
 	{
 		printk(KERN_ERR "mga_vid: error mapping video memory\n");
 		return -EAGAIN;
@@ -1492,11 +1492,11 @@ static int mga_vid_release(struct inode 
 	//Close the window just in case
 #ifdef MP_DEBUG
 	printk(KERN_DEBUG "mga_vid: Video OFF (release)\n");
-#endif	
+#endif
 
 	card = (mga_card_t *) file->private_data;
 
-	card->vid_src_ready = 0;   
+	card->vid_src_ready = 0;
 	card->regs.besctl &= ~1;
         card->regs.besglobctl &= ~(1<<6);  // UYVY format selected
 //	card->config.colkey_on=0; //!!!
@@ -1510,12 +1510,12 @@ static int mga_vid_release(struct inode 
 static long long mga_vid_lseek(struct file *file, long long offset, int origin)
 {
 	return -ESPIPE;
-}					 
+}
 
 static int mga_vid_open(struct inode *inode, struct file *file)
 {
 	mga_card_t * card;
-	
+
 	int minor = MINOR(inode->i_rdev);
 
 	if(!file->private_data)
@@ -1530,17 +1530,17 @@ static int mga_vid_open(struct inode *in
 		file->private_data = mga_cards[minor];
 #ifdef MP_DEBUG
 		printk(KERN_DEBUG "mga_vid: Not using devfs\n");
-#endif	
+#endif
 	}
 #ifdef MP_DEBUG
 	  else {
 		printk(KERN_DEBUG "mga_vid: Using devfs\n");
 	}
-#endif	
+#endif
 
 	card = (mga_card_t *) file->private_data;
 
-	if(card->vid_in_use == 1) 
+	if(card->vid_in_use == 1)
 		return -EBUSY;
 
 	card->vid_in_use = 1;
@@ -1596,7 +1596,7 @@ static void cards_init(mga_card_t * card
 	card->brightness = mga_brightness[card_number];
 	card->contrast = mga_contrast[card_number];
 	card->top_reserved = mga_top_reserved[card_number];
-	
+
 #if LINUX_VERSION_CODE >= 0x020300
 	card->mmio_base = ioremap_nocache(dev->resource[1].start,0x4000);
 	card->mem_base =  dev->resource[0].start;
@@ -1626,7 +1626,7 @@ static void cards_init(mga_card_t * card
 		    // SDRAM:
 		    case 0x00:
 		    case 0x04:  card->ram_size = 16; break;
-		    case 0x03:  
+		    case 0x03:
 		    case 0x05:  card->ram_size = 32; break;
 		    // SGRAM:
 		    case 0x10:
@@ -1652,7 +1652,7 @@ static void cards_init(mga_card_t * card
 //		    case 0x13:  card->ram_size = 8; break;
 		    default: card->ram_size = 8;
 		}
-	    } 
+	    }
 #if 0
 //	    printk("List resources -----------\n");
 	    for(temp=0;temp<DEVICE_COUNT_RESOURCE;temp++){
@@ -1700,8 +1700,8 @@ static void cards_init(mga_card_t * card
 
 }
 
-/* 
- * Main Initialization Function 
+/*
+ * Main Initialization Function
  */
 
 static int mga_vid_initialize(void)
@@ -1720,7 +1720,7 @@ static int mga_vid_initialize(void)
 			}
 		}
 	}
-	
+
 	if(register_chrdev(major, "mga_vid", &mga_vid_fops))
 	{
 		printk(KERN_ERR "mga_vid: unable to get major: %d\n", major);

Modified: trunk/drivers/mga_vid_test.c
==============================================================================
--- trunk/drivers/mga_vid_test.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/mga_vid_test.c	Wed May 13 04:58:57 2009	(r29305)
@@ -50,16 +50,16 @@ write_frame_g200(uint8_t *y,uint8_t *cr,
 	dest = mga_vid_base;
 	bespitch = (config.src_width + 31) & ~31;
 
-	for(h=0; h < config.src_height; h++) 
+	for(h=0; h < config.src_height; h++)
 	{
 		memcpy(dest, y, config.src_width);
 		y += config.src_width;
 		dest += bespitch;
 	}
 
-	for(h=0; h < config.src_height/2; h++) 
+	for(h=0; h < config.src_height/2; h++)
 	{
-		for(w=0; w < config.src_width/2; w++) 
+		for(w=0; w < config.src_width/2; w++)
 		{
 			*dest++ = *cb++;
 			*dest++ = *cr++;
@@ -77,21 +77,21 @@ write_frame_g400(uint8_t *y,uint8_t *cr,
 	dest = mga_vid_base;
 	bespitch = (config.src_width + 31) & ~31;
 
-	for(h=0; h < config.src_height; h++) 
+	for(h=0; h < config.src_height; h++)
 	{
 		memcpy(dest, y, config.src_width);
 		y += config.src_width;
 		dest += bespitch;
 	}
 
-	for(h=0; h < config.src_height/2; h++) 
+	for(h=0; h < config.src_height/2; h++)
 	{
 		memcpy(dest, cb, config.src_width/2);
 		cb += config.src_width/2;
 		dest += bespitch/2;
 	}
 
-	for(h=0; h < config.src_height/2; h++) 
+	for(h=0; h < config.src_height/2; h++)
 	{
 		memcpy(dest, cr, config.src_width/2);
 		cr += config.src_width/2;
@@ -120,15 +120,15 @@ draw_cool_pattern(void)
 	}
 
 	i = 0;
-	for (y=0; y<config.src_height/2; y++) 
-		for (x=0; x<config.src_width/2; x++) 
+	for (y=0; y<config.src_height/2; y++)
+		for (x=0; x<config.src_width/2; x++)
 		{
 				cr_image[i++] = x - 128;
 		}
 
 	i = 0;
-	for (y=0; y<config.src_height/2; y++) 
-		for (x=0; x<config.src_width/2; x++) 
+	for (y=0; y<config.src_height/2; y++)
+		for (x=0; x<config.src_width/2; x++)
 		{
 				cb_image[i++] = y - 128;
 		}
@@ -147,22 +147,22 @@ draw_color_blend(void)
 	}
 
 	i = 0;
-	for (y=0; y<config.src_height/2; y++) 
-		for (x=0; x<config.src_width/2; x++) 
+	for (y=0; y<config.src_height/2; y++)
+		for (x=0; x<config.src_width/2; x++)
 		{
 				cr_image[i++] = x - 128;
 		}
 
 	i = 0;
-	for (y=0; y<config.src_height/2; y++) 
-		for (x=0; x<config.src_width/2; x++) 
+	for (y=0; y<config.src_height/2; y++)
+		for (x=0; x<config.src_width/2; x++)
 		{
 				cb_image[i++] = y - 128;
 		}
 }
 
 
-int 
+int
 main(void)
 {
 	int f;
@@ -192,7 +192,7 @@ main(void)
 		perror("Error in config ioctl");
 	}
 
-	if (config.card_type == MGA_G200) 
+	if (config.card_type == MGA_G200)
 	{
 		printf("Testing MGA G200 Backend Scaler with %d MB of RAM\n", config.ram_size);
 	  is_g400 = 0;
@@ -202,7 +202,7 @@ main(void)
 		printf("Testing MGA G400 Backend Scaler with %d MB of RAM\n", config.ram_size);
 	  is_g400 = 1;
 	}
-	
+
 	ioctl(f,MGA_VID_ON,0);
 	mga_vid_base = (uint8_t*)mmap(0,256 * 4096,PROT_WRITE,MAP_SHARED,f,0);
 	printf("mga_vid_base = %8p\n",mga_vid_base);

Modified: trunk/drivers/radeon.h
==============================================================================
--- trunk/drivers/radeon.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/radeon.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1240,7 +1240,7 @@
 #define	SOFT_RESET_PCLK				0x00000200
 #define	SOFT_RESET_ECP				0x00000400
 #define	SOFT_RESET_DISPENG_XCLK			0x00000800
-						
+
 /* RAGE	THEATER	REGISTERS */
 
 #define DMA_VIPH0_COMMAND			0x0A00

Modified: trunk/drivers/radeon_vid.c
==============================================================================
--- trunk/drivers/radeon_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/radeon_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -67,7 +67,7 @@
 #include "radeon_vid.h"
 #include "radeon.h"
 
-#ifdef CONFIG_MTRR 
+#ifdef CONFIG_MTRR
 #include <asm/mtrr.h>
 #endif
 
@@ -90,7 +90,7 @@ MODULE_DESCRIPTION("Accelerated YUV BES 
 #ifdef MODULE_LICENSE
 MODULE_LICENSE("GPL");
 #endif
-#ifdef CONFIG_MTRR 
+#ifdef CONFIG_MTRR
 MODULE_PARM(mtrr, "i");
 MODULE_PARM_DESC(mtrr, "Tune MTRR (touch=1(default))");
 static int mtrr __initdata = 1;
@@ -193,17 +193,17 @@ typedef struct bes_registers_s
   uint32_t test;
   /* Configurable stuff */
   int double_buff;
-  
+
   int brightness;
   int saturation;
-  
+
   int ckey_on;
   uint32_t graphics_key_clr;
   uint32_t graphics_key_msk;
-  
+
   int deinterlace_on;
   uint32_t deinterlace_pattern;
-  
+
 } bes_registers_t;
 
 typedef struct video_registers_s
@@ -225,7 +225,7 @@ static int IsR200=0;
 #define DECLARE_VREG(name) { name, 0 }
 #endif
 #ifdef DEBUG
-static video_registers_t vregs[] = 
+static video_registers_t vregs[] =
 {
   DECLARE_VREG(VIDEOMUX_CNTL),
   DECLARE_VREG(VIPPAD_MASK),
@@ -323,14 +323,14 @@ static video_registers_t vregs[] = 
 static uint32_t radeon_vid_in_use = 0;
 
 static uint8_t *radeon_mmio_base = 0;
-static uint32_t radeon_mem_base = 0; 
+static uint32_t radeon_mem_base = 0;
 static int32_t radeon_overlay_off = 0;
 static uint32_t radeon_ram_size = 0;
 #define PARAM_BUFF_SIZE 4096
 static uint8_t *radeon_param_buff = NULL;
 static uint32_t radeon_param_buff_size=0;
 static uint32_t radeon_param_buff_len=0; /* real length of buffer */
-static mga_vid_config_t radeon_config; 
+static mga_vid_config_t radeon_config;
 
 static char *fourcc_format_name(int format)
 {
@@ -562,7 +562,7 @@ static void radeon_set_transform(float b
 	CAdjGCr = sat * (OvHueSin * trans[ref].RefGCb + OvHueCos * trans[ref].RefGCr);
 	CAdjBCb = sat * OvHueCos * trans[ref].RefBCb;
 	CAdjBCr = sat * OvHueSin * trans[ref].RefBCb;
-    
+
 #if 0 /* default constants */
         CAdjLuma = 1.16455078125;
 
@@ -582,16 +582,16 @@ static void radeon_set_transform(float b
 	OvBCr = CAdjBCr;
 	OvROff = CAdjOff -
 		OvLuma * Loff - (OvRCb + OvRCr) * Coff;
-	OvGOff = CAdjOff - 
+	OvGOff = CAdjOff -
 		OvLuma * Loff - (OvGCb + OvGCr) * Coff;
-	OvBOff = CAdjOff - 
+	OvBOff = CAdjOff -
 		OvLuma * Loff - (OvBCb + OvBCr) * Coff;
 #if 0 /* default constants */
 	OvROff = -888.5;
 	OvGOff = 545;
 	OvBOff = -1104;
-#endif 
-   
+#endif
+
 	dwOvROff = ((int)(OvROff * 2.0)) & 0x1fff;
 	dwOvGOff = (int)(OvGOff * 2.0) & 0x1fff;
 	dwOvBOff = (int)(OvBOff * 2.0) & 0x1fff;
@@ -627,7 +627,7 @@ static void radeon_set_transform(float b
 
 #ifndef RAGE128
 /* Gamma curve definition */
-typedef struct 
+typedef struct
 {
 	unsigned int gammaReg;
 	unsigned int gammaSlope;
@@ -635,7 +635,7 @@ typedef struct 
 }GAMMA_SETTINGS;
 
 /* Recommended gamma curve parameters */
-GAMMA_SETTINGS r200_def_gamma[18] = 
+GAMMA_SETTINGS r200_def_gamma[18] =
 {
 	{OV0_GAMMA_0_F, 0x100, 0x0000},
 	{OV0_GAMMA_10_1F, 0x100, 0x0020},
@@ -657,7 +657,7 @@ GAMMA_SETTINGS r200_def_gamma[18] = 
 	{OV0_GAMMA_3C0_3FF, 0x100, 0x0700}
 };
 
-GAMMA_SETTINGS r100_def_gamma[6] = 
+GAMMA_SETTINGS r100_def_gamma[6] =
 {
 	{OV0_GAMMA_0_F, 0x100, 0x0000},
 	{OV0_GAMMA_10_1F, 0x100, 0x0020},
@@ -864,7 +864,7 @@ RTRACE(RVID_MSG"usr_config: version = %x
 	/* 4:1:0 */
 	case IMGFMT_IF09:
         case IMGFMT_YVU9:
-	/* 4:2:0 */	
+	/* 4:2:0 */
 	case IMGFMT_IYUV:
 	case IMGFMT_YV12:
 	case IMGFMT_I420:
@@ -1089,7 +1089,7 @@ static int radeon_vid_ioctl(struct inode
 						 radeon_config.colkey_red,
 						 radeon_config.colkey_green,
 						 radeon_config.colkey_blue);
-			if(swap_fourcc) radeon_config.format = swab32(radeon_config.format); 
+			if(swap_fourcc) radeon_config.format = swab32(radeon_config.format);
 			printk(RVID_MSG"configuring for '%s' fourcc\n",fourcc_format_name(radeon_config.format));
 			return radeon_vid_init_video(&radeon_config);
 		break;
@@ -1235,9 +1235,9 @@ static int __init radeon_vid_config_card
 	radeon_ram_size /= 0x100000;
 	detected_chip = i;
 	printk(RVID_MSG"Found %s (%uMb memory)\n",ati_card_ids[i].name,radeon_ram_size);
-#ifndef RAGE128	
-	if(ati_card_ids[i].id == PCI_DEVICE_ID_R200_QL || 
-	   ati_card_ids[i].id == PCI_DEVICE_ID_R200_BB || 
+#ifndef RAGE128
+	if(ati_card_ids[i].id == PCI_DEVICE_ID_R200_QL ||
+	   ati_card_ids[i].id == PCI_DEVICE_ID_R200_BB ||
 	   ati_card_ids[i].id == PCI_DEVICE_ID_RV200_QW) IsR200 = 1;
 #endif
 	return TRUE;
@@ -1323,7 +1323,7 @@ static ssize_t radeon_vid_write(struct f
     {
       long brightness;
       brightness=simple_strtol(&buf[strlen(PARAM_BRIGHTNESS)],NULL,10);
-      if(brightness >= -64 && brightness <= 63) 
+      if(brightness >= -64 && brightness <= 63)
       {
         besr.brightness = brightness;
 	OUTREG(OV0_COLOUR_CNTL, (brightness & 0x7f) |
@@ -1402,7 +1402,7 @@ static int radeon_vid_mmap(struct file *
 
 	RTRACE(RVID_MSG"mapping video memory into userspace\n");
 	if(remap_page_range(vma->vm_start, radeon_mem_base + radeon_overlay_off,
-		 vma->vm_end - vma->vm_start, vma->vm_page_prot)) 
+		 vma->vm_end - vma->vm_start, vma->vm_page_prot))
 	{
 		printk(RVID_MSG"error mapping video memory\n");
 		return -EAGAIN;
@@ -1423,7 +1423,7 @@ static int radeon_vid_release(struct ino
 static long long radeon_vid_lseek(struct file *file, long long offset, int origin)
 {
 	return -ESPIPE;
-}					 
+}
 
 static int radeon_vid_open(struct inode *inode, struct file *file)
 {
@@ -1432,7 +1432,7 @@ static int radeon_vid_open(struct inode 
 	if(minor != 0)
 	 return -ENXIO;
 
-	if(radeon_vid_in_use == 1) 
+	if(radeon_vid_in_use == 1)
 		return -EBUSY;
 
 	radeon_vid_in_use = 1;
@@ -1483,8 +1483,8 @@ static struct file_operations radeon_vid
 };
 #endif
 
-/* 
- * Main Initialization Function 
+/*
+ * Main Initialization Function
  */
 
 static int __init radeon_vid_initialize(void)

Modified: trunk/drivers/tdfx_vid.c
==============================================================================
--- trunk/drivers/tdfx_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/tdfx_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -96,7 +96,7 @@ static inline void tdfx_outl(unsigned in
 static inline void banshee_make_room(int size) {
   while((tdfx_inl(STATUS) & 0x1f) < size);
 }
- 
+
 static inline void banshee_wait_idle(void) {
   int i = 0;
 
@@ -116,15 +116,15 @@ static unsigned long get_lfb_size(void) 
   u32 lfbsize   = 0;
   int sgram_p     = 0;
 
-  draminit0 = tdfx_inl(DRAMINIT0);  
+  draminit0 = tdfx_inl(DRAMINIT0);
   draminit1 = tdfx_inl(DRAMINIT1);
 
   if ((pci_dev->device == PCI_DEVICE_ID_3DFX_BANSHEE) ||
       (pci_dev->device == PCI_DEVICE_ID_3DFX_VOODOO3)) {
     sgram_p = (draminit1 & DRAMINIT1_MEM_SDRAM) ? 0 : 1;
-  
+
     lfbsize = sgram_p ?
-      (((draminit0 & DRAMINIT0_SGRAM_NUM)  ? 2 : 1) * 
+      (((draminit0 & DRAMINIT0_SGRAM_NUM)  ? 2 : 1) *
        ((draminit0 & DRAMINIT0_SGRAM_TYPE) ? 8 : 4) * 1024 * 1024) :
       16 * 1024 * 1024;
   } else {
@@ -144,7 +144,7 @@ static unsigned long get_lfb_size(void) 
   miscinit1 |= sgram_p ? 0 : MISCINIT1_2DBLOCK_DIS;
   miscinit1 |= MISCINIT1_CLUT_INV;
 
-  banshee_make_room(1); 
+  banshee_make_room(1);
   tdfx_outl(MISCINIT1, miscinit1);
 #endif
 
@@ -163,7 +163,7 @@ static int tdfx_vid_find_card(void)
   else
     return 0;
 
-  
+
   pci_dev = dev;
 
 #if LINUX_VERSION_CODE >= 0x020300
@@ -181,7 +181,7 @@ static int tdfx_vid_find_card(void)
   printk(KERN_INFO "tdfx_vid: Found %d MB (%d bytes) of memory\n",
 	 tdfx_ram_size / 1024 / 1024,tdfx_ram_size);
 
-  
+
 #if 0
   {
     int temp;
@@ -232,12 +232,12 @@ static int agp_init(void) {
 #endif
   drm_agp->enable(agp_info.mode);
 
-  
+
   printk(KERN_INFO "AGP Enabled\n");
 
   return 1;
 }
-    
+
 static void agp_close(void) {
 
   if(!drm_agp) return;
@@ -247,7 +247,7 @@ static void agp_close(void) {
     drm_agp->free_memory(agp_mem);
     agp_mem = NULL;
   }
-      
+
 
   drm_agp->release();
   inter_module_put("drm_agp");
@@ -306,7 +306,7 @@ static void setup_fifo(u32 offset,ssize_
   tdfx_outl(CMDBASESIZE0,size);
 
   banshee_wait_idle();
-  
+
 }
 #endif
 
@@ -407,7 +407,7 @@ static int tdfx_vid_blit(tdfx_vid_blit_t
   u32 cmin,cmax,srcbase,srcxy,srcfmt,srcsize;
   u32 dstbase,dstxy,dstfmt,dstsize = 0;
   u32 cmd_extra = 0,src_ck[2],dst_ck[2],rop123=0;
-  
+
   //printk(KERN_INFO "tdfx_vid: Make src fmt 0x%x\n",blit->src_format);
   src_fmt = tdfx_vid_make_format(1,blit->src_stride,blit->src_format);
   if(!src_fmt)
@@ -423,10 +423,10 @@ static int tdfx_vid_blit(tdfx_vid_blit_t
   // No stretch : fix me the cmd should be 1 but it
   // doesn't work. Maybe some other regs need to be set
   // as non-stretch blit have more options
-  if(((!blit->dst_w) && (!blit->dst_h)) || 
+  if(((!blit->dst_w) && (!blit->dst_h)) ||
      ((blit->dst_w == blit->src_w) && (blit->dst_h == blit->src_h)))
     cmd = 2;
-  
+
   // Save the regs otherwise fb get crazy
   // we can perhaps avoid some ...
   banshee_wait_idle();
@@ -451,14 +451,14 @@ static int tdfx_vid_blit(tdfx_vid_blit_t
     dst_ck[0] = tdfx_inl(DSTCOLORKEYMIN);
     dst_ck[1] = tdfx_inl(DSTCOLORKEYMAX);
     tdfx_outl(SRCCOLORKEYMIN,blit->dst_colorkey[0]);
-    tdfx_outl(SRCCOLORKEYMAX,blit->dst_colorkey[1]);   
+    tdfx_outl(SRCCOLORKEYMAX,blit->dst_colorkey[1]);
   }
   if(blit->colorkey) {
     cmd_extra = tdfx_inl(COMMANDEXTRA_2D);
     rop123 = tdfx_inl(ROP123);
     tdfx_outl(COMMANDEXTRA_2D, blit->colorkey);
     tdfx_outl(ROP123,(blit->rop[1] | (blit->rop[2] << 8) | blit->rop[3] << 16));
-    
+
   }
   // Get rid of the clipping at the moment
   tdfx_outl(CLIP0MIN,0);
@@ -499,7 +499,7 @@ static int tdfx_vid_blit(tdfx_vid_blit_t
   }
   if(blit->colorkey & TDFX_VID_DST_COLORKEY) {
     tdfx_outl(SRCCOLORKEYMIN,dst_ck[0]);
-    tdfx_outl(SRCCOLORKEYMAX,dst_ck[1]);   
+    tdfx_outl(SRCCOLORKEYMAX,dst_ck[1]);
   }
   if(blit->colorkey) {
     tdfx_outl(COMMANDEXTRA_2D,cmd_extra);
@@ -518,9 +518,9 @@ static int tdfx_vid_set_yuv(unsigned lon
   banshee_make_room(2);
   tdfx_outl(YUVBASEADDRESS,yuv.base & 0x01FFFFFF);
   tdfx_outl(YUVSTRIDE, yuv.stride & 0x3FFF);
-  
+
   banshee_wait_idle();
-  
+
   return 0;
 }
 
@@ -779,7 +779,7 @@ static int tdfx_vid_ioctl(struct inode *
   default:
     printk(KERN_ERR "tdfx_vid: Invalid ioctl %d\n",cmd);
     return -EINVAL;
-  } 
+  }
   return 0;
 }
 
@@ -802,7 +802,7 @@ static void tdfx_vid_mopen(struct vm_are
   unsigned long phys;
 
   printk(KERN_DEBUG "tdfx_vid: mopen\n");
-  
+
   for(i = 0 ; i < agp_mem->page_count ; i++) {
     phys = agp_mem->memory[i] & ~(0x00000fff);
     page = virt_to_page(phys_to_virt(phys));
@@ -836,7 +836,7 @@ static void tdfx_vid_mclose(struct vm_ar
 }
 
 static struct page *tdfx_vid_nopage(struct vm_area_struct *vma,
-				    unsigned long address, 
+				    unsigned long address,
 				    int write_access) {
   unsigned long off;
   uint32_t n;
@@ -883,10 +883,10 @@ static int tdfx_vid_mmap(struct file *fi
     }
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
     if(remap_page_range(vma, vma->vm_start,map_start,
-			vma->vm_end - vma->vm_start, vma->vm_page_prot)) 
+			vma->vm_end - vma->vm_start, vma->vm_page_prot))
 #else
     if(remap_page_range(vma->vm_start, (unsigned long)map_start,
-			vma->vm_end - vma->vm_start, vma->vm_page_prot)) 
+			vma->vm_end - vma->vm_start, vma->vm_page_prot))
 #endif
       {
 	printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
@@ -919,10 +919,10 @@ static int tdfx_vid_mmap(struct file *fi
   if(tdfx_map_io) {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
     if(remap_page_range(vma, vma->vm_start,agp_info.aper_base,
-			vma->vm_end - vma->vm_start, vma->vm_page_prot)) 
+			vma->vm_end - vma->vm_start, vma->vm_page_prot))
 #else
     if(remap_page_range(vma->vm_start, (unsigned long)agp_info.aper_base,
-			vma->vm_end - vma->vm_start, vma->vm_page_prot)) 
+			vma->vm_end - vma->vm_start, vma->vm_page_prot))
 #endif
       {
 	printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
@@ -952,7 +952,7 @@ static int tdfx_vid_release(struct inode
     drm_agp->free_memory(agp_mem);
     agp_mem = NULL;
   }
-  
+
   tdfx_vid_in_use = 0;
 
   MOD_DEC_USE_COUNT;
@@ -962,7 +962,7 @@ static int tdfx_vid_release(struct inode
 static long long tdfx_vid_lseek(struct file *file, long long offset, int origin)
 {
 	return -ESPIPE;
-}					 
+}
 
 static int tdfx_vid_open(struct inode *inode, struct file *file)
 {
@@ -975,7 +975,7 @@ static int tdfx_vid_open(struct inode *i
 	if(minor != 0)
 	 return -ENXIO;
 
-	if(tdfx_vid_in_use == 1) 
+	if(tdfx_vid_in_use == 1)
 		return -EBUSY;
 
 	tdfx_vid_in_use = 1;
@@ -1033,7 +1033,7 @@ int init_module(void)
     return -EINVAL;
   }
 
-  
+
 
   return 0;
 

Modified: trunk/drivers/tdfx_vid.h
==============================================================================
--- trunk/drivers/tdfx_vid.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/tdfx_vid.h	Wed May 13 04:58:57 2009	(r29305)
@@ -52,7 +52,7 @@
 
 #define TDFX_VID_YUV_STRIDE        (1024)
 #define TDFX_VID_YUV_PLANE_SIZE    (0x0100000)
-                                 
+
 
 typedef struct tdfx_vid_blit_s {
   uint32_t src;

Modified: trunk/drivers/tdfx_vid_test.c
==============================================================================
--- trunk/drivers/tdfx_vid_test.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/drivers/tdfx_vid_test.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,9 +38,9 @@ static void print_tdfd_vid_cfg(tdfx_vid_
 	    "  Screen: %d x %d\n",
 	    cfg->version,
 	    cfg->ram_size,
-	    cfg->screen_width, cfg->screen_height);	    
+	    cfg->screen_width, cfg->screen_height);
 }
-     
+
 
 int main(void) {
   int fd;
@@ -63,7 +63,7 @@ int main(void) {
     close(fd);
     return 1;
   }
-  
+
   print_tdfd_vid_cfg(&cfg);
 
   mem = mmap( NULL, 640*480*2, PROT_READ | PROT_WRITE, MAP_SHARED,
@@ -79,9 +79,9 @@ int main(void) {
 /*     ptr[1] = (i & 0xFF); */
 /*     ptr += 2; */
 /*   } */
-    
+
   memset(mem,0xFF,640*480*2);
-  
+
   memset(&move, 0, sizeof(tdfx_vid_agp_move_t));
   move.width = 640;
   move.height = 240;
@@ -92,7 +92,7 @@ int main(void) {
     printf("AGP Move failed !!!!\n");
     return 0;
   }
-  
+
   printf("AGP Move ????\n");
   sleep(1);
 
@@ -114,7 +114,7 @@ int main(void) {
     printf("Blit failed !!!!\n");
     return 0;
   }
-  
+
   close(fd);
   return 1;
 }

Modified: trunk/edl.c
==============================================================================
--- trunk/edl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/edl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -22,12 +22,12 @@ static edl_record_ptr edl_alloc_new(edl_
         mp_msg(MSGT_CPLAYER, MSGL_FATAL, MSGTR_EdlOutOfMem);
         exit(1);
     }
-    
+
     if (next_edl_record) // if this isn't the first record, tell the previous one what the new one is.
         next_edl_record->next = new_record;
     new_record->prev = next_edl_record;
     new_record->next = NULL;
-    
+
     return new_record;
 }
 
@@ -81,14 +81,14 @@ edl_record_ptr edl_parse_file(void)
                 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlBadlyFormattedLine,
                        lineCount);
                 continue;
-            } 
- 
+            }
+
             if (next_edl_record && start <= next_edl_record->stop_sec)
             {
                 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlNOValidLine, line);
                 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlBadLineOverlap,
                        next_edl_record->stop_sec, start);
-                continue;    
+                continue;
             }
 
             if (stop <= start)
@@ -110,9 +110,9 @@ edl_record_ptr edl_parse_file(void)
                 next_edl_record->length_sec = 0;
                 next_edl_record->start_sec = start;
                 next_edl_record->stop_sec = start;
-                
+
                 next_edl_record = edl_alloc_new(next_edl_record);
-                
+
                 next_edl_record->action = action;
                 next_edl_record->length_sec = 0;
                 next_edl_record->start_sec = stop;
@@ -128,11 +128,11 @@ edl_record_ptr edl_parse_file(void)
         }
 
         fclose(fd);
-    }        
+    }
 
-    if (edl_records) 
+    if (edl_records)
         mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_EdlRecordsNo, record_count);
-    else 
+    else
         mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_EdlQueueEmpty);
 
     return edl_records;

Modified: trunk/etc/codecs.conf
==============================================================================
--- trunk/etc/codecs.conf	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/etc/codecs.conf	Wed May 13 04:58:57 2009	(r29305)
@@ -2036,7 +2036,7 @@ videocodec kensington
   status working
   fourcc AJPG,ABYR
   fourcc LBYR,JBYR  ; untested, creative labs cam
-  fourcc UV12               ; untested 
+  fourcc UV12               ; untested
   driver vfw
   dll "aoxdxipl.ax"
   out BGR24 flip
@@ -2150,7 +2150,7 @@ videocodec bwmpeg
   fourcc BW10
   driver vfwex
   dll "bw10.dll" ;requires vtaccess.dll
-  out YV12,YUY2,I420  
+  out YV12,YUY2,I420
 
 videocodec zdsoft
   info "zdsoft screen recorder"

Modified: trunk/etc/input.conf
==============================================================================
--- trunk/etc/input.conf	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/etc/input.conf	Wed May 13 04:58:57 2009	(r29305)
@@ -63,8 +63,8 @@ r sub_pos -1            # move subtitles
 t sub_pos +1            #                down
 #? sub_step +1		# immediately display next subtitle
 #? sub_step -1		#                     previous
-#? sub_scale +0.1	# increase subtitle font size 
-#? sub_scale -0.1	# decrease subtitle font size                  
+#? sub_scale +0.1	# increase subtitle font size
+#? sub_scale -0.1	# decrease subtitle font size
 f vo_fullscreen
 T vo_ontop              # toggle video window ontop of other windows
 w panscan -0.1          # zoom out with -panscan 0 -fs

Modified: trunk/etc/menu.conf
==============================================================================
--- trunk/etc/menu.conf	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/etc/menu.conf	Wed May 13 04:58:57 2009	(r29305)
@@ -77,7 +77,7 @@
       <e property="sub" name="Subtitles"/>
       <e property="sub_visibility" name="Visibility"/>
       <e property="sub_forced_only" name="Forced sub only"/>
-      <e property="sub_alignment" name="Alignment"/>   
+      <e property="sub_alignment" name="Alignment"/>
       <e property="sub_pos" name="Position"/>
       <e property="sub_delay" name="Delay"/>
       <e property="sub_scale" name="Scale"/>

Modified: trunk/find_sub.c
==============================================================================
--- trunk/find_sub.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/find_sub.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,5 +1,5 @@
 //**************************************************************************//
-//             .SUB 
+//             .SUB
 //**************************************************************************//
 
 #include "config.h"
@@ -24,7 +24,7 @@ extern float sub_delay;
 extern float  sub_fps;
 
 void step_sub(sub_data *subd, float pts, int movement) {
-    subtitle *subs; 
+    subtitle *subs;
     int key;
 
     if (subd == NULL) return;
@@ -55,10 +55,10 @@ void step_sub(sub_data *subd, float pts,
 void find_sub(sub_data* subd,int key){
     subtitle *subs;
     int i,j;
-    
+
     if ( !subd || subd->sub_num == 0) return;
     subs = subd->subtitles;
-    
+
     if (last_sub_data != subd) {
         // Sub data changed, reset nosub range.
         last_sub_data = subd;
@@ -80,9 +80,9 @@ void find_sub(sub_data* subd,int key){
       vo_sub=NULL; // no sub here
       return;
     }
-    
+
 //    printf("\r---- sub changed ----\n");
-    
+
     // check next sub.
     if(current_sub>=0 && current_sub+1 < subd->sub_num){
       if(key>subs[current_sub].end && key<subs[current_sub+1].start){
@@ -99,9 +99,9 @@ void find_sub(sub_data* subd,int key){
     }
 
 //    printf("\r---- sub log search... ----\n");
-    
+
     // use logarithmic search:
-    i=0; 
+    i=0;
     j = subd->sub_num - 1;
 //    printf("Searching %d in %d..%d\n",key,subs[i].start,subs[j].end);
     while(j>=i){
@@ -112,7 +112,7 @@ void find_sub(sub_data* subd,int key){
         else return; // found!
     }
 //    if(key>=vo_sub->start && key<=vo_sub->end) return; // OK!
-    
+
     // check where are we...
     if(key<vo_sub->start){
       if(current_sub<=0){
@@ -152,7 +152,7 @@ void find_sub(sub_data* subd,int key){
           return;
       }
     }
-    
+
     mp_msg(MSGT_FIXME,MSGL_FIXME,"SUB ERROR:  %d  ?  %d --- %d  [%d]  \n",key,(int)vo_sub->start,(int)vo_sub->end,current_sub);
 
     vo_sub=NULL; // no sub here

Modified: trunk/gui/app.c
==============================================================================
--- trunk/gui/app.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/app.c	Wed May 13 04:58:57 2009	(r29305)
@@ -72,7 +72,7 @@ static const evName evNames[] =
   { evSetMoviePosition,  "evSetMoviePosition"  },
   { evSetVolume,         "evSetVolume"         },
   { evSetBalance,        "evSetBalance"        },
-  { evHelp,		 "evHelp"	       },	
+  { evHelp,		 "evHelp"	       },
   { evLoadSubtitle,      "evLoadSubtitle"      },
   { evPlayDVD,		 "evPlayDVD"	       },
   { evPlayVCD,		 "evPlayVCD"	       },
@@ -108,7 +108,7 @@ void appClearItem( wItem * item )
  item->tmp=0;
  item->key=0; item->key2=0;
  item->Bitmap.Width=0; item->Bitmap.Height=0; item->Bitmap.BPP=0; item->Bitmap.ImageSize=0;
- if ( item->Bitmap.Image ) free( item->Bitmap.Image ); 
+ if ( item->Bitmap.Image ) free( item->Bitmap.Image );
  item->Bitmap.Image=NULL;
 // ---
  item->fontid=0;
@@ -235,5 +235,5 @@ void btnSet( int event,int set )
     { appMPlayer.Items[j].pressed=set; appMPlayer.barItems[j].tmp=0; }
  for ( j=0;j<appMPlayer.NumberOfBarItems + 1;j++ )
    if ( appMPlayer.barItems[j].msg == event )
-    { appMPlayer.barItems[j].pressed=set; appMPlayer.barItems[j].tmp=0; } 
+    { appMPlayer.barItems[j].pressed=set; appMPlayer.barItems[j].tmp=0; }
 }

Modified: trunk/gui/app.h
==============================================================================
--- trunk/gui/app.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/app.h	Wed May 13 04:58:57 2009	(r29305)
@@ -150,7 +150,7 @@ typedef struct
  char     * label;
 // ---
  int        event;
-// --- 
+// ---
  int        R,G,B;
 } wItem;
 
@@ -166,7 +166,7 @@ typedef struct
  wItem           bar;
  wsTWindow       barWindow;
  int             barIsPresent;
-  
+
  wItem           menuBase;
  wItem           menuSelected;
  wsTWindow       menuWindow;

Modified: trunk/gui/bitmap.c
==============================================================================
--- trunk/gui/bitmap.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/bitmap.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,9 +34,9 @@ static int pngRead( unsigned char * fnam
  int             len;
  AVCodecContext *avctx;
  AVFrame        *frame;
- 
+
  FILE *fp=fopen( fname,"rb" );
- if ( !fp ) 
+ if ( !fp )
   {
    mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[png] file read error ( %s )\n",fname );
    return 1;
@@ -108,10 +108,10 @@ static int conv24to32( txSample * bf )
 static void Normalize( txSample * bf )
 {
  int           i;
-#ifndef WORDS_BIGENDIAN 
+#ifndef WORDS_BIGENDIAN
  for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i+3]=0;
 #else
- for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i]=0; 
+ for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i]=0;
 #endif
 }
 
@@ -146,7 +146,7 @@ int bpRead( char * fname, txSample * bf 
 {
  fname=fExist( fname );
  if ( fname == NULL ) return -2;
- if ( pngRead( fname,bf ) ) 
+ if ( pngRead( fname,bf ) )
   {
    mp_dbg( MSGT_GPLAYER,MSGL_FATAL,"[bitmap] unknown file type ( %s )\n",fname );
    return -5;

Modified: trunk/gui/cfg.c
==============================================================================
--- trunk/gui/cfg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/cfg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -106,7 +106,7 @@ static m_config_t * gui_conf;
 static const m_option_t gui_opts[] =
 {
  { "enable_audio_equ",&gtkEnableAudioEqualizer,CONF_TYPE_FLAG,0,0,1,NULL },
- 
+
  { "vo_driver",&video_driver_list,CONF_TYPE_STRING_LIST,0,0,0,NULL },
  { "vo_panscan",&vo_panscan,CONF_TYPE_FLOAT,CONF_RANGE,0.0,1.0,NULL },
  { "vo_doublebuffering",&vo_doublebuffering,CONF_TYPE_FLAG,0,0,1,NULL },
@@ -153,7 +153,7 @@ static const m_option_t gui_opts[] =
 
  { "dvd_device",&dvd_device,CONF_TYPE_STRING,0,0,0,NULL },
  { "cdrom_device",&cdrom_device,CONF_TYPE_STRING,0,0,0,NULL },
- 
+
  { "osd_level",&osd_level,CONF_TYPE_INT,CONF_RANGE,0,3,NULL },
  { "sub_auto_load",&sub_auto,CONF_TYPE_FLAG,0,0,1,NULL },
  { "sub_unicode",&sub_unicode,CONF_TYPE_FLAG,0,0,1,NULL },
@@ -182,14 +182,14 @@ static const m_option_t gui_opts[] =
  { "cache",&gtkCacheOn,CONF_TYPE_FLAG,0,0,1,NULL },
  { "cache_size",&gtkCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL },
 
- { "playbar",&gtkEnablePlayBar,CONF_TYPE_FLAG,0,0,1,NULL }, 
+ { "playbar",&gtkEnablePlayBar,CONF_TYPE_FLAG,0,0,1,NULL },
  { "load_fullscreen",&gtkLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL },
  { "show_videowin", &gtkShowVideoWindow,CONF_TYPE_FLAG,0,0,1,NULL },
  { "stopxscreensaver",&stop_xscreensaver,CONF_TYPE_FLAG,0,0,1,NULL },
 
  { "autosync",&gtkAutoSyncOn,CONF_TYPE_FLAG,0,0,1,NULL },
  { "autosync_size",&gtkAutoSync,CONF_TYPE_INT,CONF_RANGE,0,10000,NULL },
- 
+
  { "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL },
 
  { "gui_save_pos", &gui_save_pos, CONF_TYPE_FLAG,0,0,1,NULL},
@@ -204,7 +204,7 @@ static const m_option_t gui_opts[] =
  { "equ_channel_4",&gtkEquChannel4,CONF_TYPE_STRING,0,0,0,NULL },
  { "equ_channel_5",&gtkEquChannel5,CONF_TYPE_STRING,0,0,0,NULL },
  { "equ_channel_6",&gtkEquChannel6,CONF_TYPE_STRING,0,0,0,NULL },
- 
+
 #if 1
 #define audio_equ_row( i,j ) { "equ_band_"#i#j,&gtkEquChannels[i][j],CONF_TYPE_FLOAT,CONF_RANGE,-15.0,15.0,NULL },
    audio_equ_row( 0,0 ) audio_equ_row( 0,1 ) audio_equ_row( 0,2 ) audio_equ_row( 0,3 ) audio_equ_row( 0,4 ) audio_equ_row( 0,5 ) audio_equ_row( 0,6 ) audio_equ_row( 0,7 ) audio_equ_row( 0,8 ) audio_equ_row( 0,9 )
@@ -240,7 +240,7 @@ int cfg_read( void )
  mp_msg( MSGT_GPLAYER,MSGL_V,"[cfg] reading config file: %s\n",cfg );
  gui_conf=m_config_new();
  m_config_register_options( gui_conf,gui_opts );
- if ( !disable_gui_conf && m_config_parse_config_file( gui_conf,cfg ) < 0 ) 
+ if ( !disable_gui_conf && m_config_parse_config_file( gui_conf,cfg ) < 0 )
   {
    mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_ConfigFileError );
 //   exit( 1 );
@@ -305,7 +305,7 @@ int cfg_write( void )
  FILE * f;
  int    i;
 
-// -- save configuration 
+// -- save configuration
  if ( (f=fopen( cfg,"wt+" )) )
   {
    for ( i=0;gui_opts[i].name;i++ )
@@ -323,7 +323,7 @@ int cfg_write( void )
    fclose( f );
   }
  free( cfg );
- 
+
 // -- save playlist
  cfg=get_path( "gui.pl" );
  if ( (f=fopen( cfg,"wt+" )) )
@@ -332,7 +332,7 @@ int cfg_write( void )
    while ( plCurrent )
     {
      if ( plCurrent->path && plCurrent->name )
-      { 
+      {
        fprintf( f,"%s\n",plCurrent->path );
        fprintf( f,"%s\n",plCurrent->name );
       }

Modified: trunk/gui/interface.c
==============================================================================
--- trunk/gui/interface.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/interface.c	Wed May 13 04:58:57 2009	(r29305)
@@ -82,10 +82,10 @@ char * gstrcat( char ** dest,const char 
  if ( *dest )
   {
    tmp=malloc( strlen( *dest ) + strlen( src ) + 1 );
-   
+
    if ( tmp ) /* TODO: advanced error handling */
     {
-     strcpy( tmp,*dest ); strcat( tmp,src ); free( *dest ); 
+     strcpy( tmp,*dest ); strcat( tmp,src ); free( *dest );
     }
    }
   else
@@ -175,7 +175,7 @@ void greplace(char ***list, const char *
  (*list)[i] = gstrdup(replace);
  (*list)[i + 1] = NULL;
 }
-							    
+
 void guiInit( void )
 {
  int i;
@@ -191,7 +191,7 @@ void guiInit( void )
  if ( stream_cache_size > 0 ) { gtkCacheOn=1; gtkCacheSize=stream_cache_size; }
  else if ( stream_cache_size == 0 ) gtkCacheOn = 0;
  if ( autosync && autosync != gtkAutoSync ) { gtkAutoSyncOn=1; gtkAutoSync=autosync; }
-   
+
 #ifdef CONFIG_ASS
  gtkASS.enabled = ass_enabled;
  gtkASS.use_margins = ass_use_margins;
@@ -200,7 +200,7 @@ void guiInit( void )
 #endif
 
  gtkInit();
-// --- initialize X 
+// --- initialize X
  wsXInit( (void *)mDisplay );
 // --- load skin
  skinDirInHome=get_path("skins");
@@ -245,7 +245,7 @@ void guiInit( void )
     appMPlayer.sub.y=0;
    }
   if (guiWinID>=0) appMPlayer.mainWindow.Parent=guiWinID;
- 
+
  wsCreateWindow( &appMPlayer.subWindow,
   appMPlayer.sub.x,appMPlayer.sub.y,appMPlayer.sub.width,appMPlayer.sub.height,
   wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsShowFrame|wsHideWindow,"MPlayer - Video" );
@@ -295,11 +295,11 @@ void guiInit( void )
 
  wsSetIcon( wsDisplay,appMPlayer.mainWindow.WindowID,guiIcon,guiIconMask );
  wsSetIcon( wsDisplay,appMPlayer.subWindow.WindowID,guiIcon,guiIconMask );
- 
+
  guiIntfStruct.Playing=0;
 
  if ( !appMPlayer.mainDecoration ) wsWindowDecoration( &appMPlayer.mainWindow,0 );
- 
+
  wsVisibleWindow( &appMPlayer.mainWindow,wsShowWindow );
 #if 0
  wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
@@ -369,7 +369,7 @@ void guiDone( void )
    gui_main_pos_x=appMPlayer.mainWindow.X; gui_main_pos_y=appMPlayer.mainWindow.Y;
    gui_sub_pos_x=appMPlayer.subWindow.X; gui_sub_pos_y=appMPlayer.subWindow.Y;
   }
- 
+
 #ifdef CONFIG_ASS
  ass_enabled = gtkASS.enabled;
  ass_use_margins = gtkASS.use_margins;
@@ -426,7 +426,7 @@ void guiLoadFont( void )
   {
    vo_font=read_font_desc( font_name,font_factor,0 );
    if ( !vo_font ) mp_msg( MSGT_CPLAYER,MSGL_ERR,MSGTR_CantLoadFont,font_name );
-  } 
+  }
   else
    {
     font_name=gstrdup( get_path( "font/font.desc" ) );
@@ -479,9 +479,9 @@ void guiLoadSubtitle( char * name )
    mp_msg( MSGT_GPLAYER,MSGL_INFO,MSGTR_LoadingSubtitles,name );
    subdata=sub_read_file( name, guiIntfStruct.FPS );
    if ( !subdata ) mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_CantLoadSub,name );
-   sub_name = (malloc(2 * sizeof(char*))); //when mplayer will be restarted 
-   sub_name[0] = strdup(name);             //sub_name[0] will be read 
-   sub_name[1] = NULL;  
+   sub_name = (malloc(2 * sizeof(char*))); //when mplayer will be restarted
+   sub_name[0] = strdup(name);             //sub_name[0] will be read
+   sub_name[1] = NULL;
   }
  update_set_of_subtitles();
 
@@ -530,7 +530,7 @@ int guiGetEvent( int type,char * arg )
  stream_t * stream = (stream_t *) arg;
 #ifdef CONFIG_DVDREAD
  dvd_priv_t * dvdp = (dvd_priv_t *) arg;
-#endif 
+#endif
 
  if (guiIntfStruct.mpcontext) {
    audio_out = mpctx_get_audio_out(guiIntfStruct.mpcontext);
@@ -548,7 +548,7 @@ int guiGetEvent( int type,char * arg )
    case guiCEvent:
         switch ( (int)arg )
 	 {
-	  case guiSetPlay: 
+	  case guiSetPlay:
 	       guiIntfStruct.Playing=1;
 //	       if ( !gtkShowVideoWindow ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
 	       break;
@@ -612,15 +612,15 @@ int guiGetEvent( int type,char * arg )
 	switch( stream->type )
 	 {
 #ifdef CONFIG_DVDREAD
-	  case STREAMTYPE_DVD: 
+	  case STREAMTYPE_DVD:
 	       guiGetEvent( guiSetDVD,(char *)stream->priv );
 	       break;
 #endif
 #ifdef CONFIG_VCD
-	  case STREAMTYPE_VCD: 
+	  case STREAMTYPE_VCD:
 	       {
 	        int i;
-		
+
 		if (!stream->priv)
 		{
 		    guiIntfStruct.VCDTracks=0;
@@ -678,10 +678,10 @@ int guiGetEvent( int type,char * arg )
 	 }
 
 	if ( guiIntfStruct.NoWindow ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
-	
+
 	if ( guiIntfStruct.StreamType == STREAMTYPE_STREAM ) btnSet( evSetMoviePosition,btnDisabled );
 	 else btnSet( evSetMoviePosition,btnReleased );
-	 
+
 // -- audio
         if ( audio_out )
 	{
@@ -732,14 +732,14 @@ int guiGetEvent( int type,char * arg )
 	  vcd_track=0;
 	  dvd_title=0;
 	  force_fps=0;
-	 }				
+	 }
 	guiIntfStruct.demuxer=NULL;
 	guiIntfStruct.sh_video=NULL;
 	wsPostRedisplay( &appMPlayer.subWindow );
 	break;
    case guiSetParameters:
         guiGetEvent( guiSetDefaults,NULL );
-        switch ( guiIntfStruct.StreamType ) 
+        switch ( guiIntfStruct.StreamType )
          {
 	  case STREAMTYPE_PLAYLIST:
 	       break;
@@ -765,32 +765,32 @@ int guiGetEvent( int type,char * arg )
 #endif
 	 }
 	//if ( guiIntfStruct.StreamType != STREAMTYPE_PLAYLIST ) // Does not make problems anymore!
-	 {	
+	 {
 	  if ( guiIntfStruct.Filename ) filename=gstrdup( guiIntfStruct.Filename );
 	   else if ( filename ) guiSetFilename( guiIntfStruct.Filename,filename );
 	 }
 // --- video opts
-       
+
        if ( !video_driver_list )
 	{
          int i = 0;
            while ( video_out_drivers[i++] )
-	    if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) 
+	    if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
 	     {
 	      gaddlist( &video_driver_list,(char *)video_out_drivers[i - 1]->info->short_name );
 	      break;
 	     }
 	 }
-	
+
 	if ( !video_driver_list && !video_driver_list[0] ) { gtkMessageBox( GTK_MB_FATAL,MSGTR_IDFGCVD ); exit_player( "gui init" ); }
 
 	{
 	 int i = 0;
          guiIntfStruct.NoWindow=False;
          while ( video_out_drivers[i++] )
-	  if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) 
+	  if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
 	   {
-	    if  ( ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) )&&( video_out_drivers[i - 1]->control( VOCTRL_GUI_NOWINDOW,NULL ) == VO_TRUE ) ) 
+	    if  ( ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) )&&( video_out_drivers[i - 1]->control( VOCTRL_GUI_NOWINDOW,NULL ) == VO_TRUE ) )
 	      { guiIntfStruct.NoWindow=True; break; }
 	   }
 	}
@@ -809,10 +809,10 @@ int guiGetEvent( int type,char * arg )
 	   }
 	 }
 #endif
-// ---	 
+// ---
 	if ( gtkVfPP ) add_vf( "pp" );
 	 else remove_vf( "pp" );
-		 
+
 // --- audio opts
 //	if ( ao_plugin_cfg.plugin_list ) { free( ao_plugin_cfg.plugin_list ); ao_plugin_cfg.plugin_list=NULL; }
 	if (gtkAONorm)
@@ -891,14 +891,14 @@ int guiGetEvent( int type,char * arg )
 	gtkSubDumpMPSub=gtkSubDumpSrt=0;
         guiLoadFont();
 
-// --- misc		    
+// --- misc
 	if ( gtkCacheOn ) stream_cache_size=gtkCacheSize;
 	if ( gtkAutoSyncOn ) autosync=gtkAutoSync;
 
         if ( guiIntfStruct.AudioFile ) audio_stream=gstrdup( guiIntfStruct.AudioFile );
 	  else if ( guiIntfStruct.FilenameChanged ) gfree( (void**)&audio_stream );
 	  //audio_stream=NULL;
-	
+
         guiIntfStruct.DiskChanged=0;
         guiIntfStruct.FilenameChanged=0;
         guiIntfStruct.NewPlay=0;
@@ -921,7 +921,7 @@ void guiEventHandling( void )
  gtkEventHandling();
 }
 
-// --- 
+// ---
 
 float gtkEquChannels[6][10];
 
@@ -953,7 +953,7 @@ void * gtkSet( int cmd,float fparam, voi
 {
  equalizer_t * eq = (equalizer_t *)vparam;
  plItem      * item = (plItem *)vparam;
- 
+
  URLItem     * url_item = (URLItem *)vparam;
  int           is_added = True;
 
@@ -988,7 +988,7 @@ void * gtkSet( int cmd,float fparam, voi
 	if ( plCurrent && plCurrent->next)
 	 {
 	  plCurrent=plCurrent->next;
-	  /*if ( !plCurrent && plList ) 
+	  /*if ( !plCurrent && plList )
 	   {
 	    plItem * next = plList;
 	    while ( next->next ) { if ( !next->next ) break; next=next->next; }
@@ -1026,7 +1026,7 @@ void * gtkSet( int cmd,float fparam, voi
 	 // Free it
 	 if ( curr->path ) free( curr->path );
 	 if ( curr->name ) free( curr->name );
-	 free( curr ); 
+	 free( curr );
         }
 	mplCurr(); // Instead of using mplNext && mplPrev
 
@@ -1040,7 +1040,7 @@ void * gtkSet( int cmd,float fparam, voi
 	  {
 	   if ( curr->path ) free( curr->path );
 	   if ( curr->name ) free( curr->name );
-	   free( curr ); 
+	   free( curr );
 	  }
 	  else
 	   {
@@ -1049,7 +1049,7 @@ void * gtkSet( int cmd,float fparam, voi
 	      next=curr->next;
 	      if ( curr->path ) free( curr->path );
 	      if ( curr->name ) free( curr->name );
-	      free( curr ); 
+	      free( curr );
 	      curr=next;
 	     }
 	   }
@@ -1201,7 +1201,7 @@ int import_file_into_gui(char* temp, int
 {
   char *filename, *pathname;
   plItem * item;
-	
+
   filename = strdup(mp_basename(temp));
   pathname = strdup(temp);
   if (strlen(pathname)-strlen(filename)>0)
@@ -1231,10 +1231,10 @@ int import_initial_playtree_into_gui(pla
 {
   play_tree_iter_t* my_pt_iter=NULL;
   int result=0;
-  
+
   if (!enqueue) // Delete playlist before "appending"
     gtkSet(gtkDelPl,0,0);
-  
+
   if((my_pt_iter=pt_iter_create(&my_playtree,config)))
   {
     while ((filename=pt_iter_get_next_file(my_pt_iter))!=NULL)
@@ -1250,7 +1250,7 @@ int import_initial_playtree_into_gui(pla
   if (!enqueue)
     filename=guiIntfStruct.Filename; // Backward compatibility; if file is specified on commandline,
   				     // gmplayer does directly start in Play-Mode.
-  else 
+  else
     filename=NULL;
 
   return result;
@@ -1262,7 +1262,7 @@ int import_initial_playtree_into_gui(pla
 // The file which contained the playlist is thereby replaced with it's contents.
 
 int import_playtree_playlist_into_gui(play_tree_t* my_playtree, m_config_t* config)
-{ 
+{
   play_tree_iter_t* my_pt_iter=NULL;
   int result=0;
   plItem * save=(plItem*)gtkSet( gtkGetCurrPlItem, 0, 0); // Save current item
@@ -1271,23 +1271,23 @@ int import_playtree_playlist_into_gui(pl
   {
     while ((filename=pt_iter_get_next_file(my_pt_iter))!=NULL)
     {
-      if (import_file_into_gui(filename, 1)) // insert it into the list and set plCurrent=new item 
+      if (import_file_into_gui(filename, 1)) // insert it into the list and set plCurrent=new item
         result=1;
     }
     pt_iter_destroy(&my_pt_iter);
   }
 
-  if (save) 
+  if (save)
     gtkSet(gtkSetCurrPlItem, 0, (void*)save);
   else
     gtkSet(gtkSetCurrPlItem, 0, (void*)plList); // go to head, if plList was empty before
 
   if (save && result)
     gtkSet(gtkDelCurrPlItem, 0, 0);
-  
+
   mplCurr();  // Update filename
   filename=NULL;
-  
+
   return result;
 }
 

Modified: trunk/gui/interface.h
==============================================================================
--- trunk/gui/interface.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/interface.h	Wed May 13 04:58:57 2009	(r29305)
@@ -70,7 +70,7 @@ typedef struct
    guiResizeStruct       resize;
    guiVideoStruct        videodata;
    guiUnknownErrorStruct error;
-   
+
    struct MPContext * mpcontext;
    void * sh_video;
    void * afilter;
@@ -116,10 +116,10 @@ typedef struct
 
    char * Subtitlename;
    int    SubtitleChanged;
-   
+
    char * Othername;
    int    OtherChanged;
-   
+
    char * AudioFile;
    int    AudioFileChanged;
 

Modified: trunk/gui/mplayer/gtk/about.c
==============================================================================
--- trunk/gui/mplayer/gtk/about.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/about.c	Wed May 13 04:58:57 2009	(r29305)
@@ -69,7 +69,7 @@ GtkWidget * create_About( void )
 
   gtk_widget_realize( About );
   gtkAddIcon( About );
-  
+
   vbox=AddVBox( AddDialogFrame( About ),0 );
 
   pixmapstyle=gtk_widget_get_style( About );
@@ -94,8 +94,8 @@ GtkWidget * create_About( void )
   gtk_text_view_set_editable(GTK_TEXT_VIEW(AboutText), FALSE);
   gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(AboutText), FALSE);
   AboutTextBuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (AboutText));
-  gtk_text_buffer_get_iter_at_offset (AboutTextBuffer, &iter, 0);  
-#else  
+  gtk_text_buffer_get_iter_at_offset (AboutTextBuffer, &iter, 0);
+#else
   AboutText=gtk_text_new( NULL,NULL );
   gtk_text_set_editable(GTK_TEXT(AboutText), FALSE);
 #endif
@@ -103,15 +103,15 @@ GtkWidget * create_About( void )
   gtk_widget_show( AboutText );
   gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),AboutText );
 #ifdef CONFIG_GTK2
-  gtk_text_buffer_insert (AboutTextBuffer, &iter,   
-#else  
+  gtk_text_buffer_insert (AboutTextBuffer, &iter,
+#else
   gtk_text_insert( GTK_TEXT( AboutText ),NULL,NULL,NULL,
 #endif
-  	"\n" 
-	MSGTR_ABOUT_UHU 
-	"             (http://www.uhulinux.hu/)\n" 
-	"\n" 
-	MSGTR_ABOUT_Contributors 
+  	"\n"
+	MSGTR_ABOUT_UHU
+	"             (http://www.uhulinux.hu/)\n"
+	"\n"
+	MSGTR_ABOUT_Contributors
 	"\n"
 	"     * Ackermann, Andreas\n"
 	"     * adland\n"
@@ -267,8 +267,8 @@ GtkWidget * create_About( void )
 	"     * Zealey, Mark\n"
 	"     * Ziv-Av, Matan\n"
 	"     * Zoltán, Márk Vicián\n"
-	"\n" 
-	MSGTR_ABOUT_Codecs_libs_contributions 
+	"\n"
+	MSGTR_ABOUT_Codecs_libs_contributions
 	"\n"
 	"     * Bellard, Fabrice\n"
 	"     * Chappelier, Vivien and Vincent, Damien\n"
@@ -280,7 +280,7 @@ GtkWidget * create_About( void )
 	"     * Lespinasse, Michel\n"
 	"     * Podlipec, Mark\n"
 	"\n"
-	MSGTR_ABOUT_Translations 
+	MSGTR_ABOUT_Translations
 	"\n"
 	"     * Biernat, Marcin\n"
 	"     * Fargas, Marc\n"
@@ -297,8 +297,8 @@ GtkWidget * create_About( void )
 	"     * Schiller, Wacław\n"
 	"     * Zubimendi, Andoni\n"
 	"\n"
-	MSGTR_ABOUT_Skins 
-	"\n" 
+	MSGTR_ABOUT_Skins
+	"\n"
 	"     * Azrael\n"
 	"     * Bekesi, Viktor\n"
 	"     * Burt.S.\n"

Modified: trunk/gui/mplayer/gtk/eq.c
==============================================================================
--- trunk/gui/mplayer/gtk/eq.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/eq.c	Wed May 13 04:58:57 2009	(r29305)
@@ -91,7 +91,7 @@ static void eqSetBands( int channel )
    get_video_colors( guiIntfStruct.sh_video,"hue",&vo_gamma_hue );
    get_video_colors( guiIntfStruct.sh_video,"saturation",&vo_gamma_saturation );
   }
-										    
+
  gtk_adjustment_set_value( VContrastadj,(float)vo_gamma_contrast );
  gtk_adjustment_set_value( VBrightnessadj,(float)vo_gamma_brightness );
  gtk_adjustment_set_value( VHueadj,(float)vo_gamma_hue );
@@ -177,7 +177,7 @@ void HideEqualizer( void )
 static gboolean eqHScaleMotion( GtkWidget * widget,GdkEventMotion  * event,gpointer user_data )
 {
  equalizer_t eq;
- switch ( (int)user_data ) 
+ switch ( (int)user_data )
   {
    case 0: eq.gain=A3125adj->value; break;
    case 1: eq.gain=A6250adj->value; break;
@@ -193,13 +193,13 @@ static gboolean eqHScaleMotion( GtkWidge
   }
  eq.gain=0.0f - eq.gain;
  eq.band=(int)user_data;
- if ( Channel == -1 ) 
+ if ( Channel == -1 )
   {
    int i;
    for ( i=0;i<6;i++ )
     { eq.channel=i; gtkSet( gtkSetEqualizer,0,&eq ); }
   } else { eq.channel=Channel; gtkSet( gtkSetEqualizer,0,&eq ); }
-  
+
  return FALSE;
 }
 
@@ -218,16 +218,16 @@ static gboolean eqVScaleMotion( GtkWidge
 }
 
 static void eqButtonReleased( GtkButton * button,gpointer user_data )
-{ 
+{
  switch( (int)user_data )
   {
    case 0: HideEqualizer(); break;
-   case 1: 
+   case 1:
 	if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( Notebook ) ) == 0 )
-	 { 
+	 {
 	  if ( !guiIntfStruct.Playing || !gtkEnableAudioEqualizer ) break;
-	  gtkSet( gtkSetEqualizer,0,NULL ); 
-	  eqSetBands( Channel ); 
+	  gtkSet( gtkSetEqualizer,0,NULL );
+	  eqSetBands( Channel );
 	 }
 	 else
 	  {
@@ -324,7 +324,7 @@ GtkWidget * create_Equalizer( void )
   A3125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) );
   A3125=AddVScaler( A3125adj,NULL,-1 );
     gtk_table_attach( GTK_TABLE( table1 ),A3125,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 );
-  
+
   A6250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) );
   A6250=AddVScaler( A6250adj,NULL,-1 );
     gtk_table_attach( GTK_TABLE( table1 ),A6250,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 );
@@ -408,7 +408,7 @@ GtkWidget * create_Equalizer( void )
   gtk_widget_set_name( table1,"table1" );
   gtk_widget_show( table1 );
   gtk_container_add( GTK_CONTAINER( Notebook ),table1 );
-  
+
   gtk_table_attach( GTK_TABLE( table1 ),
     AddLabel( MSGTR_EQU_Contrast,NULL ),
     0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
@@ -457,7 +457,7 @@ GtkWidget * create_Equalizer( void )
   Config=AddButton( MSGTR_Config,hbuttonbox1 );
   Clear=AddButton( MSGTR_Clear,hbuttonbox1 );
   Ok=AddButton( MSGTR_Ok,hbuttonbox1 );
-  
+
   gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
   gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
 
@@ -481,7 +481,7 @@ GtkWidget * create_Equalizer( void )
   gtk_signal_connect( GTK_OBJECT( VBrightness ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)2 );
   gtk_signal_connect( GTK_OBJECT( VHue ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)3 );
   gtk_signal_connect( GTK_OBJECT( VSaturation ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void *)4 );
-  
+
   gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)0 );
   gtk_signal_connect( GTK_OBJECT( Clear ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)1 );
   gtk_signal_connect( GTK_OBJECT( Config ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)2 );
@@ -518,14 +518,14 @@ void ShowEquConfig( void )
 
  if ( EquConfig ) gtkActive( EquConfig );
     else EquConfig=create_EquConfig();
-	
+
  Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Right  );
  Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Left );
  Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Right );
  Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Left );
  Items=g_list_append( Items,(gpointer)MSGTR_EQU_Center );
  Items=g_list_append( Items,(gpointer)MSGTR_EQU_Bass );
- 
+
  gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel1 ),Items );
  gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel2 ),Items );
  gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel3 ),Items );
@@ -550,7 +550,7 @@ void HideEquConfig( void )
 {
  if ( !EquConfig ) return;
  gtk_widget_hide( EquConfig );
- gtk_widget_destroy( EquConfig ); 
+ gtk_widget_destroy( EquConfig );
  EquConfig=NULL;
 }
 
@@ -634,35 +634,35 @@ GtkWidget * create_EquConfig( void )
 
   CBChannel2=AddComboBox( NULL );
     gtk_table_attach( GTK_TABLE( table1 ),CBChannel2,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
-  
+
   CEChannel2=GTK_COMBO( CBChannel2 )->entry;
   gtk_widget_set_name( CEChannel2,"CEChannel2" );
   gtk_widget_show( CEChannel2 );
 
   CBChannel3=AddComboBox( NULL );
     gtk_table_attach( GTK_TABLE( table1 ),CBChannel3,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
-  
+
   CEChannel3=GTK_COMBO( CBChannel3 )->entry;
   gtk_widget_set_name( CEChannel3,"CEChannel3" );
   gtk_widget_show( CEChannel3 );
 
   CBChannel4=AddComboBox( NULL );
     gtk_table_attach( GTK_TABLE( table1 ),CBChannel4,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
-  
+
   CEChannel4=GTK_COMBO( CBChannel4 )->entry;
   gtk_widget_set_name( CEChannel4,"CEChannel4" );
   gtk_widget_show( CEChannel4 );
 
   CBChannel5=AddComboBox( NULL );
     gtk_table_attach( GTK_TABLE( table1 ),CBChannel5,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
-  
+
   CEChannel5=GTK_COMBO( CBChannel5 )->entry;
   gtk_widget_set_name( CEChannel5,"CEChannel5" );
   gtk_widget_show( CEChannel5 );
 
   CBChannel6=AddComboBox( NULL );
     gtk_table_attach( GTK_TABLE( table1 ),CBChannel6,1,2,5,6,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
-  
+
   CEChannel6=GTK_COMBO( CBChannel6 )->entry;
   gtk_widget_set_name( CEChannel6,"CEChannel6" );
   gtk_widget_show( CEChannel6 );
@@ -680,7 +680,7 @@ GtkWidget * create_EquConfig( void )
   gtk_widget_add_accelerator( ecCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
 
   gtk_signal_connect( GTK_OBJECT( EquConfig ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&EquConfig );
-  
+
   gtk_signal_connect( GTK_OBJECT( ecOk ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)1 );
   gtk_signal_connect( GTK_OBJECT( ecCancel ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)0 );
 

Modified: trunk/gui/mplayer/gtk/gtk_common.c
==============================================================================
--- trunk/gui/mplayer/gtk/gtk_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/gtk_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -71,7 +71,7 @@ GtkWidget * AddVBox( GtkWidget * parent,
  vbox=gtk_vbox_new( FALSE,0 );
  gtk_widget_set_name( vbox,"vbox" );
  gtk_widget_show( vbox );
- if ( parent ) 
+ if ( parent )
   {
    if ( type ) gtk_box_pack_start( GTK_BOX( parent ),vbox,FALSE,FALSE,0 );
     else gtk_container_add( GTK_CONTAINER( parent ),vbox );

Modified: trunk/gui/mplayer/gtk/gtk_url.c
==============================================================================
--- trunk/gui/mplayer/gtk/gtk_url.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/gtk_url.c	Wed May 13 04:58:57 2009	(r29305)
@@ -44,7 +44,7 @@ void ShowURLDialogBox( void )
 {
  if ( URL ) gtkActive( URL );
    else URL=create_URL();
-   
+
  if ( URLList )
   {
    URLItem * item = URLList;
@@ -56,13 +56,13 @@ void ShowURLDialogBox( void )
      item=item->next;
     }
   }
-   
+
  if ( URLComboEntrys )
   {
    gtk_entry_set_text( GTK_ENTRY( URLEntry ),URLComboEntrys->data );
    gtk_combo_set_popdown_strings( GTK_COMBO( URLCombo ),URLComboEntrys );
   }
- 
+
  gtk_widget_show( URL );
 }
 
@@ -75,7 +75,7 @@ void HideURLDialogBox( void )
 }
 
 static void on_Button_pressed( GtkButton * button,gpointer user_data )
-{ 
+{
  URLItem * item;
 
  if ( (int)user_data )
@@ -96,7 +96,7 @@ static void on_Button_pressed( GtkButton
        free( str ); str=tmp;
       }
      URLComboEntrys=g_list_prepend( URLComboEntrys,(gchar *)str );
-     
+
      item=calloc( 1,sizeof( URLItem ) );
      item->url=gstrdup( str );
      gtkSet( gtkAddURLItem,0,(void *)item );
@@ -105,7 +105,7 @@ static void on_Button_pressed( GtkButton
      mplEventHandling( evPlayNetwork,0 );
     }
   }
- HideURLDialogBox(); 
+ HideURLDialogBox();
 }
 
 GtkWidget * create_URL( void )
@@ -128,7 +128,7 @@ GtkWidget * create_URL( void )
  gtk_window_set_position( GTK_WINDOW( URL ),GTK_WIN_POS_CENTER );
  gtk_window_set_policy( GTK_WINDOW( URL ),TRUE,TRUE,FALSE );
  gtk_window_set_wmclass( GTK_WINDOW( URL ),"Network","MPlayer" );
- 
+
  gtk_widget_realize( URL );
  gtkAddIcon( URL );
 
@@ -155,7 +155,7 @@ GtkWidget * create_URL( void )
 
  Ok=AddButton( MSGTR_Ok,hbuttonbox1 );
  Cancel=AddButton( MSGTR_Cancel,hbuttonbox1 );
- 
+
  gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
  gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
 

Modified: trunk/gui/mplayer/gtk/mb.c
==============================================================================
--- trunk/gui/mplayer/gtk/mb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/mb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,9 +38,9 @@ void ShowMessageBox( const char * msg )
 }
 
 static void on_Ok_released( GtkButton * button,gpointer user_data  )
-{ 
- gtk_widget_hide( MessageBox ); 
- gtk_widget_destroy( MessageBox ); 
+{
+ gtk_widget_hide( MessageBox );
+ gtk_widget_destroy( MessageBox );
  MessageBox=NULL;
 }
 
@@ -66,7 +66,7 @@ GtkWidget * create_MessageBox( int type 
  gtk_window_set_modal( GTK_WINDOW( MessageBox ),TRUE );
  gtk_window_set_policy( GTK_WINDOW( MessageBox ),TRUE,TRUE,FALSE );
  gtk_window_set_wmclass( GTK_WINDOW( MessageBox ),"Message","MPlayer" );
- 
+
  gtk_widget_realize( MessageBox );
  gtkAddIcon( MessageBox );
 

Modified: trunk/gui/mplayer/gtk/menu.c
==============================================================================
--- trunk/gui/mplayer/gtk/menu.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/menu.c	Wed May 13 04:58:57 2009	(r29305)
@@ -102,20 +102,20 @@ static GtkWidget * AddMenuCheckItem(GtkW
 
  Item=gtk_check_menu_item_new();
  Label = gtk_label_new (label);
- 
+
  hbox = gtk_hbox_new (FALSE, 8);
  gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0);
  gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0);
  gtk_container_add (GTK_CONTAINER (Item), hbox);
- 
+
  gtk_menu_append( GTK_MENU( Menu ),Item );
- 
+
  gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Item),state);
  gtk_signal_connect_object( GTK_OBJECT(Item),"activate",
    GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number );
  gtk_menu_item_right_justify (GTK_MENU_ITEM (Item));
  gtk_widget_show_all(Item);
-   
+
  return Item;
 }
 GtkWidget * AddMenuItem( GtkWidget *window1, const char * immagine_xpm,  GtkWidget * SubMenu,const char * label,int Number )
@@ -174,10 +174,10 @@ GtkWidget * AddSubMenu( GtkWidget *windo
  gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0);
  gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0);
  gtk_container_add (GTK_CONTAINER (SubItem), hbox);
- 
+
  gtk_menu_append( GTK_MENU( Menu ),SubItem );
  gtk_menu_item_set_submenu( GTK_MENU_ITEM( SubItem ),Item );
- 
+
  gtk_widget_show_all( SubItem );
  return Item;
 }
@@ -451,7 +451,7 @@ GtkWidget * create_PopUpMenu( void )
     AddMenuItem( window1, (const char*)playvcd_xpm, VCDSubMenu,MSGTR_MENU_PlayDisc,evPlayVCD );
     AddSeparator( VCDSubMenu );
     VCDTitleMenu=AddSubMenu( window1, (const char*)title_xpm, VCDSubMenu,MSGTR_MENU_Titles );
-    if ( guiIntfStruct.VCDTracks ) 
+    if ( guiIntfStruct.VCDTracks )
      {
       char tmp[32]; int i;
       for ( i=0;i < guiIntfStruct.VCDTracks;i++ )
@@ -560,7 +560,7 @@ GtkWidget * create_PopUpMenu( void )
 
     for ( i=0;i < MAX_A_STREAMS;i++ )
      if ( ((demuxer_t *)guiIntfStruct.demuxer)->a_streams[i] ) c++;
-    
+
     if ( c > 1 )
      {
       SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_AudioTrack );
@@ -576,7 +576,7 @@ GtkWidget * create_PopUpMenu( void )
 
     for ( c=0,i=0;i < MAX_V_STREAMS;i++ )
      if ( ((demuxer_t *)guiIntfStruct.demuxer)->v_streams[i] ) c++;
-    
+
     if ( c > 1 )
      {
       SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_VideoTrack );
@@ -590,7 +590,7 @@ GtkWidget * create_PopUpMenu( void )
         }
      }
    }
-  
+
   /* cheap subtitle switching for non-DVD streams */
   if ( global_sub_size && guiIntfStruct.StreamType != STREAMTYPE_DVD )
    {
@@ -619,9 +619,9 @@ GtkWidget * create_PopUpMenu( void )
     AddSeparator( Menu );
     if ( !appMPlayer.subWindow.isFullScreen && guiIntfStruct.Playing )
      {
-      if ( ( appMPlayer.subWindow.Width == guiIntfStruct.MovieWidth * 2 )&& 
+      if ( ( appMPlayer.subWindow.Width == guiIntfStruct.MovieWidth * 2 )&&
            ( appMPlayer.subWindow.Height == guiIntfStruct.MovieHeight * 2 ) ) b2=1;
-      else if ( ( appMPlayer.subWindow.Width == guiIntfStruct.MovieWidth / 2 ) && 
+      else if ( ( appMPlayer.subWindow.Width == guiIntfStruct.MovieWidth / 2 ) &&
                 ( appMPlayer.subWindow.Height == guiIntfStruct.MovieHeight / 2 ) ) b_half=1;
       else b1=1;
      } else b1=!appMPlayer.subWindow.isFullScreen;

Modified: trunk/gui/mplayer/gtk/opts.c
==============================================================================
--- trunk/gui/mplayer/gtk/opts.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/opts.c	Wed May 13 04:58:57 2009	(r29305)
@@ -138,7 +138,7 @@ static GtkWidget     * CBSubEncoding, * 
 #endif
 
 #if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV)
-static struct 
+static struct
 {
  char * name;
  char * comment;
@@ -167,12 +167,12 @@ static struct 
   { "shift-jis",   MSGTR_PREFERENCES_FontEncoding18 },
   { "cp949",       MSGTR_PREFERENCES_FontEncoding19 },
   { "cp874",       MSGTR_PREFERENCES_FontEncoding20 },
-  { NULL,NULL } 
+  { NULL,NULL }
  };
 char * lCEncoding = NULL;
 char * lSEncoding = NULL;
 #endif
-	    
+
 static int    old_audio_driver = 0;
 static char * ao_driver[3];
 static char * vo_driver[3];
@@ -199,7 +199,7 @@ void ShowPreferences( void )
  if ( Preferences ) gtkActive( Preferences );
    else Preferences=create_Preferences();
 
-// -- 1. page 
+// -- 1. page
  gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ),gtkEnableAudioEqualizer );
 #if 0
  gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSurround ),gtkAOSurround );
@@ -259,13 +259,13 @@ void ShowPreferences( void )
  {
   int i = 0, c = 0;
   char * tmp[3]; tmp[2]="";
-  old_video_driver=0; 
+  old_video_driver=0;
   if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) );
   while ( video_out_drivers[i] )
    if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
-    { 
+    {
      if ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) ) old_video_driver=c; c++;
-     tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name; 
+     tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name;
      gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp );
     }
   gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 );
@@ -275,7 +275,7 @@ void ShowPreferences( void )
   if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE );
 #endif
  }
- 
+
   gtk_adjustment_set_value( HSFPSadj,force_fps );
 
 // -- 3. page
@@ -316,7 +316,7 @@ void ShowPreferences( void )
  if ( sub_cp )
   {
    int i;
-   for ( i=0;lEncoding[i].name;i++ ) 
+   for ( i=0;lEncoding[i].name;i++ )
     if ( !gstrcmp( sub_cp,lEncoding[i].name ) ) break;
    if ( lEncoding[i].name ) lSEncoding=lEncoding[i].comment;
    gtk_entry_set_text( GTK_ENTRY( ESubEncoding ),lSEncoding );
@@ -336,7 +336,7 @@ void ShowPreferences( void )
  if ( subtitle_font_encoding )
   {
    int i;
-   for ( i=0;lEncoding[i].name;i++ ) 
+   for ( i=0;lEncoding[i].name;i++ )
     if ( !gstrcmp( subtitle_font_encoding,lEncoding[i].name ) ) break;
    if ( lEncoding[i].name ) lCEncoding=lEncoding[i].comment;
    gtk_entry_set_text( GTK_ENTRY( EFontEncoding ),lCEncoding );
@@ -409,7 +409,7 @@ void ShowPreferences( void )
  gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize );
  if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE );
   else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),TRUE );
-  
+
  gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),0 );
  gtk_adjustment_set_value( SBAutoSyncadj,(float)gtkAutoSync );
  if ( !gtkAutoSyncOn ) gtk_widget_set_sensitive( SBAutoSync,FALSE );
@@ -464,7 +464,7 @@ void ShowPreferences( void )
  gtk_signal_connect( GTK_OBJECT( ESubEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)1 );
 #endif
  gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 );
- 
+
  gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 );
  gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 );
 
@@ -472,7 +472,7 @@ void ShowPreferences( void )
  gtkSetLayer( Preferences );
  {
   static int visible = 1;
-  if ( visible ) 
+  if ( visible )
    {
     gtkMessageBox( GTK_MB_WARNING,MSGTR_PREFERENCES_Message );
     visible=0;
@@ -494,7 +494,7 @@ void HidePreferences( void )
 
 #if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV)
 static void prEntry( GtkContainer * container,gpointer user_data )
-{	
+{
  const char * comment;
  int    i;
 
@@ -556,7 +556,7 @@ void prButton( GtkButton * button,gpoint
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFlip ) ) ) flip=1;
 
 	force_fps=HSFPSadj->value;
-	
+
 	// -- 3. page
 	suboverlap_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubOverlap ) );
 	sub_auto=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ) );
@@ -576,7 +576,7 @@ void prButton( GtkButton * button,gpoint
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ) ) ) osd_level=1;
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTandP ) ) ) osd_level=2;
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ) ) ) osd_level=3;
-	
+
 
         // --- 4. page
 	guiSetFilename( font_name,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) );
@@ -602,7 +602,7 @@ void prButton( GtkButton * button,gpoint
 	 int i;
 	 const char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) );
          for( i=0;mpcodecs_vd_drivers[i];i++ )
-          if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) ) 
+          if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) )
 	   { gaddlist( &video_fm_list,(char *)mpcodecs_vd_drivers[i]->info->short_name ); break; }
 	}
 
@@ -615,7 +615,7 @@ void prButton( GtkButton * button,gpoint
 	}
 
 	// --- 6. page
-	gtkVfPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); 
+	gtkVfPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) );
 	gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) );
 	gui_save_pos=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ) );
 	gtkShowVideoWindow=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) );
@@ -625,7 +625,7 @@ void prButton( GtkButton * button,gpoint
 
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=1; }
 	 else gtkCacheOn=0;
-	
+
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) { gtkAutoSync=(int)SBAutoSyncadj->value; gtkAutoSyncOn=1; }
 	 else gtkAutoSyncOn=0;
 
@@ -715,14 +715,14 @@ static void prToggled( GtkToggleButton *
  switch ( (int)user_data )
   {
    case 0: // extra stereo coefficient
-	if ( guiIntfStruct.Playing ) 
+	if ( guiIntfStruct.Playing )
 	gtk_widget_set_sensitive( HSExtraStereoMul,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ) );
 	break;
 //   case 1: // normalize
 //   case 2: // equalizer
 //	if ( guiIntfStruct.Playing ) gtkMessageBox( GTK_MB_WARNING,"Please remember, this function need restart the playing." );
 //	break;
-   case 3: 
+   case 3:
 	if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) gtk_widget_set_sensitive( CBLoadFullscreen,TRUE );
 	 else
 	  {
@@ -774,8 +774,8 @@ static void prCListRow( GtkCList * clist
 {
  switch ( (int)user_data )
   {
-   case 0: // audio driver 
-	gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); 
+   case 0: // audio driver
+	gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver );
 	gtk_widget_set_sensitive( AConfig,FALSE );
 	if ( !strncmp( ao_driver[0],"oss",3 ) ||
 	     !strncmp( ao_driver[0],"alsa",4 ) ||
@@ -787,14 +787,14 @@ static void prCListRow( GtkCList * clist
           gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, MSGTR_PREFERENCES_ArtsBroken);
 #endif
 	break;
-   case 1: // video driver 
-	gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); 
+   case 1: // video driver
+	gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver );
 	gtk_widget_set_sensitive( VConfig,FALSE );
 #ifdef CONFIG_DXR3
 	if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE );
 #endif
 	break;
-  } 
+  }
 }
 
 GtkWidget * create_Preferences( void )
@@ -849,7 +849,7 @@ GtkWidget * create_Preferences( void )
   gtk_window_set_position( GTK_WINDOW( Preferences ),GTK_WIN_POS_CENTER );
 //  gtk_window_set_policy( GTK_WINDOW( Preferences ),FALSE,FALSE,FALSE );
   gtk_window_set_wmclass( GTK_WINDOW( Preferences ),"Preferences","MPlayer" );
-  
+
   gtk_widget_realize( Preferences );
   gtkAddIcon( Preferences );
 
@@ -888,7 +888,7 @@ GtkWidget * create_Preferences( void )
   AConfig=AddButton( MSGTR_ConfigDriver,
     AddHButtonBox( vbox2 ) );
 
-  vbox3=AddVBox( 
+  vbox3=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,0 ),1 ),0 );
     gtk_widget_set_usize( vbox3,250,-2 );
@@ -921,7 +921,7 @@ GtkWidget * create_Preferences( void )
 
   hbox2=AddVBox( notebook1,0 );
 
-  vbox4=AddVBox( 
+  vbox4=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 );
 
@@ -946,7 +946,7 @@ GtkWidget * create_Preferences( void )
   hbuttonbox3=AddHButtonBox( vbox4 );
   VConfig=AddButton( MSGTR_ConfigDriver,hbuttonbox3 );
 
-  vbox5=AddVBox( 
+  vbox5=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,0 ),1 ),0 );
     gtk_widget_set_usize( vbox5,250,-2 );
@@ -986,7 +986,7 @@ GtkWidget * create_Preferences( void )
 
   vbox6=AddVBox( notebook1,0 );
 
-  vbox600=AddVBox( 
+  vbox600=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_OSD_Level,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 );
 
@@ -995,7 +995,7 @@ GtkWidget * create_Preferences( void )
   RBOSDIndicator=AddRadioButton( MSGTR_PREFERENCES_OSDProgress,&OSD_group,vbox600 );
   RBOSDTPTT=AddRadioButton( MSGTR_PREFERENCES_OSDTimerPercentageTotalTime,&OSD_group,vbox600 );
 
-  vbox7=AddVBox( 
+  vbox7=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_Subtitle,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 );
 
@@ -1025,7 +1025,7 @@ GtkWidget * create_Preferences( void )
     gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
 
   label=AddLabel( MSGTR_PREFERENCES_SUB_POS,NULL );
-    gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );    
+    gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
 
   label=AddLabel( MSGTR_PREFERENCES_SUB_FPS,NULL );
     gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
@@ -1103,7 +1103,7 @@ GtkWidget * create_Preferences( void )
 
 // --- 4. page
 
-  vbox603=AddVBox( 
+  vbox603=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_Font,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 );
 
@@ -1136,7 +1136,7 @@ GtkWidget * create_Preferences( void )
 
   label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL );
     gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 );
-  
+
   CBFontEncoding=gtk_combo_new();
   gtk_widget_set_name( CBFontEncoding,"CBFontEncoding" );
   gtk_widget_show( CBFontEncoding );
@@ -1189,7 +1189,7 @@ GtkWidget * create_Preferences( void )
 
   vbox601=AddVBox( notebook1,0 );
 
-  vbox602=AddVBox( 
+  vbox602=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_CodecDemuxer,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 );
 
@@ -1228,10 +1228,10 @@ GtkWidget * create_Preferences( void )
     gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),4 ),label );
 
   vbox601=AddVBox( notebook1,0 );
-  
+
 // --- 6. page
 
-  vbox602=AddVBox( 
+  vbox602=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_PostProcess,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 );
 
@@ -1245,12 +1245,12 @@ GtkWidget * create_Preferences( void )
    else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) );
   HSPPQuality=AddHScaler( HSPPQualityadj,hbox5,0 );
 
-  vbox602=AddVBox( 
+  vbox602=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_Cache,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 );
 
   CBCache=AddCheckButton( MSGTR_PREFERENCES_Cache,vbox602 );
-  
+
   hbox5=AddHBox( vbox602,1 );
 
   AddLabel( MSGTR_PREFERENCES_CacheSize,hbox5 );
@@ -1260,7 +1260,7 @@ GtkWidget * create_Preferences( void )
   gtk_widget_show( SBCache );
   gtk_box_pack_start( GTK_BOX( hbox5 ),SBCache,TRUE,TRUE,0 );
 
-  vbox602=AddVBox( 
+  vbox602=AddVBox(
     AddFrame( NULL,GTK_SHADOW_NONE,
       AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,1 ),1 ),0 );
 
@@ -1315,12 +1315,12 @@ GtkWidget * create_Preferences( void )
     gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 );
   BOk=AddButton( MSGTR_Ok,hbuttonbox1 );
   BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 );
-  
+
   gtk_widget_add_accelerator( BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
   gtk_widget_add_accelerator( BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
 
   gtk_signal_connect( GTK_OBJECT( Preferences ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Preferences );
-  
+
   gtk_signal_connect( GTK_OBJECT( AConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bAConfig );
   gtk_signal_connect( GTK_OBJECT( BOk ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bOk );
   gtk_signal_connect( GTK_OBJECT( BCancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bCancel );
@@ -1470,7 +1470,7 @@ GList *appendESDDevices(GList *l) {
 }
 #endif
 
-// Gets text string from a gtk entry, interpreting 
+// Gets text string from a gtk entry, interpreting
 // MSGTR_PREFERENCES_DriverDefault as null string.
 const char *getGtkEntryText(GtkWidget *from) {
   const char *tmp = gtk_entry_get_text(GTK_ENTRY(from));
@@ -1480,7 +1480,7 @@ const char *getGtkEntryText(GtkWidget *f
   return tmp;
 }
 
-// Sets text string of a gtk entry, interpreting 
+// Sets text string of a gtk entry, interpreting
 // null string as MSGTR_PREFERENCES_DriverDefault.
 void setGtkEntryText(GtkWidget *dest, char *to) {
   if (!to) {
@@ -1535,7 +1535,7 @@ void ShowAudioConfig( void ) {
 void HideAudioConfig( void ) {
   if (!AudioConfig) return;
   gtk_widget_hide(AudioConfig);
-  gtk_widget_destroy(AudioConfig); 
+  gtk_widget_destroy(AudioConfig);
   AudioConfig=NULL;
 }
 
@@ -1820,7 +1820,7 @@ GtkWidget * create_DXR3Config( void )
  gtk_widget_add_accelerator( dxr3BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
 
  gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&DXR3Config );
- 
+
  gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 );
  gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 );
 

Modified: trunk/gui/mplayer/gtk/pl.c
==============================================================================
--- trunk/gui/mplayer/gtk/pl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/pl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -153,7 +153,7 @@ void ShowPlayList( void )
      pos=strtok( NULL,"/" );
      gtk_ctree_get_node_info( GTK_CTREE( CTDirTree ),node,NULL,NULL,NULL,NULL,NULL,NULL,&leaf,NULL );
      if ( !leaf && pos ) gtk_ctree_expand( GTK_CTREE( CTDirTree ),node );
-      else 
+      else
        {
         DirNodeType * DirNode;
         gtk_ctree_select( GTK_CTREE( CTDirTree ),node );
@@ -247,7 +247,7 @@ static void plButtonReleased( GtkButton 
 	 }
        }
   case 0: // cancel
-       HidePlayList(); 
+       HidePlayList();
        break;
   case 2: // remove
        {
@@ -258,7 +258,7 @@ static void plButtonReleased( GtkButton 
 
         gtk_clist_freeze( GTK_CLIST( CLSelected ) );
         for ( i=0;i<NrOfSelected-c;i++ )
-  	 if ( CLListSelected[i] ) 
+  	 if ( CLListSelected[i] )
 	  {
 	   gtk_clist_remove( GTK_CLIST( CLSelected ),i - c );
 	   c++;
@@ -341,7 +341,7 @@ static void plCTree( GtkCTree * ctree,Gt
    gtk_clist_freeze( GTK_CLIST( ctree ) );
    node=gtk_ctree_find_by_row_data( ctree,parent_node,NULL );
    gtk_ctree_remove_node( ctree,node );
-			   
+
    if ( (dir=opendir( DirNode->path ) ) )
     {
      while( (dirent=readdir( dir )) )
@@ -363,7 +363,7 @@ static void plCTree( GtkCTree * ctree,Gt
       }
      closedir( dir );
     }
-		    
+
    gtk_ctree_sort_node( ctree,parent_node );
    gtk_clist_thaw( GTK_CLIST( ctree ) );
   }
@@ -443,7 +443,7 @@ GtkWidget * create_PlayList( void )
 
   scrolledwindow1=gtk_scrolled_window_new( NULL,NULL );
   gtk_widget_show( scrolledwindow1 );
-  gtk_container_add( GTK_CONTAINER( 
+  gtk_container_add( GTK_CONTAINER(
     AddFrame( NULL,0,hbox1,1 ) ),scrolledwindow1 );
   gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC );
 
@@ -469,10 +469,10 @@ GtkWidget * create_PlayList( void )
   gtk_ctree_expand( GTK_CTREE( CTDirTree ),parent );
   gtk_widget_show( CTDirTree );
 
-  
+
   gtk_clist_set_column_widget( GTK_CLIST( CTDirTree ),0,
     AddLabel( MSGTR_PLAYLIST_DirectoryTree,NULL ) );
-  
+
   vbox2=AddVBox(
     AddFrame( NULL,1,hbox1,1 ),0 );
 

Modified: trunk/gui/mplayer/gtk/sb.c
==============================================================================
--- trunk/gui/mplayer/gtk/sb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gtk/sb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -104,7 +104,7 @@ static void prButton( GtkObject * object
 	ChangeSkin( sbSelectedSkin );
 	if ( skinName ) free( skinName );
 	skinName=strdup( sbSelectedSkin );
-	break;   
+	break;
   }
  }
  HideSkinBrowser();

Modified: trunk/gui/mplayer/gui_common.c
==============================================================================
--- trunk/gui/mplayer/gui_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/gui_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,7 +54,7 @@ static inline void TranslateFilename( in
 {
  int i;
  char * p;
- 
+
  switch ( guiIntfStruct.StreamType )
   {
    case STREAMTYPE_STREAM:
@@ -214,16 +214,16 @@ void PutImage( txSample * bf,int x,int y
  for ( iy=y;iy < (int)(y+bf->Height / max);iy++ )
   for ( ix=x;ix < (int)(x+bf->Width);ix++ )
    {
-    tmp=drw[i++]; 
+    tmp=drw[i++];
     if ( tmp != 0x00ff00ff ) buf[iy * image_width + ix]=tmp;
    }
 #else
- yc=y * image_width; 
+ yc=y * image_width;
  for ( iy=y;iy < (int)(y+bf->Height / max);iy++ )
   {
    for ( ix=x;ix < (int)(x+bf->Width);ix++ )
     {
-     tmp=drw[i++]; 
+     tmp=drw[i++];
      if ( tmp != 0x00ff00ff ) buf[yc + ix]=tmp;
     }
    yc+=image_width;
@@ -248,7 +248,7 @@ void SimplePotmeterPutImage( txSample * 
  {
   for ( ix=x;ix < (int)(x+w);ix++ )
    {
-    tmp=drw[i++]; 
+    tmp=drw[i++];
     if ( tmp != 0x00ff00ff ) buf[iy * image_width + ix]=tmp;
    }
   i+=r;

Modified: trunk/gui/mplayer/mw.c
==============================================================================
--- trunk/gui/mplayer/mw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/mw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -73,7 +73,7 @@ void mplMainDraw( void )
 {
 
  if ( appMPlayer.mainWindow.State == wsWindowClosed ) exit_player( MSGTR_Exit_quit );
- 
+
  if ( appMPlayer.mainWindow.Visible == wsWindowNotVisible ||
       !mainVisible ) return;
 //      !appMPlayer.mainWindow.Mapped ) return;
@@ -125,7 +125,7 @@ void mplEventHandling( int msg,float par
 	goto play;
 
    case evSetSubtitle:
-        mp_property_do("sub",M_PROPERTY_SET,&iparam,guiIntfStruct.mpcontext); 
+        mp_property_do("sub",M_PROPERTY_SET,&iparam,guiIntfStruct.mpcontext);
 	break;
 
 #ifdef CONFIG_VCD
@@ -192,7 +192,7 @@ play:
 		 guiIntfStruct.Chapter=guiIntfStruct.DVD.current_chapter;
 		 guiIntfStruct.Angle=guiIntfStruct.DVD.current_angle;
                  guiIntfStruct.DiskChanged=1;
-		} 
+		}
                break;
 #endif
          }
@@ -226,9 +226,9 @@ NoPause:
         mplPause();
         break;
 
-   case evStop: 
-	guiIntfStruct.Playing=guiSetStop; 
-	mplState(); 
+   case evStop:
+	guiIntfStruct.Playing=guiSetStop;
+	mplState();
 	guiIntfStruct.NoWindow=False;
 	break;
 
@@ -269,7 +269,7 @@ NoPause:
    case evSetVolume:
         guiIntfStruct.Volume=param;
 	goto set_volume;
-   case evSetBalance: 
+   case evSetBalance:
         guiIntfStruct.Balance=param;
 set_volume:
         {
@@ -358,7 +358,7 @@ set_volume:
 	wsClearWindow( appMPlayer.subWindow );
 #ifdef CONFIG_DVDREAD
 	if ( guiIntfStruct.StreamType == STREAMTYPE_DVD || guiIntfStruct.StreamType == STREAMTYPE_VCD ) goto play_dvd_2;
-	 else 
+	 else
 #endif
 	 guiIntfStruct.NewPlay=1;
 	break;
@@ -424,7 +424,7 @@ void mplMainMouseHandle( int Button,int 
           sx=X; sy=Y; boxMoved=1; itemtype=itPLMButton;
           SelectedItem=currentselected;
           if ( SelectedItem == -1 ) break;
-          boxMoved=0; 
+          boxMoved=0;
           item=&appMPlayer.Items[SelectedItem];
           itemtype=item->type;
           item->pressed=btnPressed;
@@ -517,7 +517,7 @@ void mplMainKeyHandle( int KeyCode,int T
  int msg = evNone;
 
  if ( Type != wsKeyPressed ) return;
- 
+
  if ( !Key )
   {
    switch ( KeyCode )
@@ -544,11 +544,11 @@ void mplMainKeyHandle( int KeyCode,int T
       case wsXF86Prev:         msg=evPrev; break;
       case wsXF86Next:         msg=evNext; break;
       case wsXF86Media:        msg=evLoad; break;
-      case wsEscape: 
+      case wsEscape:
     	    if ( appMPlayer.subWindow.isFullScreen )
-	     { 
-	      if ( guiIntfStruct.event_struct ) ((XEvent *)guiIntfStruct.event_struct)->type=None; 
-	      mplEventHandling( evNormalSize,0 ); 
+	     {
+	      if ( guiIntfStruct.event_struct ) ((XEvent *)guiIntfStruct.event_struct)->type=None;
+	      mplEventHandling( evNormalSize,0 );
 	      return;
 	     }
       default:          vo_x11_putkey( Key ); return;
@@ -580,7 +580,7 @@ void mplDandDHandler(int num,char** file
     if(stat(str,&buf) == 0 && S_ISDIR(buf.st_mode) == 0) {
       /* this is not a directory so try to play it */
       mp_msg( MSGT_GPLAYER,MSGL_V,"Received D&D %s\n",str );
-      
+
       /* check if it is a subtitle file */
       {
 	char* ext = strrchr(str,'.');
@@ -605,7 +605,7 @@ void mplDandDHandler(int num,char** file
       }
 
       item = calloc(1,sizeof(plItem));
-      
+
       /* FIXME: decompose file name ? */
       /* yes -- Pontscho */
       if ( strrchr( str,'/' ) ) {

Modified: trunk/gui/mplayer/pb.c
==============================================================================
--- trunk/gui/mplayer/pb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/pb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,7 +59,7 @@ int		mplPBFade = 0;
 void mplPBDraw( void )
 {
  int x;
- 
+
  if ( !appMPlayer.subWindow.isFullScreen ) return;
  if ( !mplPBVisible || !appMPlayer.barIsPresent ) return;
 
@@ -70,7 +70,7 @@ void mplPBDraw( void )
    case -2: x=( appMPlayer.subWindow.Width - appMPlayer.bar.width ); break;
    default: x=appMPlayer.bar.x;
   }
-	      
+
  switch ( mplPBFade )
   {
    case 1: // fade in
@@ -81,7 +81,7 @@ void mplPBDraw( void )
 	  mplPBFade=0;
 	  vo_mouse_autohide=0;
 	 }
-        wsMoveWindow( &appMPlayer.barWindow,0,x,mplPBLength ); 
+        wsMoveWindow( &appMPlayer.barWindow,0,x,mplPBLength );
 	break;
    case 2: // fade out
 	mplPBLength+=10;
@@ -89,11 +89,11 @@ void mplPBDraw( void )
 	 {
 	  mplPBLength=appMPlayer.subWindow.Height;
 	  mplPBFade=mplPBVisible=0;
-          vo_mouse_autohide=1; 
-          wsVisibleWindow( &appMPlayer.barWindow,wsHideWindow ); 
+          vo_mouse_autohide=1;
+          wsVisibleWindow( &appMPlayer.barWindow,wsHideWindow );
 	  return;
 	 }
-        wsMoveWindow( &appMPlayer.barWindow,0,x,mplPBLength ); 
+        wsMoveWindow( &appMPlayer.barWindow,0,x,mplPBLength );
 	break;
   }
 
@@ -102,12 +102,12 @@ void mplPBDraw( void )
   {
    btnModify( evSetMoviePosition,guiIntfStruct.Position );
    btnModify( evSetVolume,guiIntfStruct.Volume );
-   
+
    vo_mouse_autohide=0;
 
    fast_memcpy( mplPBDrawBuffer,appMPlayer.bar.Bitmap.Image,appMPlayer.bar.Bitmap.ImageSize );
    Render( &appMPlayer.barWindow,appMPlayer.barItems,appMPlayer.NumberOfBarItems,mplPBDrawBuffer,appMPlayer.bar.Bitmap.ImageSize );
-   wsConvert( &appMPlayer.barWindow,mplPBDrawBuffer,appMPlayer.bar.Bitmap.ImageSize );   
+   wsConvert( &appMPlayer.barWindow,mplPBDrawBuffer,appMPlayer.bar.Bitmap.ImageSize );
   }
  wsPutImage( &appMPlayer.barWindow );
 }
@@ -121,7 +121,7 @@ void mplPBMouseHandle( int Button,int X,
         int     i;
         wItem * item = NULL;
 	float   value = 0.0f;
-			 
+
  static int     SelectedItem = -1;
 	int     currentselected = -1;
 
@@ -129,7 +129,7 @@ void mplPBMouseHandle( int Button,int X,
    if ( ( appMPlayer.barItems[i].pressed != btnDisabled )&&
       ( wgIsRect( X,Y,appMPlayer.barItems[i].x,appMPlayer.barItems[i].y,appMPlayer.barItems[i].x+appMPlayer.barItems[i].width,appMPlayer.barItems[i].y+appMPlayer.barItems[i].height ) ) )
     { currentselected=i; break; }
-		    
+
  switch ( Button )
   {
    case wsPMMouseButton:
@@ -230,8 +230,8 @@ void mplPBShow( int x, int y )
  if ( !appMPlayer.barIsPresent || !gtkEnablePlayBar ) return;
  if ( !appMPlayer.subWindow.isFullScreen ) return;
 
- if ( y > appMPlayer.subWindow.Height - appMPlayer.bar.height ) 
-  { 
+ if ( y > appMPlayer.subWindow.Height - appMPlayer.bar.height )
+  {
    if ( !mplPBFade ) wsVisibleWindow( &appMPlayer.barWindow,wsShowWindow );
    mplPBFade=1; mplPBVisible=1; wsPostRedisplay( &appMPlayer.barWindow );
   }
@@ -256,10 +256,10 @@ void mplPBInit( void )
    wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsHideFrame|wsHideWindow,"PlayBar" );
 
  wsSetShape( &appMPlayer.barWindow,appMPlayer.bar.Mask.Image );
- 
+
  appMPlayer.barWindow.ReDraw=(void *)mplPBDraw;
  appMPlayer.barWindow.MouseHandler=mplPBMouseHandle;
  appMPlayer.barWindow.KeyHandler=mplMainKeyHandle;
- 
+
  mplPBLength=appMPlayer.subWindow.Height;
 }

Modified: trunk/gui/mplayer/play.c
==============================================================================
--- trunk/gui/mplayer/play.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/play.c	Wed May 13 04:58:57 2009	(r29305)
@@ -56,8 +56,8 @@ void mplFullScreen( void )
  if ( guiIntfStruct.NoWindow && guiIntfStruct.Playing ) return;
 
   if ( ( guiIntfStruct.Playing )&&( appMPlayer.subWindow.isFullScreen ) )
-   { 
-    appMPlayer.subWindow.OldWidth=guiIntfStruct.MovieWidth; appMPlayer.subWindow.OldHeight=guiIntfStruct.MovieHeight; 
+   {
+    appMPlayer.subWindow.OldWidth=guiIntfStruct.MovieWidth; appMPlayer.subWindow.OldHeight=guiIntfStruct.MovieHeight;
     switch ( appMPlayer.sub.x )
      {
       case -1: appMPlayer.subWindow.OldX=( wsMaxX / 2 ) - ( appMPlayer.subWindow.OldWidth / 2 ) + wsOrgX; break;
@@ -94,7 +94,7 @@ void mplEnd( void )
    guiIntfStruct.FilenameChanged=guiIntfStruct.NewPlay=1;
    gfree( (void **)&guiIntfStruct.AudioFile );
    gfree( (void **)&guiIntfStruct.Subtitlename );
-  } 
+  }
   else
     {
      if ( guiIntfStruct.FilenameChanged || guiIntfStruct.NewPlay ) return;
@@ -187,7 +187,7 @@ void ChangeSkin( char * name )
  int bprev = appMPlayer.barIsPresent;
 
  mainVisible=0;
- 
+
  appInitStruct( &tmpList );
  skinAppMPlayer=&tmpList;
  fntFreeFont();
@@ -268,13 +268,13 @@ void ChangeSkin( char * name )
 
  wsSetLayer( wsDisplay,appMPlayer.mainWindow.WindowID,appMPlayer.subWindow.isFullScreen );
  wsSetLayer( wsDisplay,appMPlayer.menuWindow.WindowID,appMPlayer.subWindow.isFullScreen );
- 
+
 }
 
 void mplSetFileName( char * dir,char * name,int type )
 {
  if ( !name ) return;
- 
+
  if ( !dir ) guiSetFilename( guiIntfStruct.Filename,name )
   else guiSetDF( guiIntfStruct.Filename,dir,name );
 
@@ -288,7 +288,7 @@ void mplCurr( void )
 {
  plItem * curr;
  int      stop = 0;
- 
+
  if ( guiIntfStruct.Playing == 2 ) return;
  switch ( guiIntfStruct.StreamType )
   {
@@ -300,7 +300,7 @@ void mplCurr( void )
    case STREAMTYPE_VCD:
 	break;
 #endif
-   default: 
+   default:
 	if ( (curr=gtkSet( gtkGetCurrPlItem,0,NULL)) )
 	 {
 	  mplSetFileName( curr->path,curr->name,STREAMTYPE_FILE );
@@ -318,7 +318,7 @@ void mplPrev( void )
 {
  plItem * prev;
  int      stop = 0;
- 
+
  if ( guiIntfStruct.Playing == 2 ) return;
  switch ( guiIntfStruct.StreamType )
   {
@@ -337,7 +337,7 @@ void mplPrev( void )
 	if ( --guiIntfStruct.Track == 0 ) { guiIntfStruct.Track=1; stop=1; }
 	break;
 #endif
-   default: 
+   default:
 	if ( (prev=gtkSet( gtkGetPrevPlItem,0,NULL)) )
 	 {
 	  mplSetFileName( prev->path,prev->name,STREAMTYPE_FILE );
@@ -374,8 +374,8 @@ void mplNext( void )
 	break;
 #endif
    default:
-	if ( (next=gtkSet( gtkGetNextPlItem,0,NULL)) ) 
-	 { 
+	if ( (next=gtkSet( gtkGetNextPlItem,0,NULL)) )
+	 {
 	  mplSetFileName( next->path,next->name,STREAMTYPE_FILE );
 	  mplGotoTheNext=0;
 	  break;

Modified: trunk/gui/mplayer/sw.c
==============================================================================
--- trunk/gui/mplayer/sw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/sw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -40,7 +40,7 @@ extern int             i,pot;
 void mplSubDraw( void )
 {
  if ( appMPlayer.subWindow.State == wsWindowClosed ) exit_player( MSGTR_Exit_quit );
- 
+
  if ( appMPlayer.subWindow.State == wsWindowFocusIn ) SubVisible++;
  if ( appMPlayer.subWindow.State == wsWindowFocusOut && metacity_hack != 3 ) SubVisible--;
 

Modified: trunk/gui/mplayer/widgets.c
==============================================================================
--- trunk/gui/mplayer/widgets.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/mplayer/widgets.c	Wed May 13 04:58:57 2009	(r29305)
@@ -86,7 +86,7 @@ void gtkInit( void )
   GtkWidget * win;
   win=gtk_window_new( GTK_WINDOW_TOPLEVEL );
 
-  if ( !gtkIcon ) 
+  if ( !gtkIcon )
     gtkIcon=gdk_pixmap_colormap_create_from_xpm_d( win->window,gdk_colormap_get_system(),&gtkIconMask,&win->style->bg[GTK_STATE_NORMAL],MPlayer_mini_xpm );
 
   guiIcon=GDK_WINDOW_XWINDOW( gtkIcon );
@@ -94,7 +94,7 @@ void gtkInit( void )
 
   gtk_widget_destroy( win );
  }
- 
+
  gtkInitialized=1;
 }
 
@@ -166,7 +166,7 @@ void gtkMessageBox( int type,const gchar
 }
 
 void gtkSetLayer( GtkWidget * wdg )
-{ 
+{
  wsSetLayer( gdk_display,GDK_WINDOW_XWINDOW( wdg->window ),appMPlayer.subWindow.isFullScreen );
  gtkActive( wdg );
 }
@@ -194,8 +194,8 @@ void gtkShow( int type,char * param )
 	  gtk_clist_sort( GTK_CLIST( SkinList ) );
           gtk_widget_show( SkinBrowser );
 	  gtkSetLayer( SkinBrowser );
-         } 
-	 else 
+         }
+	 else
 	  {
 	   gtk_widget_destroy( SkinBrowser );
 	   gtkMessageBox( GTK_MB_ERROR,"Skin dirs not found ... Please install skins." );
@@ -231,20 +231,20 @@ void gtkShow( int type,char * param )
    case evShowPopUpMenu:
         gtkPopupMenu=evNone;
         gtkPopupMenuParam=0;
-        if ( PopUpMenu ) 
-	 { 
-	  gtk_widget_hide( PopUpMenu ); 
+        if ( PopUpMenu )
+	 {
+	  gtk_widget_hide( PopUpMenu );
 	  gtk_widget_destroy( PopUpMenu );
 	 }
         PopUpMenu=create_PopUpMenu();
         gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 );
         break;
    case evHidePopUpMenu:
-        if ( PopUpMenu ) 
+        if ( PopUpMenu )
 	 {
 	  gtk_widget_hide( PopUpMenu );
 	  gtk_widget_destroy( PopUpMenu );
-	  PopUpMenu=NULL; 
+	  PopUpMenu=NULL;
 	 }
         break;
    case evPlayNetwork:

Modified: trunk/gui/skin/cut.c
==============================================================================
--- trunk/gui/skin/cut.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/skin/cut.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,14 +34,14 @@ void cutItem( char * in,char * out,char 
 int cutItemToInt( char * in,char sep,int num )
 {
  char tmp[512];
- cutItem( in,tmp,sep,num ); 
+ cutItem( in,tmp,sep,num );
  return atoi( tmp );
 }
 
 float cutItemToFloat( char * in,char sep,int num )
 {
  char tmp[512];
- cutItem( in,tmp,sep,num ); 
+ cutItem( in,tmp,sep,num );
  return atof( tmp );
 }
 

Modified: trunk/gui/skin/font.c
==============================================================================
--- trunk/gui/skin/font.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/skin/font.c	Wed May 13 04:58:57 2009	(r29305)
@@ -46,7 +46,7 @@ int fntAddNewFont( char * name )
  if ( ( Fonts[id]=calloc( 1,sizeof( bmpFont ) ) ) == NULL ) return -1;
 
  av_strlcpy( Fonts[id]->name,name,128 ); // FIXME: as defined in font.h
- for ( i=0;i<256;i++ ) 
+ for ( i=0;i<256;i++ )
    Fonts[id]->Fnt[i].x=Fonts[id]->Fnt[i].y=Fonts[id]->Fnt[i].sx=Fonts[id]->Fnt[i].sy=-1;
 
  return id;
@@ -75,14 +75,14 @@ int fntRead( char * path,char * fname )
  unsigned char   param[256];
  int             c,linenumber = 0;
  int             id = fntAddNewFont( fname );
- 
+
  if ( id < 0 ) return id;
 
  av_strlcpy( tmp,path,sizeof( tmp ) );
  av_strlcat( tmp,fname,sizeof( tmp ) ); av_strlcat( tmp,".fnt",sizeof( tmp ) );
- if ( ( f=fopen( tmp,"rt" ) ) == NULL ) 
+ if ( ( f=fopen( tmp,"rt" ) ) == NULL )
    { free( Fonts[id] ); return -3; }
-   
+
  while ( !feof( f ) )
   {
    fgets( tmp,255,f ); linenumber++;
@@ -189,7 +189,7 @@ txSample * fntRender( wItem * item,int p
  tw=fntTextWidth( id,p );
  fbw=Fonts[id]->Bitmap.Width;
 
- if ( item->Bitmap.Image == NULL ) 
+ if ( item->Bitmap.Image == NULL )
   {
    item->Bitmap.Height=item->height=fntTextHeight( id,p );
    item->Bitmap.Width=item->width=iw;
@@ -203,8 +203,8 @@ txSample * fntRender( wItem * item,int p
  ibuf=(uint32_t *)Fonts[id]->Bitmap.Image;
 
  for ( i=0;i < item->Bitmap.ImageSize / 4;i++ ) obuf[i]=0xff00ff;
- 
- if ( tw <= iw ) 
+
+ if ( tw <= iw )
   {
    switch ( item->align )
     {
@@ -213,23 +213,23 @@ txSample * fntRender( wItem * item,int p
      case fntAlignCenter: dx=( iw - fntTextWidth( id,p ) ) / 2; break;
      case fntAlignRight:  dx=iw - fntTextWidth( id,p ); break;
     }
-    
+
   } else dx+=px;
 
  ofs=dx;
- 
+
  for ( i=0;i < (int)strlen( p );i++ )
   {
    c=(unsigned int)p[i];
    fw=Fonts[id]->Fnt[c].sx;
-   
+
    if ( fw == -1 ) { c=32; fw=Fonts[id]->Fnt[c].sx; }
-   
+
    fh=Fonts[id]->Fnt[c].sy;
    fyc=Fonts[id]->Fnt[c].y * fbw + Fonts[id]->Fnt[c].x;
    yc=dx;
-     
-   if ( dx >= 0 ) 
+
+   if ( dx >= 0 )
     for ( y=0;y < fh;y++ )
      {
       for ( x=0; x < fw;x++ )
@@ -247,14 +247,14 @@ txSample * fntRender( wItem * item,int p
     {
      c=(unsigned int)p[i];
      fw=Fonts[id]->Fnt[c].sx;
-  
+
      if ( fw == -1 ) { c=32; fw=Fonts[id]->Fnt[c].sx; }
 
      fh=Fonts[id]->Fnt[c].sy;
      fyc=Fonts[id]->Fnt[c].y * fbw + Fonts[id]->Fnt[c].x;
 
      dx-=fw; yc=dx;
-     if ( dx >= 0 ) 
+     if ( dx >= 0 )
       for ( y=0;y < fh;y++ )
        {
         for ( x=fw - 1;x >= 0;x-- )

Modified: trunk/gui/skin/skin.c
==============================================================================
--- trunk/gui/skin/skin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/skin/skin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -165,7 +165,7 @@ int cmd_base( char * in )
    defList->main.x=x;
    defList->main.y=y;
    defList->main.type=itBase;
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
    if ( skinBPRead( tmp,&defList->main.Bitmap ) ) return 1;
    defList->main.width=defList->main.Bitmap.Width;
    defList->main.height=defList->main.Bitmap.Height;
@@ -180,7 +180,7 @@ int cmd_base( char * in )
  if ( !strcmp( window_name,"sub" ) )
   {
    defList->sub.type=itBase;
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
    if ( skinBPRead( tmp,&defList->sub.Bitmap ) ) return 1;
    defList->sub.x=x;
    defList->sub.y=y;
@@ -197,7 +197,7 @@ int cmd_base( char * in )
   {
    defList->menuIsPresent=1;
    defList->menuBase.type=itBase;
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
    if ( skinBPRead( tmp,&defList->menuBase.Bitmap ) ) return 1;
    defList->menuBase.width=defList->menuBase.Bitmap.Width;
    defList->menuBase.height=defList->menuBase.Bitmap.Height;
@@ -215,7 +215,7 @@ int cmd_base( char * in )
    defList->bar.x=x;
    defList->bar.y=y;
    defList->bar.type=itBase;
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
    if ( skinBPRead( tmp,&defList->bar.Bitmap ) ) return 1;
    defList->bar.width=defList->bar.Bitmap.Width;
    defList->bar.height=defList->bar.Bitmap.Height;
@@ -237,12 +237,12 @@ int cmd_background( char * in )
 
  CHECK( "menu" );
  CHECK( "main" );
- 
+
  currSection->R=cutItemToInt( in,',',0 );
  currSection->G=cutItemToInt( in,',',1 );
  currSection->B=cutItemToInt( in,',',2 );
  mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"\n[skin]  background color is #%x%x%x.\n",currSection->R,currSection->G,currSection->B );
- 
+
  return 0;
 }
 
@@ -257,7 +257,7 @@ int cmd_button( char * in )
  CHECKWINLIST( "button" );
 
  CHECK( "sub" );
- CHECK( "menu" );  
+ CHECK( "menu" );
 
  cutItem( in,fname,',',0 );
  x=cutItemToInt( in,',',1 );
@@ -286,7 +286,7 @@ int cmd_button( char * in )
  currSubItems[ *currSubItem ].Bitmap.Image=NULL;
  if ( strcmp( fname,"NULL" ) )
   {
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
    if ( skinBPRead( tmp,&currSubItems[ *currSubItem ].Bitmap ) ) return 1;
   }
 
@@ -307,7 +307,7 @@ int cmd_selected( char * in )
 
  cutItem( in,fname,',',0 );
  defList->menuSelected.type=itBase;
- av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp )); 
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
  mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"\n[skin] selected: %s\n",fname );
  if ( skinBPRead( tmp,&defList->menuSelected.Bitmap ) ) return 1;
  defList->menuSelected.width=defList->menuSelected.Bitmap.Width;
@@ -327,7 +327,7 @@ int cmd_menu( char * in )
  CHECK( "main" );
  CHECK( "sub" );
  CHECK( "playbar" );
- 
+
  x=cutItemToInt( in,',',0 );
  y=cutItemToInt( in,',',1 );
  sx=cutItemToInt( in,',',2 );
@@ -399,14 +399,14 @@ int cmd_hpotmeter( char * in )
  item->Bitmap.Image=NULL;
  if ( strcmp( phfname,"NULL" ) )
   {
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, phfname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, phfname, sizeof( tmp ));
    if ( skinBPRead( tmp,&item->Bitmap ) ) return 1;
   }
 
  item->Mask.Image=NULL;
  if ( strcmp( pfname,"NULL" ) )
   {
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, pfname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, pfname, sizeof( tmp ));
    if ( skinBPRead( tmp,&item->Mask ) ) return 1;
   }
  return 0;
@@ -463,7 +463,7 @@ int cmd_potmeter( char * in )
  item->Bitmap.Image=NULL;
  if ( strcmp( phfname,"NULL" ) )
   {
-   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, phfname, sizeof( tmp )); 
+   av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, phfname, sizeof( tmp ));
    if ( skinBPRead( tmp,&item->Bitmap ) ) return 1;
   }
  return 0;

Modified: trunk/gui/wm/ws.c
==============================================================================
--- trunk/gui/wm/ws.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/wm/ws.c	Wed May 13 04:58:57 2009	(r29305)
@@ -63,7 +63,7 @@
 #include <sys/ipc.h>
 #include <sys/shm.h>
 
-#undef ENABLE_DPMS 
+#undef ENABLE_DPMS
 
 typedef struct
 {
@@ -126,8 +126,8 @@ inline int wsSearch( Window win );
 
 typedef void(*wsTConvFunc)( const unsigned char * in_pixels, unsigned char * out_pixels, unsigned num_pixels );
 wsTConvFunc wsConvFunc = NULL;
-										
-void rgb32torgb32( const unsigned char * src, unsigned char * dst,unsigned int src_size )																					
+
+void rgb32torgb32( const unsigned char * src, unsigned char * dst,unsigned int src_size )
 { memcpy( dst,src,src_size ); }
 
 // ---
@@ -166,7 +166,7 @@ void wsWindowDecoration( wsTWindow * win
  if ( wsMotifHints == None ) return;
 
  memset( &wsMotifWmHints,0,sizeof( MotifWmHints ) );
- wsMotifWmHints.flags=MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS; 
+ wsMotifWmHints.flags=MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS;
  if ( d )
   {
    wsMotifWmHints.functions=MWM_FUNC_MOVE | MWM_FUNC_CLOSE | MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE | MWM_FUNC_RESIZE;
@@ -218,7 +218,7 @@ if(mDisplay){
 
 /* enable DND atoms */
 wsXDNDInitialize();
- 
+
 { /* on remote display XShm will be disabled - LGB */
  char *dispname=DisplayString(wsDisplay);
  int localdisp=1;
@@ -808,7 +808,7 @@ void wsFullScreen( wsTWindow * win )
 #ifdef ENABLE_DPMS
     wsScreenSaverOff( wsDisplay );
 #endif
-    
+
      vo_x11_ewmh_fullscreen( _NET_WM_STATE_ADD ); // adds fullscreen state if wm supports EWMH
    }
 
@@ -1290,7 +1290,7 @@ void wsSetIcon( Display * dsp,Window win
  XWMHints * wm;
  long	    data[2];
  Atom	    iconatom;
- 
+
  wm=XGetWMHints( dsp,win );
  if ( !wm ) wm=XAllocWMHints();
 
@@ -1304,7 +1304,7 @@ void wsSetIcon( Display * dsp,Window win
  data[1]=mask;
  iconatom=XInternAtom( dsp,"KWM_WIN_ICON",0 );
  XChangeProperty( dsp,win,iconatom,iconatom,32,PropModeReplace,(unsigned char *)data,2 );
- 
+
  XFree( wm );
 }
 

Modified: trunk/gui/wm/wsxdnd.c
==============================================================================
--- trunk/gui/wm/wsxdnd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/gui/wm/wsxdnd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -138,7 +138,7 @@ wsXDNDProcessSelection(wsTWindow* wnd, X
 	if (num >= MAX_DND_FILES)
 	  break;
       }
-	
+
       /* Handle the files */
       if(wnd->DandDHandler){
 	wnd->DandDHandler(num,files);
@@ -187,7 +187,7 @@ wsXDNDProcessClientMessage(wsTWindow* wn
 			   offset,256,False,XA_ATOM,&ret_type,
 			   &ret_format,&ret_items,&ret_left,
 			   (unsigned char**)&ret_buff);
-	
+
 	/* sanity checks...*/
 	if(ret_buff == NULL || ret_type != XA_ATOM || ret_format != 8*sizeof(Atom)){
 	  XFree(ret_buff);
@@ -210,11 +210,11 @@ wsXDNDProcessClientMessage(wsTWindow* wn
     }
     return True;
   }
-  
+
   if (event->message_type == XA_XdndLeave) {
     return True;
   }
-  
+
   if (event->message_type == XA_XdndDrop) {
     if (event->data.l[0] != XGetSelectionOwner(wsDisplay, XA_XdndSelection)){
       puts("Wierd selection owner... QT?");
@@ -226,7 +226,7 @@ wsXDNDProcessClientMessage(wsTWindow* wn
     }
     return True;
   }
-  
+
   if (event->message_type == XA_XdndPosition) {
     Window srcwin = event->data.l[0];
     if (atom_support == None){
@@ -241,19 +241,19 @@ wsXDNDProcessClientMessage(wsTWindow* wn
       xevent.xany.display = wsDisplay;
       xevent.xclient.window = srcwin;
       xevent.xclient.message_type = XA_XdndStatus;
-      xevent.xclient.format = 32; 
-      
+      xevent.xclient.format = 32;
+
       XDND_STATUS_TARGET_WIN (&xevent) = event->window;
       XDND_STATUS_WILL_ACCEPT_SET (&xevent, True);
       XDND_STATUS_WANT_POSITION_SET(&xevent, True);
       /* actually need smth real here */
       XDND_STATUS_RECT_SET(&xevent, 0, 0, 1024,768);
       XDND_STATUS_ACTION(&xevent) = XA_XdndActionCopy;
-      
+
       XSendEvent(wsDisplay, srcwin, 0, 0, &xevent);
     }
     return True;
   }
-  
+
   return False;
 }

Modified: trunk/input/appleir.c
==============================================================================
--- trunk/input/appleir.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/input/appleir.c	Wed May 13 04:58:57 2009	(r29305)
@@ -68,7 +68,7 @@ static const struct {
   { APPLE_IR_BACKWARD,          2,   AR_PREV_HOLD },
   { APPLE_IR_MENU,              1,   AR_MENU      },
   { APPLE_IR_MENU,              2,   AR_MENU_HOLD },
-  { APPLE_IR_PLUS,              1,   AR_VUP       },  
+  { APPLE_IR_PLUS,              1,   AR_VUP       },
   { APPLE_IR_MINUS,             1,   AR_VDOWN     },
   { -1,                        -1,   -1           }
 };
@@ -102,7 +102,7 @@ int mp_input_appleir_init (char *dev)
       fd = open (file, O_RDONLY | O_NONBLOCK);
       if (fd < 0)
         continue;
-      
+
       ioctl (fd, EVIOCGID, &id);
       if (id.bustype == BUS_USB &&
           id.vendor  == USB_VENDOR_APPLE &&
@@ -147,6 +147,6 @@ int mp_input_appleir_read (int fd)
     if (apple_ir_mapping[i].linux_keycode == ev.code &&
         apple_ir_mapping[i].value == ev.value)
       return apple_ir_mapping[i].mp_keycode;
-  
+
   return MP_INPUT_NOTHING;
 }

Modified: trunk/input/input.c
==============================================================================
--- trunk/input/input.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/input/input.c	Wed May 13 04:58:57 2009	(r29305)
@@ -199,17 +199,17 @@ static const mp_cmd_t mp_cmds[] = {
   { MP_CMD_CEXIT, "exit", 0, { {-1,{0}} } },
   { MP_CMD_CHIDE, "hide", 0, { {MP_CMD_ARG_INT,{3000}}, {-1,{0}} } },
 #endif
- 
+
   { MP_CMD_GET_VO_FULLSCREEN, "get_vo_fullscreen", 0, { {-1,{0}} } },
   { MP_CMD_GET_SUB_VISIBILITY, "get_sub_visibility", 0, { {-1,{0}} } },
   { MP_CMD_KEYDOWN_EVENTS, "key_down_event", 1, { {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
   { MP_CMD_SET_PROPERTY, "set_property", 2, { {MP_CMD_ARG_STRING, {0}},  {MP_CMD_ARG_STRING, {0}}, {-1,{0}} } },
   { MP_CMD_GET_PROPERTY, "get_property", 1, { {MP_CMD_ARG_STRING, {0}},  {-1,{0}} } },
   { MP_CMD_STEP_PROPERTY, "step_property", 1, { {MP_CMD_ARG_STRING, {0}}, {MP_CMD_ARG_FLOAT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
-  
+
   { MP_CMD_SEEK_CHAPTER, "seek_chapter", 1, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
   { MP_CMD_SET_MOUSE_POS, "set_mouse_pos", 2, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
-  
+
   { 0, NULL, 0, {} }
 };
 
@@ -363,7 +363,7 @@ static const mp_cmd_bind_t def_cmd_binds
   { {  MOUSE_BTN4, 0 }, "seek -10" },
   { {  MOUSE_BTN5, 0 }, "volume 1" },
   { {  MOUSE_BTN6, 0 }, "volume -1" },
-  
+
 #ifdef CONFIG_DVDNAV
   { { KEY_KP8, 0 }, "dvdnav up" },   // up
   { { KEY_KP2, 0 }, "dvdnav down" },   // down
@@ -486,9 +486,9 @@ static const mp_cmd_bind_t def_cmd_binds
   { { KEY_VOLUME_UP, 0 }, "volume 1" },
   { { KEY_VOLUME_DOWN, 0 }, "volume -1" },
   { { KEY_MUTE, 0 }, "mute" },
-          
+
   { { KEY_CLOSE_WIN, 0 }, "quit" },
-  
+
   { { '!', 0 }, "seek_chapter -1" },
   { { '@', 0 }, "seek_chapter 1" },
   { { 'A', 0 }, "switch_angle 1" },
@@ -872,7 +872,7 @@ mp_input_parse_cmd(char* str) {
 	if(e <= ptr2 || *(e - 1) != '\\') break;
 	ptr2 = e + 1;
       }
-      
+
       if(term != ' ' && (!e || e[0] == '\0')) {
 	mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_INPUT_ErrUnterminatedArg,cmd_def->name,i+1);
 	ptr = NULL;
@@ -930,8 +930,8 @@ mp_input_read_cmd(mp_input_fd_t* mp_fd, 
     mp_fd->buffer = malloc(MP_CMD_MAX_SIZE);
     mp_fd->pos = 0;
     mp_fd->size = MP_CMD_MAX_SIZE;
-  } 
-  
+  }
+
   // Get some data if needed/possible
   while (!mp_fd->got_cmd && !mp_fd->eof && (mp_fd->size - mp_fd->pos > 1) ) {
     int r = ((mp_cmd_func_t)mp_fd->read_func)(mp_fd->fd,mp_fd->buffer+mp_fd->pos,mp_fd->size - 1 - mp_fd->pos);
@@ -992,7 +992,7 @@ mp_input_read_cmd(mp_input_fd_t* mp_fd, 
       memmove(mp_fd->buffer,end+1,mp_fd->pos-(l+1));
     mp_fd->pos -= l+1;
   }
-   
+
   if(*ret)
     return 1;
   else
@@ -1028,7 +1028,7 @@ mp_input_add_cmd_filter(mp_input_cmd_fil
   filter->next = cmd_filters;
   cmd_filters = filter;
 }
-  
+
 
 static char*
 mp_input_find_bind_for_key(const mp_cmd_bind_t* binds, int n,int* keys) {
@@ -1130,7 +1130,7 @@ interpret_key(int code, int paused)
       }
       code &= ~MP_KEY_DOWN;
       // Check if we don't already have this key as pushed
-      for(j = 0; j < num_key_down; j++) { 
+      for(j = 0; j < num_key_down; j++) {
 	if(key_down[j] == code)
 	  break;
       }
@@ -1145,7 +1145,7 @@ interpret_key(int code, int paused)
     // key released
     // Check if the key is in the down key, driver which can't send push event
     // send only release event
-    for(j = 0; j < num_key_down; j++) { 
+    for(j = 0; j < num_key_down; j++) {
       if(key_down[j] == code)
 	break;
     }
@@ -1157,7 +1157,7 @@ interpret_key(int code, int paused)
       key_down[num_key_down] = code;
       num_key_down++;
       last_key_down = 1;
-    } 
+    }
     // We ignore key from last combination
     ret = last_key_down ? mp_input_get_cmd_from_keys(num_key_down,key_down,paused) : NULL;
     // Remove the key
@@ -1180,7 +1180,7 @@ static mp_cmd_t *check_autorepeat(int pa
     unsigned int t = GetTimer();
     // First time : wait delay
     if(ar_state == 0 && (t - last_key_down) >= ar_delay*1000) {
-      ar_cmd = mp_input_get_cmd_from_keys(num_key_down,key_down,paused);      
+      ar_cmd = mp_input_get_cmd_from_keys(num_key_down,key_down,paused);
       if(!ar_cmd) {
 	ar_state = -1;
 	return NULL;
@@ -1340,14 +1340,14 @@ mp_input_get_queued_cmd(int peek_only) {
     return NULL;
 
   ret = cmd_queue[cmd_queue_start];
-  
-  if (!peek_only) {  
+
+  if (!peek_only) {
   cmd_queue_length--;
   cmd_queue_start = (cmd_queue_start + 1) % CMD_QUEUE_SIZE;
   }
-  
+
   return ret;
-}  
+}
 
 /**
  * \param peek_only when set, the returned command stays in the queue.
@@ -1401,7 +1401,7 @@ mp_cmd_free(mp_cmd_t* cmd) {
 
   if(cmd->name)
     free(cmd->name);
-  
+
   for(i=0; i < MP_CMD_MAX_ARGS && cmd->args[i].type != -1; i++) {
     if(cmd->args[i].type == MP_CMD_ARG_STRING && cmd->args[i].v.s != NULL)
       free(cmd->args[i].v.s);
@@ -1439,7 +1439,7 @@ mp_input_get_key_name(int key) {
     if(key_names[i].key == key)
       return key_names[i].name;
   }
-  
+
   if(isascii(key)) {
     snprintf(key_str,12,"%c",(char)key);
     return key_str;
@@ -1530,7 +1530,7 @@ mp_input_bind_keys(const int keys[MP_MAX
       }
     }
   }
-  
+
   if(!bind) {
     bind_section->cmd_binds = realloc(bind_section->cmd_binds,(i+2)*sizeof(mp_cmd_bind_t));
     memset(&bind_section->cmd_binds[i],0,2*sizeof(mp_cmd_bind_t));
@@ -1562,7 +1562,7 @@ mp_input_free_binds(mp_cmd_bind_t* binds
   free(binds);
 
 }
-  
+
 static int
 mp_input_parse_config(char *file) {
   int fd;
@@ -1742,11 +1742,11 @@ mp_input_init(int use_gui) {
   if(use_gui)
     mp_input_add_binds(gui_def_cmd_binds);
 #endif
-  
+
   file = config_file[0] != '/' ? get_path(config_file) : config_file;
   if(!file)
     return;
-  
+
   if( !mp_input_parse_config(file)) {
     // free file if it was allocated by get_path(),
     // before it gets overwritten
@@ -1810,7 +1810,7 @@ mp_input_init(int use_gui) {
       mp_input_add_key_fd(fd,1,mp_input_appleir_read,(mp_close_func_t)close);
   }
 #endif
-  
+
   if(in_file) {
     struct stat st;
     if(stat(in_file,&st))

Modified: trunk/input/input.h
==============================================================================
--- trunk/input/input.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/input/input.h	Wed May 13 04:58:57 2009	(r29305)
@@ -139,7 +139,7 @@ typedef enum {
   MP_CMD_DVDNAV_SELECT,
   MP_CMD_DVDNAV_PREVMENU,
   MP_CMD_DVDNAV_MOUSECLICK,
-  
+
   /// GUI commands
   MP_CMD_GUI_EVENTS = 5000,
   MP_CMD_GUI_LOADFILE,
@@ -183,7 +183,7 @@ typedef enum {
 #define MP_INPUT_RETRY -4
 
 // For the key's drivers, if possible you can send key up and key down
-// events. Key up is the default, to send a key down you must use the 
+// events. Key up is the default, to send a key down you must use the
 // OR operator between the key code and MP_KEY_DOWN.
 #define MP_KEY_DOWN (1<<29)
 // Use this when the key shouldn't be auto-repeated (like mouse buttons)

Modified: trunk/input/joystick.c
==============================================================================
--- trunk/input/joystick.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/input/joystick.c	Wed May 13 04:58:57 2009	(r29305)
@@ -50,7 +50,7 @@ int mp_input_joystick_init(char* dev) {
   int fd,l=0;
   int initialized = 0;
   struct js_event ev;
-  
+
   mp_msg(MSGT_INPUT,MSGL_V,MSGTR_INPUT_JOYSTICK_Opening,dev ? dev : JS_DEV);
 
   fd = open( dev ? dev : JS_DEV , O_RDONLY | O_NONBLOCK );
@@ -58,7 +58,7 @@ int mp_input_joystick_init(char* dev) {
     mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_JOYSTICK_CantOpen,dev ? dev : JS_DEV,strerror(errno));
     return -1;
   }
-  
+
   while(! initialized) {
     l = 0;
     while((unsigned int)l < sizeof(struct js_event)) {
@@ -73,12 +73,12 @@ int mp_input_joystick_init(char* dev) {
 	mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_JOYSTICK_ErrReading,strerror(errno));
 	close(fd);
 	return -1;
-      }	
+      }
       l += r;
     }
     if((unsigned int)l < sizeof(struct js_event)) {
       if(l > 0)
-	mp_msg(MSGT_INPUT,MSGL_WARN,MSGTR_INPUT_JOYSTICK_LoosingBytes,l);	  
+	mp_msg(MSGT_INPUT,MSGL_WARN,MSGTR_INPUT_JOYSTICK_LoosingBytes,l);
       break;
     }
     if(ev.type == JS_EVENT_BUTTON)
@@ -86,7 +86,7 @@ int mp_input_joystick_init(char* dev) {
     if(ev.type == JS_EVENT_AXIS)
       axis[ev.number] = ev.value;
   }
-	
+
   return fd;
 }
 
@@ -104,9 +104,9 @@ int mp_input_joystick_read(int fd) {
       if( r < 0)
 	mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_JOYSTICK_ErrReading,strerror(errno));
       else
-	mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_JOYSTICK_ErrReading,"EOF"); 
+	mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_JOYSTICK_ErrReading,"EOF");
       return MP_INPUT_DEAD;
-    } 	
+    }
     l += r;
   }
 
@@ -117,7 +117,7 @@ int mp_input_joystick_read(int fd) {
   }
 
   if(ev.type & JS_EVENT_INIT) {
-    mp_msg(MSGT_INPUT,MSGL_WARN,MSGTR_INPUT_JOYSTICK_WarnLostSync);	
+    mp_msg(MSGT_INPUT,MSGL_WARN,MSGTR_INPUT_JOYSTICK_WarnLostSync);
     ev.type &= ~JS_EVENT_INIT;
     if(ev.type == JS_EVENT_BUTTON) {
       int s = (btns >> ev.number) & 1;
@@ -130,9 +130,9 @@ int mp_input_joystick_read(int fd) {
 	  (axis[ev.number] == 0 && ev.value >= -JOY_AXIS_DELTA && ev.value <= JOY_AXIS_DELTA)
 	  ) // State is the same : ignore
 	return MP_INPUT_NOTHING;
-    }	
+    }
   }
-  
+
   if(ev.type & JS_EVENT_BUTTON) {
     btns &= ~(1 << ev.number);
     btns |= (ev.value << ev.number);
@@ -154,7 +154,7 @@ int mp_input_joystick_read(int fd) {
     } else
       return MP_INPUT_NOTHING;
   } else {
-    mp_msg(MSGT_INPUT,MSGL_WARN,MSGTR_INPUT_JOYSTICK_WarnUnknownEvent,ev.type);	
+    mp_msg(MSGT_INPUT,MSGL_WARN,MSGTR_INPUT_JOYSTICK_WarnUnknownEvent,ev.type);
     return MP_INPUT_ERROR;
   }
 

Modified: trunk/input/lirc.c
==============================================================================
--- trunk/input/lirc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/input/lirc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -35,7 +35,7 @@ char *lirc_configfile;
 
 static char* cmd_buf = NULL;
 
-int 
+int
 mp_input_lirc_init(void) {
   int lirc_sock;
   int mode;
@@ -81,7 +81,7 @@ int mp_input_lirc_read(int fd,char* dest
     }
     return w;
   }
-      
+
   // Nothing in the buffer, poll the lirc fd
   if(lirc_nextcode(&code) != 0) {
     mp_msg(MSGT_LIRC,MSGL_ERR,"Lirc error :(\n");

Modified: trunk/input/lirc.h
==============================================================================
--- trunk/input/lirc.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/input/lirc.h	Wed May 13 04:58:57 2009	(r29305)
@@ -19,7 +19,7 @@
 #ifndef MPLAYER_LIRC_H
 #define MPLAYER_LIRC_H
 
-int 
+int
 mp_input_lirc_init(void);
 
 int

Modified: trunk/libaf/af.c
==============================================================================
--- trunk/libaf/af.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af.c	Wed May 13 04:58:57 2009	(r29305)
@@ -51,7 +51,7 @@ extern af_info_t af_info_scaletempo;
 extern af_info_t af_info_stats;
 extern af_info_t af_info_bs2b;
 
-static af_info_t* filter_list[]={ 
+static af_info_t* filter_list[]={
    &af_info_dummy,
    &af_info_delay,
    &af_info_channels,
@@ -88,7 +88,7 @@ static af_info_t* filter_list[]={ 
 #ifdef CONFIG_LIBBS2B
    &af_info_bs2b,
 #endif
-   NULL 
+   NULL
 };
 
 // CPU speed
@@ -106,13 +106,13 @@ static af_info_t* af_find(char*name)
   }
   mp_msg(MSGT_AFILTER, MSGL_ERR, "Couldn't find audio filter '%s'\n",name);
   return NULL;
-} 
+}
 
 /* Find filter in the dynamic filter list using it's name This
    function is used for finding already initialized filters */
 af_instance_t* af_get(af_stream_t* s, char* name)
 {
-  af_instance_t* af=s->first; 
+  af_instance_t* af=s->first;
   // Find the filter
   while(af != NULL){
     if(!strcmp(af->info->name,name))
@@ -134,7 +134,7 @@ static af_instance_t* af_create(af_strea
   if (!name || !new) {
     mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Could not allocate memory\n");
     goto err_out;
-  }  
+  }
   memset(new,0,sizeof(af_instance_t));
 
   // Check for commandline parameters
@@ -148,29 +148,29 @@ static af_instance_t* af_create(af_strea
      non-reentrant */
   if(new->info->flags & AF_FLAGS_NOT_REENTRANT){
     if(af_get(s,name)){
-      mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] There can only be one instance of" 
-	     " the filter '%s' in each stream\n",name);  
+      mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] There can only be one instance of"
+	     " the filter '%s' in each stream\n",name);
       goto err_out;
     }
   }
-  
+
   mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Adding filter %s \n",name);
-  
+
   // Initialize the new filter
-  if(AF_OK == new->info->open(new) && 
+  if(AF_OK == new->info->open(new) &&
      AF_ERROR < new->control(new,AF_CONTROL_POST_CREATE,&s->cfg)){
     if(cmdline){
       if(AF_ERROR>=new->control(new,AF_CONTROL_COMMAND_LINE,cmdline))
         goto err_out;
     }
     free(name);
-    return new; 
+    return new;
   }
-  
+
 err_out:
   free(new);
   mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Couldn't create or open audio filter '%s'\n",
-	 name);  
+	 name);
   free(name);
   return NULL;
 }
@@ -228,8 +228,8 @@ void af_remove(af_stream_t* s, af_instan
 {
   if(!af) return;
 
-  // Print friendly message 
-  mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Removing filter %s \n",af->info->name); 
+  // Print friendly message
+  mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Removing filter %s \n",af->info->name);
 
   // Notify filter before changing anything
   af->control(af,AF_CONTROL_PRE_DESTROY,0);
@@ -244,7 +244,7 @@ void af_remove(af_stream_t* s, af_instan
   else
     s->last=af->prev;
 
-  // Uninitialize af and free memory   
+  // Uninitialize af and free memory
   af->uninit(af);
   free(af);
 }
@@ -260,21 +260,21 @@ static int af_reinit(af_stream_t* s, af_
 
     // Check if there are any filters left in the list
     if(NULL == af){
-      if(!(af=af_append(s,s->first,"dummy"))) 
-	return AF_UNKNOWN; 
+      if(!(af=af_append(s,s->first,"dummy")))
+	return AF_UNKNOWN;
       else
 	return AF_ERROR;
     }
 
-    // Check if this is the first filter 
-    if(!af->prev) 
+    // Check if this is the first filter
+    if(!af->prev)
       memcpy(&in,&(s->input),sizeof(af_data_t));
     else
       memcpy(&in,af->prev->data,sizeof(af_data_t));
     // Reset just in case...
     in.audio=NULL;
     in.len=0;
-    
+
     rv = af->control(af,AF_CONTROL_REINIT,&in);
     switch(rv){
     case AF_OK:
@@ -293,7 +293,7 @@ static int af_reinit(af_stream_t* s, af_
 	  if(AF_OK != (rv = new->control(new,AF_CONTROL_CHANNELS,&in.nch)))
 	    return rv;
 	  // Initialize channels filter
-	  if(!new->prev) 
+	  if(!new->prev)
 	    memcpy(&in,&(s->input),sizeof(af_data_t));
 	  else
 	    memcpy(&in,new->prev->data,sizeof(af_data_t));
@@ -310,7 +310,7 @@ static int af_reinit(af_stream_t* s, af_
 	  if(AF_OK != (rv = new->control(new,AF_CONTROL_FORMAT_FMT,&in.format)))
 	    return rv;
 	  // Initialize format filter
-	  if(!new->prev) 
+	  if(!new->prev)
 	    memcpy(&in,&(s->input),sizeof(af_data_t));
 	  else
 	    memcpy(&in,new->prev->data,sizeof(af_data_t));
@@ -318,7 +318,7 @@ static int af_reinit(af_stream_t* s, af_
 	    return rv;
 	}
 	if(!new){ // Should _never_ happen
-	  mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Unable to correct audio format. " 
+	  mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Unable to correct audio format. "
 		 "This error should never uccur, please send bugreport.\n");
 	  return AF_ERROR;
 	}
@@ -344,7 +344,7 @@ static int af_reinit(af_stream_t* s, af_
       break;
     }
     default:
-      mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Reinitialization did not work, audio" 
+      mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Reinitialization did not work, audio"
 	     " filter '%s' returned error code %i\n",af->info->name,rv);
       return AF_ERROR;
     }
@@ -387,8 +387,8 @@ int af_init(af_stream_t* s)
   if(!s->first){
     // Add all filters in the list (if there are any)
     if(!s->cfg.list){      // To make automatic format conversion work
-      if(!af_append(s,s->first,"dummy")) 
-	return -1; 
+      if(!af_append(s,s->first,"dummy"))
+	return -1;
     }
     else{
       while(s->cfg.list[i]){
@@ -398,7 +398,7 @@ int af_init(af_stream_t* s)
     }
   }
 
-  // Init filters 
+  // Init filters
   if(AF_OK != af_reinit(s,s->first))
     return -1;
 
@@ -426,7 +426,7 @@ int af_init(af_stream_t* s)
 	    af = af_append(s,s->first,resampler);
 	  else
 	    af = af_prepend(s,s->first,resampler);
-	}		
+	}
 	else{
 	  if(!strcmp(s->last->info->name,"format"))
 	    af = af_prepend(s,s->last,resampler);
@@ -452,8 +452,8 @@ int af_init(af_stream_t* s)
       }
       if(AF_OK != af_reinit(s,af))
       	return -1;
-    }	
-      
+    }
+
     // Check number of output channels fix if not OK
     // If needed always inserted last -> easy to screw up other filters
     if(s->output.nch && s->last->data->nch!=s->output.nch){
@@ -467,7 +467,7 @@ int af_init(af_stream_t* s)
       if(AF_OK != af_reinit(s,af))
 	return -1;
     }
-    
+
     // Check output format fix if not OK
     if(s->output.format != AF_FORMAT_UNKNOWN &&
 		s->last->data->format != s->output.format){
@@ -491,11 +491,11 @@ int af_init(af_stream_t* s)
 	s->output.format = s->last->data->format;
     if (!s->output.nch) s->output.nch = s->last->data->nch;
     if (!s->output.rate) s->output.rate = s->last->data->rate;
-    if((s->last->data->format != s->output.format) || 
-       (s->last->data->nch    != s->output.nch)    || 
+    if((s->last->data->format != s->output.format) ||
+       (s->last->data->nch    != s->output.nch)    ||
        (s->last->data->rate   != s->output.rate))  {
-      // Something is stuffed audio out will not work 
-      mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Unable to setup filter system can not" 
+      // Something is stuffed audio out will not work
+      mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Unable to setup filter system can not"
 	     " meet sound-card demands, please send bugreport. \n");
       af_uninit(s);
       return -1;
@@ -532,8 +532,8 @@ af_instance_t* af_add(af_stream_t* s, ch
 // Filter data chunk through the filters in the list
 af_data_t* af_play(af_stream_t* s, af_data_t* data)
 {
-  af_instance_t* af=s->first; 
-  // Iterate through all filters 
+  af_instance_t* af=s->first;
+  // Iterate through all filters
   do{
     if (data->len <= 0) break;
     data=af->play(af,data);
@@ -555,7 +555,7 @@ int af_lencalc(double mul, af_data_t* d)
 // Calculate average ratio of filter output size to input size
 double af_calc_filter_multiplier(af_stream_t* s)
 {
-  af_instance_t* af=s->first; 
+  af_instance_t* af=s->first;
   double mul = 1;
   // Iterate through all filters and calculate total multiplication factor
   do{
@@ -569,9 +569,9 @@ double af_calc_filter_multiplier(af_stre
 /* Calculate the total delay [bytes output] caused by the filters */
 double af_calc_delay(af_stream_t* s)
 {
-  af_instance_t* af=s->first; 
+  af_instance_t* af=s->first;
   register double delay = 0.0;
-  // Iterate through all filters 
+  // Iterate through all filters
   while(af){
     delay += af->delay;
     delay *= af->mul;
@@ -586,10 +586,10 @@ int af_resize_local_buffer(af_instance_t
 {
   // Calculate new length
   register int len = af_lencalc(af->mul,data);
-  mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Reallocating memory in module %s, " 
+  mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Reallocating memory in module %s, "
 	 "old len = %i, new len = %i\n",af->info->name,af->data->len,len);
   // If there is a buffer free it
-  if(af->data->audio) 
+  if(af->data->audio)
     free(af->data->audio);
   // Create new buffer and check that it is OK
   af->data->audio = malloc(len);

Modified: trunk/libaf/af.h
==============================================================================
--- trunk/libaf/af.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af.h	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@
 #undef AF_INIT_TYPE
 #define AF_INIT_TYPE \
   ((gCpuCaps.has3DNow || gCpuCaps.hasSSE)?AF_INIT_FAST:AF_INIT_SLOW)
-#endif 
+#endif
 
 struct af_instance_s;
 
@@ -59,8 +59,8 @@ typedef struct af_data_s
 #define AF_FLAGS_NOT_REENTRANT 	0x00000001
 
 /* Audio filter information not specific for current instance, but for
-   a specific filter */ 
-typedef struct af_info_s 
+   a specific filter */
+typedef struct af_info_s
 {
   const char *info;
   const char *name;
@@ -80,7 +80,7 @@ typedef struct af_instance_s
   void* setup;	  // setup data for this specific instance and filter
   af_data_t* data; // configuration for outgoing data stream
   struct af_instance_s* next;
-  struct af_instance_s* prev;  
+  struct af_instance_s* prev;
   double delay; /* Delay caused by the filter, in units of bytes read without
 		 * corresponding output */
   double mul; /* length multiplier: how much does this instance change
@@ -100,7 +100,7 @@ extern int* af_cpu_speed;
 #define AF_INIT_FLOAT		0x00000004
 #define AF_INIT_FORMAT_MASK	0x00000004
 
-// Default init type 
+// Default init type
 #ifndef AF_INIT_TYPE
 #if HAVE_SSE || HAVE_AMD3DNOW
 #define AF_INIT_TYPE (af_cpu_speed?*af_cpu_speed:AF_INIT_FAST)
@@ -194,7 +194,7 @@ void af_remove(af_stream_t* s, af_instan
  * \brief find filter in chain by name
  * \param name name of the filter to find
  * \return first filter with right name or NULL if not found
- * 
+ *
  * This function is used for finding already initialized filters
  */
 af_instance_t* af_get(af_stream_t* s, char* name);
@@ -288,7 +288,7 @@ int af_from_ms(int n, float* in, int* ou
  * \param rate sample rate
  * \return AF_ERROR on error, AF_OK otherwise
  */
-int af_to_ms(int n, int* in, float* out, int rate); 
+int af_to_ms(int n, int* in, float* out, int rate);
 
 /**
  * \brief test if output format matches
@@ -317,7 +317,7 @@ void af_help(void);
  * \brief fill the missing parameters in the af_data_t structure
  * \param data structure to fill
  * \ingroup af_filter
- * 
+ *
  * Currently only sets bps based on format
  */
 void af_fix_parameters(af_data_t *data);
@@ -344,7 +344,7 @@ void af_fix_parameters(af_data_t *data);
 #endif
 
 #ifndef sign
-#define sign(a) (((a)>0)?(1):(-1)) 
+#define sign(a) (((a)>0)?(1):(-1))
 #endif
 
 #ifndef lrnd

Modified: trunk/libaf/af_center.c
==============================================================================
--- trunk/libaf/af_center.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_center.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include "af.h"
 
@@ -40,7 +40,7 @@ typedef struct af_center_s
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_center_t* s   = af->setup; 
+  af_center_t* s   = af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:{
@@ -75,7 +75,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -90,7 +90,7 @@ static af_data_t* play(struct af_instanc
   af_data_t*    c   = data;	 // Current working data
   af_center_t*  s   = af->setup; // Setup for this instance
   float*   	a   = c->audio;	 // Audio data
-  int		len = c->len/4;	 // Number of samples in current audio block 
+  int		len = c->len/4;	 // Number of samples in current audio block
   int		nch = c->nch;	 // Number of channels
   int		ch  = s->ch;	 // Channel in which to insert the center audio
   register int  i;

Modified: trunk/libaf/af_channels.c
==============================================================================
--- trunk/libaf/af_channels.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_channels.c	Wed May 13 04:58:57 2009	(r29305)
@@ -108,7 +108,7 @@ static void copy(void* in, void* out, in
     break;
   }
   default:
-    mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] Unsupported number of bytes/sample: %i" 
+    mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] Unsupported number of bytes/sample: %i"
 	   " please report this error on the MPlayer mailing list. \n",bps);
   }
 }
@@ -118,11 +118,11 @@ static int check_routes(af_channels_t* s
 {
   int i;
   if((s->nr < 1) || (s->nr > AF_NCH)){
-    mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of routing pairs must be" 
+    mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of routing pairs must be"
 	   " between 1 and %i. Current value is %i\n",AF_NCH,s->nr);
     return AF_ERROR;
   }
-	
+
   for(i=0;i<s->nr;i++){
     if((s->route[i][FR] >= nin) || (s->route[i][TO] >= nout)){
       mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] Invalid routing in pair nr. %i.\n", i);
@@ -142,7 +142,7 @@ static int control(struct af_instance_s*
     // Set default channel assignment
     if(!s->router){
       int i;
-      // Make sure this filter isn't redundant 
+      // Make sure this filter isn't redundant
       if(af->data->nch == ((af_data_t*)arg)->nch)
 	return AF_DETACH;
 
@@ -180,14 +180,14 @@ static int control(struct af_instance_s*
       int ch = 0;
       // Sanity check
       if((s->nr < 1) || (s->nr > AF_NCH)){
-	mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of routing pairs must be" 
+	mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of routing pairs must be"
 	     " between 1 and %i. Current value is %i\n",AF_NCH,s->nr);
-      }	
+      }
       s->router = 1;
       // Scan for pairs on commandline
       while((*cp == ':') && (ch < s->nr)){
 	sscanf(cp, ":%i:%i%n" ,&s->route[ch][FR], &s->route[ch][TO], &n);
-	mp_msg(MSGT_AFILTER, MSGL_V, "[channels] Routing from channel %i to" 
+	mp_msg(MSGT_AFILTER, MSGL_V, "[channels] Routing from channel %i to"
 	       " channel %i\n",s->route[ch][FR],s->route[ch][TO]);
 	cp = &cp[n];
 	ch++;
@@ -197,20 +197,20 @@ static int control(struct af_instance_s*
     if(AF_OK != af->control(af,AF_CONTROL_CHANNELS | AF_CONTROL_SET ,&nch))
       return AF_ERROR;
     return AF_OK;
-  }    
-  case AF_CONTROL_CHANNELS | AF_CONTROL_SET: 
+  }
+  case AF_CONTROL_CHANNELS | AF_CONTROL_SET:
     // Reinit must be called after this function has been called
-    
+
     // Sanity check
     if(((int*)arg)[0] <= 0 || ((int*)arg)[0] > AF_NCH){
-      mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of output channels must be" 
+      mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of output channels must be"
 	     " between 1 and %i. Current value is %i\n",AF_NCH,((int*)arg)[0]);
       return AF_ERROR;
     }
 
-    af->data->nch=((int*)arg)[0]; 
+    af->data->nch=((int*)arg)[0];
     if(!s->router)
-      mp_msg(MSGT_AFILTER, MSGL_V, "[channels] Changing number of channels" 
+      mp_msg(MSGT_AFILTER, MSGL_V, "[channels] Changing number of channels"
 	     " to %i\n",af->data->nch);
     return AF_OK;
   case AF_CONTROL_CHANNELS | AF_CONTROL_GET:
@@ -246,7 +246,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   free(af->setup);
@@ -262,18 +262,18 @@ static af_data_t* play(struct af_instanc
   af_data_t*   	 l = af->data;	 		// Local data
   af_channels_t* s = af->setup;
   int 		 i;
-  
+
   if(AF_OK != RESIZE_LOCAL_BUFFER(af,data))
     return NULL;
 
   // Reset unused channels
   memset(l->audio,0,c->len / c->nch * l->nch);
-  
+
   if(AF_OK == check_routes(s,c->nch,l->nch))
     for(i=0;i<s->nr;i++)
       copy(c->audio,l->audio,c->nch,s->route[i][FR],
 	   l->nch,s->route[i][TO],c->len,c->bps);
-  
+
   // Set output data
   c->audio = l->audio;
   c->len   = c->len / c->nch * l->nch;

Modified: trunk/libaf/af_comp.c
==============================================================================
--- trunk/libaf/af_comp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_comp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -43,21 +43,21 @@ typedef struct af_comp_s
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_comp_t* s   = (af_comp_t*)af->setup; 
+  af_comp_t* s   = (af_comp_t*)af->setup;
   int i;
 
   switch(cmd){
   case AF_CONTROL_REINIT:
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = ((af_data_t*)arg)->nch;
     af->data->format = AF_FORMAT_FLOAT_NE;
     af->data->bps    = 4;
 
     // Time constant set to 0.1s
-    //    s->alpha = (1.0/0.2)/(2.0*M_PI*(float)((af_data_t*)arg)->rate); 
+    //    s->alpha = (1.0/0.2)/(2.0*M_PI*(float)((af_data_t*)arg)->rate);
     return af_test_output(af,(af_data_t*)arg);
   case AF_CONTROL_COMMAND_LINE:{
 /*     float v=-10.0; */
@@ -76,10 +76,10 @@ static int control(struct af_instance_s*
   }
   case AF_CONTROL_COMP_ON_OFF | AF_CONTROL_SET:
     memcpy(s->enable,(int*)arg,AF_NCH*sizeof(int));
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_COMP_ON_OFF | AF_CONTROL_GET:
     memcpy((int*)arg,s->enable,AF_NCH*sizeof(int));
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_COMP_THRESH | AF_CONTROL_SET:
     return af_from_dB(AF_NCH,(float*)arg,s->tresh,20.0,-60.0,-1.0);
   case AF_CONTROL_COMP_THRESH | AF_CONTROL_GET:
@@ -93,18 +93,18 @@ static int control(struct af_instance_s*
   case AF_CONTROL_COMP_RELEASE | AF_CONTROL_GET:
     return af_to_ms(AF_NCH,s->release,(float*)arg,af->data->rate);
   case AF_CONTROL_COMP_RATIO | AF_CONTROL_SET:
-    for(i=0;i<AF_NCH;i++) 
+    for(i=0;i<AF_NCH;i++)
       s->ratio[i] = clamp(((float*)arg)[i],1.0,10.0);
     return AF_OK;
   case AF_CONTROL_COMP_RATIO | AF_CONTROL_GET:
-    for(i=0;i<AF_NCH;i++) 
+    for(i=0;i<AF_NCH;i++)
       ((float*)arg)[i] = s->ratio[i];
-    return AF_OK; 
+    return AF_OK;
   }
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -121,7 +121,7 @@ static af_data_t* play(struct af_instanc
   float*   	a   = (float*)c->audio;		// Audio data
   int       	len = c->len/4;			// Number of samples
   int           ch  = 0;			// Channel counter
-  register int	nch = c->nch;			// Number of channels	
+  register int	nch = c->nch;			// Number of channels
   register int  i   = 0;
 
   // Compress/expand
@@ -130,8 +130,8 @@ static af_data_t* play(struct af_instanc
       float	t   = 1.0 - s->time[ch];
       for(i=ch;i<len;i+=nch){
 	register float x 	= a[i];
-	register float pow 	= x*x;	
-	s->pow[ch] = t*s->pow[ch] + 
+	register float pow 	= x*x;
+	s->pow[ch] = t*s->pow[ch] +
 	  pow*s->time[ch]; // LP filter
 	if(pow < s->pow[ch]){
 	  ;

Modified: trunk/libaf/af_delay.c
==============================================================================
--- trunk/libaf/af_delay.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_delay.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,7 +37,7 @@ typedef struct af_delay_s
   void* q[AF_NCH];   	// Circular queues used for delaying audio signal
   int 	wi[AF_NCH];  	// Write index
   int 	ri;		// Read index
-  float	d[AF_NCH];   	// Delay [ms] 	
+  float	d[AF_NCH];   	// Delay [ms]
 }af_delay_t;
 
 // Initialization and runtime control
@@ -108,7 +108,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   int i;
@@ -134,7 +134,7 @@ static af_data_t* play(struct af_instanc
     switch(c->bps){
     case 1:{
       int8_t* a = c->audio;
-      int8_t* q = s->q[ch]; 
+      int8_t* q = s->q[ch];
       int wi = s->wi[ch];
       ri = s->ri;
       for(i=ch;i<len;i+=nch){
@@ -148,7 +148,7 @@ static af_data_t* play(struct af_instanc
     }
     case 2:{
       int16_t* a = c->audio;
-      int16_t* q = s->q[ch]; 
+      int16_t* q = s->q[ch];
       int wi = s->wi[ch];
       ri = s->ri;
       for(i=ch;i<len;i+=nch){
@@ -162,7 +162,7 @@ static af_data_t* play(struct af_instanc
     }
     case 4:{
       int32_t* a = c->audio;
-      int32_t* q = s->q[ch]; 
+      int32_t* q = s->q[ch];
       int wi = s->wi[ch];
       ri = s->ri;
       for(i=ch;i<len;i+=nch){

Modified: trunk/libaf/af_dummy.c
==============================================================================
--- trunk/libaf/af_dummy.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_dummy.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)

Modified: trunk/libaf/af_equalizer.c
==============================================================================
--- trunk/libaf/af_equalizer.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_equalizer.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,13 +32,13 @@
 #include "af.h"
 
 #define L   	2      // Storage for filter taps
-#define KM  	10     // Max number of bands 
+#define KM  	10     // Max number of bands
 
 #define Q   1.2247449 /* Q value for band-pass filters 1.2247=(3/2)^(1/2)
 			 gives 4dB suppression @ Fc*2 and Fc/2 */
 
 /* Center frequencies for band-pass filters
-   The different frequency bands are:	
+   The different frequency bands are:
    nr.    	center frequency
    0  	31.25 Hz
    1 	62.50 Hz
@@ -55,7 +55,7 @@
 
 // Maximum and minimum gain for the bands
 #define G_MAX	+12.0
-#define G_MIN	-12.0	
+#define G_MIN	-12.0
 
 // Data for specific instances of this filter
 typedef struct af_equalizer_s
@@ -76,7 +76,7 @@ static void bp2(float* a, float* b, floa
 
   a[0] = (1.0 + C) * cos(th);
   a[1] = -1 * C;
-  
+
   b[0] = (1.0 - C)/2.0;
   b[1] = -1.0050;
 }
@@ -84,30 +84,30 @@ static void bp2(float* a, float* b, floa
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_equalizer_t* s   = (af_equalizer_t*)af->setup; 
+  af_equalizer_t* s   = (af_equalizer_t*)af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:{
     int k =0, i =0;
     float F[KM] = CF;
-    
+
     s->gain_factor=0.0;
 
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = ((af_data_t*)arg)->nch;
     af->data->format = AF_FORMAT_FLOAT_NE;
     af->data->bps    = 4;
-    
+
     // Calculate number of active filters
     s->K=KM;
     while(F[s->K-1] > (float)af->data->rate/2.2)
       s->K--;
-    
+
     if(s->K != KM)
-      mp_msg(MSGT_AFILTER, MSGL_INFO, "[equalizer] Limiting the number of filters to" 
+      mp_msg(MSGT_AFILTER, MSGL_INFO, "[equalizer] Limiting the number of filters to"
 	     " %i due to low sample rate.\n",s->K);
 
     // Generate filter taps
@@ -116,7 +116,7 @@ static int control(struct af_instance_s*
 
     // Calculate how much this plugin adds to the overall time delay
     af->delay = 2 * af->data->nch * af->data->bps;
-    
+
     // Calculate gain factor to prevent clipping at output
     for(k=0;k<AF_NCH;k++)
     {
@@ -127,24 +127,24 @@ static int control(struct af_instance_s*
     }
 
     s->gain_factor=log10(s->gain_factor + 1.0) * 20.0;
-	 
+
     if(s->gain_factor > 0.0)
     {
         s->gain_factor=0.1+(s->gain_factor/12.0);
     }else{
         s->gain_factor=1;
     }
-	
+
     return af_test_output(af,arg);
   }
   case AF_CONTROL_COMMAND_LINE:{
     float g[10]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
     int i,j;
-    sscanf((char*)arg,"%f:%f:%f:%f:%f:%f:%f:%f:%f:%f", &g[0], &g[1], 
+    sscanf((char*)arg,"%f:%f:%f:%f:%f:%f:%f:%f:%f:%f", &g[0], &g[1],
 	   &g[2], &g[3], &g[4], &g[5], &g[6], &g[7], &g[8] ,&g[9]);
     for(i=0;i<AF_NCH;i++){
       for(j=0;j<KM;j++){
-	((af_equalizer_t*)af->setup)->g[i][j] = 
+	((af_equalizer_t*)af->setup)->g[i][j] =
 	  pow(10.0,clamp(g[j],G_MIN,G_MAX)/20.0)-1.0;
       }
     }
@@ -178,7 +178,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -191,12 +191,12 @@ static void uninit(struct af_instance_s*
 static af_data_t* play(struct af_instance_s* af, af_data_t* data)
 {
   af_data_t*       c 	= data;			    	// Current working data
-  af_equalizer_t*  s 	= (af_equalizer_t*)af->setup; 	// Setup 
+  af_equalizer_t*  s 	= (af_equalizer_t*)af->setup; 	// Setup
   uint32_t  	   ci  	= af->data->nch; 	    	// Index for channels
   uint32_t	   nch 	= af->data->nch;   	    	// Number of channels
 
   while(ci--){
-    float*	g   = s->g[ci];      // Gain factor 
+    float*	g   = s->g[ci];      // Gain factor
     float*	in  = ((float*)c->audio)+ci;
     float*	out = ((float*)c->audio)+ci;
     float* 	end = in + c->len/4; // Block loop end
@@ -205,7 +205,7 @@ static af_data_t* play(struct af_instanc
       register int	k  = 0;		// Frequency band index
       register float 	yt = *in; 	// Current input sample
       in+=nch;
-      
+
       // Run the filters
       for(;k<s->K;k++){
  	// Pointer to circular buffer wq
@@ -218,7 +218,7 @@ static af_data_t* play(struct af_instanc
  	wq[1] = wq[0];
 	wq[0] = w;
       }
-      // Calculate output 
+      // Calculate output
       *out=yt*s->gain_factor;
       out+=nch;
     }

Modified: trunk/libaf/af_export.c
==============================================================================
--- trunk/libaf/af_export.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_export.c	Wed May 13 04:58:57 2009	(r29305)
@@ -41,7 +41,7 @@
 #include "get_path.h"
 
 #define DEF_SZ 512 // default buffer size (in samples)
-#define SHARED_FILE "mplayer-af_export" /* default file name 
+#define SHARED_FILE "mplayer-af_export" /* default file name
 					   (relative to ~/.mplayer/ */
 
 #define SIZE_HEADER (2 * sizeof(int) + sizeof(unsigned long long))
@@ -81,46 +81,46 @@ static int control(struct af_instance_s*
       munmap(s->mmap_area, SIZE_HEADER + (af->data->bps*s->sz*af->data->nch));
     // close previous file descriptor
     if(s->fd)
-      close(s->fd);	
+      close(s->fd);
 
     // Accept only int16_t as input format (which sucks)
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = ((af_data_t*)arg)->nch;
     af->data->format = AF_FORMAT_S16_NE;
     af->data->bps    = 2;
-	
+
     // If buffer length isn't set, set it to the default value
     if(s->sz == 0)
       s->sz = DEF_SZ;
-	
+
     // Allocate new buffers (as one continuous block)
     s->buf[0] = calloc(s->sz*af->data->nch, af->data->bps);
     if(NULL == s->buf[0])
       mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Out of memory\n");
     for(i = 1; i < af->data->nch; i++)
       s->buf[i] = s->buf[0] + i*s->sz*af->data->bps;
-	
+
     // Init memory mapping
     s->fd = open(s->filename, O_RDWR | O_CREAT | O_TRUNC, 0640);
     mp_msg(MSGT_AFILTER, MSGL_INFO, "[export] Exporting to file: %s\n", s->filename);
     if(s->fd < 0)
-      mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Could not open/create file: %s\n", 
+      mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Could not open/create file: %s\n",
 	     s->filename);
-    
+
     // header + buffer
     mapsize = (SIZE_HEADER + (af->data->bps * s->sz * af->data->nch));
-    
+
     // grow file to needed size
     for(i = 0; i < mapsize; i++){
       char null = 0;
       write(s->fd, (void*) &null, 1);
     }
-	
+
     // mmap size
     s->mmap_area = mmap(0, mapsize, PROT_READ|PROT_WRITE,MAP_SHARED, s->fd, 0);
     if(s->mmap_area == NULL)
       mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Could not mmap file %s\n", s->filename);
-    mp_msg(MSGT_AFILTER, MSGL_INFO, "[export] Memory mapped to file: %s (%p)\n", 
+    mp_msg(MSGT_AFILTER, MSGL_INFO, "[export] Memory mapped to file: %s (%p)\n",
 	   s->filename, s->mmap_area);
 
     // Initialize header
@@ -134,15 +134,15 @@ static int control(struct af_instance_s*
   case AF_CONTROL_COMMAND_LINE:{
     int i=0;
     char *str = arg;
-    
+
     if (!str){
-      if(s->filename) 
+      if(s->filename)
 	free(s->filename);
 
       s->filename = get_path(SHARED_FILE);
       return AF_OK;
     }
-	
+
     while((str[i]) && (str[i] != ':'))
       i++;
 
@@ -152,9 +152,9 @@ static int control(struct af_instance_s*
     s->filename = calloc(i + 1, 1);
     memcpy(s->filename, str, i);
     s->filename[i] = 0;
-	
+
     sscanf(str + i + 1, "%d", &(s->sz));
-  
+
     return af->control(af, AF_CONTROL_EXPORT_SZ | AF_CONTROL_SET, &s->sz);
   }
   case AF_CONTROL_EXPORT_SZ | AF_CONTROL_SET:
@@ -167,7 +167,7 @@ static int control(struct af_instance_s*
   case AF_CONTROL_EXPORT_SZ | AF_CONTROL_GET:
     *(int*) arg = s->sz;
     return AF_OK;
-      
+
   }
   return AF_UNKNOWN;
 }
@@ -186,10 +186,10 @@ static void uninit( struct af_instance_s
     af_export_t* s = af->setup;
     if (s->buf && s->buf[0])
       free(s->buf[0]);
-    
+
     // Free mmaped area
     if(s->mmap_area)
-      munmap(s->mmap_area, sizeof(af_export_t));	  
+      munmap(s->mmap_area, sizeof(af_export_t));
 
     if(s->fd > -1)
       close(s->fd);
@@ -215,15 +215,15 @@ static af_data_t* play( struct af_instan
   int		len = c->len/c->bps; // Number of sample in data chunk
   int 		sz  = s->sz;         // buffer size (in samples)
   int 		flag = 0;	     // Set to 1 if buffer is filled
-  
+
   int 		ch, i;
 
   // Fill all buffers
   for(ch = 0; ch < nch; ch++){
     int 	wi = s->wi;    	 // Reset write index
-    int16_t* 	b  = s->buf[ch]; // Current buffer 
+    int16_t* 	b  = s->buf[ch]; // Current buffer
 
-    // Copy data to export buffers 
+    // Copy data to export buffers
     for(i = ch; i < len; i += nch){
       b[wi++] = a[i];
       if(wi >= sz){ // Don't write outside the end of the buffer
@@ -239,7 +239,7 @@ static af_data_t* play( struct af_instan
     // update buffer in mapped area
     memcpy(s->mmap_area + SIZE_HEADER, s->buf[0], sz * c->bps * nch);
     s->count++; // increment counter (to sync)
-    memcpy(s->mmap_area + SIZE_HEADER - sizeof(s->count), 
+    memcpy(s->mmap_area + SIZE_HEADER - sizeof(s->count),
 	   &(s->count), sizeof(s->count));
   }
 
@@ -248,7 +248,7 @@ static af_data_t* play( struct af_instan
 }
 
 /* Allocate memory and set function pointers
-   af audio filter instance 
+   af audio filter instance
    returns AF_OK or AF_ERROR
 */
 static int af_open( af_instance_t* af )

Modified: trunk/libaf/af_extrastereo.c
==============================================================================
--- trunk/libaf/af_extrastereo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_extrastereo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,7 +20,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include <inttypes.h>
 #include <math.h>
@@ -40,13 +40,13 @@ static af_data_t* play_float(struct af_i
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_extrastereo_t* s   = (af_extrastereo_t*)af->setup; 
+  af_extrastereo_t* s   = (af_extrastereo_t*)af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:{
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = 2;
     if (((af_data_t*)arg)->format == AF_FORMAT_FLOAT_NE)
@@ -79,7 +79,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -96,11 +96,11 @@ static af_data_t* play_s16(struct af_ins
   int16_t *a = (int16_t*)data->audio;	// Audio data
   int len = data->len/2;		// Number of samples
   int avg, l, r;
-  
+
   for (i = 0; i < len; i+=2)
   {
     avg = (a[i] + a[i + 1]) / 2;
-    
+
     l = avg + (int)(s->mul * (a[i] - avg));
     r = avg + (int)(s->mul * (a[i + 1] - avg));
 
@@ -118,14 +118,14 @@ static af_data_t* play_float(struct af_i
   float *a = (float*)data->audio;	// Audio data
   int len = data->len/4;		// Number of samples
   float avg, l, r;
-  
+
   for (i = 0; i < len; i+=2)
   {
     avg = (a[i] + a[i + 1]) / 2;
-    
+
     l = avg + (s->mul * (a[i] - avg));
     r = avg + (s->mul * (a[i + 1] - avg));
-    
+
     a[i] = af_softclip(l);
     a[i + 1] = af_softclip(r);
   }

Modified: trunk/libaf/af_format.c
==============================================================================
--- trunk/libaf/af_format.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_format.c	Wed May 13 04:58:57 2009	(r29305)
@@ -36,7 +36,7 @@
    format */
 
 /* The below includes retrieves functions for converting to and from
-   ulaw and alaw */ 
+   ulaw and alaw */
 #include "af_format_ulaw.h"
 #include "af_format_alaw.h"
 
@@ -62,7 +62,7 @@ static af_data_t* play_s16_float(struct 
 static int check_bps(int bps)
 {
   if(bps != 4 && bps != 3 && bps != 2 && bps != 1){
-    mp_msg(MSGT_AFILTER, MSGL_ERR, "[format] The number of bytes per sample" 
+    mp_msg(MSGT_AFILTER, MSGL_ERR, "[format] The number of bytes per sample"
 	   " must be 1, 2, 3 or 4. Current value is %i \n",bps);
     return AF_ERROR;
   }
@@ -74,11 +74,11 @@ static int check_format(int format)
 {
   char buf[256];
   switch(format & AF_FORMAT_SPECIAL_MASK){
-  case(AF_FORMAT_IMA_ADPCM): 
-  case(AF_FORMAT_MPEG2): 
+  case(AF_FORMAT_IMA_ADPCM):
+  case(AF_FORMAT_MPEG2):
   case(AF_FORMAT_AC3):
     mp_msg(MSGT_AFILTER, MSGL_ERR, "[format] Sample format %s not yet supported \n",
-	 af_fmt2str(format,buf,256)); 
+	 af_fmt2str(format,buf,256));
     return AF_ERROR;
   }
   return AF_OK;
@@ -92,9 +92,9 @@ static int control(struct af_instance_s*
     char buf1[256];
     char buf2[256];
     af_data_t *data = arg;
-    
-    // Make sure this filter isn't redundant 
-    if(af->data->format == data->format && 
+
+    // Make sure this filter isn't redundant
+    if(af->data->format == data->format &&
        af->data->bps == data->bps)
       return AF_DETACH;
 
@@ -112,9 +112,9 @@ static int control(struct af_instance_s*
     af->data->rate = data->rate;
     af->data->nch  = data->nch;
     af->mul        = (double)af->data->bps / data->bps;
-    
+
     af->play = play; // set default
-    
+
     // look whether only endianness differences are there
     if ((af->data->format & ~AF_FORMAT_END_MASK) ==
 	(data->format & ~AF_FORMAT_END_MASK))
@@ -164,13 +164,13 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if (af->data)
       free(af->data->audio);
   free(af->data);
-  af->setup = 0;  
+  af->setup = 0;
 }
 
 static af_data_t* play_swapendian(struct af_instance_s* af, af_data_t* data)
@@ -271,10 +271,10 @@ static af_data_t* play(struct af_instanc
     }
   } else {
     // Input must be int
-    
+
     // Change signed/unsigned
     if((c->format&AF_FORMAT_SIGN_MASK) != (l->format&AF_FORMAT_SIGN_MASK)){
-      si2us(c->audio,len,c->bps); 
+      si2us(c->audio,len,c->bps);
     }
     // Convert to special formats
     switch(l->format&(AF_FORMAT_SPECIAL_MASK|AF_FORMAT_POINT_MASK)){
@@ -297,7 +297,7 @@ static af_data_t* play(struct af_instanc
     }
   }
 
-  // Switch from cpu native endian to the correct endianness 
+  // Switch from cpu native endian to the correct endianness
   if((l->format&AF_FORMAT_END_MASK)!=AF_FORMAT_NE)
     endian(l->audio,l->audio,len,l->bps);
 
@@ -450,7 +450,7 @@ static void change_bps(void* in, void* o
 	((uint32_t*)out)[i]=(uint32_t)load24bit(in, i);
       break;
     }
-    break;      
+    break;
   case(4):
     switch(outbps){
     case(1):
@@ -466,7 +466,7 @@ static void change_bps(void* in, void* o
         store24bit(out, i, ((uint32_t*)in)[i]);
       break;
     }
-    break;      
+    break;
   }
 }
 
@@ -478,7 +478,7 @@ static void float2int(float* in, void* o
     for(i=0;i<len;i++)
       ((int8_t*)out)[i] = lrintf(127.0 * in[i]);
     break;
-  case(2): 
+  case(2):
     for(i=0;i<len;i++)
       ((int16_t*)out)[i] = lrintf(32767.0 * in[i]);
     break;
@@ -490,7 +490,7 @@ static void float2int(float* in, void* o
     for(i=0;i<len;i++)
       ((int32_t*)out)[i] = lrintf(2147483647.0 * in[i]);
     break;
-  }	
+  }
 }
 
 static void int2float(void* in, float* out, int len, int bps)
@@ -513,5 +513,5 @@ static void int2float(void* in, float* o
     for(i=0;i<len;i++)
       out[i]=(1.0/2147483648.0)*((int32_t*)in)[i];
     break;
-  }	
+  }
 }

Modified: trunk/libaf/af_format_alaw.h
==============================================================================
--- trunk/libaf/af_format_alaw.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_format_alaw.h	Wed May 13 04:58:57 2009	(r29305)
@@ -30,195 +30,195 @@
 
 // Conversion tables (the function are below)
 static short alaw_decode [128] =
-{	 -5504,  -5248,  -6016,  -5760,  -4480,  -4224,  -4992,  -4736, 
-	 -7552,  -7296,  -8064,  -7808,  -6528,  -6272,  -7040,  -6784, 
-	 -2752,  -2624,  -3008,  -2880,  -2240,  -2112,  -2496,  -2368, 
-	 -3776,  -3648,  -4032,  -3904,  -3264,  -3136,  -3520,  -3392, 
-	-22016, -20992, -24064, -23040, -17920, -16896, -19968, -18944, 
-	-30208, -29184, -32256, -31232, -26112, -25088, -28160, -27136, 
-	-11008, -10496, -12032, -11520,  -8960,  -8448,  -9984,  -9472, 
-	-15104, -14592, -16128, -15616, -13056, -12544, -14080, -13568, 
-	  -344,   -328,   -376,   -360,   -280,   -264,   -312,   -296, 
-	  -472,   -456,   -504,   -488,   -408,   -392,   -440,   -424, 
-	   -88,    -72,   -120,   -104,    -24,     -8,    -56,    -40, 
-	  -216,   -200,   -248,   -232,   -152,   -136,   -184,   -168, 
-	 -1376,  -1312,  -1504,  -1440,  -1120,  -1056,  -1248,  -1184, 
-	 -1888,  -1824,  -2016,  -1952,  -1632,  -1568,  -1760,  -1696, 
-	  -688,   -656,   -752,   -720,   -560,   -528,   -624,   -592, 
+{	 -5504,  -5248,  -6016,  -5760,  -4480,  -4224,  -4992,  -4736,
+	 -7552,  -7296,  -8064,  -7808,  -6528,  -6272,  -7040,  -6784,
+	 -2752,  -2624,  -3008,  -2880,  -2240,  -2112,  -2496,  -2368,
+	 -3776,  -3648,  -4032,  -3904,  -3264,  -3136,  -3520,  -3392,
+	-22016, -20992, -24064, -23040, -17920, -16896, -19968, -18944,
+	-30208, -29184, -32256, -31232, -26112, -25088, -28160, -27136,
+	-11008, -10496, -12032, -11520,  -8960,  -8448,  -9984,  -9472,
+	-15104, -14592, -16128, -15616, -13056, -12544, -14080, -13568,
+	  -344,   -328,   -376,   -360,   -280,   -264,   -312,   -296,
+	  -472,   -456,   -504,   -488,   -408,   -392,   -440,   -424,
+	   -88,    -72,   -120,   -104,    -24,     -8,    -56,    -40,
+	  -216,   -200,   -248,   -232,   -152,   -136,   -184,   -168,
+	 -1376,  -1312,  -1504,  -1440,  -1120,  -1056,  -1248,  -1184,
+	 -1888,  -1824,  -2016,  -1952,  -1632,  -1568,  -1760,  -1696,
+	  -688,   -656,   -752,   -720,   -560,   -528,   -624,   -592,
 	  -944,   -912,  -1008,   -976,   -816,   -784,   -880,   -848
 } ; /* alaw_decode */
 
 static unsigned char alaw_encode [2049] =
-{	0xD5, 0xD4, 0xD7, 0xD6, 0xD1, 0xD0, 0xD3, 0xD2, 0xDD, 0xDC, 0xDF, 0xDE, 
-	0xD9, 0xD8, 0xDB, 0xDA, 0xC5, 0xC4, 0xC7, 0xC6, 0xC1, 0xC0, 0xC3, 0xC2, 
-	0xCD, 0xCC, 0xCF, 0xCE, 0xC9, 0xC8, 0xCB, 0xCA, 0xF5, 0xF5, 0xF4, 0xF4, 
-	0xF7, 0xF7, 0xF6, 0xF6, 0xF1, 0xF1, 0xF0, 0xF0, 0xF3, 0xF3, 0xF2, 0xF2, 
-	0xFD, 0xFD, 0xFC, 0xFC, 0xFF, 0xFF, 0xFE, 0xFE, 0xF9, 0xF9, 0xF8, 0xF8, 
-	0xFB, 0xFB, 0xFA, 0xFA, 0xE5, 0xE5, 0xE5, 0xE5, 0xE4, 0xE4, 0xE4, 0xE4, 
-	0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xE6, 0xE6, 0xE6, 0xE1, 0xE1, 0xE1, 0xE1, 
-	0xE0, 0xE0, 0xE0, 0xE0, 0xE3, 0xE3, 0xE3, 0xE3, 0xE2, 0xE2, 0xE2, 0xE2, 
-	0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xEF, 0xEF, 0xEF, 0xEF, 
-	0xEE, 0xEE, 0xEE, 0xEE, 0xE9, 0xE9, 0xE9, 0xE9, 0xE8, 0xE8, 0xE8, 0xE8, 
-	0xEB, 0xEB, 0xEB, 0xEB, 0xEA, 0xEA, 0xEA, 0xEA, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
+{	0xD5, 0xD4, 0xD7, 0xD6, 0xD1, 0xD0, 0xD3, 0xD2, 0xDD, 0xDC, 0xDF, 0xDE,
+	0xD9, 0xD8, 0xDB, 0xDA, 0xC5, 0xC4, 0xC7, 0xC6, 0xC1, 0xC0, 0xC3, 0xC2,
+	0xCD, 0xCC, 0xCF, 0xCE, 0xC9, 0xC8, 0xCB, 0xCA, 0xF5, 0xF5, 0xF4, 0xF4,
+	0xF7, 0xF7, 0xF6, 0xF6, 0xF1, 0xF1, 0xF0, 0xF0, 0xF3, 0xF3, 0xF2, 0xF2,
+	0xFD, 0xFD, 0xFC, 0xFC, 0xFF, 0xFF, 0xFE, 0xFE, 0xF9, 0xF9, 0xF8, 0xF8,
+	0xFB, 0xFB, 0xFA, 0xFA, 0xE5, 0xE5, 0xE5, 0xE5, 0xE4, 0xE4, 0xE4, 0xE4,
+	0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xE6, 0xE6, 0xE6, 0xE1, 0xE1, 0xE1, 0xE1,
+	0xE0, 0xE0, 0xE0, 0xE0, 0xE3, 0xE3, 0xE3, 0xE3, 0xE2, 0xE2, 0xE2, 0xE2,
+	0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xEF, 0xEF, 0xEF, 0xEF,
+	0xEE, 0xEE, 0xEE, 0xEE, 0xE9, 0xE9, 0xE9, 0xE9, 0xE8, 0xE8, 0xE8, 0xE8,
+	0xEB, 0xEB, 0xEB, 0xEB, 0xEA, 0xEA, 0xEA, 0xEA, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0xB5, 0xB5, 0xB5, 0xB5,
+	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5,
+	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5,
+	0xB5, 0xB5, 0xB5, 0xB5, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4,
+	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4,
+	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4,
+	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7,
+	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7,
+	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB6, 0xB6, 0xB6, 0xB6,
+	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6,
+	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6,
+	0xB6, 0xB6, 0xB6, 0xB6, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1,
+	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1,
+	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1,
+	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0,
+	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0,
+	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB3, 0xB3, 0xB3, 0xB3,
+	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3,
+	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3,
+	0xB3, 0xB3, 0xB3, 0xB3, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2,
+	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2,
+	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2,
+	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD,
+	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD,
+	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC,
+	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC,
+	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC,
+	0xBC, 0xBC, 0xBC, 0xBC, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF,
+	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF,
+	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF,
+	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE,
+	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE,
+	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB9, 0xB9, 0xB9, 0xB9,
+	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9,
+	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9,
+	0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8,
+	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8,
+	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8,
+	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB,
+	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB,
+	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0xBA, 0xBA, 0xBA,
+	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
+	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
+	0xBA, 0xBA, 0xBA, 0xBA, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
 	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x2A
 } ; /* alaw_encode */
 
@@ -229,17 +229,17 @@ static int from_alaw(void* in, void* out
   // Make sure the input parametrs are OK
   if(format & (AF_FORMAT_SPECIAL_MASK | AF_FORMAT_US))
       return AF_ERROR;
-    
+
   // Convert to int or to float
   if((format & AF_FORMAT_POINT_MASK) == AF_FORMAT_I){
     switch(bps){
-    case(1): 
+    case(1):
       for(i=0;i<len;i++){
 	if(((int8_t*)in)[i] & 0x80)
 	  ((int8_t*)out)[i] = (-1 * alaw_decode[(((int8_t*)in)[i]) & 0x7F]) >> 8;
 	else
 	  ((int8_t*)out)[i] = (alaw_decode[(((int8_t*)in)[i]) & 0x7F]) >> 8;
-      } 
+      }
       break;
     case(2):
       for(i=0;i<len;i++){
@@ -247,7 +247,7 @@ static int from_alaw(void* in, void* out
 	  ((int16_t*)out)[i] = -1 * alaw_decode[(((int8_t*)in)[i]) & 0x7F];
 	else
 	  ((int16_t*)out)[i] = alaw_decode[(((int8_t*)in)[i]) & 0x7F];
-      } 
+      }
       break;
     case(4):
       for(i=0;i<len;i++){
@@ -255,7 +255,7 @@ static int from_alaw(void* in, void* out
 	  ((int32_t*)out)[i] = (-1 * alaw_decode[(((int8_t*)in)[i]) & 0x7F]) << 16;
 	else
 	  ((int32_t*)out)[i] = (alaw_decode[(((int8_t*)in)[i]) & 0x7F]) << 16;
-      } 
+      }
       break;
     default:
       return AF_ERROR;
@@ -279,11 +279,11 @@ static int to_alaw(void* in, void* out, 
   // Make sure the input parametrs are OK
   if(format & (AF_FORMAT_SPECIAL_MASK | AF_FORMAT_US))
       return AF_ERROR;
-    
+
   // Convert from int or to float
   if((format & AF_FORMAT_POINT_MASK) == AF_FORMAT_I){
     switch(bps){
-    case(1): 
+    case(1):
       for(i=0;i<len;i++){
 	if(((int8_t*)in)[i] >= 0)
 	  ((int8_t*)out)[i] = alaw_encode[((int8_t*)in)[i] << 4];
@@ -291,7 +291,7 @@ static int to_alaw(void* in, void* out, 
 	  ((int8_t*)out)[i] = 0x7F & alaw_encode[-((int8_t*)in)[i] << 4];
       }
       break;
-    case(2): 
+    case(2):
       for(i=0;i<len;i++){
 	if(((int16_t*)in)[i] >= 0)
 	  ((int8_t*)out)[i] = alaw_encode[((int16_t*)in)[i] / 16];
@@ -299,7 +299,7 @@ static int to_alaw(void* in, void* out, 
 	  ((int8_t*)out)[i] = 0x7F & alaw_encode[((int16_t*)in)[i] / -16];
       }
       break;
-    case(4): 
+    case(4):
       for(i=0;i<len;i++){
 	if(((int32_t*)in)[i] >= 0)
 	  ((int8_t*)out)[i] = alaw_encode[((int32_t*)in)[i] >> (16 + 4)];

Modified: trunk/libaf/af_format_ulaw.h
==============================================================================
--- trunk/libaf/af_format_ulaw.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_format_ulaw.h	Wed May 13 04:58:57 2009	(r29305)
@@ -29,707 +29,707 @@
 #include "af.h"
 // Conversion tables (the function are below)
 static short ulaw_decode[128] =
-{	-32124, -31100, -30076, -29052, -28028, -27004, -25980, -24956, 
-	-23932, -22908, -21884, -20860, -19836, -18812, -17788, -16764, 
-	-15996, -15484, -14972, -14460, -13948, -13436, -12924, -12412, 
-	-11900, -11388, -10876, -10364,  -9852,  -9340,  -8828,  -8316, 
-	 -7932,  -7676,  -7420,  -7164,  -6908,  -6652,  -6396,  -6140, 
-	 -5884,  -5628,  -5372,  -5116,  -4860,  -4604,  -4348,  -4092, 
-	 -3900,  -3772,  -3644,  -3516,  -3388,  -3260,  -3132,  -3004, 
-	 -2876,  -2748,  -2620,  -2492,  -2364,  -2236,  -2108,  -1980, 
-	 -1884,  -1820,  -1756,  -1692,  -1628,  -1564,  -1500,  -1436, 
-	 -1372,  -1308,  -1244,  -1180,  -1116,  -1052,   -988,   -924, 
-	  -876,   -844,   -812,   -780,   -748,   -716,   -684,   -652, 
-	  -620,   -588,   -556,   -524,   -492,   -460,   -428,   -396, 
-	  -372,   -356,   -340,   -324,   -308,   -292,   -276,   -260, 
-	  -244,   -228,   -212,   -196,   -180,   -164,   -148,   -132, 
-	  -120,   -112,   -104,    -96,    -88,    -80,    -72,    -64, 
-	   -56,    -48,    -40,    -32,    -24,    -16,     -8,      0, 
+{	-32124, -31100, -30076, -29052, -28028, -27004, -25980, -24956,
+	-23932, -22908, -21884, -20860, -19836, -18812, -17788, -16764,
+	-15996, -15484, -14972, -14460, -13948, -13436, -12924, -12412,
+	-11900, -11388, -10876, -10364,  -9852,  -9340,  -8828,  -8316,
+	 -7932,  -7676,  -7420,  -7164,  -6908,  -6652,  -6396,  -6140,
+	 -5884,  -5628,  -5372,  -5116,  -4860,  -4604,  -4348,  -4092,
+	 -3900,  -3772,  -3644,  -3516,  -3388,  -3260,  -3132,  -3004,
+	 -2876,  -2748,  -2620,  -2492,  -2364,  -2236,  -2108,  -1980,
+	 -1884,  -1820,  -1756,  -1692,  -1628,  -1564,  -1500,  -1436,
+	 -1372,  -1308,  -1244,  -1180,  -1116,  -1052,   -988,   -924,
+	  -876,   -844,   -812,   -780,   -748,   -716,   -684,   -652,
+	  -620,   -588,   -556,   -524,   -492,   -460,   -428,   -396,
+	  -372,   -356,   -340,   -324,   -308,   -292,   -276,   -260,
+	  -244,   -228,   -212,   -196,   -180,   -164,   -148,   -132,
+	  -120,   -112,   -104,    -96,    -88,    -80,    -72,    -64,
+	   -56,    -48,    -40,    -32,    -24,    -16,     -8,      0,
 } ;
 
 static unsigned char ulaw_encode[8193] =
-{	0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xF9, 
-	0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 
-	0xF3, 0xF2, 0xF2, 0xF1, 0xF1, 0xF0, 0xF0, 0xEF, 0xEF, 0xEF, 0xEF, 0xEE, 
-	0xEE, 0xEE, 0xEE, 0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 
-	0xEB, 0xEB, 0xEB, 0xEA, 0xEA, 0xEA, 0xEA, 0xE9, 0xE9, 0xE9, 0xE9, 0xE8, 
-	0xE8, 0xE8, 0xE8, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xE6, 0xE6, 0xE6, 0xE5, 
-	0xE5, 0xE5, 0xE5, 0xE4, 0xE4, 0xE4, 0xE4, 0xE3, 0xE3, 0xE3, 0xE3, 0xE2, 
-	0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE1, 0xE1, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 
-	0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 
-	0xDE, 0xDE, 0xDE, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 
-	0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 
-	0xDB, 0xDB, 0xDB, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xD9, 
-	0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 
-	0xD8, 0xD8, 0xD8, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD6, 
-	0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 
-	0xD5, 0xD5, 0xD5, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD3, 
-	0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 
-	0xD2, 0xD2, 0xD2, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD0, 
-	0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 
-	0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCE, 
-	0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 
-	0xCE, 0xCE, 0xCE, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 
-	0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 
-	0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCB, 
-	0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 
-	0xCB, 0xCB, 0xCB, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 
-	0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 
-	0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC8, 
-	0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 
-	0xC8, 0xC8, 0xC8, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 
-	0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 
-	0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 
-	0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 
-	0xC5, 0xC5, 0xC5, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 
-	0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 
-	0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 
-	0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 
-	0xC2, 0xC2, 0xC2, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 
-	0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 
-	0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
+{	0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xF9,
+	0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3,
+	0xF3, 0xF2, 0xF2, 0xF1, 0xF1, 0xF0, 0xF0, 0xEF, 0xEF, 0xEF, 0xEF, 0xEE,
+	0xEE, 0xEE, 0xEE, 0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB,
+	0xEB, 0xEB, 0xEB, 0xEA, 0xEA, 0xEA, 0xEA, 0xE9, 0xE9, 0xE9, 0xE9, 0xE8,
+	0xE8, 0xE8, 0xE8, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xE6, 0xE6, 0xE6, 0xE5,
+	0xE5, 0xE5, 0xE5, 0xE4, 0xE4, 0xE4, 0xE4, 0xE3, 0xE3, 0xE3, 0xE3, 0xE2,
+	0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE1, 0xE1, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF,
+	0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE,
+	0xDE, 0xDE, 0xDE, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC,
+	0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB,
+	0xDB, 0xDB, 0xDB, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xD9,
+	0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8,
+	0xD8, 0xD8, 0xD8, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD6,
+	0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5,
+	0xD5, 0xD5, 0xD5, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD3,
+	0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2,
+	0xD2, 0xD2, 0xD2, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD0,
+	0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF,
+	0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCE,
+	0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE,
+	0xCE, 0xCE, 0xCE, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,
+	0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
+	0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCB,
+	0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB,
+	0xCB, 0xCB, 0xCB, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA,
+	0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9,
+	0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC8,
+	0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8,
+	0xC8, 0xC8, 0xC8, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7,
+	0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6,
+	0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5,
+	0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5,
+	0xC5, 0xC5, 0xC5, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4,
+	0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3,
+	0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2,
+	0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2,
+	0xC2, 0xC2, 0xC2, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1,
+	0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
+	0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF,
+	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF,
+	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF,
+	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE,
+	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE,
+	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE,
+	0xBE, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD,
+	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD,
+	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBC,
+	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC,
+	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC,
+	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB,
+	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB,
+	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB,
+	0xBB, 0xBB, 0xBB, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
+	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
+	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xB9,
+	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9,
+	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9,
+	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8,
+	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8,
+	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8,
+	0xB8, 0xB8, 0xB8, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7,
+	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7,
+	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB6,
+	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6,
+	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6,
+	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5,
+	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5,
+	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5,
+	0xB5, 0xB5, 0xB5, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4,
+	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4,
+	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB3,
+	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3,
+	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3,
+	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2,
+	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2,
+	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2,
+	0xB2, 0xB2, 0xB2, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1,
+	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1,
+	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB0,
+	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0,
+	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0,
+	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF,
+	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE,
+	0xAE, 0xAE, 0xAE, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
+	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB,
+	0xAB, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
+	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
+	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8,
+	0xA8, 0xA8, 0xA8, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7,
+	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6,
+	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
+	0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
+	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2,
+	0xA2, 0xA2, 0xA2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1,
+	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0,
+	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F,
+	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
+	0x9E, 0x9E, 0x9E, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D,
+	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C,
+	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
+	0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
+	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
+	0x98, 0x98, 0x98, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
+	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
+	0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
+	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
+	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
+	0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
+	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
+	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
+	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E,
+	0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D,
+	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B,
+	0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A,
+	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
+	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+	0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
+	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
+	0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84,
+	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
+	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
+	0x82, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
 	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00
 } ;
 
@@ -741,17 +741,17 @@ static int from_ulaw(void* in, void* out
   // Make sure the input parametrs are OK
   if(format & (AF_FORMAT_SPECIAL_MASK | AF_FORMAT_US))
       return AF_ERROR;
-    
+
   // Convert to int or to float
   if((format & AF_FORMAT_POINT_MASK) == AF_FORMAT_I){
     switch(bps){
-    case(1): 
+    case(1):
       for(i=0;i<len;i++){
 	if(((int8_t*)in)[i] & 0x80)
 	  ((int8_t*)out)[i] = (-1 * ulaw_decode[(((int8_t*)in)[i]) & 0x7F]) >> 8;
 	else
 	  ((int8_t*)out)[i] = (ulaw_decode[(((int8_t*)in)[i]) & 0x7F]) >> 8;
-      } 
+      }
       break;
     case(2):
       for(i=0;i<len;i++){
@@ -759,7 +759,7 @@ static int from_ulaw(void* in, void* out
 	  ((int16_t*)out)[i] = -1 * ulaw_decode[(((int8_t*)in)[i]) & 0x7F];
 	else
 	  ((int16_t*)out)[i] = ulaw_decode[(((int8_t*)in)[i]) & 0x7F];
-      } 
+      }
       break;
     case(4):
       for(i=0;i<len;i++){
@@ -767,7 +767,7 @@ static int from_ulaw(void* in, void* out
 	  ((int32_t*)out)[i] = (-1 * ulaw_decode[(((int8_t*)in)[i]) & 0x7F]) << 16;
 	else
 	  ((int32_t*)out)[i] = (ulaw_decode[(((int8_t*)in)[i]) & 0x7F]) << 16;
-      } 
+      }
       break;
     default:
       return AF_ERROR;
@@ -791,11 +791,11 @@ static int to_ulaw(void* in, void* out, 
   // Make sure the input parametrs are OK
   if(format & (AF_FORMAT_SPECIAL_MASK | AF_FORMAT_US))
       return AF_ERROR;
-    
+
   // Convert from int or to float
   if((format & AF_FORMAT_POINT_MASK) == AF_FORMAT_I){
     switch(bps){
-    case(1): 
+    case(1):
       for(i=0;i<len;i++){
 	if(((int8_t*)in)[i] >= 0)
 	  ((int8_t*)out)[i] = ulaw_encode[((int8_t*)in)[i] << 6];
@@ -803,7 +803,7 @@ static int to_ulaw(void* in, void* out, 
 	  ((int8_t*)out)[i] = 0x7F & ulaw_encode[-((int8_t*)in)[i] << 6];
       }
       break;
-    case(2): 
+    case(2):
       for(i=0;i<len;i++){
 	if(((int16_t*)in)[i] >= 0)
 	  ((int8_t*)out)[i] = ulaw_encode[((int16_t*)in)[i] / 4];
@@ -811,7 +811,7 @@ static int to_ulaw(void* in, void* out, 
 	  ((int8_t*)out)[i] = 0x7F & ulaw_encode[((int16_t*)in)[i] / -4];
       }
       break;
-    case(4): 
+    case(4):
       for(i=0;i<len;i++){
 	if(((int32_t*)in)[i] >= 0)
 	  ((int8_t*)out)[i] = ulaw_encode[((int32_t*)in)[i] >> (16 + 2)];

Modified: trunk/libaf/af_gate.c
==============================================================================
--- trunk/libaf/af_gate.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_gate.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,7 +20,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include <inttypes.h>
 #include <math.h>
@@ -43,19 +43,19 @@ typedef struct af_gate_s
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_gate_t* s   = (af_gate_t*)af->setup; 
+  af_gate_t* s   = (af_gate_t*)af->setup;
   switch(cmd){
   case AF_CONTROL_REINIT:
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = ((af_data_t*)arg)->nch;
     af->data->format = AF_FORMAT_FLOAT_NE;
     af->data->bps    = 4;
 
     // Time constant set to 0.1s
-    //    s->alpha = (1.0/0.2)/(2.0*M_PI*(float)((af_data_t*)arg)->rate); 
+    //    s->alpha = (1.0/0.2)/(2.0*M_PI*(float)((af_data_t*)arg)->rate);
     return af_test_output(af,(af_data_t*)arg);
   case AF_CONTROL_COMMAND_LINE:{
 /*     float v=-10.0; */
@@ -75,10 +75,10 @@ static int control(struct af_instance_s*
 
   case AF_CONTROL_GATE_ON_OFF | AF_CONTROL_SET:
     memcpy(s->enable,(int*)arg,AF_NCH*sizeof(int));
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_GATE_ON_OFF | AF_CONTROL_GET:
     memcpy((int*)arg,s->enable,AF_NCH*sizeof(int));
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_GATE_THRESH | AF_CONTROL_SET:
     return af_from_dB(AF_NCH,(float*)arg,s->tresh,20.0,-60.0,-1.0);
   case AF_CONTROL_GATE_THRESH | AF_CONTROL_GET:
@@ -99,7 +99,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -116,7 +116,7 @@ static af_data_t* play(struct af_instanc
   float*   	a   = (float*)c->audio;		// Audio data
   int       	len = c->len/4;			// Number of samples
   int           ch  = 0;			// Channel counter
-  register int	nch = c->nch;			// Number of channels	
+  register int	nch = c->nch;			// Number of channels
   register int  i   = 0;
 
 
@@ -126,8 +126,8 @@ static af_data_t* play(struct af_instanc
       float	t   = 1.0 - s->time[ch];
       for(i=ch;i<len;i+=nch){
 	register float x 	= a[i];
-	register float pow 	= x*x;	
-	s->pow[ch] = t*s->pow[ch] + 
+	register float pow 	= x*x;
+	s->pow[ch] = t*s->pow[ch] +
 	  pow*s->time[ch]; // LP filter
 	if(pow < s->pow[ch]){
 	  ;

Modified: trunk/libaf/af_hrtf.c
==============================================================================
--- trunk/libaf/af_hrtf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_hrtf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -75,7 +75,7 @@ typedef struct af_hrtf_s {
  *    nk:	length of the convolution kernel
  *    sx:	ring buffer
  *    sk:	convolution kernel
- *    offset:	offset on the ring buffer, can be 
+ *    offset:	offset on the ring buffer, can be
  */
 static float conv(const int nx, const int nk, const float *sx, const float *sk,
 		  const int offset)
@@ -338,7 +338,7 @@ static int control(struct af_instance_s 
 	}
 	s->print_flag = 1;
 	return AF_OK;
-    }    
+    }
 
     return AF_UNKNOWN;
 }
@@ -429,7 +429,7 @@ static af_data_t* play(struct af_instanc
 		 "[hrtf] bogus decode_mode: %d\n", s->decode_mode);
 	  break;
 	}
-	
+
        if(s->matrix_mode)
 	  mp_msg(MSGT_AFILTER, MSGL_INFO,
 		 "[hrtf] Using active matrix to decode rear center "
@@ -439,20 +439,20 @@ static af_data_t* play(struct af_instanc
     out = af->data->audio;
 
     /* MPlayer's 5 channel layout (notation for the variable):
-     * 
+     *
      * 0: L (LF), 1: R (RF), 2: Ls (LR), 3: Rs (RR), 4: C (CF), matrix
      * encoded: Cs (CR)
-     * 
+     *
      * or: L = left, C = center, R = right, F = front, R = rear
-     * 
+     *
      * Filter notation:
-     * 
+     *
      *      CF
      * OF        AF
      *      Ear->
      * OR        AR
      *      CR
-     * 
+     *
      * or: C = center, A = same side, O = opposite, F = front, R = rear
      */
 
@@ -667,7 +667,7 @@ static int af_open(af_instance_t* af)
     }
     for(i = 0; i < s->basslen; i++)
 	s->ba_ir[i] *= BASSGAIN;
-    
+
     return AF_OK;
 }
 

Modified: trunk/libaf/af_karaoke.c
==============================================================================
--- trunk/libaf/af_karaoke.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_karaoke.c	Wed May 13 04:58:57 2009	(r29305)
@@ -23,7 +23,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include "af.h"
 
@@ -43,7 +43,7 @@ static int control(struct af_instance_s*
 	return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
 	if(af->data)
@@ -55,22 +55,22 @@ static af_data_t* play(struct af_instanc
 {
 	af_data_t*	c	= data;		 // Current working data
 	float*		a	= c->audio;	 // Audio data
-	int			len	= c->len/4;	 // Number of samples in current audio block 
+	int			len	= c->len/4;	 // Number of samples in current audio block
 	int			nch	= c->nch;	 // Number of channels
 	register int  i;
 
-	/*	  
-		FIXME1 add a low band pass filter to avoid suppressing 
+	/*
+		FIXME1 add a low band pass filter to avoid suppressing
 		centered bass/drums
 		FIXME2 better calculated* attenuation factor
 	*/
-	
+
 	for(i=0;i<len;i+=nch)
 	{
 		a[i] = (a[i] - a[i+1]) * 0.7;
 		a[i+1]=a[i];
 	}
-	
+
 	return c;
 }
 
@@ -84,7 +84,7 @@ static int af_open(af_instance_t* af){
 
 	if(af->data == NULL)
 		return AF_ERROR;
-	
+
 	return AF_OK;
 }
 

Modified: trunk/libaf/af_ladspa.c
==============================================================================
--- trunk/libaf/af_ladspa.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_ladspa.c	Wed May 13 04:58:57 2009	(r29305)
@@ -212,7 +212,7 @@ static int af_ladspa_parse_plugin(af_lad
     }
 
     if (setup->ninputs == 0) {
-        mp_msg(MSGT_AFILTER, MSGL_WARN, "%s: %s\n", setup->myname, 
+        mp_msg(MSGT_AFILTER, MSGL_WARN, "%s: %s\n", setup->myname,
                                                 MSGTR_AF_LADSPA_WarnNoInputs);
     } else if (setup->ninputs == 1) {
         mp_msg(MSGT_AFILTER, MSGL_V, "%s: this is a mono effect\n", setup->myname);
@@ -281,7 +281,7 @@ static int af_ladspa_parse_plugin(af_lad
  * filename (with or without the addition of the .so extension) in various
  * directories specified by the LADSPA_PATH environment variable. If all fails
  * it tries the filename directly as an absolute path to the library.
- * 
+ *
  * \param filename  filename of the library to load.
  * \param flag      see dlopen(3) for a description of the flags.
  *
@@ -411,7 +411,7 @@ static int af_ladspa_load_plugin(af_lads
     /* if label == help, list all labels in library and exit */
 
     if (strcmp(setup->label, "help") == 0) {
-        mp_msg(MSGT_AFILTER, MSGL_INFO, "%s: %s %s:\n", setup->myname, 
+        mp_msg(MSGT_AFILTER, MSGL_INFO, "%s: %s %s:\n", setup->myname,
                 MSGTR_AF_LADSPA_AvailableLabels, setup->file);
         for (i=0; ; i++) {
             ladspa_descriptor = descriptor_function(i);
@@ -558,7 +558,7 @@ static int control(struct af_instance_s 
         mp_msg(MSGT_AFILTER, MSGL_V, "%s: label --> %s\n", setup->myname,
                                                                 setup->label);
 /*        if (*(char*)arg != '0') arg++; */ /* read ':' */
- 
+
         free(buf); /* no longer needed */
 
         /* set new setup->myname */
@@ -716,7 +716,7 @@ static void uninit(struct af_instance_s 
 /* ------------------------------------------------------------------------- */
 
 /** \brief Process chunk of audio data through the selected LADSPA Plugin.
- * 
+ *
  * \param af    Pointer to audio filter instance
  * \param data  Pointer to chunk of audio data
  *
@@ -730,7 +730,7 @@ static af_data_t* play(struct af_instanc
     int nsamples = data->len/4; /* /4 because it's 32-bit float */
     int nch = data->nch;
     int rate = data->rate;
-    int i, p; 
+    int i, p;
 
     if (setup->status !=AF_OK)
         return data;
@@ -845,7 +845,7 @@ static af_data_t* play(struct af_instanc
          * and right. connect it to the second port.
          */
 
-        for (p = i; p % setup->ninputs; p++) { 
+        for (p = i; p % setup->ninputs; p++) {
             pdes->connect_port(setup->chhandles[i-1],
                                setup->inputs[p % setup->ninputs],
                                setup->inbufs[i-1]);

Modified: trunk/libaf/af_lavcresample.c
==============================================================================
--- trunk/libaf/af_lavcresample.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_lavcresample.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,7 +34,7 @@ typedef struct af_resample_s{
     int16_t *in[AF_NCH];
     int in_alloc;
     int index;
-    
+
     int filter_length;
     int linear;
     int phase_shift;
@@ -45,7 +45,7 @@ typedef struct af_resample_s{
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_resample_t* s   = (af_resample_t*)af->setup; 
+  af_resample_t* s   = (af_resample_t*)af->setup;
   af_data_t *data= (af_data_t*)arg;
   int out_rate, test_output_res; // helpers for checking input format
 
@@ -83,7 +83,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
     if(af->data)
@@ -101,7 +101,7 @@ static void uninit(struct af_instance_s*
 
 // Filter data through filter
 static af_data_t* play(struct af_instance_s* af, af_data_t* data)
-{    
+{
   af_resample_t *s = af->setup;
   int i, j, consumed, ret;
   int16_t *in = (int16_t*)data->audio;
@@ -110,14 +110,14 @@ static af_data_t* play(struct af_instanc
   int in_len  = data->len/(2*chans);
   int out_len = in_len * af->mul + 10;
   int16_t tmp[AF_NCH][out_len];
-    
+
   if(AF_OK != RESIZE_LOCAL_BUFFER(af,data))
       return NULL;
-  
+
   out= (int16_t*)af->data->audio;
-  
+
   out_len= min(out_len, af->data->len/(2*chans));
-  
+
   if(s->in_alloc < in_len + s->index){
       s->in_alloc= in_len + s->index;
       for(i=0; i<chans; i++){
@@ -145,7 +145,7 @@ static af_data_t* play(struct af_instanc
       ret= av_resample(s->avrctx, tmp[i], s->in[i], &consumed, in_len, out_len, i+1 == chans);
   }
   out_len= ret;
-  
+
   s->index= in_len - consumed;
   for(i=0; i<chans; i++){
       memmove(s->in[i], s->in[i] + consumed, s->index*sizeof(int16_t));

Modified: trunk/libaf/af_pan.c
==============================================================================
--- trunk/libaf/af_pan.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_pan.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,7 +37,7 @@ typedef struct af_pan_s
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_pan_t* s = af->setup; 
+  af_pan_t* s = af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:
@@ -50,7 +50,7 @@ static int control(struct af_instance_s*
     af->data->nch    = s->nch ? s->nch: ((af_data_t*)arg)->nch;
     af->mul          = (double)af->data->nch / ((af_data_t*)arg)->nch;
 
-    if((af->data->format != ((af_data_t*)arg)->format) || 
+    if((af->data->format != ((af_data_t*)arg)->format) ||
        (af->data->bps != ((af_data_t*)arg)->bps)){
       ((af_data_t*)arg)->format = af->data->format;
       ((af_data_t*)arg)->bps = af->data->bps;
@@ -72,12 +72,12 @@ static int control(struct af_instance_s*
     j = 0; k = 0;
     while((*cp == ':') && (k < AF_NCH)){
       sscanf(cp, ":%f%n" , &s->level[j][k], &n);
-      mp_msg(MSGT_AFILTER, MSGL_V, "[pan] Pan level from channel %i to" 
+      mp_msg(MSGT_AFILTER, MSGL_V, "[pan] Pan level from channel %i to"
 	     " channel %i = %f\n",k,j,s->level[j][k]);
       cp =&cp[n];
       j++;
       if(j>=nch){
-	j = 0; 
+	j = 0;
 	k++;
       }
     }
@@ -108,7 +108,7 @@ static int control(struct af_instance_s*
 
     // Sanity check
     if(((int*)arg)[0] <= 0 || ((int*)arg)[0] > AF_NCH){
-      mp_msg(MSGT_AFILTER, MSGL_ERR, "[pan] The number of output channels must be" 
+      mp_msg(MSGT_AFILTER, MSGL_ERR, "[pan] The number of output channels must be"
 	     " between 1 and %i. Current value is %i\n",AF_NCH,((int*)arg)[0]);
       return AF_ERROR;
     }
@@ -138,7 +138,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -165,7 +165,7 @@ static af_data_t* play(struct af_instanc
     return NULL;
 
   out = l->audio;
-  // Execute panning 
+  // Execute panning
   // FIXME: Too slow
   while(in < end){
     for(j=0;j<ncho;j++){

Modified: trunk/libaf/af_resample.c
==============================================================================
--- trunk/libaf/af_resample.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_resample.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,11 +34,11 @@
    length of the filter. This definition affects the computational
    complexity (see play()), the performance (see filter.h) and the
    memory usage. The filter length is chosen to 8 if the machine is
-   slow and to 16 if the machine is fast and has MMX.  
+   slow and to 16 if the machine is fast and has MMX.
 */
 
 #if !HAVE_MMX // This machine is slow
-#define L8 
+#define L8
 #else
 #define L16
 #endif
@@ -47,7 +47,7 @@
 
 // Filtering types
 #define RSMP_LIN   	(0<<0)	// Linear interpolation
-#define RSMP_INT   	(1<<0)  // 16 bit integer 
+#define RSMP_INT   	(1<<0)  // 16 bit integer
 #define RSMP_FLOAT	(2<<0)	// 32 bit floating point
 #define RSMP_MASK	(3<<0)
 
@@ -66,9 +66,9 @@ typedef struct af_resample_s
   void** 	xq; 	// Circular buffers
   uint32_t	xi; 	// Index for circular buffers
   uint32_t	wi;	// Index for w
-  uint32_t	i; 	// Number of new samples to put in x queue 
+  uint32_t	i; 	// Number of new samples to put in x queue
   uint32_t  	dn;     // Down sampling factor
-  uint32_t	up;	// Up sampling factor 
+  uint32_t	up;	// Up sampling factor
   uint64_t	step;	// Step size for linear interpolation
   uint64_t	pt;	// Pointer remainder for linear interpolation
   int		setup;	// Setup parameters cmdline or through postcreate
@@ -79,7 +79,7 @@ static int linint(af_data_t* c,af_data_t
 {
   uint32_t	len   = 0; 		// Number of input samples
   uint32_t	nch   = l->nch;   	// Words pre transfer
-  uint64_t	step  = s->step; 
+  uint64_t	step  = s->step;
   int16_t*	in16  = ((int16_t*)c->audio);
   int16_t*	out16 = ((int16_t*)l->audio);
   int32_t*	in32  = ((int32_t*)c->audio);
@@ -87,35 +87,35 @@ static int linint(af_data_t* c,af_data_t
   uint64_t 	end   = ((((uint64_t)c->len)/2LL)<<STEPACCURACY);
   uint64_t	pt    = s->pt;
   uint16_t 	tmp;
-  
+
   switch (nch){
   case 1:
     while(pt < end){
-      out16[len++]=in16[pt>>STEPACCURACY];    	    
+      out16[len++]=in16[pt>>STEPACCURACY];
       pt+=step;
     }
     s->pt=pt & ((1LL<<STEPACCURACY)-1);
-    break;		
+    break;
   case 2:
     end/=2;
     while(pt < end){
-      out32[len++]=in32[pt>>STEPACCURACY];    	    
+      out32[len++]=in32[pt>>STEPACCURACY];
       pt+=step;
     }
     len=(len<<1);
     s->pt=pt & ((1LL<<STEPACCURACY)-1);
     break;
-  default:	
+  default:
     end /=nch;
     while(pt < end){
       tmp=nch;
-      do {	 
-	tmp--;   
-	out16[len+tmp]=in16[tmp+(pt>>STEPACCURACY)*nch];    	    
+      do {
+	tmp--;
+	out16[len+tmp]=in16[tmp+(pt>>STEPACCURACY)*nch];
       } while (tmp);
       len+=nch;
       pt+=step;
-    }	
+    }
     s->pt=pt & ((1LL<<STEPACCURACY)-1);
   }
   return len;
@@ -128,13 +128,13 @@ static int set_types(struct af_instance_
   int rv = AF_OK;
   float rd = 0;
 
-  // Make sure this filter isn't redundant 
+  // Make sure this filter isn't redundant
   if((af->data->rate == data->rate) || (af->data->rate == 0))
     return AF_DETACH;
   /* If sloppy and small resampling difference (2%) */
   rd = abs((float)af->data->rate - (float)data->rate)/(float)data->rate;
-  if((((s->setup & FREQ_MASK) == FREQ_SLOPPY) && (rd < 0.02) && 
-      (data->format != (AF_FORMAT_FLOAT_NE))) || 
+  if((((s->setup & FREQ_MASK) == FREQ_SLOPPY) && (rd < 0.02) &&
+      (data->format != (AF_FORMAT_FLOAT_NE))) ||
      ((s->setup & RSMP_MASK) == RSMP_LIN)){
     s->setup = (s->setup & ~RSMP_MASK) | RSMP_LIN;
     af->data->format = AF_FORMAT_S16_NE;
@@ -144,7 +144,7 @@ static int set_types(struct af_instance_
   else{
     /* If the input format is float or if float is explicitly selected
        use float, otherwise use int */
-    if((data->format == (AF_FORMAT_FLOAT_NE)) || 
+    if((data->format == (AF_FORMAT_FLOAT_NE)) ||
        ((s->setup & RSMP_MASK) == RSMP_FLOAT)){
       s->setup = (s->setup & ~RSMP_MASK) | RSMP_FLOAT;
       af->data->format = AF_FORMAT_FLOAT_NE;
@@ -174,7 +174,7 @@ static int control(struct af_instance_s*
 {
   switch(cmd){
   case AF_CONTROL_REINIT:{
-    af_resample_t* s   = af->setup; 
+    af_resample_t* s   = af->setup;
     af_data_t* 	   n   = arg; // New configuration
     int            i,d = 0;
     int 	   rv  = AF_OK;
@@ -188,8 +188,8 @@ static int control(struct af_instance_s*
 
     if(AF_DETACH == (rv = set_types(af,n)))
       return AF_DETACH;
-    
-    // If linear interpolation 
+
+    // If linear interpolation
     if((s->setup & RSMP_MASK) == RSMP_LIN){
       s->pt=0LL;
       s->step=((uint64_t)n->rate<<STEPACCURACY)/(uint64_t)af->data->rate+1LL;
@@ -227,11 +227,11 @@ static int control(struct af_instance_s*
       float* wt;
       float fc;
       int j;
-      s->up = af->data->rate/d;	
+      s->up = af->data->rate/d;
       s->dn = n->rate/d;
       s->wi = 0;
       s->i = 0;
-      
+
       // Calculate cutoff frequency for filter
       fc = 1/(float)(max(s->up,s->dn));
       // Allocate space for polyphase filter bank and prototype filter
@@ -241,7 +241,7 @@ static int control(struct af_instance_s*
       s->w = malloc(L*s->up*af->data->bps);
 
       // Design prototype filter type using Kaiser window with beta = 10
-      if(NULL == w || NULL == s->w || 
+      if(NULL == w || NULL == s->w ||
 	 -1 == af_filter_design_fir(s->up*L, w, &fc, LP|KAISER , 10.0)){
 	mp_msg(MSGT_AFILTER, MSGL_ERR, "[resample] Unable to design prototype filter.\n");
 	return AF_ERROR;
@@ -270,39 +270,39 @@ static int control(struct af_instance_s*
     return rv;
   }
   case AF_CONTROL_COMMAND_LINE:{
-    af_resample_t* s   = af->setup; 
+    af_resample_t* s   = af->setup;
     int rate=0;
     int type=RSMP_INT;
     int sloppy=1;
     sscanf((char*)arg,"%i:%i:%i", &rate, &sloppy, &type);
-    s->setup = (sloppy?FREQ_SLOPPY:FREQ_EXACT) | 
+    s->setup = (sloppy?FREQ_SLOPPY:FREQ_EXACT) |
       (clamp(type,RSMP_LIN,RSMP_FLOAT));
     return af->control(af,AF_CONTROL_RESAMPLE_RATE | AF_CONTROL_SET, &rate);
   }
-  case AF_CONTROL_POST_CREATE:	
+  case AF_CONTROL_POST_CREATE:
     if((((af_cfg_t*)arg)->force & AF_INIT_FORMAT_MASK) == AF_INIT_FLOAT)
       ((af_resample_t*)af->setup)->setup = RSMP_FLOAT;
     return AF_OK;
-  case AF_CONTROL_RESAMPLE_RATE | AF_CONTROL_SET: 
+  case AF_CONTROL_RESAMPLE_RATE | AF_CONTROL_SET:
     // Reinit must be called after this function has been called
-    
+
     // Sanity check
     if(((int*)arg)[0] < 8000 || ((int*)arg)[0] > 192000){
-      mp_msg(MSGT_AFILTER, MSGL_ERR, "[resample] The output sample frequency " 
+      mp_msg(MSGT_AFILTER, MSGL_ERR, "[resample] The output sample frequency "
 	     "must be between 8kHz and 192kHz. Current value is %i \n",
 	     ((int*)arg)[0]);
       return AF_ERROR;
     }
 
-    af->data->rate=((int*)arg)[0]; 
-    mp_msg(MSGT_AFILTER, MSGL_V, "[resample] Changing sample rate "  
+    af->data->rate=((int*)arg)[0];
+    mp_msg(MSGT_AFILTER, MSGL_V, "[resample] Changing sample rate "
 	   "to %iHz\n",af->data->rate);
     return AF_OK;
   }
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   af_resample_t *s = af->setup;
@@ -335,7 +335,7 @@ static af_data_t* play(struct af_instanc
     if(s->up>s->dn){
 #     define UP
 #     include "af_resample_template.c"
-#     undef UP 
+#     undef UP
     }
     else{
 #     define DN
@@ -349,7 +349,7 @@ static af_data_t* play(struct af_instanc
     if(s->up>s->dn){
 #     define UP
 #     include "af_resample_template.c"
-#     undef UP 
+#     undef UP
     }
     else{
 #     define DN
@@ -366,7 +366,7 @@ static af_data_t* play(struct af_instanc
   c->audio = l->audio;
   c->len   = len*l->bps;
   c->rate  = l->rate;
-  
+
   return c;
 }
 

Modified: trunk/libaf/af_resample_template.c
==============================================================================
--- trunk/libaf/af_resample_template.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_resample_template.c	Wed May 13 04:58:57 2009	(r29305)
@@ -21,8 +21,8 @@
 /* This file contains the resampling engine, the sample format is
    controlled by the FORMAT parameter, the filter length by the L
    parameter and the resampling type by UP and DN. This file should
-   only be included by af_resample.c 
-*/ 
+   only be included by af_resample.c
+*/
 
 #undef L
 #undef SHIFT
@@ -46,16 +46,16 @@
 #if defined(FORMAT_I)
 #define SHIFT >>16
 #define FORMAT int16_t
-#else 
+#else
 #define SHIFT
 #define FORMAT float
 #endif
 
 // Short filter
-#if defined(L8) 
+#if defined(L8)
 
 #define L   	8	// Filter length
-// Unrolled loop to speed up execution 
+// Unrolled loop to speed up execution
 #define FIR(x,w,y) \
   (y[0])  = ( w[0]*x[0]+w[1]*x[1]+w[2]*x[2]+w[3]*x[3] \
             + w[4]*x[4]+w[5]*x[5]+w[6]*x[6]+w[7]*x[7] ) SHIFT
@@ -65,7 +65,7 @@
 #else  /* L8/L16 */
 
 #define L   	16
-// Unrolled loop to speed up execution 
+// Unrolled loop to speed up execution
 #define FIR(x,w,y) \
   y[0] = ( w[0] *x[0] +w[1] *x[1] +w[2] *x[2] +w[3] *x[3] \
          + w[4] *x[4] +w[5] *x[5] +w[6] *x[6] +w[7] *x[7] \
@@ -74,7 +74,7 @@
 
 #endif /* L8/L16 */
 
-// Macro to add data to circular que 
+// Macro to add data to circular que
 #define ADDQUE(xi,xq,in)\
   xq[xi]=xq[(xi)+L]=*(in);\
   xi=((xi)-1)&(L-1);
@@ -83,15 +83,15 @@
 
   uint32_t		ci    = l->nch; 	// Index for channels
   uint32_t		nch   = l->nch;   	// Number of channels
-  uint32_t		inc   = s->up/s->dn; 
-  uint32_t		level = s->up%s->dn; 
+  uint32_t		inc   = s->up/s->dn;
+  uint32_t		level = s->up%s->dn;
   uint32_t		up    = s->up;
   uint32_t		dn    = s->dn;
   uint32_t		ns    = c->len/l->bps;
   register FORMAT*	w     = s->w;
 
   register uint32_t	wi    = 0;
-  register uint32_t	xi    = 0; 
+  register uint32_t	xi    = 0;
 
   // Index current channel
   while(ci--){
@@ -126,8 +126,8 @@
 #if defined(DN) /* DN */
   uint32_t		ci    = l->nch; 	// Index for channels
   uint32_t		nch   = l->nch;   	// Number of channels
-  uint32_t		inc   = s->dn/s->up; 
-  uint32_t		level = s->dn%s->up; 
+  uint32_t		inc   = s->dn/s->up;
+  uint32_t		level = s->dn%s->up;
   uint32_t		up    = s->up;
   uint32_t		dn    = s->dn;
   uint32_t		ns    = c->len/l->bps;
@@ -136,7 +136,7 @@
   register int32_t	i     = 0;
   register uint32_t	wi    = 0;
   register uint32_t	xi    = 0;
-  
+
   // Index current channel
   while(ci--){
     // Temporary pointers
@@ -156,7 +156,7 @@
 	len++;	out+=nch;
 
 	// Update wi to point at the correct polyphase component
-	wi=(wi+dn)%up;  
+	wi=(wi+dn)%up;
 
 	// Insert i number of new samples in queue
 	i = inc;

Modified: trunk/libaf/af_sinesuppress.c
==============================================================================
--- trunk/libaf/af_sinesuppress.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_sinesuppress.c	Wed May 13 04:58:57 2009	(r29305)
@@ -22,7 +22,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include <inttypes.h>
 #include <math.h>
@@ -47,13 +47,13 @@ static af_data_t* play_s16(struct af_ins
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_sinesuppress_t* s   = (af_sinesuppress_t*)af->setup; 
+  af_sinesuppress_t* s   = (af_sinesuppress_t*)af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:{
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = 1;
 #if 0
@@ -95,7 +95,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -111,7 +111,7 @@ static af_data_t* play_s16(struct af_ins
   register int i = 0;
   int16_t *a = (int16_t*)data->audio;	// Audio data
   int len = data->len/2;		// Number of samples
-  
+
   for (i = 0; i < len; i++)
   {
     double co= cos(s->pos);
@@ -143,14 +143,14 @@ static af_data_t* play_float(struct af_i
   float *a = (float*)data->audio;	// Audio data
   int len = data->len/4;		// Number of samples
   float avg, l, r;
-  
+
   for (i = 0; i < len; i+=2)
   {
     avg = (a[i] + a[i + 1]) / 2;
-    
+
 /*    l = avg + (s->mul * (a[i] - avg));
     r = avg + (s->mul * (a[i + 1] - avg));*/
-    
+
     a[i] = af_softclip(l);
     a[i + 1] = af_softclip(r);
   }

Modified: trunk/libaf/af_sub.c
==============================================================================
--- trunk/libaf/af_sub.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_sub.c	Wed May 13 04:58:57 2009	(r29305)
@@ -30,7 +30,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include "af.h"
 #include "dsp.h"
@@ -38,7 +38,7 @@
 // Q value for low-pass filter
 #define Q 1.0
 
-// Analog domain biquad section 
+// Analog domain biquad section
 typedef struct{
   float a[3];		// Numerator coefficients
   float b[3];		// Denominator coefficients
@@ -56,13 +56,13 @@ typedef struct af_sub_s
   float	fc;		// Cutoff frequency [Hz] for low-pass filter
   float k;		// Filter gain;
   int ch;		// Channel number which to insert the filtered data
-  
+
 }af_sub_t;
 
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_sub_t* s   = af->setup; 
+  af_sub_t* s   = af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:{
@@ -120,7 +120,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -146,7 +146,7 @@ static af_data_t* play(struct af_instanc
   af_data_t*    c   = data;	 // Current working data
   af_sub_t*  	s   = af->setup; // Setup for this instance
   float*   	a   = c->audio;	 // Audio data
-  int		len = c->len/4;	 // Number of samples in current audio block 
+  int		len = c->len/4;	 // Number of samples in current audio block
   int		nch = c->nch;	 // Number of channels
   int		ch  = s->ch;	 // Channel in which to insert the sub audio
   register int  i;

Modified: trunk/libaf/af_surround.c
==============================================================================
--- trunk/libaf/af_surround.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_surround.c	Wed May 13 04:58:57 2009	(r29305)
@@ -118,14 +118,14 @@ static int control(struct af_instance_s*
     s->dr = calloc(LD,af->data->bps);
     if((NULL == s->dl) || (NULL == s->dr))
       mp_msg(MSGT_AFILTER, MSGL_FATAL, "[delay] Out of memory\n");
-    
+
     // Initialize delay queue index
     if(AF_OK != af_from_ms(1, &s->d, &s->wi, af->data->rate, 0.0, 1000.0))
       return AF_ERROR;
 //    printf("%i\n",s->wi);
     s->ri = 0;
 
-    if((af->data->format != ((af_data_t*)arg)->format) || 
+    if((af->data->format != ((af_data_t*)arg)->format) ||
        (af->data->bps    != ((af_data_t*)arg)->bps)){
       ((af_data_t*)arg)->format = af->data->format;
       ((af_data_t*)arg)->bps = af->data->bps;
@@ -171,7 +171,7 @@ static float steering_matrix[][12] = {
 // Filter data through filter
 static af_data_t* play(struct af_instance_s* af, af_data_t* data){
   af_surround_t* s   = (af_surround_t*)af->setup;
-  float*	 m   = steering_matrix[0]; 
+  float*	 m   = steering_matrix[0];
   float*     	 in  = data->audio; 	// Input audio data
   float*     	 out = NULL;		// Output audio data
   float*	 end = in + data->len / sizeof(float); // Loop end
@@ -236,10 +236,10 @@ static af_data_t* play(struct af_instanc
 #endif
 
     // Next sample...
-    in = &in[data->nch];  
+    in = &in[data->nch];
     out = &out[af->data->nch];
   }
-  
+
   // Save indexes
   s->i  = i; s->ri = ri; s->wi = wi;
 

Modified: trunk/libaf/af_sweep.c
==============================================================================
--- trunk/libaf/af_sweep.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_sweep.c	Wed May 13 04:58:57 2009	(r29305)
@@ -36,7 +36,7 @@ typedef struct af_sweep_s{
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_sweept* s   = (af_sweept*)af->setup; 
+  af_sweept* s   = (af_sweept*)af->setup;
   af_data_t *data= (af_data_t*)arg;
 
   switch(cmd){
@@ -57,7 +57,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
     if(af->data)
@@ -70,7 +70,7 @@ static void uninit(struct af_instance_s*
 
 // Filter data through filter
 static af_data_t* play(struct af_instance_s* af, af_data_t* data)
-{    
+{
   af_sweept *s = af->setup;
   int i, j;
   int16_t *in = (int16_t*)data->audio;

Modified: trunk/libaf/af_tools.c
==============================================================================
--- trunk/libaf/af_tools.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_tools.c	Wed May 13 04:58:57 2009	(r29305)
@@ -17,16 +17,16 @@
  */
 
 #include <math.h>
-#include <string.h> 
+#include <string.h>
 #include "af.h"
 
 /* Convert to gain value from dB. Returns AF_OK if of and AF_ERROR if
    fail */
 int af_from_dB(int n, float* in, float* out, float k, float mi, float ma)
 {
-  int i = 0; 
+  int i = 0;
   // Sanity check
-  if(!in || !out) 
+  if(!in || !out)
     return AF_ERROR;
 
   for(i=0;i<n;i++){
@@ -42,9 +42,9 @@ int af_from_dB(int n, float* in, float* 
    fail */
 int af_to_dB(int n, float* in, float* out, float k)
 {
-  int i = 0; 
+  int i = 0;
   // Sanity check
-  if(!in || !out) 
+  if(!in || !out)
     return AF_ERROR;
 
   for(i=0;i<n;i++){
@@ -59,9 +59,9 @@ int af_to_dB(int n, float* in, float* ou
 /* Convert from ms to sample time */
 int af_from_ms(int n, float* in, int* out, int rate, float mi, float ma)
 {
-  int i = 0; 
+  int i = 0;
   // Sanity check
-  if(!in || !out) 
+  if(!in || !out)
     return AF_ERROR;
 
   for(i=0;i<n;i++)
@@ -73,21 +73,21 @@ int af_from_ms(int n, float* in, int* ou
 /* Convert from sample time to ms */
 int af_to_ms(int n, int* in, float* out, int rate)
 {
-  int i = 0; 
+  int i = 0;
   // Sanity check
-  if(!in || !out || !rate) 
+  if(!in || !out || !rate)
     return AF_ERROR;
 
   for(i=0;i<n;i++)
     out[i]=1000.0 * (float)in[i]/((float)rate);
-  
+
   return AF_OK;
 }
 
 /* Helper function for testing the output format */
 int af_test_output(struct af_instance_s* af, af_data_t* out)
 {
-  if((af->data->format != out->format) || 
+  if((af->data->format != out->format) ||
      (af->data->bps    != out->bps)    ||
      (af->data->rate   != out->rate)   ||
      (af->data->nch    != out->nch)){

Modified: trunk/libaf/af_volnorm.c
==============================================================================
--- trunk/libaf/af_volnorm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_volnorm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,7 +20,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include <inttypes.h>
 #include <math.h>
@@ -80,16 +80,16 @@ typedef struct af_volume_s
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_volnorm_t* s   = (af_volnorm_t*)af->setup; 
+  af_volnorm_t* s   = (af_volnorm_t*)af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = ((af_data_t*)arg)->nch;
-    
+
     if(((af_data_t*)arg)->format == (AF_FORMAT_S16_NE)){
       af->data->format = AF_FORMAT_S16_NE;
       af->data->bps    = 2;
@@ -113,7 +113,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -129,26 +129,26 @@ static void method1_int16(af_volnorm_t *
   int len = c->len/2;		// Number of samples
   float curavg = 0.0, newavg, neededmul;
   int tmp;
-  
+
   for (i = 0; i < len; i++)
   {
     tmp = data[i];
     curavg += tmp * tmp;
   }
   curavg = sqrt(curavg / (float) len);
-  
+
   // Evaluate an adequate 'mul' coefficient based on previous state, current
   // samples level, etc
-  
+
   if (curavg > SIL_S16)
   {
     neededmul = s->mid_s16 / (curavg * s->mul);
     s->mul = (1.0 - SMOOTH_MUL) * s->mul + SMOOTH_MUL * neededmul;
-    
+
     // clamp the mul coefficient
     s->mul = clamp(s->mul, MUL_MIN, MUL_MAX);
   }
-  
+
   // Scale & clamp the samples
   for (i = 0; i < len; i++)
   {
@@ -156,10 +156,10 @@ static void method1_int16(af_volnorm_t *
     tmp = clamp(tmp, SHRT_MIN, SHRT_MAX);
     data[i] = tmp;
   }
-  
+
   // Evaulation of newavg (not 100% accurate because of values clamping)
   newavg = s->mul * curavg;
-  
+
   // Stores computed values for future smoothing
   s->lastavg = (1.0 - SMOOTH_LASTAVG) * s->lastavg + SMOOTH_LASTAVG * newavg;
 }
@@ -170,33 +170,33 @@ static void method1_float(af_volnorm_t *
   float *data = (float*)c->audio;	// Audio data
   int len = c->len/4;		// Number of samples
   float curavg = 0.0, newavg, neededmul, tmp;
-  
+
   for (i = 0; i < len; i++)
   {
     tmp = data[i];
     curavg += tmp * tmp;
   }
   curavg = sqrt(curavg / (float) len);
-  
+
   // Evaluate an adequate 'mul' coefficient based on previous state, current
   // samples level, etc
-  
+
   if (curavg > SIL_FLOAT) // FIXME
   {
     neededmul = s->mid_float / (curavg * s->mul);
     s->mul = (1.0 - SMOOTH_MUL) * s->mul + SMOOTH_MUL * neededmul;
-    
+
     // clamp the mul coefficient
     s->mul = clamp(s->mul, MUL_MIN, MUL_MAX);
   }
-  
+
   // Scale & clamp the samples
   for (i = 0; i < len; i++)
     data[i] *= s->mul;
-  
+
   // Evaulation of newavg (not 100% accurate because of values clamping)
   newavg = s->mul * curavg;
-  
+
   // Stores computed values for future smoothing
   s->lastavg = (1.0 - SMOOTH_LASTAVG) * s->lastavg + SMOOTH_LASTAVG * newavg;
 }
@@ -208,14 +208,14 @@ static void method2_int16(af_volnorm_t *
   int len = c->len/2;		// Number of samples
   float curavg = 0.0, newavg, avg = 0.0;
   int tmp, totallen = 0;
-  
+
   for (i = 0; i < len; i++)
   {
     tmp = data[i];
     curavg += tmp * tmp;
   }
   curavg = sqrt(curavg / (float) len);
-  
+
   // Evaluate an adequate 'mul' coefficient based on previous state, current
   // samples level, etc
   for (i = 0; i < NSAMPLES; i++)
@@ -223,7 +223,7 @@ static void method2_int16(af_volnorm_t *
     avg += s->mem[i].avg * (float)s->mem[i].len;
     totallen += s->mem[i].len;
   }
-  
+
   if (totallen > MIN_SAMPLE_SIZE)
   {
     avg /= (float)totallen;
@@ -233,7 +233,7 @@ static void method2_int16(af_volnorm_t *
 	s->mul = clamp(s->mul, MUL_MIN, MUL_MAX);
     }
   }
-  
+
   // Scale & clamp the samples
   for (i = 0; i < len; i++)
   {
@@ -241,10 +241,10 @@ static void method2_int16(af_volnorm_t *
     tmp = clamp(tmp, SHRT_MIN, SHRT_MAX);
     data[i] = tmp;
   }
-  
+
   // Evaulation of newavg (not 100% accurate because of values clamping)
   newavg = s->mul * curavg;
-  
+
   // Stores computed values for future smoothing
   s->mem[s->idx].len = len;
   s->mem[s->idx].avg = newavg;
@@ -258,14 +258,14 @@ static void method2_float(af_volnorm_t *
   int len = c->len/4;		// Number of samples
   float curavg = 0.0, newavg, avg = 0.0, tmp;
   int totallen = 0;
-  
+
   for (i = 0; i < len; i++)
   {
     tmp = data[i];
     curavg += tmp * tmp;
   }
   curavg = sqrt(curavg / (float) len);
-  
+
   // Evaluate an adequate 'mul' coefficient based on previous state, current
   // samples level, etc
   for (i = 0; i < NSAMPLES; i++)
@@ -273,7 +273,7 @@ static void method2_float(af_volnorm_t *
     avg += s->mem[i].avg * (float)s->mem[i].len;
     totallen += s->mem[i].len;
   }
-  
+
   if (totallen > MIN_SAMPLE_SIZE)
   {
     avg /= (float)totallen;
@@ -283,14 +283,14 @@ static void method2_float(af_volnorm_t *
 	s->mul = clamp(s->mul, MUL_MIN, MUL_MAX);
     }
   }
-  
+
   // Scale & clamp the samples
   for (i = 0; i < len; i++)
     data[i] *= s->mul;
-  
+
   // Evaulation of newavg (not 100% accurate because of values clamping)
   newavg = s->mul * curavg;
-  
+
   // Stores computed values for future smoothing
   s->mem[s->idx].len = len;
   s->mem[s->idx].avg = newavg;
@@ -310,7 +310,7 @@ static af_data_t* play(struct af_instanc
 	method1_int16(s, data);
   }
   else if(af->data->format == (AF_FORMAT_FLOAT_NE))
-  { 
+  {
     if (s->method)
 	method2_float(s, data);
     else

Modified: trunk/libaf/af_volume.c
==============================================================================
--- trunk/libaf/af_volume.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/af_volume.c	Wed May 13 04:58:57 2009	(r29305)
@@ -31,12 +31,12 @@
    probing is enable by AF_CONTROL_VOLUME_PROBE_ON_OFF and is done on a
    per channel basis. The result from the probing is obtained using
    AF_CONTROL_VOLUME_PROBE_GET and AF_CONTROL_VOLUME_PROBE_GET_MAX. The
-   probed values are calculated in dB. 
+   probed values are calculated in dB.
 */
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h> 
+#include <string.h>
 
 #include <inttypes.h>
 #include <math.h>
@@ -59,16 +59,16 @@ typedef struct af_volume_s
 // Initialization and runtime control
 static int control(struct af_instance_s* af, int cmd, void* arg)
 {
-  af_volume_t* s   = (af_volume_t*)af->setup; 
+  af_volume_t* s   = (af_volume_t*)af->setup;
 
   switch(cmd){
   case AF_CONTROL_REINIT:
     // Sanity check
     if(!arg) return AF_ERROR;
-    
+
     af->data->rate   = ((af_data_t*)arg)->rate;
     af->data->nch    = ((af_data_t*)arg)->nch;
-    
+
     if(s->fast && (((af_data_t*)arg)->format != (AF_FORMAT_FLOAT_NE))){
       af->data->format = AF_FORMAT_S16_NE;
       af->data->bps    = 2;
@@ -91,22 +91,22 @@ static int control(struct af_instance_s*
     for(i=0;i<AF_NCH;i++) vol[i]=v;
     return control(af,AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_SET, vol);
   }
-  case AF_CONTROL_POST_CREATE:	
-    s->fast = ((((af_cfg_t*)arg)->force & AF_INIT_FORMAT_MASK) == 
+  case AF_CONTROL_POST_CREATE:
+    s->fast = ((((af_cfg_t*)arg)->force & AF_INIT_FORMAT_MASK) ==
       AF_INIT_FLOAT) ? 0 : 1;
     return AF_OK;
   case AF_CONTROL_VOLUME_ON_OFF | AF_CONTROL_SET:
     memcpy(s->enable,(int*)arg,AF_NCH*sizeof(int));
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_VOLUME_ON_OFF | AF_CONTROL_GET:
     memcpy((int*)arg,s->enable,AF_NCH*sizeof(int));
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_VOLUME_SOFTCLIP | AF_CONTROL_SET:
     s->soft = *(int*)arg;
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_VOLUME_SOFTCLIP | AF_CONTROL_GET:
     *(int*)arg = s->soft;
-    return AF_OK; 
+    return AF_OK;
   case AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_SET:
     return af_from_dB(AF_NCH,(float*)arg,s->level,20.0,-200.0,60.0);
   case AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_GET:
@@ -130,7 +130,7 @@ static int control(struct af_instance_s*
   return AF_UNKNOWN;
 }
 
-// Deallocate memory 
+// Deallocate memory
 static void uninit(struct af_instance_s* af)
 {
   if(af->data)
@@ -145,7 +145,7 @@ static af_data_t* play(struct af_instanc
   af_data_t*    c   = data;			// Current working data
   af_volume_t*  s   = (af_volume_t*)af->setup; 	// Setup for this instance
   int           ch  = 0;			// Channel counter
-  register int	nch = c->nch;			// Number of channels	
+  register int	nch = c->nch;			// Number of channels
   register int  i   = 0;
 
   // Basic operation volume control only (used on slow machines)
@@ -154,7 +154,7 @@ static af_data_t* play(struct af_instanc
     int         len = c->len/2;			// Number of samples
     for(ch = 0; ch < nch ; ch++){
       if(s->enable[ch]){
-	register int vol = (int)(255.0 * s->level[ch]); 
+	register int vol = (int)(255.0 * s->level[ch]);
 	for(i=ch;i<len;i+=nch){
 	  register int x = (a[i] * vol) >> 8;
 	  a[i]=clamp(x,SHRT_MIN,SHRT_MAX);
@@ -163,7 +163,7 @@ static af_data_t* play(struct af_instanc
     }
   }
   // Machine is fast and data is floating point
-  else if(af->data->format == (AF_FORMAT_FLOAT_NE)){ 
+  else if(af->data->format == (AF_FORMAT_FLOAT_NE)){
     float*   	a   	= (float*)c->audio;	// Audio data
     int       	len 	= c->len/4;		// Number of samples
     for(ch = 0; ch < nch ; ch++){
@@ -172,7 +172,7 @@ static af_data_t* play(struct af_instanc
 	float	t   = 1.0 - s->time;
 	for(i=ch;i<len;i+=nch){
 	  register float x 	= a[i];
-	  register float pow 	= x*x;	
+	  register float pow 	= x*x;
 	  // Check maximum power value
 	  if(pow > s->max[ch])
 	    s->max[ch] = pow;

Modified: trunk/libaf/control.h
==============================================================================
--- trunk/libaf/control.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/control.h	Wed May 13 04:58:57 2009	(r29305)
@@ -22,12 +22,12 @@
 #include <sys/types.h>
 
 /*********************************************
-// Control info struct. 
+// Control info struct.
 //
 // This struct is the argument in a info call to a filter.
 */
 
-// Argument types 
+// Argument types
 #define AF_CONTROL_TYPE_BOOL	(0x0<<0)
 #define AF_CONTROL_TYPE_CHAR	(0x1<<0)
 #define AF_CONTROL_TYPE_INT	(0x2<<0)
@@ -52,9 +52,9 @@ typedef struct af_control_info_s{
   int	 def;	// Control enumrification
   char*	 name; 	// Name of argument
   char*	 info;	// Description of what it does
-  int 	 flags;	// Flags as defined above	
-  float	 max;	// Max and min value 
-  float	 min;	// (only aplicable on float and int) 
+  int 	 flags;	// Flags as defined above
+  float	 max;	// Max and min value
+  float	 min;	// (only aplicable on float and int)
   int	 xdim;	// 1st dimension
   int	 ydim;	// 2nd dimension (=0 for everything except matrix)
   size_t sz;	// Size of argument in bytes
@@ -73,10 +73,10 @@ typedef struct af_control_ext_s{
 }af_control_ext_t;
 
 /*********************************************
-// Control parameters 
+// Control parameters
 */
 
-/* The control system is divided into 3 levels 
+/* The control system is divided into 3 levels
    mandatory calls 	 - all filters must answer to all of these
    optional calls  	 - are optional
    filter specific calls - applies only to some filters
@@ -115,12 +115,12 @@ typedef struct af_control_ext_s{
 // FILTER SPECIFIC CALLS
 
 // Basic operations: These can be ored with any of the below calls
-// Set argument 
+// Set argument
 #define AF_CONTROL_SET			0x00000000
 // Get argument
 #define AF_CONTROL_GET			0x00000001
 // Get info about the control, i.e fill in everything except argument
-#define AF_CONTROL_INFO			0x00000002  
+#define AF_CONTROL_INFO			0x00000002
 
 // Resample
 
@@ -153,8 +153,8 @@ typedef struct af_control_ext_s{
 
 // Set make af_channels into a router
 #define AF_CONTROL_CHANNELS_ROUTER	0x00000A00 | AF_CONTROL_FILTER_SPECIFIC
-	
-// Volume 
+
+// Volume
 
 // Turn volume control on and off, arg is int*
 #define AF_CONTROL_VOLUME_ON_OFF	0x00000B00 | AF_CONTROL_FILTER_SPECIFIC
@@ -165,10 +165,10 @@ typedef struct af_control_ext_s{
 // Set volume level, arg is a float* with the volume for all the channels
 #define AF_CONTROL_VOLUME_LEVEL		0x00000D00 | AF_CONTROL_FILTER_SPECIFIC
 
-// Probed power level for all channels, arg is a float* 
+// Probed power level for all channels, arg is a float*
 #define AF_CONTROL_VOLUME_PROBE		0x00000E00 | AF_CONTROL_FILTER_SPECIFIC
 
-// Maximum probed power level for all channels, arg is a float* 
+// Maximum probed power level for all channels, arg is a float*
 #define AF_CONTROL_VOLUME_PROBE_MAX	0x00000F00 | AF_CONTROL_FILTER_SPECIFIC
 
 // Compressor/expander
@@ -193,13 +193,13 @@ typedef struct af_control_ext_s{
 // Turn noise gate on an off
 #define AF_CONTROL_GATE_ON_OFF	 	0x00001500 | AF_CONTROL_FILTER_SPECIFIC
 
-// Noise gate threshold [dB] 
+// Noise gate threshold [dB]
 #define AF_CONTROL_GATE_THRESH	 	0x00001600 | AF_CONTROL_FILTER_SPECIFIC
 
 // Noise gate attack time [ms]
 #define AF_CONTROL_GATE_ATTACK	 	0x00001700 | AF_CONTROL_FILTER_SPECIFIC
 
-// Noise gate release time [ms] 
+// Noise gate release time [ms]
 #define AF_CONTROL_GATE_RELEASE 	0x00001800 | AF_CONTROL_FILTER_SPECIFIC
 
 // Noise gate release range level [dB]
@@ -207,16 +207,16 @@ typedef struct af_control_ext_s{
 
 // Pan
 
-// Pan levels, arg is a control_ext with a float* 
+// Pan levels, arg is a control_ext with a float*
 #define AF_CONTROL_PAN_LEVEL	 	0x00001A00 | AF_CONTROL_FILTER_SPECIFIC
 
 // Number of outputs from pan, arg is int*
 #define AF_CONTROL_PAN_NOUT	 	0x00001B00 | AF_CONTROL_FILTER_SPECIFIC
- 
+
 // Balance, arg is float*; range -1 (left) to 1 (right), 0 center
 #define AF_CONTROL_PAN_BALANCE	 	0x00002500 | AF_CONTROL_FILTER_SPECIFIC
 
-// Set equalizer gain, arg is a control_ext with a float* 
+// Set equalizer gain, arg is a control_ext with a float*
 #define AF_CONTROL_EQUALIZER_GAIN 	0x00001C00 | AF_CONTROL_FILTER_SPECIFIC
 
 

Modified: trunk/libaf/equalizer.h
==============================================================================
--- trunk/libaf/equalizer.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/equalizer.h	Wed May 13 04:58:57 2009	(r29305)
@@ -26,8 +26,8 @@
 
 typedef struct equalizer_s
 {
-  float gain;   	// Gain in dB  -15 - 15 
-  int	channel; 	// Channel number 0 - 5 
+  float gain;   	// Gain in dB  -15 - 15
+  int	channel; 	// Channel number 0 - 5
   int 	band;		// Frequency band 0 - 9
 }equalizer_t;
 

Modified: trunk/libaf/filter.c
==============================================================================
--- trunk/libaf/filter.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/filter.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,13 +32,13 @@
 
    n number of filter taps, where mod(n,4)==0
    w filter taps
-   x input signal must be a circular buffer which is indexed backwards 
+   x input signal must be a circular buffer which is indexed backwards
 */
 inline FLOAT_TYPE af_filter_fir(register unsigned int n, const FLOAT_TYPE* w,
                                 const FLOAT_TYPE* x)
 {
   register FLOAT_TYPE y; // Output
-  y = 0.0; 
+  y = 0.0;
   do{
     n--;
     y+=w[n]*x[n];
@@ -52,7 +52,7 @@ inline FLOAT_TYPE af_filter_fir(register
    d  number of filters
    xi current index in xq
    w  filter taps k by n big
-   x  input signal must be a circular buffers which are indexed backwards 
+   x  input signal must be a circular buffers which are indexed backwards
    y  output buffer
    s  output buffer stride
 */
@@ -82,7 +82,7 @@ int af_filter_updatepq(unsigned int n, u
 {
   register FLOAT_TYPE* txq = *xq + xi;
   register int nt = n*2;
-  
+
   while(d-- >0){
     *txq= *(txq+n) = *in;
     txq+=nt;
@@ -99,13 +99,13 @@ int af_filter_updatepq(unsigned int n, u
 
    n     filter length must be odd for HP and BS filters
    w     buffer for the filter taps (must be n long)
-   fc    cutoff frequencies (1 for LP and HP, 2 for BP and BS) 
+   fc    cutoff frequencies (1 for LP and HP, 2 for BP and BS)
          0 < fc < 1 where 1 <=> Fs/2
    flags window and filter type as defined in filter.h
-         variables are ored together: i.e. LP|HAMMING will give a 
-	 low pass filter designed using a hamming window  
+         variables are ored together: i.e. LP|HAMMING will give a
+	 low pass filter designed using a hamming window
    opt   beta constant used only when designing using kaiser windows
-   
+
    returns 0 if OK, -1 if fail
 */
 int af_filter_design_fir(unsigned int n, FLOAT_TYPE* w, const FLOAT_TYPE* fc,
@@ -142,10 +142,10 @@ int af_filter_design_fir(unsigned int n,
   case(KAISER):
     af_window_kaiser(n,w,opt); break;
   default:
-    return -1;	
+    return -1;
   }
 
-  if(flags & (LP | HP)){ 
+  if(flags & (LP | HP)){
     fc1=*fc;
     // Cutoff frequency must be < 0.5 where 0.5 <=> Fs/2
     fc1 = ((fc1 <= 1.0) && (fc1 > 0.0)) ? fc1/2 : 0.25;
@@ -154,7 +154,7 @@ int af_filter_design_fir(unsigned int n,
     if(flags & LP){ // Low pass filter
 
       // If the filter length is odd, there is one point which is exactly
-      // in the middle. The value at this point is 2*fCutoff*sin(x)/x, 
+      // in the middle. The value at this point is 2*fCutoff*sin(x)/x,
       // where x is zero. To make sure nothing strange happens, we set this
       // value separately.
       if (o){
@@ -206,9 +206,9 @@ int af_filter_design_fir(unsigned int n,
 	t2 = sin(k3 * t1)/(M_PI * t1); // Sinc fc2
 	t3 = sin(k1 * t1)/(M_PI * t1); // Sinc fc1
 	g += w[end-i-1] * (t3 + t2);   // Total gain in filter
-	w[end-i-1] = w[n-end+i] = w[end-i-1] * (t2 - t3); 
+	w[end-i-1] = w[n-end+i] = w[end-i-1] * (t2 - t3);
       }
-    }      
+    }
     else{ // Band stop
       if (!o) // Band stop filters must have odd length
 	return -1;
@@ -220,7 +220,7 @@ int af_filter_design_fir(unsigned int n,
 	t1 = (FLOAT_TYPE)(i+1);
 	t2 = sin(k1 * t1)/(M_PI * t1); // Sinc fc1
 	t3 = sin(k3 * t1)/(M_PI * t1); // Sinc fc2
-	w[end-i-1] = w[n-end+i] = w[end-i-1] * (t2 - t3); 
+	w[end-i-1] = w[n-end+i] = w[end-i-1] * (t2 - t3);
 	g += 2*w[end-i-1]; // Total gain in filter
       }
     }
@@ -228,9 +228,9 @@ int af_filter_design_fir(unsigned int n,
 
   // Normalize gain
   g=1/g;
-  for (i=0; i<n; i++) 
+  for (i=0; i<n; i++)
     w[i] *= g;
-  
+
   return 0;
 }
 
@@ -239,7 +239,7 @@ int af_filter_design_fir(unsigned int n,
    n     length of prototype filter
    k     number of polyphase components
    w     prototype filter taps
-   pw    Parallel FIR filter 
+   pw    Parallel FIR filter
    g     Filter gain
    flags FWD forward indexing
          REW reverse indexing
@@ -254,7 +254,7 @@ int af_filter_design_pfir(unsigned int n
   int i;     	// Counters
   int j;
   FLOAT_TYPE t;	// g * w[i]
-  
+
   // Sanity check
   if(l<1 || k<1 || !w || !pw)
     return -1;
@@ -287,7 +287,7 @@ int af_filter_design_pfir(unsigned int n
 
 /* Pre-warp the coefficients of a numerator or denominator.
    Note that a0 is assumed to be 1, so there is no wrapping
-   of it.  
+   of it.
 */
 static void af_filter_prewarp(FLOAT_TYPE* a, FLOAT_TYPE fc, FLOAT_TYPE fs)
 {
@@ -299,7 +299,7 @@ static void af_filter_prewarp(FLOAT_TYPE
 
 /* Transform the numerator and denominator coefficients of s-domain
    biquad section into corresponding z-domain coefficients.
-   
+
    The transfer function for z-domain is:
 
           1 + alpha1 * z^(-1) + alpha2 * z^(-2)
@@ -310,7 +310,7 @@ static void af_filter_prewarp(FLOAT_TYPE
    order:
    beta1, beta2    (denominator)
    alpha1, alpha2  (numerator)
-   
+
    Arguments:
    a       - s-domain numerator coefficients
    b       - s-domain denominator coefficients
@@ -318,10 +318,10 @@ static void af_filter_prewarp(FLOAT_TYPE
              biquad section in such a way, as to make it the
              coefficient by which to multiply the overall filter gain
              in order to achieve a desired overall filter gain,
-             specified in initial value of k.  
+             specified in initial value of k.
    fs 	   - sampling rate (Hz)
    coef    - array of z-domain coefficients to be filled in.
- 
+
    Return: On return, set coef z-domain coefficients and k to the gain
    required to maintain overall gain = 1.0;
 */
@@ -352,26 +352,26 @@ static void af_filter_bilinear(const FLO
 /* IIR filter design using bilinear transform and prewarp. Transforms
    2nd order s domain analog filter into a digital IIR biquad link. To
    create a filter fill in a, b, Q and fs and make space for coef and k.
-   
 
-   Example Butterworth design: 
+
+   Example Butterworth design:
 
    Below are Butterworth polynomials, arranged as a series of 2nd
    order sections:
 
    Note: n is filter order.
-   
+
    n  Polynomials
    -------------------------------------------------------------------
    2  s^2 + 1.4142s + 1
    4  (s^2 + 0.765367s + 1) * (s^2 + 1.847759s + 1)
    6  (s^2 + 0.5176387s + 1) * (s^2 + 1.414214 + 1) * (s^2 + 1.931852s + 1)
-   
+
    For n=4 we have following equation for the filter transfer function:
                        1                              1
    T(s) = --------------------------- * ----------------------------
           s^2 + (1/Q) * 0.765367s + 1   s^2 + (1/Q) * 1.847759s + 1
-   
+
    The filter consists of two 2nd order sections since highest s power
    is 2.  Now we can take the coefficients, or the numbers by which s
    is multiplied and plug them into a standard formula to be used by
@@ -414,7 +414,7 @@ static void af_filter_bilinear(const FLO
              biquad section in such a way, as to make it the
              coefficient by which to multiply the overall filter gain
              in order to achieve a desired overall filter gain,
-             specified in initial value of k.  
+             specified in initial value of k.
    fs 	   - sampling rate (Hz)
    coef    - array of z-domain coefficients to be filled in.
 
@@ -432,7 +432,7 @@ int af_filter_szxform(const FLOAT_TYPE* 
   FLOAT_TYPE at[3];
   FLOAT_TYPE bt[3];
 
-  if(!a || !b || !k || !coef || (Q>1000.0 || Q< 1.0)) 
+  if(!a || !b || !k || !coef || (Q>1000.0 || Q< 1.0))
     return -1;
 
   memcpy(at,a,3*sizeof(FLOAT_TYPE));

Modified: trunk/libaf/filter.h
==============================================================================
--- trunk/libaf/filter.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/filter.h	Wed May 13 04:58:57 2009	(r29305)
@@ -26,7 +26,7 @@
 #define MPLAYER_FILTER_H
 
 
-// Design and implementation of different types of digital filters 
+// Design and implementation of different types of digital filters
 
 
 // Flags used for filter design
@@ -79,7 +79,7 @@ int af_filter_szxform(const FLOAT_TYPE* 
 /* Add new data to circular queue designed to be used with a FIR
    filter. xq is the circular queue, in pointing at the new sample, xi
    current index for xq and n the length of the filter. xq must be n*2
-   long. 
+   long.
 */
 #define af_filter_updateq(n,xi,xq,in)\
   xq[xi]=(xq)[(xi)+(n)]=*(in);\

Modified: trunk/libaf/format.c
==============================================================================
--- trunk/libaf/format.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/format.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,7 +37,7 @@ int af_str2fmt(const char* str)
   else if(strstr(str,"le") || strstr(str,"LE"))
     format |= AF_FORMAT_LE;
   else
-    format |= AF_FORMAT_NE;    
+    format |= AF_FORMAT_NE;
 
   // Scan for special formats
   if(strstr(str,"mulaw") || strstr(str,"MULAW")){
@@ -55,7 +55,7 @@ int af_str2fmt(const char* str)
   if(strstr(str,"imaadpcm") || strstr(str,"IMAADPCM")){
     format |= AF_FORMAT_IMA_ADPCM; return format;
   }
-  
+
   // Scan for int/float
   if(strstr(str,"float") || strstr(str,"FLOAT")){
     format |= AF_FORMAT_F; return format;
@@ -65,10 +65,10 @@ int af_str2fmt(const char* str)
 
   // Scan for signed/unsigned
   if(strstr(str,"unsigned") || strstr(str,"UNSIGNED"))
-    format |= AF_FORMAT_US; 
+    format |= AF_FORMAT_US;
   else
     format |= AF_FORMAT_SI;
-  
+
   return format;
 }
 
@@ -94,7 +94,7 @@ int af_bits2fmt(int bits)
     return (bits/8 - 1) << 3;
 }
 
-/* Convert format to str input str is a buffer for the 
+/* Convert format to str input str is a buffer for the
    converted string, size is the size of the buffer */
 char* af_fmt2str(int format, char* str, int size)
 {
@@ -109,21 +109,21 @@ char* af_fmt2str(int format, char* str, 
     i+=snprintf(str,size-i,"little-endian ");
   else
     i+=snprintf(str,size-i,"big-endian ");
-  
+
   if(format & AF_FORMAT_SPECIAL_MASK){
     switch(format & AF_FORMAT_SPECIAL_MASK){
-    case(AF_FORMAT_MU_LAW): 
+    case(AF_FORMAT_MU_LAW):
       i+=snprintf(&str[i],size-i,"mu-law "); break;
-    case(AF_FORMAT_A_LAW): 
+    case(AF_FORMAT_A_LAW):
       i+=snprintf(&str[i],size-i,"A-law "); break;
-    case(AF_FORMAT_MPEG2): 
+    case(AF_FORMAT_MPEG2):
       i+=snprintf(&str[i],size-i,"MPEG-2 "); break;
-    case(AF_FORMAT_AC3): 
+    case(AF_FORMAT_AC3):
       i+=snprintf(&str[i],size-i,"AC3 "); break;
-    case(AF_FORMAT_IMA_ADPCM): 
+    case(AF_FORMAT_IMA_ADPCM):
       i+=snprintf(&str[i],size-i,"IMA-ADPCM "); break;
     default:
-      i+=snprintf(&str[i],size-i,MSGTR_AF_FORMAT_UnknownFormat); 
+      i+=snprintf(&str[i],size-i,MSGTR_AF_FORMAT_UnknownFormat);
     }
   }
   else{
@@ -183,7 +183,7 @@ static struct {
     { "floatle", AF_FORMAT_FLOAT_LE },
     { "floatbe", AF_FORMAT_FLOAT_BE },
     { "floatne", AF_FORMAT_FLOAT_NE },
-	
+
     { NULL, 0 }
 };
 

Modified: trunk/libaf/window.c
==============================================================================
--- trunk/libaf/window.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libaf/window.c	Wed May 13 04:58:57 2009	(r29305)
@@ -46,7 +46,7 @@ void af_window_boxcar(int n, FLOAT_TYPE*
 /*
 // Triang a.k.a Bartlett
 //
-//               |    (N-1)| 
+//               |    (N-1)|
 //           2 * |k - -----|
 //               |      2  |
 // w = 1.0 - ---------------
@@ -60,7 +60,7 @@ void af_window_triang(int n, FLOAT_TYPE*
   FLOAT_TYPE k2  = 1/((FLOAT_TYPE)n + k1);
   int      end = (n + 1) >> 1;
   int	   i;
-  
+
   // Calculate window coefficients
   for (i=0 ; i<end ; i++)
     w[i] = w[n-i-1] = (2.0*((FLOAT_TYPE)(i+1))-(1.0-k1))*k2;
@@ -79,7 +79,7 @@ void af_window_hanning(int n, FLOAT_TYPE
 {
   int	   i;
   FLOAT_TYPE k = 2*M_PI/((FLOAT_TYPE)(n+1)); // 2*pi/(N+1)
-  
+
   // Calculate window coefficients
   for (i=0; i<n; i++)
     *w++ = 0.5*(1.0 - cos(k*(FLOAT_TYPE)(i+1)));
@@ -138,23 +138,23 @@ void af_window_flattop(int n,FLOAT_TYPE*
   int      i;
   FLOAT_TYPE k1 = 2*M_PI/((FLOAT_TYPE)(n-1)); // 2*pi/(N-1)
   FLOAT_TYPE k2 = 2*k1;                   // 4*pi/(N-1)
-  
+
   // Calculate window coefficients
   for (i=0; i<n; i++)
     *w++ = 0.2810638602 - 0.5208971735*cos(k1*(FLOAT_TYPE)i)
                         + 0.1980389663*cos(k2*(FLOAT_TYPE)i);
 }
 
-/* Computes the 0th order modified Bessel function of the first kind.  
-// (Needed to compute Kaiser window) 
-//   
+/* Computes the 0th order modified Bessel function of the first kind.
+// (Needed to compute Kaiser window)
+//
 // y = sum( (x/(2*n))^2 )
 //      n
 */
-#define BIZ_EPSILON 1E-21 // Max error acceptable 
+#define BIZ_EPSILON 1E-21 // Max error acceptable
 
 static FLOAT_TYPE besselizero(FLOAT_TYPE x)
-{ 
+{
   FLOAT_TYPE temp;
   FLOAT_TYPE sum   = 1.0;
   FLOAT_TYPE u     = 1.0;
@@ -183,10 +183,10 @@ static FLOAT_TYPE besselizero(FLOAT_TYPE
 // Gold (Theory and Application of DSP) under Kaiser windows for more
 // about Beta.  The following table from Rabiner and Gold gives some
 // feel for the effect of Beta:
-// 
+//
 // All ripples in dB, width of transition band = D*N where N = window
 // length
-// 
+//
 // BETA    D       PB RIP   SB RIP
 // 2.120   1.50  +-0.27      -30
 // 3.384   2.23    0.0864    -40
@@ -203,8 +203,8 @@ void af_window_kaiser(int n, FLOAT_TYPE*
   FLOAT_TYPE k1  = 1.0/besselizero(b);
   int	   k2  = 1 - (n & 1);
   int      end = (n + 1) >> 1;
-  int      i; 
-  
+  int      i;
+
   // Calculate window coefficients
   for (i=0 ; i<end ; i++){
     tmp = (FLOAT_TYPE)(2*i + k2) / ((FLOAT_TYPE)n - 1.0);

Modified: trunk/libao2/ao_alsa.c
==============================================================================
--- trunk/libao2/ao_alsa.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_alsa.c	Wed May 13 04:58:57 2009	(r29305)
@@ -57,7 +57,7 @@
 #include "audio_out_internal.h"
 #include "libaf/af_format.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
     "ALSA-0.9.x-1.x audio output",
     "alsa",
@@ -73,7 +73,7 @@ static snd_pcm_hw_params_t *alsa_hwparam
 static snd_pcm_sw_params_t *alsa_swparams;
 
 /* 16 sets buffersize to 16 * chunksize is as default 1024
- * which seems to be good avarge for most situations 
+ * which seems to be good avarge for most situations
  * so buffersize is 16384 frames by default */
 static int alsa_fragcount = 16;
 static snd_pcm_uframes_t chunk_size = 1024;
@@ -156,7 +156,7 @@ static int control(int cmd, void *arg)
 
       //allocate simple id
       snd_mixer_selem_id_alloca(&sid);
-	
+
       //sets simple-mixer index and name
       snd_mixer_selem_id_set_index(sid, mix_index);
       snd_mixer_selem_id_set_name(sid, mix_name);
@@ -172,7 +172,7 @@ static int control(int cmd, void *arg)
       }
 
       if ((err = snd_mixer_attach(handle, card)) < 0) {
-	mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_MixerAttachError, 
+	mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_MixerAttachError,
 	       card, snd_strerror(err));
 	snd_mixer_close(handle);
 	return CONTROL_ERROR;
@@ -207,7 +207,7 @@ static int control(int cmd, void *arg)
 
 	//setting channels
 	if ((err = snd_mixer_selem_set_playback_volume(elem, SND_MIXER_SCHN_FRONT_LEFT, set_vol)) < 0) {
-	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_ErrorSettingLeftChannel, 
+	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_ErrorSettingLeftChannel,
 		 snd_strerror(err));
 	  return CONTROL_ERROR;
 	}
@@ -216,11 +216,11 @@ static int control(int cmd, void *arg)
 	set_vol = vol->right / f_multi + pmin + 0.5;
 
 	if ((err = snd_mixer_selem_set_playback_volume(elem, SND_MIXER_SCHN_FRONT_RIGHT, set_vol)) < 0) {
-	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_ErrorSettingRightChannel, 
+	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_ErrorSettingRightChannel,
 		 snd_strerror(err));
 	  return CONTROL_ERROR;
 	}
-	mp_msg(MSGT_AO,MSGL_DBG2,"right=%li, pmin=%li, pmax=%li, mult=%f\n", 
+	mp_msg(MSGT_AO,MSGL_DBG2,"right=%li, pmin=%li, pmax=%li, mult=%f\n",
 	       set_vol, pmin, pmax, f_multi);
 
 	if (snd_mixer_selem_has_playback_switch(elem)) {
@@ -245,7 +245,7 @@ static int control(int cmd, void *arg)
       snd_mixer_close(handle);
       return CONTROL_OK;
     }
-    
+
   } //end switch
   return CONTROL_UNKNOWN;
 }
@@ -349,7 +349,7 @@ static int init(int rate_hz, int channel
 #endif
 
     snd_lib_error_set_handler(alsa_error_handler);
-    
+
     ao_data.samplerate = rate_hz;
     ao_data.format = format;
     ao_data.channels = channels;
@@ -409,7 +409,7 @@ static int init(int rate_hz, int channel
 	alsa_format = SND_PCM_FORMAT_MPEG; //? default should be -1
 	break;
       }
-    
+
     //subdevice parsing
     // set defaults
     block = 1;
@@ -537,11 +537,11 @@ static int init(int rate_hz, int channel
 		 snd_strerror(err));
 	  return 0;
 	}
-    
+
       err = snd_pcm_hw_params_set_access(alsa_handler, alsa_hwparams,
 					 SND_PCM_ACCESS_RW_INTERLEAVED);
       if (err < 0) {
-	mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetAccessType, 
+	mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetAccessType,
 	       snd_strerror(err));
 	return 0;
       }
@@ -585,8 +585,8 @@ static int init(int rate_hz, int channel
 	}
 #endif
 
-      if ((err = snd_pcm_hw_params_set_rate_near(alsa_handler, alsa_hwparams, 
-						 &ao_data.samplerate, NULL)) < 0) 
+      if ((err = snd_pcm_hw_params_set_rate_near(alsa_handler, alsa_hwparams,
+						 &ao_data.samplerate, NULL)) < 0)
         {
 	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetSamplerate2,
 		 snd_strerror(err));
@@ -602,7 +602,7 @@ static int init(int rate_hz, int channel
 	int alsa_buffer_time = 500000; /* original 60 */
 	int alsa_period_time;
 	alsa_period_time = alsa_buffer_time/4;
-	if ((err = snd_pcm_hw_params_set_buffer_time_near(alsa_handler, alsa_hwparams, 
+	if ((err = snd_pcm_hw_params_set_buffer_time_near(alsa_handler, alsa_hwparams,
 							  &alsa_buffer_time, NULL)) < 0)
 	  {
 	    mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetBufferTimeNear,
@@ -611,7 +611,7 @@ static int init(int rate_hz, int channel
 	  } else
 	    alsa_buffer_time = err;
 
-	if ((err = snd_pcm_hw_params_set_period_time_near(alsa_handler, alsa_hwparams, 
+	if ((err = snd_pcm_hw_params_set_period_time_near(alsa_handler, alsa_hwparams,
 							  &alsa_period_time, NULL)) < 0)
 	  /* original: alsa_buffer_time/ao_data.bps */
 	  {
@@ -621,13 +621,13 @@ static int init(int rate_hz, int channel
 	  }
 	mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_BufferTimePeriodTime,
 	       alsa_buffer_time, err);
-      } 
+      }
 #endif//end SET_BUFFERTIME
 
 #ifdef SET_CHUNKSIZE
       {
 	//set chunksize
-	if ((err = snd_pcm_hw_params_set_period_size_near(alsa_handler, alsa_hwparams, 
+	if ((err = snd_pcm_hw_params_set_period_size_near(alsa_handler, alsa_hwparams,
 							  &chunk_size, NULL)) < 0)
 	  {
 	    mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetPeriodSize,
@@ -639,7 +639,7 @@ static int init(int rate_hz, int channel
 	}
 	if ((err = snd_pcm_hw_params_set_periods_near(alsa_handler, alsa_hwparams,
 						      &alsa_fragcount, NULL)) < 0) {
-	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetPeriods, 
+	  mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetPeriods,
 		 snd_strerror(err));
 	  return 0;
 	}
@@ -870,15 +870,15 @@ static int get_space(void)
 {
     snd_pcm_status_t *status;
     int ret;
-    
+
     snd_pcm_status_alloca(&status);
-    
+
     if ((ret = snd_pcm_status(alsa_handler, status)) < 0)
     {
 	mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_CannotGetPcmStatus, snd_strerror(ret));
 	return 0;
     }
-    
+
     ret = snd_pcm_status_get_avail(status) * bytes_per_sample;
     if (ret > ao_data.buffersize)  // Buffer underrun?
 	ret = ao_data.buffersize;
@@ -890,10 +890,10 @@ static float get_delay(void)
 {
   if (alsa_handler) {
     snd_pcm_sframes_t delay;
-    
+
     if (snd_pcm_delay(alsa_handler, &delay) < 0)
       return 0;
-    
+
     if (delay < 0) {
       /* underrun - move the application pointer forward to catch up */
 #if SND_LIB_VERSION >= 0x000901 /* snd_pcm_forward() exists since 0.9.0rc8 */

Modified: trunk/libao2/ao_alsa5.c
==============================================================================
--- trunk/libao2/ao_alsa5.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_alsa5.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,7 +32,7 @@
 #include "mp_msg.h"
 #include "help_mp.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
     "ALSA-0.5.x audio output",
     "alsa5",
@@ -117,7 +117,7 @@ static int init(int rate_hz, int channel
 	    alsa_format.format = SND_PCM_SFMT_MPEG;
 	    break;
     }
-    
+
     switch(alsa_format.format)
     {
 	case SND_PCM_SFMT_S16_LE:
@@ -230,7 +230,7 @@ static int init(int rate_hz, int channel
     setup.format = alsa_format;
     setup.buf.stream.queue_size = ao_data.buffersize;
     setup.msbits_per_sample = ao_data.bps;
-    
+
     if ((err = snd_pcm_channel_setup(alsa_handler, &setup)) < 0)
     {
 	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetChan, snd_strerror(err));
@@ -333,10 +333,10 @@ static void audio_resume(void)
 static int play(void* data, int len, int flags)
 {
     int got_len;
-    
+
     if (!len)
 	return 0;
-    
+
     if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0)
     {
 	if (got_len == -EPIPE) /* underrun? */
@@ -365,7 +365,7 @@ static int play(void* data, int len, int
 static int get_space(void)
 {
     snd_pcm_channel_status_t ch_stat;
-    
+
     ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
 
     if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
@@ -378,9 +378,9 @@ static int get_space(void)
 static float get_delay(void)
 {
     snd_pcm_channel_status_t ch_stat;
-    
+
     ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
-    
+
     if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
 	return (float)ao_data.buffersize/(float)ao_data.bps; /* error occurred */
     else

Modified: trunk/libao2/ao_coreaudio.c
==============================================================================
--- trunk/libao2/ao_coreaudio.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_coreaudio.c	Wed May 13 04:58:57 2009	(r29305)
@@ -174,7 +174,7 @@ Float32 vol;
 				ao->b_muted = 0;
 			return CONTROL_TRUE;
 		}
-		
+
 		vol=(control_vol->left+control_vol->right)*4.0/200.0;
 		err = AudioUnitSetParameter(ao->theOutputUnit, kHALOutputParam_Volume, kAudioUnitScope_Global, 0, vol, 0);
 		if(err==0) {
@@ -189,7 +189,7 @@ Float32 vol;
 	default:
 	  return CONTROL_FALSE;
 	}
-	
+
 }
 
 
@@ -237,8 +237,8 @@ static OSStatus DeviceListener( AudioDev
 static int init(int rate,int channels,int format,int flags)
 {
 AudioStreamBasicDescription inDesc;
-ComponentDescription desc; 
-Component comp; 
+ComponentDescription desc;
+Component comp;
 AURenderCallbackStruct renderCallback;
 OSStatus err;
 UInt32 size, maxFrames, i_param_size;
@@ -396,20 +396,20 @@ int b_alive;
 	desc.componentManufacturer = kAudioUnitManufacturer_Apple;
 	desc.componentFlags = 0;
 	desc.componentFlagsMask = 0;
-				
+
 	comp = FindNextComponent(NULL, &desc);  //Finds an component that meets the desc spec's
 	if (comp == NULL) {
 		ao_msg(MSGT_AO, MSGL_WARN, "Unable to find Output Unit component\n");
 		goto err_out;
 	}
-		
+
 	err = OpenAComponent(comp, &(ao->theOutputUnit));  //gains access to the services provided by the component
 	if (err) {
 		ao_msg(MSGT_AO, MSGL_WARN, "Unable to open Output Unit component: [%4.4s]\n", (char *)&err);
 		goto err_out;
 	}
 
-	// Initialize AudioUnit 
+	// Initialize AudioUnit
 	err = AudioUnitInitialize(ao->theOutputUnit);
 	if (err) {
 		ao_msg(MSGT_AO, MSGL_WARN, "Unable to initialize Output Unit component: [%4.4s]\n", (char *)&err);
@@ -426,7 +426,7 @@ int b_alive;
 
 	size = sizeof(UInt32);
 	err = AudioUnitGetProperty(ao->theOutputUnit, kAudioDevicePropertyBufferSize, kAudioUnitScope_Input, 0, &maxFrames, &size);
-	
+
 	if (err)
 	{
 		ao_msg(MSGT_AO,MSGL_WARN, "AudioUnitGetProperty returned [%4.4s] when getting kAudioDevicePropertyBufferSize\n", (char *)&err);
@@ -434,7 +434,7 @@ int b_alive;
 	}
 
 	ao->chunk_size = maxFrames;//*inDesc.mBytesPerFrame;
-    
+
 	ao_data.samplerate = inDesc.mSampleRate;
 	ao_data.channels = inDesc.mChannelsPerFrame;
     ao_data.bps = ao_data.samplerate * inDesc.mBytesPerFrame;
@@ -444,7 +444,7 @@ int b_alive;
 	ao->num_chunks = (ao_data.bps+ao->chunk_size-1)/ao->chunk_size;
     ao->buffer_len = ao->num_chunks * ao->chunk_size;
     ao->buffer = av_fifo_alloc(ao->buffer_len);
-	
+
 	ao_msg(MSGT_AO,MSGL_V, "using %5d chunks of %d bytes (buffer len %d bytes)\n", (int)ao->num_chunks, (int)ao->chunk_size, (int)ao->buffer_len);
 
     renderCallback.inputProc = theRenderProc;
@@ -456,7 +456,7 @@ int b_alive;
 	}
 
 	reset();
-    
+
     return CONTROL_OK;
 
 err_out2:
@@ -467,7 +467,7 @@ err_out:
     av_fifo_free(ao->buffer);
     free(ao);
     ao = NULL;
-    return CONTROL_FALSE; 
+    return CONTROL_FALSE;
 }
 
 /*****************************************************************************
@@ -734,7 +734,7 @@ err_out:
     av_fifo_free(ao->buffer);
     free(ao);
     ao = NULL;
-    return CONTROL_FALSE; 
+    return CONTROL_FALSE;
 }
 
 /*****************************************************************************
@@ -943,7 +943,7 @@ static OSStatus RenderCallbackSPDIF( Aud
 
 
 static int play(void* output_samples,int num_bytes,int flags)
-{  
+{
     int wrote, b_digital;
 
     // Check whether we need to reset the digital output stream.

Modified: trunk/libao2/ao_dsound.c
==============================================================================
--- trunk/libao2/ao_dsound.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_dsound.c	Wed May 13 04:58:57 2009	(r29305)
@@ -113,17 +113,17 @@ static const int channel_mask[] = {
 };
 
 static HINSTANCE hdsound_dll = NULL;      ///handle to the dll
-static LPDIRECTSOUND hds = NULL;          ///direct sound object 
+static LPDIRECTSOUND hds = NULL;          ///direct sound object
 static LPDIRECTSOUNDBUFFER hdspribuf = NULL; ///primary direct sound buffer
 static LPDIRECTSOUNDBUFFER hdsbuf = NULL; ///secondary direct sound buffer (stream buffer)
-static int buffer_size = 0;               ///size in bytes of the direct sound buffer   
+static int buffer_size = 0;               ///size in bytes of the direct sound buffer
 static int write_offset = 0;              ///offset of the write cursor in the direct sound buffer
 static int min_free_space = 0;            ///if the free space is below this value get_space() will return 0
                                           ///there will always be at least this amout of free space to prevent
                                           ///get_space() from returning wrong values when buffer is 100% full.
                                           ///will be replaced with nBlockAlign in init()
 static int device_num = 0;                ///wanted device number
-static GUID device;                       ///guid of the device 
+static GUID device;                       ///guid of the device
 
 /***************************************************************************************/
 
@@ -221,17 +221,17 @@ static int InitDirectSound(void)
 
 	// initialize directsound
     HRESULT (WINAPI *OurDirectSoundCreate)(LPGUID, LPDIRECTSOUND *, LPUNKNOWN);
-	HRESULT (WINAPI *OurDirectSoundEnumerate)(LPDSENUMCALLBACKA, LPVOID);   
+	HRESULT (WINAPI *OurDirectSoundEnumerate)(LPDSENUMCALLBACKA, LPVOID);
 	int device_index=0;
 	opt_t subopts[] = {
 	  {"device", OPT_ARG_INT, &device_num,NULL},
 	  {NULL}
-	}; 
+	};
 	if (subopt_parse(ao_subdevice, subopts) != 0) {
 		print_help();
 		return 0;
 	}
-    
+
 	hdsound_dll = LoadLibrary("DSOUND.DLL");
 	if (hdsound_dll == NULL) {
 		mp_msg(MSGT_AO, MSGL_ERR, "ao_dsound: cannot load DSOUND.DLL\n");
@@ -245,7 +245,7 @@ static int InitDirectSound(void)
 		FreeLibrary(hdsound_dll);
 		return 0;
 	}
-    
+
 	// Enumerate all directsound devices
 	mp_msg(MSGT_AO, MSGL_V,"ao_dsound: Output Devices:\n");
 	OurDirectSoundEnumerate(DirectSoundEnum,&device_index);
@@ -310,22 +310,22 @@ static void DestroyBuffer(void)
 static int write_buffer(unsigned char *data, int len)
 {
   HRESULT res;
-  LPVOID lpvPtr1; 
-  DWORD dwBytes1; 
-  LPVOID lpvPtr2; 
-  DWORD dwBytes2; 
-	
+  LPVOID lpvPtr1;
+  DWORD dwBytes1;
+  LPVOID lpvPtr2;
+  DWORD dwBytes2;
+
   // Lock the buffer
-  res = IDirectSoundBuffer_Lock(hdsbuf,write_offset, len, &lpvPtr1, &dwBytes1, &lpvPtr2, &dwBytes2, 0); 
-  // If the buffer was lost, restore and retry lock. 
-  if (DSERR_BUFFERLOST == res) 
-  { 
+  res = IDirectSoundBuffer_Lock(hdsbuf,write_offset, len, &lpvPtr1, &dwBytes1, &lpvPtr2, &dwBytes2, 0);
+  // If the buffer was lost, restore and retry lock.
+  if (DSERR_BUFFERLOST == res)
+  {
     IDirectSoundBuffer_Restore(hdsbuf);
 	res = IDirectSoundBuffer_Lock(hdsbuf,write_offset, len, &lpvPtr1, &dwBytes1, &lpvPtr2, &dwBytes2, 0);
   }
- 
-  
-  if (SUCCEEDED(res)) 
+
+
+  if (SUCCEEDED(res))
   {
   	if( (ao_data.channels == 6) && (ao_data.format!=AF_FORMAT_AC3) ) {
   	    // reorder channels while writing to pointers.
@@ -354,27 +354,27 @@ static int write_buffer(unsigned char *d
   	    write_offset+=dwBytes1+dwBytes2;
   	    if(write_offset>=buffer_size)write_offset=dwBytes2;
   	} else {
-  	    // Write to pointers without reordering. 
+  	    // Write to pointers without reordering.
 	fast_memcpy(lpvPtr1,data,dwBytes1);
     if (NULL != lpvPtr2 )fast_memcpy(lpvPtr2,data+dwBytes1,dwBytes2);
 	write_offset+=dwBytes1+dwBytes2;
     if(write_offset>=buffer_size)write_offset=dwBytes2;
   	}
-	
-   // Release the data back to DirectSound. 
+
+   // Release the data back to DirectSound.
     res = IDirectSoundBuffer_Unlock(hdsbuf,lpvPtr1,dwBytes1,lpvPtr2,dwBytes2);
-    if (SUCCEEDED(res)) 
-    { 
-	  // Success. 
+    if (SUCCEEDED(res))
+    {
+	  // Success.
 	  DWORD status;
 	  IDirectSoundBuffer_GetStatus(hdsbuf, &status);
       if (!(status & DSBSTATUS_PLAYING)){
 	    res = IDirectSoundBuffer_Play(hdsbuf, 0, 0, DSBPLAY_LOOPING);
 	  }
-	  return dwBytes1+dwBytes2; 
-    } 
-  } 
-  // Lock, Unlock, or Restore failed. 
+	  return dwBytes1+dwBytes2;
+    }
+  }
+  // Lock, Unlock, or Restore failed.
   return 0;
 }
 
@@ -408,7 +408,7 @@ static int control(int cmd, void *arg)
 	return -1;
 }
 
-/** 
+/**
 \brief setup sound device
 \param rate samplerate
 \param channels number of channels
@@ -436,7 +436,7 @@ static int init(int rate, int channels, 
 		default:
 			mp_msg(MSGT_AO, MSGL_V,"ao_dsound: format %s not supported defaulting to Signed 16-bit Little-Endian\n",af_fmt2str_short(format));
 			format=AF_FORMAT_S16_LE;
-	}   	
+	}
 	//fill global ao_data
 	ao_data.channels = channels;
 	ao_data.samplerate = rate;
@@ -493,7 +493,7 @@ static int init(int rate, int channels, 
 	ao_data.outburst = wformat.Format.nBlockAlign * 512;
 
 	// create primary buffer and set its format
-    
+
 	res = IDirectSound_CreateSoundBuffer( hds, &dsbpridesc, &hdspribuf, NULL );
 	if ( res != DS_OK ) {
 		UninitDirectSound();
@@ -553,7 +553,7 @@ static void audio_resume(void)
 	IDirectSoundBuffer_Play(hdsbuf, 0, 0, DSBPLAY_LOOPING);
 }
 
-/** 
+/**
 \brief close audio device
 \param immed stop playback immediately
 */
@@ -579,7 +579,7 @@ static int get_space(void)
 	int space;
 	DWORD play_offset;
 	IDirectSoundBuffer_GetCurrentPosition(hdsbuf,&play_offset,NULL);
-	space=buffer_size-(write_offset-play_offset);                                             
+	space=buffer_size-(write_offset-play_offset);
 	//                |                                                      | <-- const --> |                |                 |
 	//                buffer start                                           play_cursor     write_cursor     write_offset      buffer end
 	// play_cursor is the actual postion of the play cursor
@@ -601,10 +601,10 @@ static int play(void* data, int len, int
 {
 	DWORD play_offset;
 	int space;
-  
+
 	// make sure we have enough space to write data
 	IDirectSoundBuffer_GetCurrentPosition(hdsbuf,&play_offset,NULL);
-	space=buffer_size-(write_offset-play_offset);                                             
+	space=buffer_size-(write_offset-play_offset);
 	if(space > buffer_size)space -= buffer_size; // write_offset < play_offset
 	if(space < len) len = space;
 
@@ -622,7 +622,7 @@ static float get_delay(void)
 	DWORD play_offset;
 	int space;
 	IDirectSoundBuffer_GetCurrentPosition(hdsbuf,&play_offset,NULL);
-	space=play_offset-write_offset;                                             
+	space=play_offset-write_offset;
 	if(space <= 0)space += buffer_size;
 	return (float)(buffer_size - space) / (float)ao_data.bps;
 }

Modified: trunk/libao2/ao_dxr2.c
==============================================================================
--- trunk/libao2/ao_dxr2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_dxr2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -67,7 +67,7 @@ static int control(int cmd,void *arg){
       ao_control_vol_t* vol = (ao_control_vol_t*)arg;
       // We need this trick because the volume stepping is often too small
       diff = ((vol->left+vol->right) / 2 - (volume*19.0/100.0)) * 19.0 / 100.0;
-      v.arg = volume + (diff > 0 ? ceil(diff) : floor(diff)); 
+      v.arg = volume + (diff > 0 ? ceil(diff) : floor(diff));
       if(v.arg > 19) v.arg = 19;
       if(v.arg < 0) v.arg = 0;
       if(v.arg != volume) {
@@ -95,7 +95,7 @@ static int init(int rate,int channels,in
 	  return 0;
 
         last_freq_id = -1;
-        
+
 	ao_data.outburst=2048;
 	ao_data.samplerate=rate;
 	ao_data.channels=channels;
@@ -178,11 +178,11 @@ static int get_space(void){
 static void dxr2_send_lpcm_packet(unsigned char* data,int len,int id,unsigned int timestamp,int freq_id)
 {
   int write_dxr2(const unsigned char *data, int len);
-  
+
   if(dxr2_fd < 0) {
     mp_msg(MSGT_AO,MSGL_ERR,"DXR2 fd is not valid\n");
     return;
-  }    
+  }
 
   if(last_freq_id != freq_id) {
     ioctl(dxr2_fd, DXR2_IOC_SET_AUDIO_SAMPLE_FREQUENCY, &freq_id);

Modified: trunk/libao2/ao_esd.c
==============================================================================
--- trunk/libao2/ao_esd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_esd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -122,7 +122,7 @@ static int control(int cmd, void *arg)
 	    vol_cache_time = now;
 	}
 	esd_free_all_info(esd_i);
-	
+
 	return CONTROL_OK;
 
     case AOCONTROL_SET_VOLUME:
@@ -236,19 +236,19 @@ static int init(int rate_hz, int channel
 #ifdef CONFIG_ESD_LATENCY
     esd_latency = esd_get_latency(esd_fd);
 #else
-    esd_latency = ((channels == 1 ? 2 : 1) * ESD_DEFAULT_RATE * 
+    esd_latency = ((channels == 1 ? 2 : 1) * ESD_DEFAULT_RATE *
 		   (ESD_BUF_SIZE + 64 * (4.0f / bytes_per_sample))
-		   ) / rate_hz;  
-    esd_latency += ESD_BUF_SIZE * 2; 
+		   ) / rate_hz;
+    esd_latency += ESD_BUF_SIZE * 2;
 #endif
     if(esd_latency > 0) {
 	lag_serv = (esd_latency * 4.0f) / (bytes_per_sample * rate_hz);
 	lag_seconds = lag_net + lag_serv;
 	audio_delay += lag_seconds;
-	mp_msg(MSGT_AO, MSGL_INFO,MSGTR_AO_ESD_LatencyInfo, 
+	mp_msg(MSGT_AO, MSGL_INFO,MSGTR_AO_ESD_LatencyInfo,
 	       lag_serv, lag_net, lag_seconds);
     }
-    
+
     esd_play_fd = esd_play_stream_fallback(esd_fmt, rate_hz,
 					   server, ESD_CLIENT_NAME);
     if (esd_play_fd < 0) {
@@ -333,7 +333,7 @@ static int play(void* data, int len, int
 	 */
 	n = write(esd_play_fd, (char*)data + offs, ESD_BUF_SIZE);
 	if ( n < 0 ) {
-	    if ( errno != EAGAIN ) 
+	    if ( errno != EAGAIN )
 		dprintf("esd play: write failed: %s\n", strerror(errno));
 	    break;
 	} else if ( n != ESD_BUF_SIZE ) {
@@ -343,13 +343,13 @@ static int play(void* data, int len, int
 	    nwritten += n;
     }
 #endif
-	
+
     if (nwritten > 0) {
 	if (!esd_play_start.tv_sec)
 	    gettimeofday(&esd_play_start, NULL);
 	nsamples = nwritten / esd_bytes_per_sample;
 	esd_samples_written += nsamples;
- 
+
 	dprintf("esd play: %d %lu\n", nsamples, esd_samples_written);
     } else {
 	dprintf("esd play: blocked / %lu\n", esd_samples_written);
@@ -395,7 +395,7 @@ static void reset(void)
 {
 #ifdef	__svr4__
     /* throw away data buffered in the esd connection */
-    if (ioctl(esd_play_fd, I_FLUSH, FLUSHW)) 
+    if (ioctl(esd_play_fd, I_FLUSH, FLUSHW))
 	perror("I_FLUSH");
 #endif
 }
@@ -411,7 +411,7 @@ static int get_space(void)
     float current_delay;
     int space;
 
-    /* 
+    /*
      * Don't buffer too much data in the esd daemon.
      *
      * If we send too much, esd will block in write()s to the sound
@@ -461,7 +461,7 @@ static float get_delay(void)
     gettimeofday(&now, NULL);
     play_time  =  now.tv_sec  - esd_play_start.tv_sec;
     play_time += (now.tv_usec - esd_play_start.tv_usec) / 1000000.;
-    
+
     /* dprintf("esd delay: %f %f\n", play_time, buffered_samples_time); */
 
     if (play_time > buffered_samples_time) {

Modified: trunk/libao2/ao_ivtv.c
==============================================================================
--- trunk/libao2/ao_ivtv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_ivtv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -41,7 +41,7 @@
 
 static int freq = 0;
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
   "IVTV MPEG Audio Decoder output",
   "ivtv",
@@ -73,7 +73,7 @@ init (int rate, int channels, int format
             "AO: [ivtv] can only handle MPEG audio streams.\n");
     return 0;
   }
-  
+
   ao_data.outburst = 2048;
   ao_data.samplerate = rate;
   ao_data.channels = channels;
@@ -132,11 +132,11 @@ get_space (void)
   x = (float) (vo_pts - ao_data.pts) / 90000.0;
   if (x <= 0)
     return 0;
-  
+
   y  = freq * 4 * x;
   y /= ao_data.outburst;
   y *= ao_data.outburst;
-  
+
   if (y > 32000)
     y = 32000;
 
@@ -148,7 +148,7 @@ static int
 play (void *data, int len, int flags)
 {
   int ivtv_write (unsigned char *data, int len);
-  
+
   if (ao_data.format != AF_FORMAT_MPEG2)
     return 0;
 

Modified: trunk/libao2/ao_jack.c
==============================================================================
--- trunk/libao2/ao_jack.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_jack.c	Wed May 13 04:58:57 2009	(r29305)
@@ -40,7 +40,7 @@
 
 #include <jack/jack.h>
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
   "JACK audio output",
   "jack",

Modified: trunk/libao2/ao_mpegpes.c
==============================================================================
--- trunk/libao2/ao_mpegpes.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_mpegpes.c	Wed May 13 04:58:57 2009	(r29305)
@@ -63,7 +63,7 @@ int vo_mpegpes_fd2 = -1;
 
 #include <errno.h>
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
 #ifdef CONFIG_DVB
 	"DVB audio output",
@@ -194,7 +194,7 @@ static int preinit(const char *arg)
 #ifdef CONFIG_DVB
 	if(!ao_file)
 		return init_device(card);
-#else	
+#else
 	if(!ao_file)
 		return vo_mpegpes_fd;	//video fd
 #endif

Modified: trunk/libao2/ao_nas.c
==============================================================================
--- trunk/libao2/ao_nas.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_nas.c	Wed May 13 04:58:57 2009	(r29305)
@@ -119,7 +119,7 @@ static const char* nas_state(unsigned in
 	return nas_states[state];
 }
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
 	"NAS audio output",
 	"nas",
@@ -201,7 +201,7 @@ static int nas_readBuffer(struct ao_nas_
 	 * Now write the new buffer to the network.
 	 */
 	AuWriteElement(nas_data->aud, nas_data->flow, 0, num, nas_data->server_buffer, AuFalse, &as);
-	if (as != AuSuccess) 
+	if (as != AuSuccess)
 		nas_print_error(nas_data->aud, "nas_readBuffer(): AuWriteElement", as);
 
 	return num;
@@ -229,7 +229,7 @@ static int nas_empty_event_queue(struct 
 {
 	AuEvent ev;
 	int result = 0;
-	
+
 	while (AuScanForTypedEvent(nas_data->aud, AuEventsQueuedAfterFlush,
 				   AuTrue, AuEventTypeElementNotify, &ev)) {
 		AuDispatchEvent(nas_data->aud, &ev);
@@ -462,7 +462,7 @@ static int init(int rate,int channels,in
 	mp_msg(MSGT_AO, MSGL_V, "ao_nas: init(): Using audioserver %s\n", server);
 
 	nas_data->aud = AuOpenServer(server, 0, NULL, 0, NULL, NULL);
-	if (!nas_data->aud) { 
+	if (!nas_data->aud) {
 		mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: init(): Can't open nas audio server -> nosound\n");
 		return 0;
 	}
@@ -571,7 +571,7 @@ static void audio_resume(void)
 static int get_space(void)
 {
 	int result;
-	
+
 	mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: get_space()\n");
 
 	pthread_mutex_lock(&nas_data->buffer_mutex);
@@ -631,7 +631,7 @@ static int play(void* data,int len,int f
 static float get_delay(void)
 {
 	float result;
-	
+
 	mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: get_delay()\n");
 
 	pthread_mutex_lock(&nas_data->buffer_mutex);

Modified: trunk/libao2/ao_null.c
==============================================================================
--- trunk/libao2/ao_null.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_null.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@
 #include "audio_out.h"
 #include "audio_out_internal.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
 	"Null audio output",
 	"null",
@@ -41,14 +41,14 @@ struct	timeval last_tv;
 int	buffer;
 
 static void drain(void){
- 
+
     struct timeval now_tv;
     int temp, temp2;
 
     gettimeofday(&now_tv, 0);
     temp = now_tv.tv_sec - last_tv.tv_sec;
     temp *= ao_data.bps;
-    
+
     temp2 = now_tv.tv_usec - last_tv.tv_usec;
     temp2 /= 1000;
     temp2 *= ao_data.bps;

Modified: trunk/libao2/ao_openal.c
==============================================================================
--- trunk/libao2/ao_openal.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_openal.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,7 +42,7 @@
 #include "osdep/timer.h"
 #include "subopt-helper.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
   "OpenAL audio output",
   "openal",

Modified: trunk/libao2/ao_oss.c
==============================================================================
--- trunk/libao2/ao_oss.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_oss.c	Wed May 13 04:58:57 2009	(r29305)
@@ -48,7 +48,7 @@
 #include "audio_out.h"
 #include "audio_out_internal.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
 	"OSS/ioctl audio output",
 	"oss",
@@ -199,7 +199,7 @@ static int control(int cmd,void *arg){
 
 	    if(ao_data.format == AF_FORMAT_AC3)
 		return CONTROL_TRUE;
-    
+
 	    if ((fd = open(oss_mixer_device, O_RDONLY)) > 0)
 	    {
 		ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devs);
@@ -260,17 +260,17 @@ static int init(int rate,int channels,in
     oss_mixer_device=mdev;
   else
     oss_mixer_device=PATH_DEV_MIXER;
-  
+
   if(mchan){
     int fd, devs, i;
-    
+
     if ((fd = open(oss_mixer_device, O_RDONLY)) == -1){
       mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_OSS_CantOpenMixer,
         oss_mixer_device, strerror(errno));
     }else{
       ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devs);
       close(fd);
-      
+
       for (i=0; i<SOUND_MIXER_NRDEVICES; i++){
         if(!strcasecmp(mixer_channels[i], mchan)){
           if(!(devs & (1 << i))){
@@ -308,19 +308,19 @@ static int init(int rate,int channels,in
   if(fcntl(audio_fd, F_SETFL, 0) < 0) {
    mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_OSS_CantMakeFd, strerror(errno));
    return 0;
-  }  
+  }
 #endif
 
 #if defined(FD_CLOEXEC) && defined(F_SETFD)
   fcntl(audio_fd, F_SETFD, FD_CLOEXEC);
 #endif
-  
+
   if(format == AF_FORMAT_AC3) {
     ao_data.samplerate=rate;
     ioctl (audio_fd, SNDCTL_DSP_SPEED, &ao_data.samplerate);
   }
 
-ac3_retry:  
+ac3_retry:
   ao_data.format=format;
   oss_format=format2oss(format);
   if (oss_format == -1) {
@@ -348,7 +348,7 @@ ac3_retry:  
 
   mp_msg(MSGT_AO,MSGL_V,"audio_setup: sample format: %s (requested: %s)\n",
     af_fmt2str_short(ao_data.format), af_fmt2str_short(format));
-  
+
   ao_data.channels = channels;
   if(format != AF_FORMAT_AC3) {
     // We only use SNDCTL_DSP_CHANNELS for >2 channels, in case some drivers don't have it

Modified: trunk/libao2/ao_pcm.c
==============================================================================
--- trunk/libao2/ao_pcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_pcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -35,7 +35,7 @@
 #include "help_mp.h"
 
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
     "RAW PCM/WAVE file writer audio output",
     "pcm",
@@ -149,13 +149,13 @@ static int init(int rate,int channels,in
     wavhdr.bytes_per_second = le2me_32(ao_data.bps);
     wavhdr.bits = le2me_16(bits);
     wavhdr.block_align = le2me_16(ao_data.channels * (bits / 8));
-    
+
     wavhdr.data = le2me_32(WAV_ID_DATA);
     wavhdr.data_length=le2me_32(0x7ffff000);
     wavhdr.file_length = wavhdr.data_length + sizeof(wavhdr) - 8;
 
-    mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_PCM_FileInfo, ao_outputfilename, 
-           (ao_pcm_waveheader?"WAVE":"RAW PCM"), rate, 
+    mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_PCM_FileInfo, ao_outputfilename,
+           (ao_pcm_waveheader?"WAVE":"RAW PCM"), rate,
            (channels > 1) ? "Stereo" : "Mono", af_fmt2str_short(format));
     mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_PCM_HintInfo);
 
@@ -166,14 +166,14 @@ static int init(int rate,int channels,in
         }
         return 1;
     }
-    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_PCM_CantOpenOutputFile, 
+    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_PCM_CantOpenOutputFile,
                ao_outputfilename);
     return 0;
 }
 
 // close audio device
 static void uninit(int immed){
-    
+
     if(ao_pcm_waveheader){ /* Rewrite wave header */
         if (fseek(fp, 0, SEEK_SET) != 0)
             mp_msg(MSGT_AO, MSGL_ERR, "Could not seek to start, WAV size headers not updated!\n");
@@ -232,7 +232,7 @@ static int play(void* data,int len,int f
         buffer[i] = le2me_16(buffer[i]);
       }
     }
-#endif 
+#endif
 
     if (ao_data.channels == 6 || ao_data.channels == 5) {
         int frame_size = le2me_16(wavhdr.bits) / 8;
@@ -248,7 +248,7 @@ static int play(void* data,int len,int f
 
     if(ao_pcm_waveheader)
         data_length += len;
-    
+
     return len;
 }
 

Modified: trunk/libao2/ao_sdl.c
==============================================================================
--- trunk/libao2/ao_sdl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_sdl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -36,7 +36,7 @@
 
 #include "libavutil/fifo.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
 	"SDLlib audio output",
 	"sdl",
@@ -129,7 +129,7 @@ static int init(int rate,int channels,in
 
 	/* SDL Audio Specifications */
 	SDL_AudioSpec aspec, obtained;
-	
+
 	/* Allocate ring-buffer memory */
 	buffer = av_fifo_alloc(BUFFSIZE);
 
@@ -147,7 +147,7 @@ static int init(int rate,int channels,in
 	ao_data.bps=channels*rate;
 	if(format != AF_FORMAT_U8 && format != AF_FORMAT_S8)
 	  ao_data.bps*=2;
-	
+
 	/* The desired audio format (see SDL_AudioSpec) */
 	switch(format) {
 	    case AF_FORMAT_U8:
@@ -200,7 +200,7 @@ void callback(void *userdata, Uint8 *str
 	if(SDL_OpenAudio(&aspec, &obtained) < 0) {
         	mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_SDL_CantOpenAudio, SDL_GetError());
         	return 0;
-	} 
+	}
 
 	/* did we got what we wanted ? */
 	ao_data.channels=obtained.channels;
@@ -233,7 +233,7 @@ void callback(void *userdata, Uint8 *str
 	mp_msg(MSGT_AO,MSGL_V,"SDL: buf size = %d\n",obtained.size);
 	ao_data.buffersize=obtained.size;
 	ao_data.outburst = CHUNK_SIZE;
-	
+
 	/* unsilence audio, if callback is ready */
 	SDL_PauseAudio(0);
 
@@ -253,7 +253,7 @@ static void uninit(int immed){
 // stop playing and empty buffers (for seeking/pause)
 static void reset(void){
 
-	//printf("SDL: reset called!\n");	
+	//printf("SDL: reset called!\n");
 
 	SDL_PauseAudio(1);
 	/* Reset ring-buffer state */
@@ -265,15 +265,15 @@ static void reset(void){
 static void audio_pause(void)
 {
 
-	//printf("SDL: audio_pause called!\n");	
+	//printf("SDL: audio_pause called!\n");
 	SDL_PauseAudio(1);
-	
+
 }
 
 // resume playing, after audio_pause()
 static void audio_resume(void)
 {
-	//printf("SDL: audio_resume called!\n");	
+	//printf("SDL: audio_resume called!\n");
 	SDL_PauseAudio(0);
 }
 
@@ -290,12 +290,12 @@ static int play(void* data,int len,int f
 
 	if (!(flags & AOPLAY_FINAL_CHUNK))
 	len = (len/ao_data.outburst)*ao_data.outburst;
-#if 0	
+#if 0
 	int ret;
 
 	/* Audio locking prohibits call of outputaudio */
 	SDL_LockAudio();
-	// copy audio stream into ring-buffer 
+	// copy audio stream into ring-buffer
 	ret = write_buffer(data, len);
 	SDL_UnlockAudio();
 

Modified: trunk/libao2/ao_sgi.c
==============================================================================
--- trunk/libao2/ao_sgi.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_sgi.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,7 +32,7 @@
 #include "help_mp.h"
 #include "libaf/af_format.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
 	"sgi audio output",
 	"sgi",
@@ -116,9 +116,9 @@ static int fmt2sgial(int *format, int *w
 
 // to set/get/query special features/parameters
 static int control(int cmd, void *arg){
-  
+
   mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_SGI_INFO);
-  
+
   switch(cmd) {
   case AOCONTROL_QUERY_FORMAT:
     /* Do not reject any format: return the closest matching
@@ -139,9 +139,9 @@ static int init(int rate, int channels, 
   smpfmt = fmt2sgial(&format, &smpwidth);
 
   mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_SGI_InitInfo, rate, (channels > 1) ? "Stereo" : "Mono", af_fmt2str_short(format));
-  
+
   { /* from /usr/share/src/dmedia/audio/setrate.c */
-  
+
     double frate, realrate;
     ALpv x[2];
 
@@ -152,9 +152,9 @@ static int init(int rate, int channels, 
 	return 0;
       }
     }
-    
+
     frate = rate;
-   
+
     x[0].param = AL_RATE;
     x[0].value.ll = alDoubleToFixed(rate);
     x[1].param = AL_MASTER_CLOCK;
@@ -163,7 +163,7 @@ static int init(int rate, int channels, 
     if (alSetParams(rv,x, 2)<0) {
       mp_msg(MSGT_AO, MSGL_WARN, MSGTR_AO_SGI_CantSetParms_Samplerate, alGetErrorString(oserror()));
     }
-    
+
     if (x[0].sizeOut < 0) {
       mp_msg(MSGT_AO, MSGL_WARN, MSGTR_AO_SGI_CantSetAlRate);
     }
@@ -171,14 +171,14 @@ static int init(int rate, int channels, 
     if (alGetParams(rv,x, 1)<0) {
       mp_msg(MSGT_AO, MSGL_WARN, MSGTR_AO_SGI_CantGetParms, alGetErrorString(oserror()));
     }
-    
+
     realrate = alFixedToDouble(x[0].value.ll);
     if (frate != realrate) {
       mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_SGI_SampleRateInfo, realrate, frate);
-    } 
+    }
     sample_rate = (int)realrate;
   }
-  
+
   bytes_per_frame = channels * smpwidth;
 
   ao_data.samplerate = sample_rate;
@@ -187,14 +187,14 @@ static int init(int rate, int channels, 
   ao_data.bps = sample_rate * bytes_per_frame;
   ao_data.buffersize=131072;
   ao_data.outburst = ao_data.buffersize/16;
-  
+
   ao_config = alNewConfig();
-  
+
   if (!ao_config) {
     mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_SGI_InitConfigError, alGetErrorString(oserror()));
     return 0;
   }
-  
+
   if(alSetChannels(ao_config, channels) < 0 ||
      alSetWidth(ao_config, smpwidth) < 0 ||
      alSetSampFmt(ao_config, smpfmt) < 0 ||
@@ -203,17 +203,17 @@ static int init(int rate, int channels, 
     mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_SGI_InitConfigError, alGetErrorString(oserror()));
     return 0;
   }
-  
+
   ao_port = alOpenPort("mplayer", "w", ao_config);
-  
+
   if (!ao_port) {
     mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_SGI_InitOpenAudioFailed, alGetErrorString(oserror()));
     return 0;
   }
-  
+
   // printf("ao_sgi, init: port %d config %d\n", ao_port, ao_config);
   queue_size = alGetQueueSize(ao_config);
-  return 1;  
+  return 1;
 
 }
 
@@ -231,26 +231,26 @@ static void uninit(int immed) {
 
   if (ao_port) {
     if (!immed)
-    while(alGetFilled(ao_port) > 0) sginap(1);  
+    while(alGetFilled(ao_port) > 0) sginap(1);
     alClosePort(ao_port);
     ao_port = NULL;
   }
-	
+
 }
 
 // stop playing and empty buffers (for seeking/pause)
 static void reset(void) {
-  
+
   mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_SGI_Reset);
-  
+
   alDiscardFrames(ao_port, queue_size);
 }
 
 // stop playing, keep buffers (for pause)
 static void audio_pause(void) {
-    
+
   mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_SGI_PauseInfo);
-    
+
 }
 
 // resume playing, after audio_pause()
@@ -262,12 +262,12 @@ static void audio_resume(void) {
 
 // return: how many bytes can be played without blocking
 static int get_space(void) {
-  
+
   // printf("ao_sgi, get_space: (ao_outburst %d)\n", ao_data.outburst);
   // printf("ao_sgi, get_space: alGetFillable [%d] \n", alGetFillable(ao_port));
-  
+
   return alGetFillable(ao_port) * bytes_per_frame;
-    
+
 }
 
 
@@ -275,7 +275,7 @@ static int get_space(void) {
 // it should round it down to outburst*n
 // return: number of bytes played
 static int play(void* data, int len, int flags) {
-    
+
   /* Always process data in quadword-aligned chunks (64-bits). */
   const int plen = len / (sizeof(uint64_t) * bytes_per_frame);
   const int framecount = plen * sizeof(uint64_t);
@@ -294,14 +294,14 @@ static int play(void* data, int len, int
   alWriteFrames(ao_port, data, framecount);
 
   return framecount * bytes_per_frame;
-  
+
 }
 
 // return: delay in seconds between first and last sample in buffer
 static float get_delay(void){
-  
+
   // printf("ao_sgi, get_delay: (ao_buffersize %d)\n", ao_buffersize);
-  
+
   // return  (float)queue_size/((float)sample_rate);
   const int outstanding = alGetFilled(ao_port);
   return (float)((outstanding < 0) ? queue_size : outstanding) /

Modified: trunk/libao2/ao_sun.c
==============================================================================
--- trunk/libao2/ao_sun.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_sun.c	Wed May 13 04:58:57 2009	(r29305)
@@ -49,7 +49,7 @@
 #include "mp_msg.h"
 #include "help_mp.h"
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
     "Sun audio output",
     "sun",
@@ -142,7 +142,7 @@ static int realtime_samplecounter_availa
     silence = calloc(1, len);
     if (silence == NULL)
 	goto error;
-    
+
     if ((fd = open(dev, O_WRONLY)) < 0)
 	goto error;
 
@@ -157,7 +157,7 @@ static int realtime_samplecounter_availa
 	    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_SUN_RtscSetinfoFailed);
 	goto error;
     }
-    
+
     if (write(fd, silence, len) != len) {
 	if ( mp_msg_test(MSGT_AO,MSGL_V) )
 	    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_SUN_RtscWriteFailed);
@@ -215,7 +215,7 @@ static int realtime_samplecounter_availa
      * sample counter increment from the soundcard driver of less than
      * 2000 samples,  we assume that the driver provides a useable realtime
      * sample counter in the AUDIO_INFO play.samples field.  Timing based
-     * on sample counts should be much more accurate than counting whole 
+     * on sample counts should be much more accurate than counting whole
      * 16kbyte chunks.
      */
     if (min_increment < 2000)
@@ -225,7 +225,7 @@ static int realtime_samplecounter_availa
 	mp_msg(MSGT_AO,MSGL_V,"ao_sun: minimum sample counter increment per 10msec interval: %d\n"
 	       "\t%susing sample counter based timing code\n",
 	       min_increment, rtsc_ok == RTSC_ENABLED ? "" : "not ");
-    
+
 
 error:
     if (silence != NULL) free(silence);
@@ -272,7 +272,7 @@ find_close_samplerate_match(int dev, uns
 
     if (sr->flags & MIXER_SR_LIMITS) {
 	/*
-	 * HW can playback any rate between 
+	 * HW can playback any rate between
 	 * sr->samp_rates[0] .. sr->samp_rates[1]
 	 */
 	free(sr);
@@ -318,7 +318,7 @@ find_close_samplerate_match(int dev, uns
     for (i = 0; audiocs_rates[i]; i++) {
 	err = abs(audiocs_rates[i] - sample_rate);
 	if (err == 0) {
-	    /* 
+	    /*
 	     * exact supported sample rate match, no need to
 	     * retry something elise
 	     */
@@ -361,7 +361,7 @@ find_highest_samplerate(int dev)
 
     if (sr->flags & MIXER_SR_LIMITS) {
 	/*
-	 * HW can playback any rate between 
+	 * HW can playback any rate between
 	 * sr->samp_rates[0] .. sr->samp_rates[1]
 	 */
 	max_rate = sr->samp_rates[1];
@@ -435,7 +435,7 @@ static int control(int cmd,void *arg){
 	    }
 	    close( fd );
 	    return CONTROL_OK;
-	}	
+	}
 	return CONTROL_ERROR;
     }
     case AOCONTROL_SET_VOLUME:
@@ -466,7 +466,7 @@ static int control(int cmd,void *arg){
 	    ioctl( fd,AUDIO_SETINFO,&info );
 	    close( fd );
 	    return CONTROL_OK;
-	}	
+	}
 	return CONTROL_ERROR;
     }
     }
@@ -516,7 +516,7 @@ static int init(int rate,int channels,in
 
 	if (pass & 1) {
 	    /*
-	     * on some sun audio drivers, 8-bit unsigned LINEAR8 encoding is 
+	     * on some sun audio drivers, 8-bit unsigned LINEAR8 encoding is
 	     * not supported, but 8-bit signed encoding is.
 	     *
 	     * Try S8, and if it works, use our own U8->S8 conversion before
@@ -539,7 +539,7 @@ static int init(int rate,int channels,in
 	     * supported rates,  use the fixed supported rate instead.
 	     */
 	    if (!(info.play.sample_rate =
-		  find_close_samplerate_match(audio_fd, rate))) 
+		  find_close_samplerate_match(audio_fd, rate)))
 	      continue;
 
 	    /*

Modified: trunk/libao2/ao_v4l2.c
==============================================================================
--- trunk/libao2/ao_v4l2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_v4l2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@
 
 static int freq = 0;
 
-static const ao_info_t info = 
+static const ao_info_t info =
 {
   "V4L2 MPEG Audio Decoder output",
   "v4l2",
@@ -70,7 +70,7 @@ init (int rate, int channels, int format
             "AO: [v4l2] can only handle MPEG audio streams.\n");
     return 0;
   }
-  
+
   ao_data.outburst = 2048;
   ao_data.samplerate = rate;
   ao_data.channels = channels;
@@ -129,11 +129,11 @@ get_space (void)
   x = (float) (vo_pts - ao_data.pts) / 90000.0;
   if (x <= 0)
     return 0;
-  
+
   y  = freq * 4 * x;
   y /= ao_data.outburst;
   y *= ao_data.outburst;
-  
+
   if (y > 32000)
     y = 32000;
 
@@ -145,7 +145,7 @@ static int
 play (void *data, int len, int flags)
 {
   int v4l2_write (unsigned char *data, int len);
-  
+
   if (ao_data.format != AF_FORMAT_MPEG2)
     return 0;
 

Modified: trunk/libao2/ao_win32.c
==============================================================================
--- trunk/libao2/ao_win32.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/ao_win32.c	Wed May 13 04:58:57 2009	(r29305)
@@ -200,7 +200,7 @@ static int init(int rate,int channels,in
     }
 
     wformat.Format.nAvgBytesPerSec = wformat.Format.nSamplesPerSec * wformat.Format.nBlockAlign;
- 
+
     //open sound device
     //WAVE_MAPPER always points to the default wave device on the system
     result = waveOutOpen(&hWaveOut,WAVE_MAPPER,(WAVEFORMATEX*)&wformat,(DWORD_PTR)waveOutProc,0,CALLBACK_FUNCTION);

Modified: trunk/libao2/audio_out.h
==============================================================================
--- trunk/libao2/audio_out.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libao2/audio_out.h	Wed May 13 04:58:57 2009	(r29305)
@@ -53,8 +53,8 @@ typedef struct ao_data_s
   int channels;
   int format;
   int bps;
-  int outburst; 	  
-  int buffersize;         
+  int outburst;
+  int buffersize;
   int pts;
 } ao_data_t;
 

Modified: trunk/libass/ass.c
==============================================================================
--- trunk/libass/ass.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass.c	Wed May 13 04:58:57 2009	(r29305)
@@ -56,7 +56,7 @@ struct parser_priv_s {
 
 void ass_free_track(ass_track_t* track) {
 	int i;
-	
+
 	if (track->parser_priv) {
 		if (track->parser_priv->fontname)
 			free(track->parser_priv->fontname);
@@ -85,14 +85,14 @@ void ass_free_track(ass_track_t* track) 
 /// \return style id
 int ass_alloc_style(ass_track_t* track) {
 	int sid;
-	
+
 	assert(track->n_styles <= track->max_styles);
 
 	if (track->n_styles == track->max_styles) {
 		track->max_styles += ASS_STYLES_ALLOC;
 		track->styles = (ass_style_t*)realloc(track->styles, sizeof(ass_style_t)*track->max_styles);
 	}
-	
+
 	sid = track->n_styles++;
 	memset(track->styles + sid, 0, sizeof(ass_style_t));
 	return sid;
@@ -103,14 +103,14 @@ int ass_alloc_style(ass_track_t* track) 
 /// \return event id
 int ass_alloc_event(ass_track_t* track) {
 	int eid;
-	
+
 	assert(track->n_events <= track->max_events);
 
 	if (track->n_events == track->max_events) {
 		track->max_events += ASS_EVENTS_ALLOC;
 		track->events = (ass_event_t*)realloc(track->events, sizeof(ass_event_t)*track->max_events);
 	}
-	
+
 	eid = track->n_events++;
 	memset(track->events + eid, 0, sizeof(ass_event_t));
 	return eid;
@@ -217,7 +217,7 @@ static int numpad2align(int val) {
 		if (target->name != NULL) free(target->name); \
 		target->name = strdup(token); \
 		mp_msg(MSGT_ASS, MSGL_DBG2, "%s = %s\n", #name, token);
-		
+
 #define COLORVAL(name) ANYVAL(name,string2color)
 #define INTVAL(name) ANYVAL(name,atoi)
 #define FPVAL(name) ANYVAL(name,atof)
@@ -261,7 +261,7 @@ static char* next_token(char** str) {
  * \param event parsed data goes here
  * \param str string to parse, zero-terminated
  * \param n_ignored number of format options to skip at the beginning
-*/ 
+*/
 static int process_event_tail(ass_track_t* track, ass_event_t* event, char* str, int n_ignored)
 {
 	char* token;
@@ -329,9 +329,9 @@ void process_force_style(ass_track_t* tr
 	ass_style_t* target;
 	int sid;
 	char** list = track->library->style_overrides;
-	
+
 	if (!list) return;
-	
+
 	for (fs = list; *fs; ++fs) {
 		eq = strrchr(*fs, '=');
 		if (!eq)
@@ -398,7 +398,7 @@ void process_force_style(ass_track_t* tr
  * \param track track
  * \param str string to parse, zero-terminated
  * Allocates a new style struct.
-*/ 
+*/
 static int process_style(ass_track_t* track, char *str)
 {
 
@@ -426,9 +426,9 @@ static int process_style(ass_track_t* tr
 	}
 
 	q = format = strdup(track->style_format);
-	
+
 	mp_msg(MSGT_ASS, MSGL_V, "[%p] Style: %s\n", track, str);
-	
+
 	sid = ass_alloc_style(track);
 
 	style = track->styles + sid;
@@ -436,13 +436,13 @@ static int process_style(ass_track_t* tr
 // fill style with some default values
 	style->ScaleX = 100.;
 	style->ScaleY = 100.;
-	
+
 	while (1) {
 		NEXT(q, tname);
 		NEXT(p, token);
-		
+
 //		ALIAS(TertiaryColour,OutlineColour) // ignore TertiaryColour; it appears only in SSA, and is overridden by BackColour
-			
+
 		if (0) { // cool ;)
 			STRVAL(Name)
 				if ((strcmp(target->Name, "Default")==0) || (strcmp(target->Name, "*Default")==0))
@@ -494,7 +494,7 @@ static int process_style(ass_track_t* tr
 	}
 	free(format);
 	return 0;
-	
+
 }
 
 static int process_styles_line(ass_track_t* track, char *str)
@@ -541,7 +541,7 @@ static int process_events_line(ass_track
 		// called directly from demuxer
 		int eid;
 		ass_event_t* event;
-		
+
 		str += 9;
 		skip_spaces(&str);
 
@@ -600,7 +600,7 @@ static int decode_font(ass_track_t* trac
 	}
 	dsize = q - buf;
 	assert(dsize <= size / 4 * 3 + 2);
-	
+
 	if (track->library->extract_fonts) {
 		ass_add_font(track->library, track->parser_priv->fontname, (char*)buf, dsize);
 		buf = 0;
@@ -631,7 +631,7 @@ static int process_fonts_line(ass_track_
 		mp_msg(MSGT_ASS, MSGL_V, "fontname: %s\n", track->parser_priv->fontname);
 		return 0;
 	}
-	
+
 	if (!track->parser_priv->fontname) {
 		mp_msg(MSGT_ASS, MSGL_V, "Not understood: %s  \n", str);
 		return 0;
@@ -648,7 +648,7 @@ static int process_fonts_line(ass_track_
 	}
 	memcpy(track->parser_priv->fontdata + track->parser_priv->fontdata_used, str, len);
 	track->parser_priv->fontdata_used += len;
-	
+
 	return 0;
 }
 
@@ -656,7 +656,7 @@ static int process_fonts_line(ass_track_
  * \brief Parse a header line
  * \param track track
  * \param str string to parse, zero-terminated
-*/ 
+*/
 static int process_line(ass_track_t* track, char *str)
 {
 	if (!strncasecmp(str, "[Script Info]", 13)) {
@@ -778,7 +778,7 @@ static int check_duplicate_event(ass_tra
  * \param size length of data
  * \param timecode starting time of the event (milliseconds)
  * \param duration duration of the event (milliseconds)
-*/ 
+*/
 void ass_process_chunk(ass_track_t* track, char *data, int size, long long timecode, long long duration)
 {
 	char* str;
@@ -791,7 +791,7 @@ void ass_process_chunk(ass_track_t* trac
 		mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_EventFormatHeaderMissing);
 		return;
 	}
-	
+
 	str = malloc(size + 1);
 	memcpy(str, data, size);
 	str[size] = '\0';
@@ -801,8 +801,8 @@ void ass_process_chunk(ass_track_t* trac
 	event = track->events + eid;
 
 	p = str;
-	
-	do { 
+
+	do {
 		NEXT(p, token);
 		event->ReadOrder = atoi(token);
 		if (check_duplicate_event(track, event->ReadOrder))
@@ -815,7 +815,7 @@ void ass_process_chunk(ass_track_t* trac
 
 		event->Start = timecode;
 		event->Duration = duration;
-		
+
 		free(str);
 		return;
 //		dump_events(tid);
@@ -863,11 +863,11 @@ static char* sub_recode(char* data, size
 		char* op;
 		size_t rc;
 		int clear = 0;
-		
+
 		outbuf = malloc(osize);
 		ip = data;
 		op = outbuf;
-		
+
 		while (1) {
 			if (ileft)
 				rc = iconv(icdsc, &ip, &ileft, &op, &oleft);
@@ -898,7 +898,7 @@ static char* sub_recode(char* data, size
 		icdsc = (iconv_t)(-1);
 		mp_msg(MSGT_ASS,MSGL_V,"LIBSUB: closed iconv descriptor.\n");
 	}
-	
+
 	return outbuf;
 }
 #endif // ICONV
@@ -927,7 +927,7 @@ static char* read_file(char* fname, size
 		fclose(fp);
 		return 0;
 	}
-	
+
 	sz = ftell(fp);
 	rewind(fp);
 
@@ -936,9 +936,9 @@ static char* read_file(char* fname, size
 		fclose(fp);
 		return 0;
 	}
-	
+
 	mp_msg(MSGT_ASS, MSGL_V, "file size: %ld\n", sz);
-	
+
 	buf = malloc(sz + 1);
 	assert(buf);
 	bytes_read = 0;
@@ -954,7 +954,7 @@ static char* read_file(char* fname, size
 	} while (sz - bytes_read > 0);
 	buf[sz] = '\0';
 	fclose(fp);
-	
+
 	if (bufsize)
 		*bufsize = sz;
 	return buf;
@@ -967,9 +967,9 @@ static ass_track_t* parse_memory(ass_lib
 {
 	ass_track_t* track;
 	int i;
-	
+
 	track = ass_new_track(library);
-	
+
 	// process header
 	process_text(track, buf);
 
@@ -998,15 +998,15 @@ static ass_track_t* parse_memory(ass_lib
  * \param bufsize size of buffer
  * \param codepage recode buffer contents from given codepage
  * \return newly allocated track
-*/ 
+*/
 ass_track_t* ass_read_memory(ass_library_t* library, char* buf, size_t bufsize, char* codepage)
 {
 	ass_track_t* track;
 	int need_free = 0;
-	
+
 	if (!buf)
 		return 0;
-	
+
 #ifdef CONFIG_ICONV
 	if (codepage)
 		buf = sub_recode(buf, bufsize, codepage);
@@ -1029,7 +1029,7 @@ char* read_file_recode(char* fname, char
 {
 	char* buf;
 	size_t bufsize;
-	
+
 	buf = read_file(fname, &bufsize);
 	if (!buf)
 		return 0;
@@ -1052,7 +1052,7 @@ char* read_file_recode(char* fname, char
  * \param fname file name
  * \param codepage recode buffer contents from given codepage
  * \return newly allocated track
-*/ 
+*/
 ass_track_t* ass_read_file(ass_library_t* library, char* fname, char* codepage)
 {
 	char* buf;
@@ -1066,11 +1066,11 @@ ass_track_t* ass_read_file(ass_library_t
 	free(buf);
 	if (!track)
 		return 0;
-	
+
 	track->name = strdup(fname);
 
 	mp_msg(MSGT_ASS, MSGL_INFO, MSGTR_LIBASS_AddedSubtitleFileFname, fname, track->n_styles, track->n_events);
-	
+
 //	dump_events(forced_tid);
 	return track;
 }
@@ -1111,12 +1111,12 @@ long long ass_step_sub(ass_track_t* trac
 
 	if (movement == 0) return 0;
 	if (track->n_events == 0) return 0;
-	
+
 	if (movement < 0)
 		for (i = 0; (i < track->n_events) && ((long long)(track->events[i].Start + track->events[i].Duration) <= now); ++i) {}
 	else
 		for (i = track->n_events - 1; (i >= 0) && ((long long)(track->events[i].Start) > now); --i) {}
-	
+
 	// -1 and n_events are ok
 	assert(i >= -1); assert(i <= track->n_events);
 	i += movement;

Modified: trunk/libass/ass.h
==============================================================================
--- trunk/libass/ass.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass.h	Wed May 13 04:58:57 2009	(r29305)
@@ -195,7 +195,7 @@ ass_track_t* ass_read_file(ass_library_t
  * \param bufsize size of buffer
  * \param codepage recode buffer contents from given codepage
  * \return newly allocated track
-*/ 
+*/
 ass_track_t* ass_read_memory(ass_library_t* library, char* buf, size_t bufsize, char* codepage);
 /**
  * \brief read styles from file into already initialized track

Modified: trunk/libass/ass_bitmap.c
==============================================================================
--- trunk/libass/ass_bitmap.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_bitmap.c	Wed May 13 04:58:57 2009	(r29305)
@@ -237,7 +237,7 @@ static bitmap_t* fix_outline_and_shadow(
 	unsigned char* g = bm_g->buffer + (t - bm_g->top) * bm_g->w + (l - bm_g->left);
 	unsigned char* o = bm_o->buffer + (t - bm_o->top) * bm_o->w + (l - bm_o->left);
 	unsigned char* s = bm_s->buffer + (t - bm_s->top) * bm_s->w + (l - bm_s->left);
-	
+
 	for (y = 0; y < b - t; ++y) {
 		for (x = 0; x < r - l; ++x) {
 			unsigned char c_g, c_o;
@@ -309,7 +309,7 @@ int glyph_to_bitmap(ass_synth_priv_t* pr
 	if (*bm_o)
 		resize_tmp(priv_blur, (*bm_o)->w, (*bm_o)->h);
 	resize_tmp(priv_blur, (*bm_g)->w, (*bm_g)->h);
-	
+
 	if (be) {
 		while (be--) {
 			if (*bm_o)

Modified: trunk/libass/ass_cache.c
==============================================================================
--- trunk/libass/ass_cache.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_cache.c	Wed May 13 04:58:57 2009	(r29305)
@@ -117,7 +117,7 @@ void hashmap_done(hashmap_t* map)
 	if (map->count > 0 || map->hit_count + map->miss_count > 0)
 		mp_msg(MSGT_ASS, MSGL_V, "cache statistics: \n  total accesses: %d\n  hits: %d\n  misses: %d\n  object count: %d\n",
 		       map->hit_count + map->miss_count, map->hit_count, map->miss_count, map->count);
-	
+
 	for (i = 0; i < map->nbuckets; ++i) {
 		hashmap_item_t* item = map->root[i];
 		while (item) {
@@ -254,7 +254,7 @@ void* cache_add_bitmap(bitmap_hash_key_t
  * \brief Get a bitmap from bitmap cache.
  * \param key hash key
  * \return requested hash val or 0 if not found
-*/ 
+*/
 bitmap_hash_val_t* cache_find_bitmap(bitmap_hash_key_t* key)
 {
 	return hashmap_find(bitmap_cache, key);
@@ -302,7 +302,7 @@ void* cache_add_glyph(glyph_hash_key_t* 
  * \brief Get a glyph from glyph cache.
  * \param key hash key
  * \return requested hash val or 0 if not found
-*/ 
+*/
 glyph_hash_val_t* cache_find_glyph(glyph_hash_key_t* key)
 {
 	return hashmap_find(glyph_cache, key);

Modified: trunk/libass/ass_cache.h
==============================================================================
--- trunk/libass/ass_cache.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_cache.h	Wed May 13 04:58:57 2009	(r29305)
@@ -49,7 +49,7 @@ typedef struct bitmap_hash_key_s {
 	int shift_x, shift_y; // shift vector that was added to glyph before applying rotation
 	                      // = 0, if frx = fry = frx = 0
 	                      // = (glyph base point) - (rotation origin), otherwise
-	
+
 	FT_Vector advance; // subpixel shift vector
 } bitmap_hash_key_t;
 
@@ -110,7 +110,7 @@ glyph_hash_val_t* cache_find_glyph(glyph
 void ass_glyph_cache_reset(void);
 void ass_glyph_cache_done(void);
 
-typedef struct hashmap_s hashmap_t; 
+typedef struct hashmap_s hashmap_t;
 typedef void (*hashmap_item_dtor_t)(void* key, size_t key_size, void* value, size_t value_size);
 typedef int (*hashmap_key_compare_t)(void* key1, void* key2, size_t key_size);
 typedef unsigned (*hashmap_hash_t)(void* key, size_t key_size);

Modified: trunk/libass/ass_font.c
==============================================================================
--- trunk/libass/ass_font.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_font.c	Wed May 13 04:58:57 2009	(r29305)
@@ -121,10 +121,10 @@ static int add_face(void* fc_priv, ass_f
 	FT_Face face;
 	int error;
 	int mem_idx;
-	
+
 	if (font->n_faces == ASS_FONT_MAX_FACES)
 		return -1;
-	
+
 	path = fontconfig_select(fc_priv, font->desc.family, font->desc.treat_family_as_pattern, font->desc.bold,
 					      font->desc.italic, &index, ch);
 
@@ -145,7 +145,7 @@ static int add_face(void* fc_priv, ass_f
 	}
 	charmap_magic(face);
 	buggy_font_workaround(face);
-	
+
 	font->faces[font->n_faces++] = face;
 	update_transform(font);
 	face_set_size(face, font->size);
@@ -164,7 +164,7 @@ ass_font_t* ass_font_new(ass_library_t* 
 	fontp = ass_font_cache_find(desc);
 	if (fontp)
 		return fontp;
-	
+
 	font.library = library;
 	font.ftlibrary = ftlibrary;
 	font.n_faces = 0;
@@ -256,7 +256,7 @@ void ass_font_get_asc_desc(ass_font_t* f
 			return;
 		}
 	}
-	
+
 	*asc = *desc = 0;
 }
 
@@ -308,18 +308,18 @@ FT_Glyph ass_font_get_glyph(void* fontco
 	case ASS_HINTING_NORMAL: flags = FT_LOAD_FORCE_AUTOHINT; break;
 	case ASS_HINTING_NATIVE: flags = 0; break;
 	}
-	
+
 	error = FT_Load_Glyph(face, index, FT_LOAD_NO_BITMAP | flags);
 	if (error) {
 		mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorLoadingGlyph);
 		return 0;
 	}
-	
+
 #if (FREETYPE_MAJOR > 2) || \
     ((FREETYPE_MAJOR == 2) && (FREETYPE_MINOR >= 2)) || \
     ((FREETYPE_MAJOR == 2) && (FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 10))
 // FreeType >= 2.1.10 required
-	if (!(face->style_flags & FT_STYLE_FLAG_ITALIC) && 
+	if (!(face->style_flags & FT_STYLE_FLAG_ITALIC) &&
 			(font->desc.italic > 55)) {
 		FT_GlyphSlot_Oblique(face->glyph);
 	}
@@ -329,7 +329,7 @@ FT_Glyph ass_font_get_glyph(void* fontco
 		mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorLoadingGlyph);
 		return 0;
 	}
-	
+
 	return glyph;
 }
 

Modified: trunk/libass/ass_fontconfig.c
==============================================================================
--- trunk/libass/ass_fontconfig.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_fontconfig.c	Wed May 13 04:58:57 2009	(r29305)
@@ -72,7 +72,7 @@ struct fc_instance_s {
  * \param index out: font index inside a file
  * \param code: the character that should be present in the font, can be 0
  * \return font file path
-*/ 
+*/
 static char* _select_font(fc_instance_t* priv, const char* family, int treat_family_as_pattern,
 			  unsigned bold, unsigned italic, int* index, uint32_t code)
 {
@@ -87,7 +87,7 @@ static char* _select_font(fc_instance_t*
 	int curf;
 	char* retval = NULL;
 	int family_cnt;
-	
+
 	*index = 0;
 
 	if (treat_family_as_pattern)
@@ -97,7 +97,7 @@ static char* _select_font(fc_instance_t*
 
 	if (!pat)
 		goto error;
-	
+
 	if (!treat_family_as_pattern) {
 		FcPatternAddString(pat, FC_FAMILY, (const FcChar8*)family);
 
@@ -130,7 +130,7 @@ static char* _select_font(fc_instance_t*
 	FcPatternAddInteger(pat, FC_WEIGHT, bold);
 
 	FcDefaultSubstitute(pat);
-	
+
 	rc = FcConfigSubstitute(priv->config, pat, FcMatchPattern);
 	if (!rc)
 		goto error;
@@ -235,7 +235,7 @@ static char* _select_font(fc_instance_t*
  * \param index out: font index inside a file
  * \param code: the character that should be present in the font, can be 0
  * \return font file path
-*/ 
+*/
 char* fontconfig_select(fc_instance_t* priv, const char* family, int treat_family_as_pattern,
 			unsigned bold, unsigned italic, int* index, uint32_t code)
 {
@@ -249,23 +249,23 @@ char* fontconfig_select(fc_instance_t* p
 	if (!res && priv->family_default) {
 		res = _select_font(priv, priv->family_default, 0, bold, italic, index, code);
 		if (res)
-			mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_UsingDefaultFontFamily, 
+			mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_UsingDefaultFontFamily,
 					family, bold, italic, res, *index);
 	}
 	if (!res && priv->path_default) {
 		res = priv->path_default;
 		*index = priv->index_default;
-		mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_UsingDefaultFont, 
+		mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_UsingDefaultFont,
 		       family, bold, italic, res, *index);
 	}
 	if (!res) {
 		res = _select_font(priv, "Arial", 0, bold, italic, index, code);
 		if (res)
-			mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_UsingArialFontFamily, 
+			mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_UsingArialFontFamily,
 					family, bold, italic, res, *index);
 	}
 	if (res)
-		mp_msg(MSGT_ASS, MSGL_V, "fontconfig_select: (%s, %d, %d) -> %s, %d\n", 
+		mp_msg(MSGT_ASS, MSGL_V, "fontconfig_select: (%s, %d, %d) -> %s, %d\n",
 				family, bold, italic, res, *index);
 	return res;
 }
@@ -316,7 +316,7 @@ static char* validate_fname(char* name)
  * \param idx index of the processed font in library->fontdata
  * With FontConfig >= 2.4.2, builds a font pattern in memory via FT_New_Memory_Face/FcFreeTypeQueryFace.
  * With older FontConfig versions, save the font to ~/.mplayer/fonts.
-*/ 
+*/
 static void process_fontdata(fc_instance_t* priv, ass_library_t* library, FT_Library ftlibrary, int idx)
 {
 	int rc;
@@ -347,7 +347,7 @@ static void process_fontdata(fc_instance
 	} else if (!S_ISDIR(st.st_mode)) {
 		mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_NotADirectory, fonts_dir);
 	}
-	
+
 	fname = validate_fname((char*)name);
 
 	snprintf(buf, 1000, "%s/%s", fonts_dir, fname);
@@ -407,14 +407,14 @@ static void process_fontdata(fc_instance
  * \param family default font family
  * \param path default font path
  * \return pointer to fontconfig private data
-*/ 
+*/
 fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, const char* family, const char* path, int fc)
 {
 	int rc;
 	fc_instance_t* priv = calloc(1, sizeof(fc_instance_t));
 	const char* dir = library->fonts_dir;
 	int i;
-	
+
 	if (!fc) {
 		mp_msg(MSGT_ASS, MSGL_WARN,
 		       MSGTR_LIBASS_FontconfigDisabledDefaultFontWillBeUsed);
@@ -497,9 +497,9 @@ fc_instance_t* fontconfig_init(ass_libra
 	fc_instance_t* priv;
 
 	mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FontconfigDisabledDefaultFontWillBeUsed);
-	
+
 	priv = calloc(1, sizeof(fc_instance_t));
-	
+
 	priv->path_default = strdup(path);
 	priv->index_default = 0;
 	return priv;

Modified: trunk/libass/ass_library.c
==============================================================================
--- trunk/libass/ass_library.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_library.c	Wed May 13 04:58:57 2009	(r29305)
@@ -62,13 +62,13 @@ void ass_set_style_overrides(ass_library
 	char** p;
 	char** q;
 	int cnt;
-	
+
 	if (priv->style_overrides) {
 		for (p = priv->style_overrides; *p; ++p)
 			free(*p);
 		free(priv->style_overrides);
 	}
-	
+
 	if (!list) return;
 
 	for (p = list, cnt = 0; *p; ++p, ++cnt) {}
@@ -91,14 +91,14 @@ void ass_add_font(ass_library_t* priv, c
 	if (!name || !data || !size)
 		return;
 	grow_array((void**)&priv->fontdata, priv->num_fontdata, sizeof(*priv->fontdata));
-	
+
 	priv->fontdata[idx].name = strdup(name);
-	
+
 	priv->fontdata[idx].data = malloc(size);
 	memcpy(priv->fontdata[idx].data, data, size);
-	
+
 	priv->fontdata[idx].size = size;
-	
+
 	priv->num_fontdata ++;
 }
 

Modified: trunk/libass/ass_mp.c
==============================================================================
--- trunk/libass/ass_mp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_mp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -191,7 +191,7 @@ int ass_process_subtitle(ass_track_t* tr
 
 	mp_msg(MSGT_ASS, MSGL_V, "plaintext event at %" PRId64 ", +%" PRId64 ": %s  \n",
 			(int64_t)event->Start, (int64_t)event->Duration, event->Text);
-	
+
 	return eid;
 }
 

Modified: trunk/libass/ass_render.c
==============================================================================
--- trunk/libass/ass_render.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_render.c	Wed May 13 04:58:57 2009	(r29305)
@@ -119,7 +119,7 @@ typedef struct glyph_info_s {
 	double blur; // gaussian blur
 	double shadow;
 	double frx, fry, frz; // rotation
-	
+
 	bitmap_hash_key_t hash_key;
 } glyph_info_t;
 
@@ -141,11 +141,11 @@ typedef struct text_info_s {
 typedef struct render_context_s {
 	ass_event_t* event;
 	ass_style_t* style;
-	
+
 	ass_font_t* font;
 	char* font_path;
 	double font_size;
-	
+
 	FT_Stroker stroker;
 	int alignment; // alignment overrides go here; if zero, style value will be used
 	double frx, fry, frz;
@@ -185,7 +185,7 @@ typedef struct render_context_s {
 	unsigned bold;
 	unsigned italic;
 	int treat_family_as_pattern;
-	
+
 } render_context_t;
 
 // frame-global data
@@ -248,13 +248,13 @@ ass_renderer_t* ass_renderer_init(ass_li
 	FT_Library ft;
 	ass_renderer_t* priv = 0;
 	int vmajor, vminor, vpatch;
-	
+
 	memset(&render_context, 0, sizeof(render_context));
 	memset(&frame_context, 0, sizeof(frame_context));
 	memset(&text_info, 0, sizeof(text_info));
 
 	error = FT_Init_FreeType( &ft );
-	if ( error ) { 
+	if ( error ) {
 		mp_msg(MSGT_ASS, MSGL_FATAL, MSGTR_LIBASS_FT_Init_FreeTypeFailed);
 		goto ass_init_exit;
 	}
@@ -276,14 +276,14 @@ ass_renderer_t* ass_renderer_init(ass_li
 	priv->library = library;
 	priv->ftlibrary = ft;
 	// images_root and related stuff is zero-filled in calloc
-	
+
 	ass_font_cache_init();
 	ass_bitmap_cache_init();
 	ass_composite_cache_init();
 	ass_glyph_cache_init();
 
 	text_info.glyphs = calloc(MAX_GLYPHS, sizeof(glyph_info_t));
-	
+
 ass_init_exit:
 	if (priv) mp_msg(MSGT_ASS, MSGL_INFO, MSGTR_LIBASS_Init);
 	else mp_msg(MSGT_ASS, MSGL_ERR, MSGTR_LIBASS_InitFailed);
@@ -316,7 +316,7 @@ void ass_renderer_done(ass_renderer_t* p
 static ass_image_t* my_draw_bitmap(unsigned char* bitmap, int bitmap_w, int bitmap_h, int stride, int dst_x, int dst_y, uint32_t color)
 {
 	ass_image_t* img = calloc(1, sizeof(ass_image_t));
-	
+
 	img->w = bitmap_w;
 	img->h = bitmap_h;
 	img->stride = stride;
@@ -353,7 +353,7 @@ static ass_image_t** render_glyph(bitmap
 	dst_x += bm->left;
 	dst_y += bm->top;
 	brk -= bm->left;
-	
+
 	// clipping
 	clip_x0 = render_context.clip_x0;
 	clip_y0 = render_context.clip_y0;
@@ -363,7 +363,7 @@ static ass_image_t** render_glyph(bitmap
 	b_y0 = 0;
 	b_x1 = bm->w;
 	b_y1 = bm->h;
-	
+
 	tmp = dst_x - clip_x0;
 	if (tmp < 0) {
 		mp_msg(MSGT_ASS, MSGL_DBG2, "clip left\n");
@@ -384,13 +384,13 @@ static ass_image_t** render_glyph(bitmap
 		mp_msg(MSGT_ASS, MSGL_DBG2, "clip bottom\n");
 		b_y1 = bm->h + tmp;
 	}
-	
+
 	if ((b_y0 >= b_y1) || (b_x0 >= b_x1))
 		return tail;
 
 	if (brk > b_x0) { // draw left part
 		if (brk > b_x1) brk = b_x1;
-		img = my_draw_bitmap(bm->buffer + bm->w * b_y0 + b_x0, 
+		img = my_draw_bitmap(bm->buffer + bm->w * b_y0 + b_x0,
 			brk - b_x0, b_y1 - b_y0, bm->w,
 			dst_x + b_x0, dst_y + b_y0, color);
 		*tail = img;
@@ -398,7 +398,7 @@ static ass_image_t** render_glyph(bitmap
 	}
 	if (brk < b_x1) { // draw right part
 		if (brk < b_x0) brk = b_x0;
-		img = my_draw_bitmap(bm->buffer + bm->w * b_y0 + brk, 
+		img = my_draw_bitmap(bm->buffer + bm->w * b_y0 + brk,
 			b_x1 - brk, b_y1 - b_y0, bm->w,
 			dst_x + brk, dst_y + b_y0, color2);
 		*tail = img;
@@ -541,7 +541,7 @@ static ass_image_t* render_text(text_inf
 		pen_x = dst_x + info->pos.x;
 		pen_y = dst_y + info->pos.y;
 		bm = info->bm_o;
-		
+
 		if ((info->effect_type == EF_KARAOKE_KO) && (info->effect_timing <= info->bbox.xMax)) {
 			// do nothing
 		} else {
@@ -622,7 +622,7 @@ static int y2scr_sub(double y) {
 static void compute_string_bbox( text_info_t* info, FT_BBox *abbox ) {
 	FT_BBox bbox;
 	int i;
-	
+
 	if (text_info.length > 0) {
 		bbox.xMin = 32000;
 		bbox.xMax = -32000;
@@ -693,7 +693,7 @@ static void update_font(void)
 
 	render_context.font = ass_font_new(priv->library, priv->ftlibrary, priv->fontconfig_priv, &desc);
 	free(desc.family);
-	
+
 	if (render_context.font)
 		change_font_size(render_context.font_size);
 }
@@ -779,7 +779,7 @@ static uint32_t mult_alpha(uint32_t a, u
  * \brief Calculate alpha value by piecewise linear function
  * Used for \fad, \fade implementation.
  */
-static unsigned interpolate_alpha(long long now, 
+static unsigned interpolate_alpha(long long now,
 		long long t1, long long t2, long long t3, long long t4,
 		unsigned a1, unsigned a2, unsigned a3)
 {
@@ -812,7 +812,7 @@ static void reset_render_context(void);
 static char* parse_tag(char* p, double pwr) {
 #define skip_to(x) while ((*p != (x)) && (*p != '}') && (*p != 0)) { ++p;}
 #define skip(x) if (*p == (x)) ++p; else { return p; }
-	
+
 	skip_to('\\');
 	skip('\\');
 	if ((*p == '}') || (*p == 0))
@@ -920,7 +920,7 @@ static char* parse_tag(char* p, double p
 			mystrtoll(&p, &t1);
 			skip(',');
 			mystrtoll(&p, &t2);
-			mp_msg(MSGT_ASS, MSGL_DBG2, "movement6: (%f, %f) -> (%f, %f), (%" PRId64 " .. %" PRId64 ")\n", 
+			mp_msg(MSGT_ASS, MSGL_DBG2, "movement6: (%f, %f) -> (%f, %f), (%" PRId64 " .. %" PRId64 ")\n",
 				x1, y1, x2, y2, (int64_t)t1, (int64_t)t2);
 		} else {
 			t1 = 0;
@@ -1112,7 +1112,7 @@ static char* parse_tag(char* p, double p
 			k = pow(((double)(t - t1)) / delta_t, v3);
 		}
 		while (*p == '\\')
-			p = parse_tag(p, k); // maybe k*pwr ? no, specs forbid nested \t's 
+			p = parse_tag(p, k); // maybe k*pwr ? no, specs forbid nested \t's
 		skip_to(')'); // in case there is some unknown tag or a comment
 		skip(')');
 	} else if (mystrcmp(&p, "clip")) {
@@ -1294,7 +1294,7 @@ static void apply_transition_effects(ass
 	while (cnt < 4 && (p = strchr(p, ';'))) {
 		v[cnt++] = atoi(++p);
 	}
-	
+
 	if (strncmp(event->Effect, "Banner;", 7) == 0) {
 		int delay;
 		if (cnt < 1) {
@@ -1407,7 +1407,7 @@ static void init_render_context(ass_even
 	render_context.effect_type = EF_NONE;
 	render_context.effect_timing = 0;
 	render_context.effect_skip_timing = 0;
-	
+
 	apply_transition_effects(event);
 }
 
@@ -1492,10 +1492,10 @@ static void get_bitmap_glyph(glyph_info_
 {
 	bitmap_hash_val_t* val;
 	bitmap_hash_key_t* key = &info->hash_key;
-	
+
 	val = cache_find_bitmap(key);
 /* 	val = 0; */
-	
+
 	if (val) {
 		info->bm = val->bm;
 		info->bm_o = val->bm_o;
@@ -1602,7 +1602,7 @@ static void wrap_lines_smart(int max_tex
 			break_at = i;
 			mp_msg(MSGT_ASS, MSGL_DBG2, "forced line break at %d\n", break_at);
 		}
-		
+
 		if ((len >= max_text_width) && (frame_context.track->WrapStyle != 2)) {
 			break_type = 1;
 			break_at = last_space;
@@ -1619,7 +1619,7 @@ static void wrap_lines_smart(int max_tex
 			// marking break_at+1 as start of a new line
 			int lead = break_at + 1; // the first symbol of the new line
 			if (text_info.n_lines >= MAX_LINES) {
-				// to many lines ! 
+				// to many lines !
 				// no more linebreaks
 				for (j = lead; j < text_info.length; ++j)
 					text_info.glyphs[j].linebreak = 0;
@@ -1632,7 +1632,7 @@ static void wrap_lines_smart(int max_tex
 			s_offset = s1->bbox.xMin + s1->pos.x;
 			text_info.n_lines ++;
 		}
-		
+
 		if (cur->symbol == ' ')
 			last_space = i;
 
@@ -1678,11 +1678,11 @@ static void wrap_lines_smart(int max_tex
 			if (i == text_info.length)
 				break;
 		}
-		
+
 	}
 	assert(text_info.n_lines >= 1);
 #undef DIFF
-	
+
 	measure_text();
 
 	pen_shift_x = 0;
@@ -1706,7 +1706,7 @@ static void wrap_lines_smart(int max_tex
  * \brief determine karaoke effects
  * Karaoke effects cannot be calculated during parse stage (get_next_char()),
  * so they are done in a separate step.
- * Parse stage: when karaoke style override is found, its parameters are stored in the next glyph's 
+ * Parse stage: when karaoke style override is found, its parameters are stored in the next glyph's
  * (the first glyph of the karaoke word)'s effect_type and effect_timing.
  * This function:
  * 1. sets effect_type for all glyphs in the word (_karaoke_ word)
@@ -1881,7 +1881,7 @@ static void transform_3d(FT_Vector shift
 static int ass_render_event(ass_event_t* event, event_images_t* event_images)
 {
 	char* p;
-	FT_UInt previous; 
+	FT_UInt previous;
 	FT_UInt num_glyphs;
 	FT_Vector pen;
 	unsigned code;
@@ -1917,7 +1917,7 @@ static int ass_render_event(ass_event_t*
 		do {
 			code = get_next_char(&p);
 		} while (code && render_context.drawing_mode); // skip everything in drawing mode
-		
+
 		// face could have been changed in get_next_char
 		if (!render_context.font) {
 			free_render_context();
@@ -1928,7 +1928,7 @@ static int ass_render_event(ass_event_t*
 			break;
 
 		if (text_info.length >= MAX_GLYPHS) {
-			mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_MAX_GLYPHS_Reached, 
+			mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_MAX_GLYPHS_Reached,
 					(int)(event - frame_context.track->events), event->Start, event->Duration, event->Text);
 			break;
 		}
@@ -1954,14 +1954,14 @@ static int ass_render_event(ass_event_t*
 				       &shift );
 
 		get_outline_glyph(code, text_info.glyphs + text_info.length, &shift);
-		
+
 		text_info.glyphs[text_info.length].pos.x = pen.x >> 6;
 		text_info.glyphs[text_info.length].pos.y = pen.y >> 6;
-		
+
 		pen.x += text_info.glyphs[text_info.length].advance.x;
 		pen.x += double_to_d6(render_context.hspacing);
 		pen.y += text_info.glyphs[text_info.length].advance.y;
-		
+
 		previous = code;
 
 		text_info.glyphs[text_info.length].symbol = code;
@@ -2008,23 +2008,23 @@ static int ass_render_event(ass_event_t*
 		render_context.effect_timing = 0;
 		render_context.effect_skip_timing = 0;
 	}
-	
+
 	if (text_info.length == 0) {
 		// no valid symbols in the event; this can be smth like {comment}
 		free_render_context();
 		return 1;
 	}
-	
+
 	// depends on glyph x coordinates being monotonous, so it should be done before line wrap
 	process_karaoke_effects();
-	
+
 	// alignments
 	alignment = render_context.alignment;
 	halign = alignment & 3;
 	valign = alignment & 12;
 
-	MarginL = (event->MarginL) ? event->MarginL : render_context.style->MarginL; 
-	MarginR = (event->MarginR) ? event->MarginR : render_context.style->MarginR; 
+	MarginL = (event->MarginL) ? event->MarginL : render_context.style->MarginL;
+	MarginR = (event->MarginR) ? event->MarginR : render_context.style->MarginR;
 	MarginV = (event->MarginV) ? event->MarginV : render_context.style->MarginV;
 
 	if (render_context.evt_type != EVENT_HSCROLL) {
@@ -2064,12 +2064,12 @@ static int ass_render_event(ass_event_t*
 	} else { // render_context.evt_type == EVENT_HSCROLL
 		measure_text();
 	}
-	
+
 	// determing text bounding box
 	compute_string_bbox(&text_info, &bbox);
-	
+
 	// determine device coordinates for text
-	
+
 	// x coordinate for everything except positioned events
 	if (render_context.evt_type == EVENT_NORMAL ||
 	    render_context.evt_type == EVENT_VSCROLL) {
@@ -2114,7 +2114,7 @@ static int ass_render_event(ass_event_t*
 		device_x = x2scr_pos(render_context.pos_x) - base_x;
 		device_y = y2scr_pos(render_context.pos_y) - base_y;
 	}
-	
+
 	// fix clip coordinates (they depend on alignment)
 	if (render_context.evt_type == EVENT_NORMAL ||
 	    render_context.evt_type == EVENT_HSCROLL ||
@@ -2141,7 +2141,7 @@ static int ass_render_event(ass_event_t*
 	// calculate rotation parameters
 	{
 		FT_Vector center;
-		
+
 		if (render_context.have_origin) {
 			center.x = x2scr(render_context.org_x);
 			center.y = y2scr(render_context.org_y);
@@ -2178,7 +2178,7 @@ static int ass_render_event(ass_event_t*
 	event_images->imgs = render_text(&text_info, device_x, device_y);
 
 	free_render_context();
-	
+
 	return 0;
 }
 
@@ -2304,7 +2304,7 @@ static int ass_start_frame(ass_renderer_
 
 	if (track->n_events == 0)
 		return 1; // nothing to do
-	
+
 	frame_context.ass_priv = priv;
 	frame_context.width = global_settings->frame_width;
 	frame_context.height = global_settings->frame_height;
@@ -2320,7 +2320,7 @@ static int ass_start_frame(ass_renderer_
 	frame_context.time = now;
 
 	ass_lazy_track_init();
-	
+
 	frame_context.font_scale = global_settings->font_size_coeff *
 	                           frame_context.orig_height / frame_context.track->PlayResY;
 	if (frame_context.track->ScaledBorderAndShadow)
@@ -2430,7 +2430,7 @@ static int fit_segment(segment_t* s, seg
 	fixed[*cnt].b = s->b + shift;
 	(*cnt)++;
 	qsort(fixed, *cnt, sizeof(segment_t), cmp_segment);
-	
+
 	return shift;
 }
 
@@ -2485,7 +2485,7 @@ static void fix_collisions(event_images_
 			priv->top = imgs[i].top;
 			priv->height = imgs[i].height;
 		}
-		
+
 	}
 }
 
@@ -2558,7 +2558,7 @@ ass_image_t* ass_render_frame(ass_render
 	int i, cnt, rc;
 	event_images_t* last;
 	ass_image_t** tail;
-	
+
 	// init frame
 	rc = ass_start_frame(priv, track, now);
 	if (rc != 0)
@@ -2604,7 +2604,7 @@ ass_image_t* ass_render_frame(ass_render
 
 	if (detect_change)
 		*detect_change = ass_detect_change(priv);
-	
+
 	// free the previous image list
 	ass_free_images(priv->prev_images_root);
 	priv->prev_images_root = 0;

Modified: trunk/libass/ass_types.h
==============================================================================
--- trunk/libass/ass_types.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_types.h	Wed May 13 04:58:57 2009	(r29305)
@@ -100,7 +100,7 @@ typedef struct ass_track_s {
 	char* event_format; // event format line
 
 	enum {TRACK_TYPE_UNKNOWN = 0, TRACK_TYPE_ASS, TRACK_TYPE_SSA} track_type;
-	
+
 	// script header fields
 	int PlayResX;
 	int PlayResY;
@@ -108,7 +108,7 @@ typedef struct ass_track_s {
 	int WrapStyle;
 	char ScaledBorderAndShadow;
 
-	
+
 	int default_style; // index of default style
 	char* name; // file name in case of external subs, 0 for streams
 

Modified: trunk/libass/ass_utils.c
==============================================================================
--- trunk/libass/ass_utils.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libass/ass_utils.c	Wed May 13 04:58:57 2009	(r29305)
@@ -72,17 +72,17 @@ int strtocolor(char** q, uint32_t* res)
 	uint32_t color = 0;
 	int result;
 	char* p = *q;
-	
-	if (*p == '&') ++p; 
+
+	if (*p == '&') ++p;
 	else mp_msg(MSGT_ASS, MSGL_DBG2, "suspicious color format: \"%s\"\n", p);
-	
-	if (*p == 'H' || *p == 'h') { 
+
+	if (*p == 'H' || *p == 'h') {
 		++p;
 		result = mystrtou32(&p, 16, &color);
 	} else {
 		result = mystrtou32(&p, 0, &color);
 	}
-	
+
 	{
 		unsigned char* tmp = (unsigned char*)(&color);
 		unsigned char b;

Modified: trunk/libmenu/menu.c
==============================================================================
--- trunk/libmenu/menu.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,7 +59,7 @@ menu_info_t* menu_info_list[] = {
   &menu_info_console,
 #ifdef CONFIG_DVBIN
   &menu_info_dvbsel,
-#endif  
+#endif
   &menu_info_pref,
   NULL
 };
@@ -222,7 +222,7 @@ static int menu_parse_config(char* buffe
   }
 
 }
-      
+
 
 /// This will build the menu_defs list from the cfg file
 #define BUF_STEP 1024
@@ -552,7 +552,7 @@ void menu_draw_text_full(mp_image_t* mpi
   // Find the first line
   if(align & MENU_TEXT_VCENTER)
     sy = ymin + ((h - need_h)/2);
-  else if(align & MENU_TEXT_BOT) 
+  else if(align & MENU_TEXT_BOT)
     sy = ymax - need_h - 1;
   else
     sy = y;
@@ -564,7 +564,7 @@ void menu_draw_text_full(mp_image_t* mpi
   else if(align & MENU_TEXT_RIGHT)
     sx = xmax - need_w;
 #endif
-  
+
   xmid = xmin + (xmax - xmin) / 2;
   xrmin = xmin;
   // Clamp the bb to the mpi size
@@ -572,7 +572,7 @@ void menu_draw_text_full(mp_image_t* mpi
   if(xmin < 0) xmin = 0;
   if(ymax > mpi->h) ymax = mpi->h;
   if(xmax > mpi->w) xmax = mpi->w;
-  
+
   // Jump some the beginnig text if needed
   while(sy < ymin && *txt) {
     int c=utf8_get_char((const char**)&txt);
@@ -672,7 +672,7 @@ void menu_draw_text_full(mp_image_t* mpi
     sy += vo_font->height + vspace;
   }
 }
-	  
+
 int menu_text_length(char* txt) {
   int l = 0;
   render_txt(txt);
@@ -704,7 +704,7 @@ void menu_text_size(char* txt,int max_wi
     i -= vo_font->charspace;
     if (i > w) w = i;
   }
-  
+
   *_w = w;
   *_h = (l-1) * (vo_font->height + vspace) + vo_font->height;
 }
@@ -724,7 +724,7 @@ int menu_text_num_lines(char* txt, int m
   }
   return l;
 }
-  
+
 char* menu_text_get_next_line(char* txt, int max_width) {
   int i = 0;
   render_txt(txt);
@@ -746,22 +746,22 @@ char* menu_text_get_next_line(char* txt,
 void menu_draw_box(mp_image_t* mpi,unsigned char grey,unsigned char alpha, int x, int y, int w, int h) {
   draw_alpha_f draw_alpha = get_draw_alpha(mpi->imgfmt);
   int g;
-  
+
   if(!draw_alpha) {
     mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_LIBMENU_UnsupportedOutformat);
     return;
   }
-  
+
   if(x > mpi->w || y > mpi->h) return;
-  
+
   if(x < 0) w += x, x = 0;
   if(x+w > mpi->w) w = mpi->w-x;
   if(y < 0) h += y, y = 0;
   if(y+h > mpi->h) h = mpi->h-y;
-    
+
   g = ((256-alpha)*grey)>>8;
   if(g < 1) g = 1;
-    
+
   {
     int stride = (w+7)&(~7); // round to 8
     char pic[stride*h],pic_alpha[stride*h];
@@ -771,5 +771,5 @@ void menu_draw_box(mp_image_t* mpi,unsig
                mpi->planes[0] + y * mpi->stride[0] + x * (mpi->bpp>>3),
                mpi->stride[0]);
   }
-  
+
 }

Modified: trunk/libmenu/menu.h
==============================================================================
--- trunk/libmenu/menu.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu.h	Wed May 13 04:58:57 2009	(r29305)
@@ -61,7 +61,7 @@ typedef struct menu_info_s {
 #define MENU_CMD_OK 2
 #define MENU_CMD_CANCEL 3
 #define MENU_CMD_LEFT 4
-#define MENU_CMD_RIGHT 5 
+#define MENU_CMD_RIGHT 5
 #define MENU_CMD_ACTION 6
 #define MENU_CMD_HOME 7
 #define MENU_CMD_END 8
@@ -103,7 +103,7 @@ void menu_draw_text(mp_image_t* mpi, cha
 int menu_text_length(char* txt);
 int menu_text_num_lines(char* txt, int max_width);
 
-void menu_text_size(char* txt,int max_width, 
+void menu_text_size(char* txt,int max_width,
 		    int vspace, int warp,
 		    int* _w, int* _h);
 

Modified: trunk/libmenu/menu_chapsel.c
==============================================================================
--- trunk/libmenu/menu_chapsel.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_chapsel.c	Wed May 13 04:58:57 2009	(r29305)
@@ -71,8 +71,8 @@ static m_option_t cfg_fields[] = {
 
 static char *fmt_replace(const char *fmt, const char *chapter_name,
                          const char *start) {
-    static const char ctag[] = "${chapter_name}"; 
-    static const char stag[] = "${start}"; 
+    static const char ctag[] = "${chapter_name}";
+    static const char stag[] = "${start}";
     int l = strlen(fmt);
     int cl = strlen(chapter_name);
     int sl = strlen(start);

Modified: trunk/libmenu/menu_cmdlist.c
==============================================================================
--- trunk/libmenu/menu_cmdlist.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_cmdlist.c	Wed May 13 04:58:57 2009	(r29305)
@@ -122,7 +122,7 @@ static int parse_args(menu_t* menu,char*
       mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_LIBMENU_SyntaxErrorAtLine,parser->line);
       asx_parser_free(parser);
       return -1;
-    } else if(r == 0) {      
+    } else if(r == 0) {
       asx_parser_free(parser);
       if(!m)
 	mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_LIBMENU_NoEntryFoundInTheMenuDefinition);
@@ -160,7 +160,7 @@ static int open_cmdlist(menu_t* menu, ch
     mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_LIBMENU_ListMenuNeedsAnArgument);
     return 0;
   }
- 
+
   menu_list_init(menu);
   if(!parse_args(menu,args))
     return 0;

Modified: trunk/libmenu/menu_console.c
==============================================================================
--- trunk/libmenu/menu_console.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_console.c	Wed May 13 04:58:57 2009	(r29305)
@@ -67,7 +67,7 @@ struct menu_priv_s {
   history_t* history;
   history_t* cur_history;
   int history_size;
-  
+
   char* mp_prompt;
   char* child_prompt;
   int buf_lines; // Buffer size (in line)
@@ -161,11 +161,11 @@ static void add_string(struct menu_priv_
     priv->add_line = 0;
     return;
   }
-  
+
   if(eol) {
     eol[0] = '\0';
     add_string(priv,l);
-    if(eol[1]) { 
+    if(eol[1]) {
       add_line(priv,eol+1);
       priv->add_line = 0;
     } else
@@ -215,7 +215,7 @@ static void draw(menu_t* menu, mp_image_
 
   if(mpriv->bg >= 0)
     menu_draw_box(mpi,mpriv->bg,mpriv->bg_alpha,0,0,mpi->w,h);
-  
+
   if(!mpriv->child || !mpriv->raw_child){
     char input[strlen(mpriv->cur_history->buffer) + strlen(mpriv->prompt) + 1];
     sprintf(input,"%s%s",mpriv->prompt,mpriv->cur_history->buffer);
@@ -259,11 +259,11 @@ static void check_child(menu_t* menu) {
     r = waitpid(mpriv->child,&child_status,WNOHANG);
     if(r < 0){
       if(errno==ECHILD){  ///exiting children get handled in mplayer.c
-        for(i = 0 ; i < 3 ; i++) 
+        for(i = 0 ; i < 3 ; i++)
           close(mpriv->child_fd[i]);
         mpriv->child = 0;
         mpriv->prompt = mpriv->mp_prompt;
-        //add_line(mpriv,"Child process exited");    
+        //add_line(mpriv,"Child process exited");
       }
       else mp_msg(MSGT_GLOBAL,MSGL_ERR,MSGTR_LIBMENU_WaitPidError,strerror(errno));
     }
@@ -271,7 +271,7 @@ static void check_child(menu_t* menu) {
     mp_msg(MSGT_GLOBAL,MSGL_ERR,MSGTR_LIBMENU_SelectError);
     return;
   }
-  
+
   w = 0;
   for(i = 1 ; i < 3 ; i++) {
     if(FD_ISSET(mpriv->child_fd[i],&rfd)){
@@ -338,7 +338,7 @@ static int run_shell_cmd(menu_t* menu, c
 static void enter_cmd(menu_t* menu) {
   history_t* h;
   char input[strlen(mpriv->cur_history->buffer) + strlen(mpriv->prompt) + 1];
-  
+
   sprintf(input,"%s%s",mpriv->prompt,mpriv->cur_history->buffer);
   add_line(mpriv,input);
 
@@ -360,7 +360,7 @@ static void enter_cmd(menu_t* menu) {
     mpriv->history = h;
   } else
     mpriv->history->buffer[0] = '\0';
-    
+
   mpriv->cur_history = mpriv->history;
   //mpriv->input = mpriv->cur_history->buffer;
 }
@@ -477,7 +477,7 @@ static int openMenu(menu_t* menu, char* 
   mpriv->cur_history = mpriv->history = calloc(1,sizeof(history_t));
   mpriv->cur_history->buffer = calloc(255,1);
   mpriv->cur_history->size = 255;
-  
+
   if(args)
     add_line(mpriv,args);
 

Modified: trunk/libmenu/menu_dvbin.c
==============================================================================
--- trunk/libmenu/menu_dvbin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_dvbin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -120,17 +120,17 @@ static int fill_channels_menu(menu_t *me
 			elem->p.next 	= NULL;
 			elem->p.txt 	= strdup(channel->name);
 			elem->num 	= n;
-			
+
 			menu_list_add_entry(menu, elem);
 		}
 		else
 		{
-			mp_msg(MSGT_DEMUX, MSGL_ERR, "dvb_menu: fill_menu: couldn't malloc %d bytes for menu item: %s, exit\n", 
+			mp_msg(MSGT_DEMUX, MSGL_ERR, "dvb_menu: fill_menu: couldn't malloc %d bytes for menu item: %s, exit\n",
 					sizeof(list_entry_t), strerror(errno));
 			break;
 		}
-	}  
-	
+	}
+
 	return n;
 }
 
@@ -147,23 +147,23 @@ static int fill_cards_menu(menu_t *menu,
 			elem->p.next 	= NULL;
 			elem->p.txt	= strdup(conf->cards[n].name);
 			elem->num 	= n;
-				
+
 			if(n == 0)
 			    elem->p.prev = NULL;
-				
+
 			menu_list_add_entry(menu, elem);
 		}
 		else
 		{
-			fprintf(stderr, "dvb_menu: fill_menu: couldn't malloc %d bytes for menu item: %s, exit\n", 
+			fprintf(stderr, "dvb_menu: fill_menu: couldn't malloc %d bytes for menu item: %s, exit\n",
 				sizeof(list_entry_t), strerror(errno));
 			if(n)
 				return 1;
 
 			return 0;
 		}
-	}  
-	
+	}
+
 	return n;
 }
 
@@ -172,9 +172,9 @@ static int fill_menu(menu_t* menu)
 {
 	list_entry_t* elem;
 	dvb_channels_list  *dvb_list_ptr;
-		
+
 	menu_list_init(menu);
-	
+
 	if(mpriv->config == NULL)
 	{
 		if((elem = calloc(1, sizeof(list_entry_t))) != NULL)
@@ -187,7 +187,7 @@ static int fill_menu(menu_t* menu)
 		}
 		return 0;
 	}
-	
+
 	mpriv->p.title = mpriv->title;
 	if(mpriv->level == 1 && mpriv->config->count > 1)
 		return fill_cards_menu(menu, mpriv->config);
@@ -216,17 +216,17 @@ static void read_cmd(menu_t* menu, int c
 			mpriv->card = mpriv->p.current->num;
 			mpriv->level = 2;
 			menu_list_uninit(menu, free_entry);
-			fill_menu(menu); 
+			fill_menu(menu);
 		}
 		else
 		{
 			dvb_priv_t *dvbp = (dvb_priv_t*) mpriv->config->priv;
 			cmd_name = malloc(25 + strlen(elem->p.txt));
 			if(dvbp != NULL)
-				sprintf(cmd_name, "dvb_set_channel %d %d", elem->num, mpriv->card);	
+				sprintf(cmd_name, "dvb_set_channel %d %d", elem->num, mpriv->card);
 			else
 				sprintf(cmd_name, "loadfile 'dvb://%d@%s'", mpriv->card+1, elem->p.txt);
-		
+
 			c = mp_input_parse_cmd(cmd_name);
 			free(cmd_name);
 			if(c)
@@ -243,7 +243,7 @@ static void read_cmd(menu_t* menu, int c
 	case MENU_CMD_CANCEL:
 	{
 		elem = mpriv->p.current;
-		
+
 		menu_list_uninit(menu, free_entry);
 		if(mpriv->config->count > 1)
 			mpriv->level--;

Modified: trunk/libmenu/menu_filesel.c
==============================================================================
--- trunk/libmenu/menu_filesel.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_filesel.c	Wed May 13 04:58:57 2009	(r29305)
@@ -64,7 +64,7 @@ struct menu_priv_s {
   char* file_action;
   char* dir_action;
   char** actions;
-  char* filter; 
+  char* filter;
 };
 
 static struct menu_priv_s cfg_dflt = {
@@ -104,7 +104,7 @@ static char* replace_path(char* title , 
   if(p) {
     int tl = strlen(title);
     int dl = strlen(dir);
-    int t1l = p-title; 
+    int t1l = p-title;
     int l = tl - 2 + dl;
     char *r, *n, *d = dir;
 
@@ -295,7 +295,7 @@ static int open_dir(menu_t* menu,char* a
         mp_msg(MSGT_GLOBAL,MSGL_ERR,MSGTR_LIBMENU_ReallocError, strerror(errno));
 	n--;
         goto bailout;
-      } 
+      }
       namelist=tp;
     }
 
@@ -305,7 +305,7 @@ static int open_dir(menu_t* menu,char* a
       n--;
       goto bailout;
     }
-     
+
     strcpy(namelist[n], dp->d_name);
     if(S_ISDIR(st.st_mode))
       strcat(namelist[n], "/");
@@ -433,7 +433,7 @@ static int open_fs(menu_t* menu, char* a
     if (!path || path[0] == '\0') {
       struct stat st;
       int path_fp;
-      
+
       path_fp = open (MENU_KEEP_PATH, O_RDONLY);
       if (path_fp >= 0) {
         if (!fstat (path_fp, &st) && (st.st_size > 0)) {
@@ -449,7 +449,7 @@ static int open_fs(menu_t* menu, char* a
       }
     }
   }
-  
+
   getcwd(wd,PATH_MAX);
   if (!path || path[0] == '\0') {
 #if 0
@@ -495,7 +495,7 @@ static int open_fs(menu_t* menu, char* a
 
   return r;
 }
-  
+
 const menu_info_t menu_info_filesel = {
   "File seletor menu",
   "filesel",

Modified: trunk/libmenu/menu_list.c
==============================================================================
--- trunk/libmenu/menu_list.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_list.c	Wed May 13 04:58:57 2009	(r29305)
@@ -87,7 +87,7 @@ void menu_list_draw(menu_t* menu,mp_imag
     if(m) mpriv->current = m;
     else ptr_l = 0;
   }
-  
+
   for(i = 0, m = mpriv->menu ; m ; m = m->next, i++) {
     int ll;
     if(m->hide) continue;
@@ -101,7 +101,7 @@ void menu_list_draw(menu_t* menu,mp_imag
     x += mpriv->minb;
   if(y > 0)
     y += mpriv->minb;
-  else 
+  else
     y = mpriv->minb;
 
   need_h = count * line_h - mpriv->vspace;
@@ -151,7 +151,7 @@ void menu_list_draw(menu_t* menu,mp_imag
 			MENU_TEXT_TOP|(x < 0 ? MENU_TEXT_HCENTER :MENU_TEXT_LEFT));
     dy += th;
   }
-  
+
   dx = x < 0 ? (mpi->w - need_w) / 2 : x;
   bx = x < 0 ? (mpi->w - bg_w) / 2 : x - mpriv->minb;
 
@@ -273,7 +273,7 @@ void menu_list_read_cmd(menu_t* menu,int
         mouse_y >= selection_y && mouse_y < selection_y + selection_h)
       menu_read_cmd(menu, MENU_CMD_OK);
     break;
-  }    
+  }
 }
 
 int menu_list_jump_to_key(menu_t* menu,int c) {
@@ -311,7 +311,7 @@ void menu_list_add_entry(menu_t* menu,li
   l->next = entry;
   entry->prev = l;
 }
-    
+
 void menu_list_init(menu_t* menu) {
   if(!mpriv)
     mpriv = calloc(1,sizeof(struct menu_priv_s));
@@ -328,7 +328,7 @@ void menu_list_uninit(menu_t* menu,free_
     free_func(i);
     i = j;
   }
-  
+
   mpriv->menu = mpriv->current = NULL;
 
 }

Modified: trunk/libmenu/menu_list.h
==============================================================================
--- trunk/libmenu/menu_list.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_list.h	Wed May 13 04:58:57 2009	(r29305)
@@ -83,7 +83,7 @@ extern const menu_list_priv_t menu_list_
   0xFF, 0xFF, \
   0xA4, 0x50 \
 }
-  
+
 
 #define MENU_LIST_PRIV_FIELDS \
   { "minbor", M_ST_OFF(menu_list_priv_t,minb), CONF_TYPE_INT, M_OPT_MIN, 0, 0, NULL }, \

Modified: trunk/libmenu/menu_param.c
==============================================================================
--- trunk/libmenu/menu_param.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_param.c	Wed May 13 04:58:57 2009	(r29305)
@@ -60,7 +60,7 @@ struct menu_priv_s {
   char* na;
   int hide_na;
 };
- 
+
 static struct menu_priv_s cfg_dflt = {
   MENU_LIST_PRIV_DFLT,
   NULL,
@@ -112,7 +112,7 @@ static int parse_args(menu_t* menu,char*
   int r;
   m_option_t* opt;
   ASX_Parser_t* parser = asx_parser_new();
-  
+
 
   while(1) {
     r = asx_get_element(parser,&args,&element,&body,&attribs);
@@ -120,7 +120,7 @@ static int parse_args(menu_t* menu,char*
       mp_msg(MSGT_OSD_MENU,MSGL_ERR,MSGTR_LIBMENU_SyntaxErrorAtLine,parser->line);
       asx_parser_free(parser);
       return -1;
-    } else if(r == 0) {      
+    } else if(r == 0) {
       asx_parser_free(parser);
       if(!m)
         mp_msg(MSGT_OSD_MENU,MSGL_WARN,MSGTR_LIBMENU_NoEntryFoundInTheMenuDefinition);
@@ -200,7 +200,7 @@ static void read_cmd(menu_t* menu,int cm
       if(mp_property_do(e->prop,M_PROPERTY_STEP_DOWN,NULL,menu->ctx) > 0)
         update_entries(menu, 0);
       return;
-      
+
     case MENU_CMD_OK:
       // check that the property is writable
       if(mp_property_do(e->prop,M_PROPERTY_SET,NULL,menu->ctx) < 0) return;
@@ -281,7 +281,7 @@ static int openMenu(menu_t* menu, char* 
     mp_msg(MSGT_OSD_MENU,MSGL_ERR,MSGTR_LIBMENU_PrefMenuNeedsAnArgument);
     return 0;
   }
- 
+
   menu_list_init(menu);
   return parse_args(menu,args);
 }

Modified: trunk/libmenu/menu_pt.c
==============================================================================
--- trunk/libmenu/menu_pt.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_pt.c	Wed May 13 04:58:57 2009	(r29305)
@@ -44,7 +44,7 @@ struct list_entry_s {
   struct list_entry p;
   play_tree_t* pt;
 };
-  
+
 
 struct menu_priv_s {
   menu_list_priv_t p;
@@ -132,7 +132,7 @@ static int op(menu_t* menu, char* args) 
   play_tree_t* i;
   list_entry_t* e;
   play_tree_iter_t* playtree_iter = mpctx_get_playtree_iter(menu->ctx);
-  
+
   args = NULL; // Warning kill
 
   menu->draw = menu_list_draw;
@@ -150,7 +150,7 @@ static int op(menu_t* menu, char* args) 
     e->pt = playtree_iter->tree->parent;
     menu_list_add_entry(menu,e);
   }
-  
+
   for(i = playtree_iter->tree ; i->prev != NULL ; i = i->prev)
     /* NOP */;
   for( ; i != NULL ; i = i->next ) {

Modified: trunk/libmenu/menu_txt.c
==============================================================================
--- trunk/libmenu/menu_txt.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/menu_txt.c	Wed May 13 04:58:57 2009	(r29305)
@@ -119,14 +119,14 @@ static void draw(menu_t* menu,mp_image_t
     end = i + mpriv->disp_lines;
     if(end >= mpriv->num_lines) end = mpriv->num_lines - 1;
   }
-  
+
   for( ; i < end ; i++) {
     menu_draw_text(mpi,mpriv->lines[i],x,y);
     y += vo_font->height + mpriv->hspace;
   }
 
 }
-    
+
 #define BUF_SIZE 1024
 
 static int open_txt(menu_t* menu, char* args) {
@@ -164,7 +164,7 @@ static int open_txt(menu_t* menu, char* 
     }
     pos += r;
     buf[pos] = '\0';
-    
+
     while((l = strchr(buf,'\n')) != NULL) {
       s = l-buf;
       mpriv->lines = realloc(mpriv->lines,(mpriv->num_lines + 1)*sizeof(char*));

Modified: trunk/libmenu/vf_menu.c
==============================================================================
--- trunk/libmenu/vf_menu.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmenu/vf_menu.c	Wed May 13 04:58:57 2009	(r29305)
@@ -71,7 +71,7 @@ static int cmd_filter(mp_cmd_t* cmd, int
   switch(cmd->id) {
   case MP_CMD_MENU : {  // Convert txt cmd from the users into libmenu stuff
     char* arg = cmd->args[0].v.s;
-    
+
     if (!priv->current->show && strcmp(arg,"hide"))
       priv->current->show = 1;
     else if(strcmp(arg,"up") == 0)
@@ -132,7 +132,7 @@ static void get_image(struct vf_instance
     return;
   }
 }
-  
+
 static int key_cb(int code) {
   return menu_read_key(st_priv->current,code);
 }
@@ -214,7 +214,7 @@ static void uninit(vf_instance_t *vf) {
 }
 
 static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height,
-		  unsigned int flags, unsigned int outfmt) { 
+		  unsigned int flags, unsigned int outfmt) {
 #ifdef CONFIG_FREETYPE
   // here is the right place to get screen dimensions
   if (force_load_font) {

Modified: trunk/libmpcodecs/ad_acm.c
==============================================================================
--- trunk/libmpcodecs/ad_acm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_acm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -11,7 +11,7 @@
 #include "ad_internal.h"
 #include "osdep/timer.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Win32/ACM decoders",
 	"acm",
@@ -46,12 +46,12 @@ static int preinit(sh_audio_t *sh_audio)
     WAVEFORMATEX *in_fmt = sh_audio->wf;
     DWORD srcsize = 0;
     acm_context_t *priv;
-    
+
     priv = malloc(sizeof(acm_context_t));
     if (!priv)
 	return 0;
     sh_audio->context = priv;
-    
+
     mp_msg(MSGT_WIN32, MSGL_V, "======= Win32 (ACM) AUDIO Codec init =======\n");
 
 //    priv->handle = NULL;
@@ -71,7 +71,7 @@ static int preinit(sh_audio_t *sh_audio)
     priv->o_wf->wBitsPerSample = 16;
 //    priv->o_wf->wBitsPerSample = inf_fmt->wBitsPerSample;
     priv->o_wf->cbSize = 0;
-    
+
     if ( mp_msg_test(MSGT_DECAUDIO,MSGL_V) )
     {
 	mp_msg(MSGT_DECAUDIO, MSGL_V, "Input format:\n");
@@ -94,7 +94,7 @@ static int preinit(sh_audio_t *sh_audio)
 	return 0;
     }
     mp_msg(MSGT_WIN32, MSGL_V, "Audio codec opened OK! ;-)\n");
-    
+
     acmStreamSize(priv->handle, in_fmt->nBlockAlign, &srcsize, ACM_STREAMSIZEF_SOURCE);
     //if ( mp_msg_test(MSGT_DECAUDIO,MSGL_V) ) printf("Audio ACM output buffer min. size: %ld (reported by codec)\n", srcsize);
     srcsize *= 2;
@@ -122,7 +122,7 @@ static int preinit(sh_audio_t *sh_audio)
     mp_msg(MSGT_WIN32,MSGL_V,"Audio ACM input buffer min. size: %ld\n",srcsize);
 
     sh_audio->audio_in_minsize=2*srcsize; // audio input min. size
-    
+
     sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
     sh_audio->channels=priv->o_wf->nChannels;
     sh_audio->samplerate=priv->o_wf->nSamplesPerSec;
@@ -136,10 +136,10 @@ static void uninit(sh_audio_t *sh)
 {
     HRESULT ret;
     acm_context_t *priv = sh->context;
-    
+
 retry:
     ret = acmStreamClose(priv->handle, 0);
-    
+
     if (ret)
     switch(ret)
     {
@@ -155,7 +155,7 @@ retry:
 	    mp_msg(MSGT_WIN32, MSGL_WARN, "ACM_Decoder: unknown error occurred: %ld\n", ret);
 	    return;
     }
-    
+
     MSACM_UnregisterAllDrivers();
 
     free(priv->o_wf);
@@ -207,7 +207,7 @@ static int decode_audio(sh_audio_t *sh_a
     memset(&ash, 0, sizeof(ash));
     ash.cbStruct=sizeof(ash);
     ash.fdwStatus=0;
-    ash.dwUser=0; 
+    ash.dwUser=0;
     ash.pbSrc=sh_audio->a_in_buffer;
     ash.cbSrcLength=sh_audio->a_in_buffer_len;
     ash.pbDst=buf;

Modified: trunk/libmpcodecs/ad_alaw.c
==============================================================================
--- trunk/libmpcodecs/ad_alaw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_alaw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -5,7 +5,7 @@
 #include "config.h"
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"aLaw/uLaw audio decoder",
 	"alaw",

Modified: trunk/libmpcodecs/ad_dk3adpcm.c
==============================================================================
--- trunk/libmpcodecs/ad_dk3adpcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_dk3adpcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -2,7 +2,7 @@
     DK3 ADPCM Decoder for MPlayer
       by Mike Melanson
 
-    "This format number was used by Duck Corp. but not officially 
+    "This format number was used by Duck Corp. but not officially
     registered with Microsoft"
 
     This file is responsible for decoding audio data encoded with
@@ -19,7 +19,7 @@
 #include "mpbswap.h"
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Duck Corp. DK3 ADPCM decoder",
 	"dk3adpcm",
@@ -71,7 +71,7 @@ static int adpcm_index[16] =
 static int preinit(sh_audio_t *sh_audio)
 {
   sh_audio->audio_out_minsize = sh_audio->wf->nBlockAlign * 6;
-  sh_audio->ds->ss_div = 
+  sh_audio->ds->ss_div =
     (sh_audio->wf->nBlockAlign - DK3_ADPCM_PREAMBLE_SIZE) * 8 / 3;
   sh_audio->audio_in_minsize=
   sh_audio->ds->ss_mul = sh_audio->wf->nBlockAlign;
@@ -233,8 +233,8 @@ static int dk3_adpcm_decode_block(unsign
 static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)
 {
   if (demux_read_data(sh_audio->ds, sh_audio->a_in_buffer,
-    sh_audio->ds->ss_mul) != 
-    sh_audio->ds->ss_mul) 
+    sh_audio->ds->ss_mul) !=
+    sh_audio->ds->ss_mul)
       return -1; /* EOF */
 
   if (maxlen < 2 * 4 * sh_audio->wf->nBlockAlign * 2 / 3) {

Modified: trunk/libmpcodecs/ad_dmo.c
==============================================================================
--- trunk/libmpcodecs/ad_dmo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_dmo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -9,7 +9,7 @@
 #include "ad_internal.h"
 #include "libaf/reorder_ch.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Win32/DMO decoders",
 	"dmo",

Modified: trunk/libmpcodecs/ad_dshow.c
==============================================================================
--- trunk/libmpcodecs/ad_dshow.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_dshow.c	Wed May 13 04:58:57 2009	(r29305)
@@ -8,7 +8,7 @@
 
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Win32/DirectShow decoders",
 	"dshow",

Modified: trunk/libmpcodecs/ad_dvdpcm.c
==============================================================================
--- trunk/libmpcodecs/ad_dvdpcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_dvdpcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -7,7 +7,7 @@
 #include "help_mp.h"
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Uncompressed DVD/VOB LPCM audio decoder",
 	"dvdpcm",
@@ -40,7 +40,7 @@ static int init(sh_audio_t *sh)
 	  case 1:
 	    mp_msg(MSGT_DECAUDIO, MSGL_INFO, MSGTR_SamplesWanted);
 	    sh->i_bps = sh->channels * sh->samplerate * 5 / 2;
-	  case 2: 
+	  case 2:
 	    sh->sample_format = AF_FORMAT_S24_BE;
 	    sh->samplesize = 3;
 	    break;
@@ -139,7 +139,7 @@ static int decode_audio(sh_audio_t *sh_a
       }
       len = j;
     }
-  } else 
+  } else
   len=demux_read_data(sh_audio->ds,buf,(minlen+3)&(~3));
   return len;
 }

Modified: trunk/libmpcodecs/ad_faad.c
==============================================================================
--- trunk/libmpcodecs/ad_faad.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_faad.c	Wed May 13 04:58:57 2009	(r29305)
@@ -28,7 +28,7 @@
 #include "ad_internal.h"
 #include "libaf/reorder_ch.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"AAC (MPEG2/4 Advanced Audio Coding)",
 	"faad",
@@ -48,9 +48,9 @@ LIBAD_EXTERN(faad)
 /* configure maximum supported channels, *
  * this is theoretically max. 64 chans   */
 #define FAAD_MAX_CHANNELS 6
-#define FAAD_BUFFLEN (FAAD_MIN_STREAMSIZE*FAAD_MAX_CHANNELS)		       
+#define FAAD_BUFFLEN (FAAD_MIN_STREAMSIZE*FAAD_MAX_CHANNELS)
 
-//#define AAC_DUMP_COMPRESSED  
+//#define AAC_DUMP_COMPRESSED
 
 static faacDecHandle faac_hdec;
 static faacDecFrameInfo faac_finfo;
@@ -80,7 +80,7 @@ static int aac_probe(unsigned char *buff
   mp_msg(MSGT_DECAUDIO,MSGL_V, "\nAAC_PROBE: ret %d\n", pos);
   return pos;
 }
-	
+
 static int init(sh_audio_t *sh)
 {
   unsigned long faac_samplerate;
@@ -151,7 +151,7 @@ static int init(sh_audio_t *sh)
         faac_conf->downMatrix = 1;
         faacDecSetConfiguration(faac_hdec, faac_conf);
     }
-    
+
     /*int i;
     for(i = 0; i < sh_audio->codecdata_len; i++)
       printf("codecdata_dump %d: 0x%02X\n", i, sh_audio->codecdata[i]);*/
@@ -175,9 +175,9 @@ static int init(sh_audio_t *sh)
     if(!sh->i_bps) {
       mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: compressed input bitrate missing, assuming 128kbit/s!\n");
       sh->i_bps = 128*1000/8; // XXX: HACK!!! ::atmos
-    } else 
+    } else
       mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: got %dkbit/s bitrate from MP4 header!\n",sh->i_bps*8/1000);
-  }  
+  }
   return 1;
 }
 
@@ -213,7 +213,7 @@ static int control(sh_audio_t *sh,int cm
       case ADCTRL_RESYNC_STREAM:
          aac_sync(sh);
 	 return CONTROL_TRUE;
-#if 0      
+#if 0
       case ADCTRL_SKIP_FRAME:
 	  return CONTROL_TRUE;
 #endif
@@ -237,7 +237,7 @@ static int decode_audio(sh_audio_t *sh,u
 	demux_read_data(sh->ds,&sh->a_in_buffer[sh->a_in_buffer_len],
 	sh->a_in_buffer_size - sh->a_in_buffer_len);
     }
-	  
+
 #ifdef DUMP_AAC_COMPRESSED
     {int i;
     for (i = 0; i < 16; i++)
@@ -249,7 +249,7 @@ static int decode_audio(sh_audio_t *sh,u
    // raw aac stream:
    do {
     faac_sample_buffer = faacDecDecode(faac_hdec, &faac_finfo, sh->a_in_buffer, sh->a_in_buffer_len);
-	
+
     /* update buffer index after faacDecDecode */
     if(faac_finfo.bytesconsumed >= sh->a_in_buffer_len) {
       sh->a_in_buffer_len=0;
@@ -271,7 +271,7 @@ static int decode_audio(sh_audio_t *sh,u
       errors++;
     } else
       break;
-   } while(errors < MAX_FAAD_ERRORS);	  
+   } while(errors < MAX_FAAD_ERRORS);
   } else {
    // packetized (.mp4) aac stream:
     unsigned char* bufptr=NULL;
@@ -285,7 +285,7 @@ static int decode_audio(sh_audio_t *sh,u
     faac_sample_buffer = faacDecDecode(faac_hdec, &faac_finfo, bufptr, buflen);
   }
   //for (j=0;j<faac_finfo.channels;j++) printf("%d:%d\n", j, faac_finfo.channel_position[j]);
-  
+
     if(faac_finfo.error > 0) {
       mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: Failed to decode frame: %s \n",
       faacDecGetErrorMessage(faac_finfo.error));

Modified: trunk/libmpcodecs/ad_ffmpeg.c
==============================================================================
--- trunk/libmpcodecs/ad_ffmpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_ffmpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -11,7 +11,7 @@
 
 #include "mpbswap.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"FFmpeg/libavcodec audio decoders",
 	"ffmpeg",
@@ -46,13 +46,13 @@ static int init(sh_audio_t *sh_audio)
       avcodec_register_all();
       avcodec_initialized=1;
     }
-    
+
     lavc_codec = (AVCodec *)avcodec_find_decoder_by_name(sh_audio->codec->dll);
     if(!lavc_codec){
 	mp_msg(MSGT_DECAUDIO,MSGL_ERR,MSGTR_MissingLAVCcodec,sh_audio->codec->dll);
 	return 0;
     }
-    
+
     lavc_context = avcodec_alloc_context();
     sh_audio->context=lavc_context;
 
@@ -73,7 +73,7 @@ static int init(sh_audio_t *sh_audio)
     if (sh_audio->wf && sh_audio->wf->cbSize > 0) {
         lavc_context->extradata = av_mallocz(sh_audio->wf->cbSize + FF_INPUT_BUFFER_PADDING_SIZE);
         lavc_context->extradata_size = sh_audio->wf->cbSize;
-        memcpy(lavc_context->extradata, (char *)sh_audio->wf + sizeof(WAVEFORMATEX), 
+        memcpy(lavc_context->extradata, (char *)sh_audio->wf + sizeof(WAVEFORMATEX),
                lavc_context->extradata_size);
     }
 
@@ -82,8 +82,8 @@ static int init(sh_audio_t *sh_audio)
     {
         lavc_context->extradata = av_malloc(sh_audio->codecdata_len);
         lavc_context->extradata_size = sh_audio->codecdata_len;
-        memcpy(lavc_context->extradata, (char *)sh_audio->codecdata, 
-               lavc_context->extradata_size);	
+        memcpy(lavc_context->extradata, (char *)sh_audio->codecdata,
+               lavc_context->extradata_size);
     }
 
     /* open it */
@@ -92,7 +92,7 @@ static int init(sh_audio_t *sh_audio)
         return 0;
     }
    mp_msg(MSGT_DECAUDIO,MSGL_V,"INFO: libavcodec init OK!\n");
-   
+
 //   printf("\nFOURCC: 0x%X\n",sh_audio->format);
    if(sh_audio->format==0x3343414D){
        // MACE 3:1
@@ -176,7 +176,7 @@ static int decode_audio(sh_audio_t *sh_a
             int src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT;
             const char *codec=((AVCodecContext*)sh_audio->context)->codec->name;
             if (!strcasecmp(codec, "ac3")
-                || !strcasecmp(codec, "eac3"))            
+                || !strcasecmp(codec, "eac3"))
               src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT;
             else if (!strcasecmp(codec, "dca"))
               src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_DCA_DEFAULT;

Modified: trunk/libmpcodecs/ad_hwac3.c
==============================================================================
--- trunk/libmpcodecs/ad_hwac3.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_hwac3.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@
 
 static int isdts = -1;
 
-static ad_info_t info = 
+static ad_info_t info =
 {
   "AC3/DTS pass-through S/PDIF",
   "hwac3",
@@ -80,7 +80,7 @@ static int ac3dts_fillbuff(sh_audio_t *s
     else
     {
       length = a52_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
-      if(length >= 7 && length <= 3840) 
+      if(length >= 7 && length <= 3840)
       {
         if(isdts != 0)
         {
@@ -100,13 +100,13 @@ static int ac3dts_fillbuff(sh_audio_t *s
   sh_audio->i_bps = bit_rate / 8;
   demux_read_data(sh_audio->ds, sh_audio->a_in_buffer + 12, length - 12);
   sh_audio->a_in_buffer_len = length;
-    
+
   // TODO: is DTS also checksummed?
 #ifdef CONFIG_LIBA52_INTERNAL
   if(isdts == 0 && crc16_block(sh_audio->a_in_buffer + 2, length - 2) != 0)
     mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "a52: CRC check failed!  \n");
 #endif
-    
+
   return length;
 }
 
@@ -162,7 +162,7 @@ static int control(sh_audio_t *sh,int cm
 static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)
 {
   int len = sh_audio->a_in_buffer_len;
-  
+
   if(len <= 0)
     if((len = ac3dts_fillbuff(sh_audio)) <= 0)
       return len; /*EOF*/
@@ -305,7 +305,7 @@ static int dts_decode_header(uint8_t *in
        Frame type ( 1: Normal frame; 0: Termination frame ) */
     ftype = indata_ptr[4+le_mode] >> 7;
 
-  if(ftype != 1) 
+  if(ftype != 1)
   {
     mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: Termination frames not handled, REPORT BUG\n");
     return -1;
@@ -384,29 +384,29 @@ static int dts_decode_header(uint8_t *in
     *rate = (indata_ptr[10+le_mode] & 0x3f) >> 1;
   }
 #if 0
-  if(*sfreq != 13) 
+  if(*sfreq != 13)
   {
     mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: Only 48kHz supported, REPORT BUG\n");
     return -1;
   }
 #endif
-  if((fsize > 8192) || (fsize < 96)) 
+  if((fsize > 8192) || (fsize < 96))
   {
     mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: fsize: %d invalid, REPORT BUG\n", fsize);
     return -1;
   }
-    
+
   if(*nblks != 8 &&
     *nblks != 16 &&
     *nblks != 32 &&
     *nblks != 64 &&
     *nblks != 128 &&
-    ftype == 1) 
+    ftype == 1)
   {
     mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: nblks %d not valid for normal frame, REPORT BUG\n", *nblks);
     return -1;
   }
-  
+
   return fsize;
 }
 
@@ -416,7 +416,7 @@ static int dts_syncinfo(uint8_t *indata_
   int fsize;
   int rate;
   int sfreq;
-  
+
   fsize = dts_decode_header(indata_ptr, &rate, &nblks, &sfreq);
   if(fsize >= 0)
   {
@@ -479,7 +479,7 @@ static int decode_audio_dts(unsigned cha
 
   buf16[0] = 0xf872; /* iec 61937     */
   buf16[1] = 0x4e1f; /*  syncword     */
-  switch(nr_samples) 
+  switch(nr_samples)
   {
   case 512:
     buf16[2] = 0x000b;      /* DTS-1 (512-sample bursts) */
@@ -495,7 +495,7 @@ static int decode_audio_dts(unsigned cha
     buf16[2] = 0x0000;
     break;
   }
- 
+
   if(fsize + 8 > nr_samples * 2 * 2)
   {
     // dts wav (14bits LE) match this condition, one way to passthrough

Modified: trunk/libmpcodecs/ad_hwmpa.c
==============================================================================
--- trunk/libmpcodecs/ad_hwmpa.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_hwmpa.c	Wed May 13 04:58:57 2009	(r29305)
@@ -15,7 +15,7 @@
 
 //based on ad_hwac3.c and ad_libmad.c
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"MPEG audio pass-through (fake decoder)",
 	"hwmpa",
@@ -74,7 +74,7 @@ static int init(sh_audio_t *sh)
 	sh->samplerate = srate;
 	sh->i_bps = br * 125;
 	sh->samplesize = 2;
-	
+
 	mp_msg(MSGT_DECAUDIO,MSGL_V,"AC_HWMPA initialized, bitrate: %d kb/s\r\n", len);
 	return 1;
 }

Modified: trunk/libmpcodecs/ad_imaadpcm.c
==============================================================================
--- trunk/libmpcodecs/ad_imaadpcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_imaadpcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -62,7 +62,7 @@ static const int8_t adpcm_index[8] =
 // clamp a number above 16
 #define CLAMP_ABOVE_16(x)  if (x < 16) x = 16;
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"IMA ADPCM audio decoder",
 	"imaadpcm",
@@ -84,7 +84,7 @@ static int preinit(sh_audio_t *sh_audio)
   if ((sh_audio->format == 0x11) || (sh_audio->format == 0x61) ||
       (sh_audio->format == 0x1100736d))
   {
-    sh_audio->ds->ss_div = (sh_audio->wf->nBlockAlign - 
+    sh_audio->ds->ss_div = (sh_audio->wf->nBlockAlign -
       (MS_IMA_ADPCM_PREAMBLE_SIZE * sh_audio->wf->nChannels)) * 2;
     sh_audio->ds->ss_mul = sh_audio->wf->nBlockAlign;
   }
@@ -103,7 +103,7 @@ static int init(sh_audio_t *sh_audio)
   sh_audio->channels=sh_audio->wf->nChannels;
   sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
   /* decodes 34 byte -> 64 short*/
-  sh_audio->i_bps = 
+  sh_audio->i_bps =
     (sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
   sh_audio->samplesize=2;
 
@@ -263,7 +263,7 @@ static int ms_ima_adpcm_decode_block(uns
       }
     }
   }
-  
+
   decode_nibbles(output,
     (block_size - MS_IMA_ADPCM_PREAMBLE_SIZE * channels) * 2,
     channels,
@@ -310,8 +310,8 @@ static int decode_audio(sh_audio_t *sh_a
   int res = -1;
   int (*decode_func)(unsigned short *output, unsigned char *input, int channels, int block_size) = qt_ima_adpcm_decode_block;
   if (demux_read_data(sh_audio->ds, sh_audio->a_in_buffer,
-    sh_audio->ds->ss_mul) != 
-    sh_audio->ds->ss_mul) 
+    sh_audio->ds->ss_mul) !=
+    sh_audio->ds->ss_mul)
     return -1;
 
   if ((sh_audio->format == 0x11) || (sh_audio->format == 0x1100736d))

Modified: trunk/libmpcodecs/ad_liba52.c
==============================================================================
--- trunk/libmpcodecs/ad_liba52.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_liba52.c	Wed May 13 04:58:57 2009	(r29305)
@@ -45,7 +45,7 @@ static sample_t a52_level = 1;
 float a52_drc_level = 1.0;
 static int a52_drc_action = DRC_NO_ACTION;
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"AC3 decoding with liba52",
 	"liba52",
@@ -85,12 +85,12 @@ while(1){
     demux_read_data(sh_audio->ds,sh_audio->a_in_buffer+8,length-8);
     if(sh_audio->format!=0x2000)
 	swab(sh_audio->a_in_buffer+8,sh_audio->a_in_buffer+8,length-8);
-    
+
 #ifdef CONFIG_LIBA52_INTERNAL
     if(crc16_block(sh_audio->a_in_buffer+2,length-2)!=0)
 	mp_msg(MSGT_DECAUDIO,MSGL_STATUS,"a52: CRC check failed!  \n");
 #endif
-    
+
     return length;
 }
 
@@ -312,7 +312,7 @@ static int decode_audio(sh_audio_t *sh_a
     int i,len=-1;
 	if (sh_audio->sample_format == AF_FORMAT_FLOAT_NE)
 	    bias = 0;
-	if(!sh_audio->a_in_buffer_len) 
+	if(!sh_audio->a_in_buffer_len)
 	    if(a52_fillbuff(sh_audio)<0) return len; /* EOF */
 	sh_audio->a_in_buffer_len=0;
 	if (a52_frame (a52_state, sh_audio->a_in_buffer, &flags, &level, bias)){

Modified: trunk/libmpcodecs/ad_libdv.c
==============================================================================
--- trunk/libmpcodecs/ad_libdv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_libdv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -48,7 +48,7 @@ static int init(sh_audio_t *sh)
   WAVEFORMATEX *h=sh->wf;
 
   if(!h) return 0;
-   
+
   sh->i_bps=h->nAvgBytesPerSec;
   sh->channels=h->nChannels;
   sh->samplerate=h->nSamplesPerSec;
@@ -84,7 +84,7 @@ static int decode_audio(sh_audio_t *audi
    if(xx<=0 || !dv_audio_frame) return 0; // EOF?
 
    dv_parse_header(decoder, dv_audio_frame);
-   
+
    if(xx!=decoder->frame_size)
        mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_MPCODECS_AudioFramesizeDiffers,
            xx, decoder->frame_size);
@@ -94,7 +94,7 @@ static int decode_audio(sh_audio_t *audi
       /* Interleave the audio into a single buffer */
       int i=0;
       int16_t *bufP=(int16_t*)buf;
-      
+
 //      printf("samples=%d/%d  chans=%d  mem=%d  \n",decoder->audio->samples_this_frame,DV_AUDIO_MAX_SAMPLES,
 //          decoder->audio->num_channels, decoder->audio->samples_this_frame*decoder->audio->num_channels*2);
 

Modified: trunk/libmpcodecs/ad_libmad.c
==============================================================================
--- trunk/libmpcodecs/ad_libmad.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_libmad.c	Wed May 13 04:58:57 2009	(r29305)
@@ -22,10 +22,10 @@ LIBAD_EXTERN(libmad)
 
 typedef struct mad_decoder_s {
 
-  struct mad_synth  synth; 
+  struct mad_synth  synth;
   struct mad_stream stream;
   struct mad_frame  frame;
-  
+
   int have_frame;
 
   int               output_sampling_rate;
@@ -39,14 +39,14 @@ static int preinit(sh_audio_t *sh){
   mad_decoder_t *this = (mad_decoder_t *) malloc(sizeof(mad_decoder_t));
   memset(this,0,sizeof(mad_decoder_t));
   sh->context = this;
-  
+
   mad_synth_init  (&this->synth);
   mad_stream_init (&this->stream);
   mad_frame_init  (&this->frame);
-  
+
   sh->audio_out_minsize=2*4608;
   sh->audio_in_minsize=4096;
-  
+
   return 1;
 }
 
@@ -82,12 +82,12 @@ static int init(sh_audio_t *sh){
 
   this->have_frame=read_frame(sh);
   if(!this->have_frame) return 0; // failed to sync...
-  
+
   sh->channels=(this->frame.header.mode == MAD_MODE_SINGLE_CHANNEL) ? 1 : 2;
   sh->samplerate=this->frame.header.samplerate;
   sh->i_bps=this->frame.header.bitrate/8;
   sh->samplesize=2;
-  
+
   return 1;
 }
 
@@ -137,19 +137,19 @@ static int decode_audio(sh_audio_t *sh,u
 
 	  len+=2*nchannels*nsamples;
 	  buf+=2*nchannels*nsamples;
-	  
+
 	  while (nsamples--) {
 	    /* output sample(s) in 16-bit signed little-endian PCM */
-	    
+
 	    *output++ = scale(*left_ch++);
-	    
-	    if (nchannels == 2) 
+
+	    if (nchannels == 2)
 	      *output++ = scale(*right_ch++);
 
 	  }
 	}
   }
-  
+
   return len?len:-1;
 }
 

Modified: trunk/libmpcodecs/ad_libvorbis.c
==============================================================================
--- trunk/libmpcodecs/ad_libvorbis.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_libvorbis.c	Wed May 13 04:58:57 2009	(r29305)
@@ -9,7 +9,7 @@
 #include "ad_internal.h"
 #include "libaf/reorder_ch.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Ogg/Vorbis audio decoder",
 #ifdef CONFIG_TREMOR
@@ -162,7 +162,7 @@ static int init(sh_audio_t *sh)
     if(ov->rg_scale * rg_peak > 1.f)
       ov->rg_scale = 1.f / rg_peak;
     /* replaygain: security */
-    if(ov->rg_scale > 15.) 
+    if(ov->rg_scale > 15.)
       ov->rg_scale = 15.;
 #ifdef CONFIG_TREMOR
     ov->rg_scale_int = (int)(ov->rg_scale*64.f);
@@ -180,7 +180,7 @@ static int init(sh_audio_t *sh)
 //  printf("lower=%d  upper=%d  \n",(int)ov->vi.bitrate_lower,(int)ov->vi.bitrate_upper);
 
   // Setup the decoder
-  sh->channels=ov->vi.channels; 
+  sh->channels=ov->vi.channels;
   sh->samplerate=ov->vi.rate;
   sh->samplesize=2;
   // assume 128kbit if bitrate not specified in the header
@@ -208,7 +208,7 @@ static int control(sh_audio_t *sh,int cm
 {
     switch(cmd)
     {
-#if 0      
+#if 0
       case ADCTRL_RESYNC_STREAM:
 	  return CONTROL_TRUE;
       case ADCTRL_SKIP_FRAME:
@@ -249,7 +249,7 @@ static int decode_audio(sh_audio_t *sh,u
 	    int clipflag=0;
 	    int convsize=(maxlen-len)/(2*ov->vi.channels); // max size!
 	    int bout=((samples<convsize)?samples:convsize);
-	  
+
 	    if(bout<=0) break; // no buffer space
 
 	    /* convert floats to 16 bit signed ints (host order) and
@@ -307,7 +307,7 @@ static int decode_audio(sh_audio_t *sh,u
 	      }
 	    }
 	   }
-		
+
 	    if(clipflag)
 	      mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"Clipping in frame %ld\n",(long)(ov->vd.sequence));
 	    len+=2*ov->vi.channels*bout;

Modified: trunk/libmpcodecs/ad_mp3lib.c
==============================================================================
--- trunk/libmpcodecs/ad_mp3lib.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_mp3lib.c	Wed May 13 04:58:57 2009	(r29305)
@@ -6,7 +6,7 @@
 
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"MPEG layer-2, layer-3",
 	"mp3lib",

Modified: trunk/libmpcodecs/ad_mpc.c
==============================================================================
--- trunk/libmpcodecs/ad_mpc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_mpc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -16,7 +16,7 @@
 #include "libaf/af_format.h"
 #include "libvo/fastmemcpy.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Musepack audio decoder",
 	"mpcdec",
@@ -158,7 +158,7 @@ static int decode_audio(sh_audio_t *sh, 
   int status, len;
   MPC_SAMPLE_FORMAT *sample_buffer = (MPC_SAMPLE_FORMAT *)buf;
   mpc_uint32_t *packet = NULL;
-  
+
   context_t *cd = (context_t *) sh->context;
   if (maxlen < MAX_FRAMESIZE) {
     mp_msg(MSGT_DECAUDIO, MSGL_V, "maxlen too small in decode_audio\n");

Modified: trunk/libmpcodecs/ad_msadpcm.c
==============================================================================
--- trunk/libmpcodecs/ad_msadpcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_msadpcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -17,7 +17,7 @@
 #include "mpbswap.h"
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"MS ADPCM audio decoder",
 	"msadpcm",
@@ -60,7 +60,7 @@ static const int8_t ms_adapt_coeff2[] =
 static int preinit(sh_audio_t *sh_audio)
 {
   sh_audio->audio_out_minsize = sh_audio->wf->nBlockAlign * 4;
-  sh_audio->ds->ss_div = 
+  sh_audio->ds->ss_div =
     (sh_audio->wf->nBlockAlign - MS_ADPCM_PREAMBLE_SIZE) * 2;
   sh_audio->audio_in_minsize =
   sh_audio->ds->ss_mul = sh_audio->wf->nBlockAlign;
@@ -208,8 +208,8 @@ static int decode_audio(sh_audio_t *sh_a
 {
   int res;
   if (demux_read_data(sh_audio->ds, sh_audio->a_in_buffer,
-    sh_audio->ds->ss_mul) != 
-    sh_audio->ds->ss_mul) 
+    sh_audio->ds->ss_mul) !=
+    sh_audio->ds->ss_mul)
       return -1; /* EOF */
 
   res = ms_adpcm_decode_block(

Modified: trunk/libmpcodecs/ad_msgsm.c
==============================================================================
--- trunk/libmpcodecs/ad_msgsm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_msgsm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -5,7 +5,7 @@
 #include "config.h"
 #include "ad_internal.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"native GSM/MSGSM audio decoder",
 	"msgsm",

Modified: trunk/libmpcodecs/ad_pcm.c
==============================================================================
--- trunk/libmpcodecs/ad_pcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_pcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -7,7 +7,7 @@
 #include "libaf/af_format.h"
 #include "libaf/reorder_ch.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
 	"Uncompressed PCM audio decoder",
 	"pcm",

Modified: trunk/libmpcodecs/ad_qtaudio.c
==============================================================================
--- trunk/libmpcodecs/ad_qtaudio.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_qtaudio.c	Wed May 13 04:58:57 2009	(r29305)
@@ -45,14 +45,14 @@ typedef int (__cdecl* LPFUNC1)(long flag
 typedef int (__cdecl* LPFUNC2)(const SoundComponentData *, const SoundComponentData *,SoundConverter *);
 typedef int (__cdecl* LPFUNC3)(SoundConverter sc);
 typedef int (__cdecl* LPFUNC4)(void);
-typedef int (__cdecl* LPFUNC5)(SoundConverter sc, OSType selector,void * infoPtr);                          
-typedef int (__cdecl* LPFUNC6)(SoundConverter sc, 
+typedef int (__cdecl* LPFUNC5)(SoundConverter sc, OSType selector,void * infoPtr);
+typedef int (__cdecl* LPFUNC6)(SoundConverter sc,
 								unsigned long inputBytesTarget,
 								unsigned long *inputFrames,
 								unsigned long *inputBytes,
 								unsigned long *outputBytes );
-typedef int (__cdecl* LPFUNC7)(SoundConverter sc, 
-								const void    *inputPtr, 
+typedef int (__cdecl* LPFUNC7)(SoundConverter sc,
+								const void    *inputPtr,
 								unsigned long inputFrames,
 								void          *outputPtr,
 								unsigned long *outputFrames,
@@ -61,7 +61,7 @@ typedef int (__cdecl* LPFUNC8)(SoundConv
 								void      *outputPtr,
                                 unsigned long *outputFrames,
                                 unsigned long *outputBytes);
-typedef int (__cdecl* LPFUNC9)(SoundConverter         sc) ;                                
+typedef int (__cdecl* LPFUNC9)(SoundConverter         sc) ;
 
 static HINSTANCE qtime_qts; // handle to the preloaded quicktime.qts
 static HINSTANCE qtml_dll;
@@ -179,7 +179,7 @@ static int preinit(sh_audio_t *sh){
     EnterMovies();
 #else
     if(loader_init()) return 0; // failed to load DLL
-    
+
     mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"loader_init DONE!\n");
 
     error = InitializeQTML(6+16);
@@ -188,7 +188,7 @@ static int preinit(sh_audio_t *sh){
         return 0;
     }
 #endif
-    
+
 #if 1
 	OutputFormatInfo.flags = InputFormatInfo.flags = 0;
 	OutputFormatInfo.sampleCount = InputFormatInfo.sampleCount = 0;
@@ -219,7 +219,7 @@ static int preinit(sh_audio_t *sh){
     mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"InputBufferSize  = %li\n",InputBufferSize);
     mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"OutputBufferSize = %li\n",OutputBufferSize);
     mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"FramesToGet = %li\n",FramesToGet);
-    
+
     InFrameSize=(InputBufferSize+FramesToGet-1)/FramesToGet;
     OutFrameSize=OutputBufferSize/FramesToGet;
 
@@ -231,7 +231,7 @@ static int preinit(sh_audio_t *sh){
 
     sh->audio_out_minsize=OutputBufferSize;
     sh->audio_in_minsize=InputBufferSize;
-  
+
     sh->channels=sh->wf->nChannels;
     sh->samplerate=sh->wf->nSamplesPerSec;
     sh->samplesize=2; //(sh->wf->wBitsPerSample+7)/8;
@@ -286,7 +286,7 @@ static int decode_audio(sh_audio_t *sh,u
     unsigned long InputBufferSize=0; //size of the input buffer
     unsigned long ConvertedFrames=0;
     unsigned long ConvertedBytes=0;
-    
+
     FramesToGet=minlen/OutFrameSize;
     if(FramesToGet*OutFrameSize<minlen &&
        (FramesToGet+1)*OutFrameSize<=maxlen) ++FramesToGet;
@@ -305,7 +305,7 @@ static int decode_audio(sh_audio_t *sh,u
 	if(InputBufferSize>sh->a_in_buffer_len)
 	    FramesToGet=sh->a_in_buffer_len/InFrameSize; // not enough data!
     }
-    
+
 //    printf("\nSoundConverterConvertBuffer(myConv=%p,inbuf=%p,frames=%d,outbuf=%p,&convframes=%p,&convbytes=%p)\n",
 //	myConverter,sh->a_in_buffer,FramesToGet,buf,&ConvertedFrames,&ConvertedBytes);
     error = SoundConverterConvertBuffer(myConverter,sh->a_in_buffer,
@@ -313,7 +313,7 @@ static int decode_audio(sh_audio_t *sh,u
 //    printf("SoundConverterConvertBuffer:%i\n",error);
 //    printf("ConvertedFrames = %li\n",ConvertedFrames);
 //    printf("ConvertedBytes = %li\n",ConvertedBytes);
-    
+
 //    InputBufferSize=(ConvertedBytes/OutFrameSize)*InFrameSize; // FIXME!!
     InputBufferSize=FramesToGet*InFrameSize;
     sh->a_in_buffer_len-=InputBufferSize;

Modified: trunk/libmpcodecs/ad_realaud.c
==============================================================================
--- trunk/libmpcodecs/ad_realaud.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_realaud.c	Wed May 13 04:58:57 2009	(r29305)
@@ -80,7 +80,7 @@ typedef struct {
  Probably the linux .so-s were compiled with old GCC without setting
  packing, so it adds 2 bytes padding after the quality field.
  In windows it seems that there's no padding in it.
- 
+
  -- alex
 */
 
@@ -132,7 +132,7 @@ static int load_syms_linux(char *path)
     raSetFlavor = dlsym(handle, "RASetFlavor");
     raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath");
     raSetPwd = dlsym(handle, "RASetPwd"); // optional, used by SIPR
-    
+
     if (raCloseCodec && raDecode && raFreeDecoder &&
 	(raOpenCodec||raOpenCodec2) && raSetFlavor &&
 	/*raSetDLLAccessPath &&*/ raInitDecoder)
@@ -140,12 +140,12 @@ static int load_syms_linux(char *path)
 	rv_handle = handle;
 	return 1;
     }
-    
+
     mp_msg(MSGT_DECAUDIO,MSGL_WARN,"Cannot resolve symbols - incompatible dll: %s\n",path);
     dlclose(handle);
     return 0;
 }
-#endif    
+#endif
 
 #ifdef CONFIG_WIN32DLL
 
@@ -159,7 +159,7 @@ int WINAPI FreeLibrary(void *handle);
 static int load_syms_windows(char *path)
 {
     void *handle;
-    
+
     mp_msg(MSGT_DECVIDEO, MSGL_V, "opening win32 dll '%s'\n", path);
 #ifdef WIN32_LOADER
     Setup_LDT_Keeper();
@@ -180,7 +180,7 @@ static int load_syms_windows(char *path)
     wraSetFlavor = GetProcAddress(handle, "RASetFlavor");
     wraSetDLLAccessPath = GetProcAddress(handle, "SetDLLAccessPath");
     wraSetPwd = GetProcAddress(handle, "RASetPwd"); // optional, used by SIPR
-    
+
     if (wraCloseCodec && wraDecode && wraFreeDecoder &&
 	(wraOpenCodec || wraOpenCodec2) && wraSetFlavor &&
 	/*wraSetDLLAccessPath &&*/ wraInitDecoder)
@@ -189,11 +189,11 @@ static int load_syms_windows(char *path)
 	dll_type = 1;
 	return 1;
     }
-    
+
     mp_msg(MSGT_DECAUDIO,MSGL_WARN,"Cannot resolve symbols - incompatible dll: %s\n",path);
     FreeLibrary(handle);
     return 0;
-    
+
 }
 #endif
 
@@ -210,8 +210,8 @@ static int preinit(sh_audio_t *sh){
 
     /* first try to load linux dlls, if failed and we're supporting win32 dlls,
        then try to load the windows ones */
-      
-#ifdef HAVE_LIBDL       
+
+#ifdef HAVE_LIBDL
     if (strstr(sh->codec->dll,".dll") || !load_syms_linux(path))
 #endif
 #ifdef CONFIG_WIN32DLL
@@ -273,7 +273,7 @@ static int preinit(sh_audio_t *sh){
   sh->samplesize=sh->wf->wBitsPerSample/8;
   sh->channels=sh->wf->nChannels;
 
-  { 
+  {
     ra_init_t init_data={
 	sh->wf->nSamplesPerSec,
 	sh->wf->wBitsPerSample,
@@ -323,10 +323,10 @@ static int preinit(sh_audio_t *sh){
 #endif
 	raSetPwd(sh->context,"Ardubancel Quazanga"); // set password... lol.
     }
-  
+
   if (sh->format == mmioFOURCC('s','i','p','r')) {
     short flavor;
-    
+
     if (sh->wf->nAvgBytesPerSec > 1531)
         flavor = 3;
     else if (sh->wf->nAvgBytesPerSec > 937)
@@ -350,10 +350,10 @@ static int preinit(sh_audio_t *sh){
   } // sipr flavor
 
     sh->i_bps=sh->wf->nAvgBytesPerSec;
-    
+
   sh->audio_out_minsize=128000; // no idea how to get... :(
   sh->audio_in_minsize = sh->wf->nBlockAlign;
-  
+
   return 1; // return values: 1=OK 0=ERROR
 }
 
@@ -362,7 +362,7 @@ static int init(sh_audio_t *sh_audio){
 
   // you can store HANDLE or private struct pointer at sh->context
   // you can access WAVEFORMATEX header at sh->wf
-  
+
   // set sample format/rate parameters if you didn't do it in preinit() yet.
 
   return 1; // return values: 1=OK 0=ERROR
@@ -406,7 +406,7 @@ static int decode_audio(sh_audio_t *sh,u
       sh->a_in_buffer_size=
       sh->a_in_buffer_len=sh->wf->nBlockAlign;
   }
-  
+
 #ifdef CONFIG_WIN32DLL
     if (dll_type == 1)
       result=wraDecode(sh->context, sh->a_in_buffer+sh->a_in_buffer_size-sh->a_in_buffer_len, sh->wf->nBlockAlign,
@@ -416,7 +416,7 @@ static int decode_audio(sh_audio_t *sh,u
   result=raDecode(sh->context, sh->a_in_buffer+sh->a_in_buffer_size-sh->a_in_buffer_len, sh->wf->nBlockAlign,
        buf, &len, -1);
   sh->a_in_buffer_len-=sh->wf->nBlockAlign;
-  
+
 //  printf("radecode: %d bytes, res=0x%X  \n",len,result);
 
   return len; // return value: number of _bytes_ written to output buffer,

Modified: trunk/libmpcodecs/ad_sample.c
==============================================================================
--- trunk/libmpcodecs/ad_sample.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_sample.c	Wed May 13 04:58:57 2009	(r29305)
@@ -23,18 +23,18 @@ static int preinit(sh_audio_t *sh){
   // let's check if the driver is available, return 0 if not.
   // (you should do that if you use external lib(s) which is optional)
   ...
-  
+
   // there are default values set for buffering, but you can override them:
-  
+
   // minimum output buffer size (should be the uncompressed max. frame size)
   sh->audio_out_minsize=4*2*1024; // in this sample, we assume max 4 channels,
                                   // 2 bytes/sample and 1024 samples/frame
 				  // Default: 8192
-  
+
   // minimum input buffer size (set only if you need input buffering)
   // (should be the max compressed frame size)
   sh->audio_in_minsize=2048; // Default: 0 (no input buffer)
-  
+
   // if you set audio_in_minsize non-zero, the buffer will be allocated
   // before the init() call by the core, and you can access it via
   // pointer: sh->audio_in_buffer
@@ -43,17 +43,17 @@ static int preinit(sh_audio_t *sh){
   // the next few parameters define the audio format (channels, sample type,
   // in/out bitrate etc.). it's OK to move these to init() if you can set
   // them only after some initialization:
-  
+
   sh->samplesize=2;              // bytes (not bits!) per sample per channel
   sh->channels=2;                // number of channels
   sh->samplerate=44100;          // samplerate
   sh->sample_format=AF_FORMAT_S16_LE; // sample format, see libao2/afmt.h
-  
+
   sh->i_bps=64000/8; // input data rate (compressed bytes per second)
   // Note: if you have VBR or unknown input rate, set it to some common or
   // average value, instead of zero. it's used to predict time delay of
   // buffered compressed bytes, so it must be more-or-less real!
-  
+
 //sh->o_bps=...     // output data rate (uncompressed bytes per second)
   // Note: you DON'T need to set o_bps in most cases, as it defaults to:
   //   sh->samplesize*sh->channels*sh->samplerate;
@@ -62,7 +62,7 @@ static int preinit(sh_audio_t *sh){
   // set the compressed and uncompressed packet size (used by the demuxer):
   sh->ds->ss_mul = 34; // compressed packet size
   sh->ds->ss_div = 64; // samples per packet
-  
+
   return 1; // return values: 1=OK 0=ERROR
 }
 
@@ -71,7 +71,7 @@ static int init(sh_audio_t *sh_audio){
 
   // you can store HANDLE or private struct pointer at sh->context
   // you can access WAVEFORMATEX header at sh->wf
-  
+
   // set sample format/rate parameters if you didn't do it in preinit() yet.
 
   return 1; // return values: 1=OK 0=ERROR
@@ -86,7 +86,7 @@ static int decode_audio(sh_audio_t *sh_a
 
   // audio decoding. the most important thing :)
   // parameters you get:
-  //  buf = pointer to the output buffer, you have to store uncompressed 
+  //  buf = pointer to the output buffer, you have to store uncompressed
   //        samples there
   //  minlen = requested minimum size (in bytes!) of output. it's just a
   //        _recommendation_, you can decode more or less, it just tell you that
@@ -96,8 +96,8 @@ static int decode_audio(sh_audio_t *sh_a
   //        buffer, it's the upper-most limit!
   //        note: maxlen will be always greater or equal to sh->audio_out_minsize
 
-  // now, let's decode...  
-  
+  // now, let's decode...
+
   // you can read the compressed stream using the demux stream functions:
   //  demux_read_data(sh->ds, buffer, length) - read 'length' bytes to 'buffer'
   //  ds_get_packet(sh->ds, &buffer) - set ptr buffer to next data packet

Modified: trunk/libmpcodecs/ad_twin.c
==============================================================================
--- trunk/libmpcodecs/ad_twin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ad_twin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -11,7 +11,7 @@
 
 #include "help_mp.h"
 
-static ad_info_t info = 
+static ad_info_t info =
 {
     "TWinVQ decoder",
     "vqf",
@@ -204,7 +204,7 @@ static int bread(char   *data,    /* Out
     unsigned char mask, tmpdat;
     int  retval;
     vqf_priv_t *priv=sh->context;
-    
+
     /*--- Main operation ---*/
     retval = 0;
     mask = 0x1;
@@ -223,7 +223,7 @@ static int bread(char   *data,    /* Out
         tmpdat = (unsigned char)priv->buf[ibufadr];
         tmpdat >>= (BYTE_BIT-ibufbit-1);
         /* current data bit */
-        
+
         idata = ibits*size;                   /* output data address */
         data[idata] = (char)(tmpdat & mask);  /* set output data */
         for (icl=1; icl<size; icl++)
@@ -249,7 +249,7 @@ static int get_bstm(int *data,          
     unsigned    work;
     char    tmpbit[BITS_INT];
     int     retval;
-    
+
     if ( nbits > BITS_INT ){
         mp_msg(MSGT_DECAUDIO, MSGL_ERR, "get_bstm(): %d: %d Error.\n",
             nbits, BITS_INT);
@@ -346,7 +346,7 @@ static int GetPpcInfo( tvqConfInfo *cf, 
     int idiv, i_sup;
     int bitcount = 0;
     vqf_priv_t*priv=sh->context;
-    
+
     for ( idiv=0; idiv<cf->N_DIV_P; idiv++ ){
         bitcount += get_bstm(&(index->pls[idiv]), priv->bits_0[BLK_PPC][idiv],sh);       /*CB0*/
         bitcount += get_bstm(&(index->pls[idiv+cf->N_DIV_P]), priv->bits_1[BLK_PPC][idiv],sh);/*CB1*/
@@ -355,7 +355,7 @@ static int GetPpcInfo( tvqConfInfo *cf, 
         bitcount += get_bstm(&(index->pit[i_sup]), cf->BASF_BIT,sh);
         bitcount += get_bstm(&(index->pgain[i_sup]), cf->PGAIN_BIT,sh);
     }
-    
+
     return bitcount;
 }
 
@@ -372,7 +372,7 @@ static int GetEbcInfo( tvqConfInfo *cf, 
             }
         }
     }
-    
+
     return bitcount;
 }
 
@@ -385,7 +385,7 @@ static int vqf_read_frame(sh_audio_t *sh
     int numFixedBitsPerFrame = TvqGetNumFixedBitsPerFrame();
     int btype;
     vqf_priv_t *priv=sh->context;
-    
+
     /*--- Initialization ---*/
     variableBits = 0;
     bitcount = 0;
@@ -403,10 +403,10 @@ static int vqf_read_frame(sh_audio_t *sh
     cfg = &priv->cf.cfg[btype]; // set the block dependent paremeters table
 
     bitcount += variableBits;
-    
+
     /* Interleaved vector quantization */
     bitcount += GetVqInfo( cfg, priv->bits_0[btype], priv->bits_1[btype], variableBits, index, sh );
-    
+
     /* Bark-scale envelope */
     bitcount += GetBseInfo( &priv->cf, cfg, index, sh );
     /* Gain */
@@ -421,7 +421,7 @@ static int vqf_read_frame(sh_audio_t *sh
     if ( cfg->ebc_enable ){
         bitcount += GetEbcInfo( &priv->cf, cfg, index, sh );
     }
-    
+
     return bitcount == numFixedBitsPerFrame ? bitcount/8 : 0;
 }
 
@@ -434,7 +434,7 @@ static void frtobuf_s16(float out[],    
     unsigned ismp, ich;
     float *ptr;
     float dtmp;
-    
+
     for ( ich=0; ich<numChannels; ich++ ){
         ptr = out+ich*frameSize;
         for ( ismp=0; ismp<frameSize; ismp++ ){
@@ -461,7 +461,7 @@ static void frtobuf_float(float out[],  
     unsigned ismp, ich;
     float *ptr;
     float dtmp;
-    
+
     for ( ich=0; ich<numChannels; ich++ ){
         ptr = out+ich*frameSize;
         for ( ismp=0; ismp<frameSize; ismp++ ){

Modified: trunk/libmpcodecs/ae.c
==============================================================================
--- trunk/libmpcodecs/ae.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae.c	Wed May 13 04:58:57 2009	(r29305)
@@ -40,11 +40,11 @@ audio_encoder_t *new_audio_encoder(muxer
 	audio_encoder_t *encoder;
 	if(! params)
 		return NULL;
-	
+
 	encoder = (audio_encoder_t *) calloc(1, sizeof(audio_encoder_t));
 	memcpy(&encoder->params, params, sizeof(audio_encoding_params_t));
 	encoder->stream = stream;
-	
+
 	switch(stream->codec)
 	{
 		case ACODEC_PCM:
@@ -79,7 +79,7 @@ audio_encoder_t *new_audio_encoder(muxer
 			ris = 0;
 			break;
 	}
-	
+
 	if(! ris)
 	{
 		free(encoder);
@@ -92,7 +92,7 @@ audio_encoder_t *new_audio_encoder(muxer
 		free(encoder);
 		return NULL;
 	}
-	
+
 	encoder->codec = stream->codec;
 	return encoder;
 }

Modified: trunk/libmpcodecs/ae_faac.c
==============================================================================
--- trunk/libmpcodecs/ae_faac.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae_faac.c	Wed May 13 04:58:57 2009	(r29305)
@@ -18,7 +18,7 @@
 
 static faacEncHandle faac;
 static faacEncConfigurationPtr config = NULL;
-static int 
+static int
 	param_bitrate = 128,
 	param_quality = 0,
 	param_object_type = 1,
@@ -58,11 +58,11 @@ static int bind_faac(audio_encoder_t *en
 	mux_a->h.dwScale=encoder->params.samples_per_frame;
 	mux_a->wf->nSamplesPerSec=mux_a->h.dwRate;
 	mux_a->wf->nAvgBytesPerSec = encoder->params.bitrate / 8;
-	
+
 	mux_a->wf->nBlockAlign = mux_a->h.dwScale;
 	mux_a->h.dwSuggestedBufferSize = (encoder->params.audio_preload*mux_a->wf->nAvgBytesPerSec)/1000;
 	mux_a->h.dwSuggestedBufferSize -= mux_a->h.dwSuggestedBufferSize % mux_a->wf->nBlockAlign;
-	
+
 	mux_a->wf->cbSize = decoder_specific_len;
 	mux_a->wf->wBitsPerSample = 0; /* does not apply */
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->wID = 1;
@@ -70,23 +70,23 @@ static int bind_faac(audio_encoder_t *en
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nBlockSize = mux_a->wf->nBlockAlign;
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nFramesPerBlock = 1;
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nCodecDelay = 0;
-	
-	// Fix allocation    
+
+	// Fix allocation
 	mux_a->wf = realloc(mux_a->wf, sizeof(WAVEFORMATEX)+mux_a->wf->cbSize);
-	
+
 	if(config->inputFormat == FAAC_INPUT_FLOAT)
 		encoder->input_format = AF_FORMAT_FLOAT_NE;
 	else if(config->inputFormat == FAAC_INPUT_32BIT)
 		encoder->input_format = AF_FORMAT_S32_NE;
 	else
 		encoder->input_format = AF_FORMAT_S16_NE;
-		
+
 	encoder->min_buffer_size = mux_a->h.dwSuggestedBufferSize;
 	encoder->max_buffer_size = mux_a->h.dwSuggestedBufferSize*2;
 
 	if(decoder_specific_buffer && decoder_specific_len)
 		memcpy(mux_a->wf + 1, decoder_specific_buffer, decoder_specific_len);
-	
+
 	return 1;
 }
 
@@ -107,7 +107,7 @@ static int encode_faac(audio_encoder_t *
 
 	// len is divided by the number of bytes per sample
 	enc_frame_size = faacEncEncode(faac,  (int32_t*) src,  len / divisor, dest, max_size);
-	
+
 	return enc_frame_size;
 }
 
@@ -117,13 +117,13 @@ int close_faac(audio_encoder_t *encoder)
 }
 
 int mpae_init_faac(audio_encoder_t *encoder)
-{	
+{
 	if(encoder->params.channels < 1 || encoder->params.channels > 6 || (param_mpeg != 2 && param_mpeg != 4))
 	{
 		mp_msg(MSGT_MENCODER, MSGL_FATAL, "AE_FAAC, unsupported number of channels: %d, or mpeg version: %d, exit\n", encoder->params.channels, param_mpeg);
 		return 0;
 	}
-	
+
 	faac = faacEncOpen(encoder->params.sample_rate, encoder->params.channels, &samples_input, &max_bytes_output);
 	if(!faac)
 	{
@@ -143,7 +143,7 @@ int mpae_init_faac(audio_encoder_t *enco
 		config->quantqual = param_quality;
 	else
 		config->bitRate = param_bitrate / encoder->params.channels;
-	
+
 	if(param_format==33)
 	{
 		config->inputFormat = FAAC_INPUT_FLOAT;
@@ -172,26 +172,26 @@ int mpae_init_faac(audio_encoder_t *enco
 	config->bandWidth = param_cutoff;
 	if(encoder->params.channels == 6)
 		config->useLfe = 1;
-	
-	if(!faacEncSetConfiguration(faac, config)) 
+
+	if(!faacEncSetConfiguration(faac, config))
 	{
 		mp_msg(MSGT_MENCODER, MSGL_FATAL, "AE_FAAC, counldn't set specified parameters, exiting\n");
 		return 0;
 	}
-	
+
 	if(param_raw)
-		faacEncGetDecoderSpecificInfo(faac, &decoder_specific_buffer, &decoder_specific_len); 
+		faacEncGetDecoderSpecificInfo(faac, &decoder_specific_buffer, &decoder_specific_len);
 	else
 		decoder_specific_len = 0;
-		
+
 	encoder->params.bitrate = param_bitrate;
 	encoder->params.samples_per_frame = 1024;
 	encoder->decode_buffer_size =  divisor * samples_input;	//samples * 16 bits_per_sample
-	
+
 	encoder->bind = bind_faac;
 	encoder->get_frame_size = get_frame_size;
 	encoder->encode = encode_faac;
 	encoder->close = close_faac;
-	
+
 	return 1;
 }

Modified: trunk/libmpcodecs/ae_lame.c
==============================================================================
--- trunk/libmpcodecs/ae_lame.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae_lame.c	Wed May 13 04:58:57 2009	(r29305)
@@ -93,11 +93,11 @@ static int bind_lame(audio_encoder_t *en
     ((MPEGLAYER3WAVEFORMAT*)(mux_a->wf))->nBlockSize=encoder->params.samples_per_frame; // ???
     ((MPEGLAYER3WAVEFORMAT*)(mux_a->wf))->nFramesPerBlock=1;
     ((MPEGLAYER3WAVEFORMAT*)(mux_a->wf))->nCodecDelay=0;
-    
+
     encoder->input_format = AF_FORMAT_S16_NE;
     encoder->min_buffer_size = 4608;
     encoder->max_buffer_size = mux_a->h.dwRate * mux_a->wf->nChannels * 2;
-    
+
     return 1;
 }
 
@@ -187,14 +187,14 @@ int mpae_init_lame(audio_encoder_t *enco
     }
 #endif
     if(lame_init_params(lame) == -1) {
-        mp_msg(MSGT_MENCODER, MSGL_FATAL, MSGTR_LameCantInit); 
+        mp_msg(MSGT_MENCODER, MSGL_FATAL, MSGTR_LameCantInit);
         return 0;
     }
     if( mp_msg_test(MSGT_MENCODER,MSGL_V) ) {
         lame_print_config(lame);
         lame_print_internals(lame);
     }
-    
+
     encoder->bind = bind_lame;
     encoder->get_frame_size = get_frame_size;
     encoder->encode = encode_lame;
@@ -204,7 +204,7 @@ int mpae_init_lame(audio_encoder_t *enco
 }
 
 #ifdef CONFIG_MP3LAME_PRESET
-/* lame_presets_set 
+/* lame_presets_set
    taken out of presets_set in lame-3.93.1/frontend/parse.c and modified */
 static int  lame_presets_set( lame_t gfp, int fast, int cbr, const char* preset_name )
 {
@@ -264,7 +264,7 @@ static int  lame_presets_set( lame_t gfp
         return 0;
     }
 #endif
-    
+
     if (strcmp(preset_name, "standard") == 0) {
         if (fast > 0)
            lame_set_preset(gfp, STANDARD_FAST);
@@ -273,7 +273,7 @@ static int  lame_presets_set( lame_t gfp
 
         return 0;
     }
-    
+
     else if (strcmp(preset_name, "extreme") == 0){
         if (fast > 0)
            lame_set_preset(gfp, EXTREME_FAST);
@@ -282,12 +282,12 @@ static int  lame_presets_set( lame_t gfp
 
         return 0;
     }
-    					
-    else if (((strcmp(preset_name, "insane") == 0) || 
+
+    else if (((strcmp(preset_name, "insane") == 0) ||
               (strcmp(preset_name, "320"   ) == 0))   && (fast < 1)) {
 
         lame_set_preset(gfp, INSANE);
- 
+
         return 0;
     }
 

Modified: trunk/libmpcodecs/ae_lavc.c
==============================================================================
--- trunk/libmpcodecs/ae_lavc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae_lavc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,18 +42,18 @@ static int bind_lavc(audio_encoder_t *en
 	mux_a->h.dwRate = mux_a->wf->nAvgBytesPerSec;
 	if(lavc_actx->block_align)
 		mux_a->h.dwSampleSize = mux_a->h.dwScale = lavc_actx->block_align;
-	else 
+	else
 	{
 		mux_a->h.dwScale = (mux_a->wf->nAvgBytesPerSec * lavc_actx->frame_size)/ mux_a->wf->nSamplesPerSec; /* for cbr */
-	
+
 		if ((mux_a->wf->nAvgBytesPerSec *
-			lavc_actx->frame_size) % mux_a->wf->nSamplesPerSec) 
+			lavc_actx->frame_size) % mux_a->wf->nSamplesPerSec)
 		{
 			mux_a->h.dwScale = lavc_actx->frame_size;
 			mux_a->h.dwRate = lavc_actx->sample_rate;
 			mux_a->h.dwSampleSize = 0; // Blocksize not constant
-		} 
-		else 
+		}
+		else
 			mux_a->h.dwSampleSize = 0;
 	}
         if(mux_a->h.dwSampleSize)
@@ -63,7 +63,7 @@ static int bind_lavc(audio_encoder_t *en
 	mux_a->h.dwSuggestedBufferSize = (encoder->params.audio_preload*mux_a->wf->nAvgBytesPerSec)/1000;
 	mux_a->h.dwSuggestedBufferSize -= mux_a->h.dwSuggestedBufferSize % mux_a->wf->nBlockAlign;
 
-	switch(lavc_param_atag) 
+	switch(lavc_param_atag)
 	{
 		case 0x11: /* imaadpcm */
 			mux_a->wf->wBitsPerSample = 4;
@@ -91,13 +91,13 @@ static int bind_lavc(audio_encoder_t *en
 			break;
 	}
 
-	// Fix allocation    
+	// Fix allocation
 	mux_a->wf = realloc(mux_a->wf, sizeof(WAVEFORMATEX)+mux_a->wf->cbSize);
-	
+
 	encoder->input_format = AF_FORMAT_S16_NE;
 	encoder->min_buffer_size = mux_a->h.dwSuggestedBufferSize;
 	encoder->max_buffer_size = mux_a->h.dwSuggestedBufferSize*2;
-	
+
 	return 1;
 }
 
@@ -163,7 +163,7 @@ int mpae_init_lavc(audio_encoder_t *enco
 {
 	encoder->params.samples_per_frame = encoder->params.sample_rate;
 	encoder->params.bitrate = encoder->params.sample_rate * encoder->params.channels * 2 * 8;
-	
+
 	if(!lavc_param_acodec)
 	{
 		mp_msg(MSGT_MENCODER, MSGL_FATAL, MSGTR_NoLavcAudioCodecName);
@@ -202,7 +202,7 @@ int mpae_init_lavc(audio_encoder_t *enco
 		mp_msg(MSGT_MENCODER, MSGL_FATAL, MSGTR_CouldntAllocateLavcContext);
 		return 0;
 	}
-	
+
 	// put sample parameters
 	lavc_actx->channels = encoder->params.channels;
 	lavc_actx->sample_rate = encoder->params.sample_rate;
@@ -212,7 +212,7 @@ int mpae_init_lavc(audio_encoder_t *enco
                 lavc_actx->bit_rate = encoder->params.bitrate = lavc_param_abitrate * 1000;
         else
                 lavc_actx->bit_rate = encoder->params.bitrate = lavc_param_abitrate;
-	
+
 
 	/*
 	* Special case for adpcm_ima_wav.

Modified: trunk/libmpcodecs/ae_pcm.c
==============================================================================
--- trunk/libmpcodecs/ae_pcm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae_pcm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -28,11 +28,11 @@ static int bind_pcm(audio_encoder_t *enc
 	mux_a->wf->nAvgBytesPerSec=mux_a->h.dwSampleSize*mux_a->wf->nSamplesPerSec;
 	mux_a->wf->wBitsPerSample=16;
 	mux_a->wf->cbSize=0; // FIXME for l3codeca.acm
-	
+
 	encoder->input_format = (mux_a->wf->wBitsPerSample==8) ? AF_FORMAT_U8 : AF_FORMAT_S16_LE;
 	encoder->min_buffer_size = 16384;
 	encoder->max_buffer_size = mux_a->wf->nAvgBytesPerSec;
-	
+
 	return 1;
 }
 
@@ -70,14 +70,14 @@ int mpae_init_pcm(audio_encoder_t *encod
 {
 	encoder->params.samples_per_frame = encoder->params.sample_rate;
 	encoder->params.bitrate = encoder->params.sample_rate * encoder->params.channels * 2 * 8;
-	
+
 	encoder->decode_buffer_size = encoder->params.bitrate / 8;
 	encoder->bind = bind_pcm;
 	encoder->get_frame_size = get_frame_size;
 	encoder->set_decoded_len = set_decoded_len;
 	encoder->encode = encode_pcm;
 	encoder->close = close_pcm;
-	
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/ae_toolame.c
==============================================================================
--- trunk/libmpcodecs/ae_toolame.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae_toolame.c	Wed May 13 04:58:57 2009	(r29305)
@@ -15,16 +15,16 @@
 #include "libmpdemux/mp3_hdr.h"
 
 
-static int 
+static int
     param_bitrate = 192,
     param_psy = 3,
     param_maxvbr = 0,
     param_errprot = 0,
     param_debug = 0;
-    
+
 static float param_vbr = 0;
 static char *param_mode = "stereo";
-    
+
 m_option_t toolameopts_conf[] = {
 	{"br", &param_bitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
 	{"mode", &param_mode, CONF_TYPE_STRING, 0, 0, 0, NULL},
@@ -40,13 +40,13 @@ m_option_t toolameopts_conf[] = {
 static int bind_toolame(audio_encoder_t *encoder, muxer_stream_t *mux_a)
 {
 	mpae_toolame_ctx *ctx = (mpae_toolame_ctx *) encoder->priv;
-	
+
 	mux_a->wf = malloc(sizeof(WAVEFORMATEX)+256);
 	mux_a->wf->wFormatTag = 0x50;
 	mux_a->wf->nChannels = encoder->params.channels;
 	mux_a->wf->nSamplesPerSec = encoder->params.sample_rate;
 	mux_a->wf->nAvgBytesPerSec = 125 * encoder->params.bitrate;
-	
+
 	if(ctx->vbr || ((mux_a->wf->nAvgBytesPerSec * encoder->params.samples_per_frame) % mux_a->wf->nSamplesPerSec))
 	{
 		mux_a->h.dwScale = encoder->params.samples_per_frame;
@@ -62,7 +62,7 @@ static int bind_toolame(audio_encoder_t 
 	mux_a->wf->nBlockAlign = mux_a->h.dwScale;
 	mux_a->h.dwSuggestedBufferSize = (encoder->params.audio_preload*mux_a->wf->nAvgBytesPerSec)/1000;
 	mux_a->h.dwSuggestedBufferSize -= mux_a->h.dwSuggestedBufferSize % mux_a->wf->nBlockAlign;
-	
+
 	mux_a->wf->cbSize = 0; //12;
 	mux_a->wf->wBitsPerSample = 0; /* does not apply */
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->wID = 1;
@@ -70,10 +70,10 @@ static int bind_toolame(audio_encoder_t 
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nBlockSize = mux_a->wf->nBlockAlign;
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nFramesPerBlock = 1;
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nCodecDelay = 0;
-	
-	// Fix allocation    
+
+	// Fix allocation
 	mux_a->wf = realloc(mux_a->wf, sizeof(WAVEFORMATEX)+mux_a->wf->cbSize);
-	
+
 	encoder->input_format = AF_FORMAT_S16_NE;
 	encoder->min_buffer_size = mux_a->h.dwSuggestedBufferSize;
 	encoder->max_buffer_size = mux_a->h.dwSuggestedBufferSize*2;
@@ -86,7 +86,7 @@ static int encode_toolame(audio_encoder_
 	mpae_toolame_ctx *ctx = (mpae_toolame_ctx *)encoder->priv;
 	int ret_size = 0, r2, i, nsamples;
 	int16_t *buffer;
-	
+
 	nsamples = len / (2*encoder->params.channels);
 	buffer = (uint16_t *) src;
 	for(i = 0; i < nsamples; i++)
@@ -94,9 +94,9 @@ static int encode_toolame(audio_encoder_
 	    ctx->left_pcm[i] = buffer[ctx->channels * i];
 	    ctx->right_pcm[i] = buffer[(ctx->channels * i) + (ctx->channels - 1)];
 	}
-	
+
 	toolame_encode_buffer(ctx->toolame_ctx, ctx->left_pcm, ctx->right_pcm, nsamples, dest, max_size, &ret_size);
-	r2 = mp_decode_mp3_header(dest);	
+	r2 = mp_decode_mp3_header(dest);
 	mp_msg(MSGT_MENCODER, MSGL_DBG2, "\nSIZE: %d, max: %d, r2: %d\n", ret_size, max_size, r2);
 	if(r2 > 0)
 		ret_size = r2;
@@ -125,7 +125,7 @@ int mpae_init_toolame(audio_encoder_t *e
 {
 	int mode;
 	mpae_toolame_ctx *ctx = NULL;
-	
+
 	if(encoder->params.channels == 1)
 	{
 		mp_msg(MSGT_MENCODER, MSGL_INFO, "ae_toolame, 1 audio channel, forcing mono mode\n");
@@ -146,14 +146,14 @@ int mpae_init_toolame(audio_encoder_t *e
 	}
 	else
 		mp_msg(MSGT_MENCODER, MSGL_ERR, "ae_toolame, Toolame can't encode > 2 channels, exiting\n");
-	
+
 	ctx = (mpae_toolame_ctx *) calloc(1, sizeof(mpae_toolame_ctx));
 	if(ctx == NULL)
 	{
 		mp_msg(MSGT_MENCODER, MSGL_ERR, "ae_toolame, couldn't alloc a %d bytes context, exiting\n", sizeof(mpae_toolame_ctx));
 		return 0;
 	}
-	
+
 	ctx->toolame_ctx = toolame_init();
 	if(ctx->toolame_ctx == NULL)
 	{
@@ -167,20 +167,20 @@ int mpae_init_toolame(audio_encoder_t *e
 
 	if(toolame_setMode(ctx->toolame_ctx, mode) != 0)
 		return 0;
-	
+
 	if(toolame_setPsymodel(ctx->toolame_ctx, param_psy) != 0)
 		return 0;
-	
+
 	if(toolame_setSampleFreq(ctx->toolame_ctx, encoder->params.sample_rate) != 0)
 		return 0;
-	
+
 	if(toolame_setBitrate(ctx->toolame_ctx, param_bitrate) != 0)
 		return 0;
-	
+
 	if(param_errprot)
 		if(toolame_setErrorProtection(ctx->toolame_ctx, TRUE) != 0)
 			return 0;
-	
+
 	if(param_vbr != 0)
 	{
 		if(toolame_setVBR(ctx->toolame_ctx, TRUE) != 0)
@@ -196,24 +196,24 @@ int mpae_init_toolame(audio_encoder_t *e
 		}
 		ctx->vbr = 1;
 	}
-	
+
 	if(toolame_setVerbosity(ctx->toolame_ctx, param_debug) != 0)
 		return 0;
-	
+
 	if(toolame_init_params(ctx->toolame_ctx) != 0)
 		return 0;
-	
+
 	ctx->bitrate = param_bitrate;
 	encoder->params.bitrate = ctx->bitrate;
 	encoder->params.samples_per_frame = 1152;
 	encoder->priv = ctx;
 	encoder->decode_buffer_size = 1152 * 2 * encoder->params.channels;
-	
+
 	encoder->bind = bind_toolame;
 	encoder->get_frame_size = get_frame_size;
 	encoder->encode = encode_toolame;
 	encoder->close = close_toolame;
-	
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/ae_twolame.c
==============================================================================
--- trunk/libmpcodecs/ae_twolame.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ae_twolame.c	Wed May 13 04:58:57 2009	(r29305)
@@ -15,16 +15,16 @@
 #include "libmpdemux/mp3_hdr.h"
 
 
-static int 
+static int
     param_bitrate = 192,
     param_psy = 3,
     param_maxvbr = 0,
     param_errprot = 0,
     param_debug = 0;
-    
+
 static float param_vbr = 0;
 static char *param_mode = "stereo";
-    
+
 m_option_t twolameopts_conf[] = {
 	{"br", &param_bitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
 	{"mode", &param_mode, CONF_TYPE_STRING, 0, 0, 0, NULL},
@@ -40,13 +40,13 @@ m_option_t twolameopts_conf[] = {
 static int bind_twolame(audio_encoder_t *encoder, muxer_stream_t *mux_a)
 {
 	mpae_twolame_ctx *ctx = encoder->priv;
-	
+
 	mux_a->wf = malloc(sizeof(WAVEFORMATEX)+256);
 	mux_a->wf->wFormatTag = 0x50;
 	mux_a->wf->nChannels = encoder->params.channels;
 	mux_a->wf->nSamplesPerSec = encoder->params.sample_rate;
 	mux_a->wf->nAvgBytesPerSec = encoder->params.bitrate / 8;
-	
+
 	if(ctx->vbr || ((mux_a->wf->nAvgBytesPerSec * encoder->params.samples_per_frame) % mux_a->wf->nSamplesPerSec))
 	{
 		mux_a->h.dwScale = encoder->params.samples_per_frame;
@@ -62,7 +62,7 @@ static int bind_twolame(audio_encoder_t 
 	mux_a->wf->nBlockAlign = mux_a->h.dwScale;
 	mux_a->h.dwSuggestedBufferSize = (encoder->params.audio_preload*mux_a->wf->nAvgBytesPerSec)/1000;
 	mux_a->h.dwSuggestedBufferSize -= mux_a->h.dwSuggestedBufferSize % mux_a->wf->nBlockAlign;
-	
+
 	mux_a->wf->cbSize = 0; //12;
 	mux_a->wf->wBitsPerSample = 0; /* does not apply */
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->wID = 1;
@@ -70,10 +70,10 @@ static int bind_twolame(audio_encoder_t 
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nBlockSize = mux_a->wf->nBlockAlign;
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nFramesPerBlock = 1;
 	((MPEGLAYER3WAVEFORMAT *) (mux_a->wf))->nCodecDelay = 0;
-	
-	// Fix allocation    
+
+	// Fix allocation
 	mux_a->wf = realloc(mux_a->wf, sizeof(WAVEFORMATEX)+mux_a->wf->cbSize);
-	
+
 	encoder->input_format = AF_FORMAT_S16_NE;
 	encoder->min_buffer_size = mux_a->h.dwSuggestedBufferSize;
 	encoder->max_buffer_size = mux_a->h.dwSuggestedBufferSize*2;
@@ -85,10 +85,10 @@ static int encode_twolame(audio_encoder_
 {
 	mpae_twolame_ctx *ctx = encoder->priv;
 	int ret_size = 0, r2;
-	
+
 	len /= (2*encoder->params.channels);
 	ret_size = twolame_encode_buffer_interleaved(ctx->twolame_ctx, src, len, dest, max_size);
-	r2 = mp_decode_mp3_header(dest);	
+	r2 = mp_decode_mp3_header(dest);
 	mp_msg(MSGT_MENCODER, MSGL_DBG2, "\nSIZE: %d, max: %d, r2: %d\n", ret_size, max_size, r2);
 	if(r2 > 0)
 		ret_size = r2;
@@ -117,7 +117,7 @@ int mpae_init_twolame(audio_encoder_t *e
 {
 	int mode;
 	mpae_twolame_ctx *ctx = NULL;
-	
+
 	if(encoder->params.channels == 1)
 	{
 		mp_msg(MSGT_MENCODER, MSGL_INFO, "ae_twolame, 1 audio channel, forcing mono mode\n");
@@ -138,14 +138,14 @@ int mpae_init_twolame(audio_encoder_t *e
 	}
 	else
 		mp_msg(MSGT_MENCODER, MSGL_ERR, "ae_twolame, Twolame can't encode > 2 channels, exiting\n");
-	
+
 	ctx = calloc(1, sizeof(mpae_twolame_ctx));
 	if(ctx == NULL)
 	{
 		mp_msg(MSGT_MENCODER, MSGL_ERR, "ae_twolame, couldn't alloc a %d bytes context, exiting\n", sizeof(mpae_twolame_ctx));
 		return 0;
 	}
-	
+
 	ctx->twolame_ctx = twolame_init();
 	if(ctx->twolame_ctx == NULL)
 	{
@@ -159,28 +159,28 @@ int mpae_init_twolame(audio_encoder_t *e
 		return 0;
 	if(twolame_set_mode(ctx->twolame_ctx, mode) != 0)
 		return 0;
-		
+
 	if(twolame_set_in_samplerate(ctx->twolame_ctx, encoder->params.sample_rate) != 0)
 		return 0;
-		
+
 	if(twolame_set_out_samplerate(ctx->twolame_ctx, encoder->params.sample_rate) != 0)
 		return 0;
-	
+
 	if(encoder->params.sample_rate < 32000)
 		twolame_set_version(ctx->twolame_ctx, TWOLAME_MPEG2);
 	else
 		twolame_set_version(ctx->twolame_ctx, TWOLAME_MPEG1);
-	
+
 	if(twolame_set_psymodel(ctx->twolame_ctx, param_psy) != 0)
 		return 0;
-	
+
 	if(twolame_set_bitrate(ctx->twolame_ctx, param_bitrate) != 0)
 		return 0;
-	
+
 	if(param_errprot)
 		if(twolame_set_error_protection(ctx->twolame_ctx, TRUE) != 0)
 			return 0;
-	
+
 	if(param_vbr != 0)
 	{
 		if(twolame_set_VBR(ctx->twolame_ctx, TRUE) != 0)
@@ -196,23 +196,23 @@ int mpae_init_twolame(audio_encoder_t *e
 		}
 		ctx->vbr = 1;
 	}
-	
+
 	if(twolame_set_verbosity(ctx->twolame_ctx, param_debug) != 0)
 		return 0;
-	
+
 	if(twolame_init_params(ctx->twolame_ctx) != 0)
 		return 0;
-	
+
 	encoder->params.bitrate = param_bitrate * 1000;
 	encoder->params.samples_per_frame = 1152;
 	encoder->priv = ctx;
 	encoder->decode_buffer_size = 1152 * 2 * encoder->params.channels;
-	
+
 	encoder->bind = bind_twolame;
 	encoder->get_frame_size = get_frame_size;
 	encoder->encode = encode_twolame;
 	encoder->close = close_twolame;
-	
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/mp_image.c
==============================================================================
--- trunk/libmpcodecs/mp_image.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/mp_image.c	Wed May 13 04:58:57 2009	(r29305)
@@ -45,7 +45,7 @@ mp_image_t* alloc_mpi(int w, int h, unsi
     if(!mpi->stride[0]) mpi->stride[0]=mpi->width*mpi->bpp/8;
   }
   mpi->flags|=MP_IMGFLAG_ALLOCATED;
-  
+
   return mpi;
 }
 
@@ -58,7 +58,7 @@ void copy_mpi(mp_image_t *dmpi, mp_image
     memcpy_pic(dmpi->planes[2], mpi->planes[2], mpi->chroma_width, mpi->chroma_height,
 	       dmpi->stride[2],mpi->stride[2]);
   } else {
-    memcpy_pic(dmpi->planes[0],mpi->planes[0], 
+    memcpy_pic(dmpi->planes[0],mpi->planes[0],
 	       mpi->w*(dmpi->bpp/8), mpi->h,
 	       dmpi->stride[0],mpi->stride[0]);
   }

Modified: trunk/libmpcodecs/native/rtjpegn.c
==============================================================================
--- trunk/libmpcodecs/native/rtjpegn.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/native/rtjpegn.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,6 +1,6 @@
-/* 
+/*
    RTjpeg (C) Justin Schoeman 1998 (justin at suntiger.ee.up.ac.za)
-   
+
    With modifications by:
    (c) 1998, 1999 by Joerg Walter <trouble at moes.pmnet.uni-oldenburg.de>
    and
@@ -55,14 +55,14 @@ static const unsigned char RTjpeg_ZZ[64]
 63 };
 
 static const __u64 RTjpeg_aan_tab[64]={
-4294967296ULL, 5957222912ULL, 5611718144ULL, 5050464768ULL, 4294967296ULL, 3374581504ULL, 2324432128ULL, 1184891264ULL, 
-5957222912ULL, 8263040512ULL, 7783580160ULL, 7005009920ULL, 5957222912ULL, 4680582144ULL, 3224107520ULL, 1643641088ULL, 
-5611718144ULL, 7783580160ULL, 7331904512ULL, 6598688768ULL, 5611718144ULL, 4408998912ULL, 3036936960ULL, 1548224000ULL, 
-5050464768ULL, 7005009920ULL, 6598688768ULL, 5938608128ULL, 5050464768ULL, 3968072960ULL, 2733115392ULL, 1393296000ULL, 
-4294967296ULL, 5957222912ULL, 5611718144ULL, 5050464768ULL, 4294967296ULL, 3374581504ULL, 2324432128ULL, 1184891264ULL, 
-3374581504ULL, 4680582144ULL, 4408998912ULL, 3968072960ULL, 3374581504ULL, 2651326208ULL, 1826357504ULL, 931136000ULL, 
-2324432128ULL, 3224107520ULL, 3036936960ULL, 2733115392ULL, 2324432128ULL, 1826357504ULL, 1258030336ULL, 641204288ULL, 
-1184891264ULL, 1643641088ULL, 1548224000ULL, 1393296000ULL, 1184891264ULL, 931136000ULL, 641204288ULL, 326894240ULL, 
+4294967296ULL, 5957222912ULL, 5611718144ULL, 5050464768ULL, 4294967296ULL, 3374581504ULL, 2324432128ULL, 1184891264ULL,
+5957222912ULL, 8263040512ULL, 7783580160ULL, 7005009920ULL, 5957222912ULL, 4680582144ULL, 3224107520ULL, 1643641088ULL,
+5611718144ULL, 7783580160ULL, 7331904512ULL, 6598688768ULL, 5611718144ULL, 4408998912ULL, 3036936960ULL, 1548224000ULL,
+5050464768ULL, 7005009920ULL, 6598688768ULL, 5938608128ULL, 5050464768ULL, 3968072960ULL, 2733115392ULL, 1393296000ULL,
+4294967296ULL, 5957222912ULL, 5611718144ULL, 5050464768ULL, 4294967296ULL, 3374581504ULL, 2324432128ULL, 1184891264ULL,
+3374581504ULL, 4680582144ULL, 4408998912ULL, 3968072960ULL, 3374581504ULL, 2651326208ULL, 1826357504ULL, 931136000ULL,
+2324432128ULL, 3224107520ULL, 3036936960ULL, 2733115392ULL, 2324432128ULL, 1826357504ULL, 1258030336ULL, 641204288ULL,
+1184891264ULL, 1643641088ULL, 1548224000ULL, 1393296000ULL, 1184891264ULL, 931136000ULL, 641204288ULL, 326894240ULL,
 };
 
 #if !HAVE_MMX
@@ -115,7 +115,7 @@ static const unsigned char RTjpeg_chrom_
     99,  99,  99,  99,  99,  99,  99,  99
  };
 
-#ifdef BETTERCOMPRESSION 
+#ifdef BETTERCOMPRESSION
 
 /*--------------------------------------------------*/
 /*  better encoding, but needs a lot more cpu time  */
@@ -160,19 +160,19 @@ static int RTjpeg_b2s(__s16 *data, __s8 
  bitten = ((unsigned char)ci) << 2;
 
  if (ci==0) {
-   ((__u8*)strm)[1]= bitten; 
+   ((__u8*)strm)[1]= bitten;
    co = 2;
    return (int)co;
  }
- 
- /* bitoff=0 because the high 6bit contain first non zero position */ 
+
+ /* bitoff=0 because the high 6bit contain first non zero position */
  bitoff = 0;
  co = 1;
 
  for(; ci>0; ci--) {
 
    ZZvalue = data[RTjpeg_ZZ[ci]];
-   
+
    switch(ZZvalue) {
    case 0:
 	break;
@@ -189,21 +189,21 @@ static int RTjpeg_b2s(__s16 *data, __s8 
    }
 
    if( bitoff == 0 ) {
-      ((__u8*)strm)[co]= bitten; 
+      ((__u8*)strm)[co]= bitten;
       bitten = 0;
-      bitoff = 8; 
+      bitoff = 8;
       co++;
    } /* "fall through" */
-   bitoff-=2; 
+   bitoff-=2;
 
  }
- 
+
  /* ci must be 0 */
  if(bitoff != 6) {
 
-      ((__u8*)strm)[co]= bitten; 
+      ((__u8*)strm)[co]= bitten;
       co++;
-     
+
  }
  goto BAUCHWEH;
 
@@ -218,7 +218,7 @@ HERZWEH:
    break;
  case 2:
  case 0:
-   ((__u8*)strm)[co]= bitten; 
+   ((__u8*)strm)[co]= bitten;
    bitoff = 4;
    co++;
    bitten = 0; // clear half nibble values in bitten
@@ -234,48 +234,48 @@ HERZWEH:
    if( (ZZvalue > 7) || (ZZvalue < -7) ) {
         bitten |= (0x08<<bitoff);
 	goto HIRNWEH;
-   } 
-   
+   }
+
    bitten |= (ZZvalue&0xf)<<bitoff;
 
    if( bitoff == 0 ) {
-      ((__u8*)strm)[co]= bitten; 
+      ((__u8*)strm)[co]= bitten;
       bitten = 0;
       bitoff = 8;
       co++;
    } /* "fall thru" */
    bitoff-=4;
  }
- 
+
  /* ci must be 0 */
  if( bitoff == 0 ) {
-    ((__u8*)strm)[co]= bitten; 
+    ((__u8*)strm)[co]= bitten;
     co++;
- }  
+ }
  goto BAUCHWEH;
 
 HIRNWEH:
 
- ((__u8*)strm)[co]= bitten; 
+ ((__u8*)strm)[co]= bitten;
  co++;
-  
+
 
  /* bitting is over now we bite */
  for(; ci>0; ci--) {
 
    ZZvalue = data[RTjpeg_ZZ[ci]];
 
-   if(ZZvalue>0) 
+   if(ZZvalue>0)
    {
      strm[co++]=(__s8)(ZZvalue>127)?127:ZZvalue;
-   } 
-   else 
+   }
+   else
    {
      strm[co++]=(__s8)(ZZvalue<-128)?-128:ZZvalue;
    }
 
  }
- 
+
 
 BAUCHWEH:
   /* we gotoo much now we are ill */
@@ -312,39 +312,39 @@ static int RTjpeg_b2s(__s16 *data, __s8 
 
  (__u8)strm[0]=(__u8)(data[RTjpeg_ZZ[0]]>254) ? 254:((data[RTjpeg_ZZ[0]]<0)?0:data[RTjpeg_ZZ[0]]);
 
- for(ci=1; ci<=bt8; ci++) 
+ for(ci=1; ci<=bt8; ci++)
  {
 	ZZvalue = data[RTjpeg_ZZ[ci]];
 
-   if(ZZvalue>0) 
+   if(ZZvalue>0)
 	{
      strm[co++]=(__s8)(ZZvalue>127)?127:ZZvalue;
-   } 
-	else 
+   }
+	else
 	{
      strm[co++]=(__s8)(ZZvalue<-128)?-128:ZZvalue;
    }
  }
 
- for(; ci<64; ci++) 
+ for(; ci<64; ci++)
  {
   ZZvalue = data[RTjpeg_ZZ[ci]];
 
   if(ZZvalue>0)
   {
    strm[co++]=(__s8)(ZZvalue>63)?63:ZZvalue;
-  } 
+  }
   else if(ZZvalue<0)
   {
    strm[co++]=(__s8)(ZZvalue<-64)?-64:ZZvalue;
-  } 
+  }
   else /* compress zeros */
   {
    tmp=ci;
    do
    {
     ci++;
-   } 
+   }
 	while((ci<64)&&(data[RTjpeg_ZZ[ci]]==0));
 
    strm[co++]=(__s8)(63+(ci-tmp));
@@ -367,7 +367,7 @@ static int RTjpeg_s2b(__s16 *data, __s8 
   i=RTjpeg_ZZ[co];
   data[i]=strm[ci++]*qtbl[i];
  }
- 
+
  for(; co<64; co++)
  {
   if(strm[ci]>63)
@@ -391,7 +391,7 @@ static void RTjpeg_quant_init(void)
 {
  int i;
  __s16 *qtbl;
- 
+
  qtbl=(__s16 *)RTjpeg_lqt;
  for(i=0; i<64; i++)qtbl[i]=(__s16)RTjpeg_lqt[i];
 
@@ -406,36 +406,36 @@ static void RTjpeg_quant(__s16 *block, _
 {
  int i;
  mmx_t *bl, *ql;
- 
+
  ql=(mmx_t *)qtbl;
  bl=(mmx_t *)block;
- 
+
  movq_m2r(RTjpeg_ones, mm6);
  movq_m2r(RTjpeg_half, mm7);
 
- for(i=16; i; i--) 
+ for(i=16; i; i--)
  {
   movq_m2r(*(ql++), mm0); /* quant vals (4) */
   movq_m2r(*bl, mm2); /* block vals (4) */
   movq_r2r(mm0, mm1);
   movq_r2r(mm2, mm3);
-  
+
   punpcklwd_r2r(mm6, mm0); /*           1 qb 1 qa */
   punpckhwd_r2r(mm6, mm1); /* 1 qd 1 qc */
-  
+
   punpcklwd_r2r(mm7, mm2); /*                   32767 bb 32767 ba */
   punpckhwd_r2r(mm7, mm3); /* 32767 bd 32767 bc */
-  
+
   pmaddwd_r2r(mm2, mm0); /*                         32767+bb*qb 32767+ba*qa */
   pmaddwd_r2r(mm3, mm1); /* 32767+bd*qd 32767+bc*qc */
-  
+
   psrad_i2r(16, mm0);
   psrad_i2r(16, mm1);
-  
+
   packssdw_r2r(mm1, mm0);
-  
+
   movq_r2m(mm0, *(bl++));
-  
+
  }
 }
 #else
@@ -446,7 +446,7 @@ static void RTjpeg_quant_init(void)
 static void RTjpeg_quant(__s16 *block, __s32 *qtbl)
 {
  int i;
- 
+
  for(i=0; i<64; i++)
    block[i]=(__s16)((block[i]*qtbl[i]+32767)>>16);
 }
@@ -477,7 +477,7 @@ static mmx_t RTjpeg_zero ={0x00000000000
 static void RTjpeg_dct_init(void)
 {
  int i;
- 
+
  for(i=0; i<64; i++)
  {
   RTjpeg_lqt[i]=(((__u64)RTjpeg_lqt[i]<<32)/RTjpeg_aan_tab[i]);
@@ -507,19 +507,19 @@ static void RTjpeg_dctY(__u8 *idata, __s
     tmp5 = idataptr[2] - idataptr[5];
     tmp3 = idataptr[3] + idataptr[4];
     tmp4 = idataptr[3] - idataptr[4];
-    
+
     tmp10 = (tmp0 + tmp3);	/* phase 2 */
     tmp13 = tmp0 - tmp3;
     tmp11 = (tmp1 + tmp2);
     tmp12 = tmp1 - tmp2;
-    
+
     wsptr[0] = (tmp10 + tmp11)<<8; /* phase 3 */
     wsptr[4] = (tmp10 - tmp11)<<8;
-    
+
     z1 = D_MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */
     wsptr[2] = (tmp13<<8) + z1;	/* phase 5 */
     wsptr[6] = (tmp13<<8) - z1;
-    
+
     tmp10 = tmp4 + tmp5;	/* phase 2 */
     tmp11 = tmp5 + tmp6;
     tmp12 = tmp6 + tmp7;
@@ -552,15 +552,15 @@ static void RTjpeg_dctY(__u8 *idata, __s
     tmp5 = wsptr[16] - wsptr[40];
     tmp3 = wsptr[24] + wsptr[32];
     tmp4 = wsptr[24] - wsptr[32];
-    
+
     tmp10 = tmp0 + tmp3;	/* phase 2 */
     tmp13 = tmp0 - tmp3;
     tmp11 = tmp1 + tmp2;
     tmp12 = tmp1 - tmp2;
-    
+
     odataptr[0] = DESCALE10(tmp10 + tmp11); /* phase 3 */
     odataptr[32] = DESCALE10(tmp10 - tmp11);
-    
+
     z1 = D_MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */
     odataptr[16] = DESCALE20((tmp13<<8) + z1); /* phase 5 */
     odataptr[48] = DESCALE20((tmp13<<8) - z1);
@@ -595,85 +595,85 @@ static void RTjpeg_dctY(__u8 *idata, __s
    movq_m2r(RTjpeg_zero, mm2);
 
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+1));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+2));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+3));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+4));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+5));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+6));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+7));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+8));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+9));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+10));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+11));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+12));
 
 	punpckhbw_r2r(mm2, mm1);
 	movq_r2m(mm1, *(dataptr+13));
-	
+
 	idata2 += rskip;
 
-	movq_m2r(*idata2, mm0);		 
-	movq_r2r(mm0, mm1);		 			
+	movq_m2r(*idata2, mm0);
+	movq_r2r(mm0, mm1);
 
 	punpcklbw_r2r(mm2, mm0);
 	movq_r2m(mm0, *(dataptr+14));
@@ -686,15 +686,15 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	movq_m2r(*(dataptr+9), mm7);		 	// m03:m02|m01:m00 - first line (line 4)and copy into m5
 
 	movq_m2r(*(dataptr+13), mm6);	    	// m23:m22|m21:m20 - third line (line 6)and copy into m2
-	movq_r2r(mm7, mm5);		 			
+	movq_r2r(mm7, mm5);
 
 	punpcklwd_m2r(*(dataptr+11), mm7); 	// m11:m01|m10:m00 - interleave first and second lines
-	movq_r2r(mm6, mm2);						 
+	movq_r2r(mm6, mm2);
 
 	punpcklwd_m2r(*(dataptr+15), mm6);  // m31:m21|m30:m20 - interleave third and fourth lines
 	movq_r2r(mm7, mm1);
 
-	movq_m2r(*(dataptr+11), mm3);	      // m13:m13|m11:m10 - second line	 
+	movq_m2r(*(dataptr+11), mm3);	      // m13:m13|m11:m10 - second line
 	punpckldq_r2r(mm6, mm7);				// m30:m20|m10:m00 - interleave to produce result 1
 
 	movq_m2r(*(dataptr+15), mm0);	      // m13:m13|m11:m10 - fourth line
@@ -702,7 +702,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 
 	movq_r2m(mm7,*(dataptr+9));			// write result 1
 	punpckhwd_r2r(mm3, mm5);				// m13:m03|m12:m02 - interleave first and second lines
-	
+
 	movq_r2m(mm1,*(dataptr+11));			// write result 2
 	punpckhwd_r2r(mm0, mm2);				// m33:m23|m32:m22 - interleave third and fourth lines
 
@@ -728,7 +728,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	movq_r2r(mm0, mm4);
 
 	//
-	movq_m2r(*(dataptr+8), mm1);			// n03:n02|n01:n00 - first line 
+	movq_m2r(*(dataptr+8), mm1);			// n03:n02|n01:n00 - first line
 	punpckldq_r2r(mm2, mm0);				// m30:m20|m10:m00 - interleave to produce first result
 
 	movq_m2r(*(dataptr+12), mm3);			// n23:n22|n21:n20 - third line
@@ -843,14 +843,14 @@ static void RTjpeg_dctY(__u8 *idata, __s
    movq_r2r(mm0, mm3);
 
 	psllw_i2r(2, mm6);			// m8 * 2^2
-	paddw_r2r(mm1, mm0);		
+	paddw_r2r(mm1, mm0);
 
 	pmulhw_m2r(RTjpeg_C4, mm6);			// z1
-	psubw_r2r(mm1, mm3);		
+	psubw_r2r(mm1, mm3);
 
    movq_r2m(mm0, *dataptr);
    movq_r2r(mm7, mm0);
-   
+
     /* Odd part */
    movq_r2m(mm3, *(dataptr+8));
 	paddw_r2r(mm5, mm4);						// tmp10
@@ -872,7 +872,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	psubw_r2r(mm2, mm1);						// tmp10 - tmp12
 	psllw_i2r(2, mm4);			// m8 * 2^2
 
-	movq_m2r(RTjpeg_C2mC6, mm0);		
+	movq_m2r(RTjpeg_C2mC6, mm0);
 	psllw_i2r(2, mm1);
 
 	pmulhw_m2r(RTjpeg_C6, mm1);			// z5
@@ -972,7 +972,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 
    movq_r2m(mm0, *(dataptr+1)); 			//save y0
 	movq_r2r(mm7, mm0);						// copy tmp13
-  
+
 	/* odd part */
 
    movq_r2m(mm3, *(dataptr+9)); 			//save y4
@@ -999,14 +999,14 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	psllw_i2r(2, mm1);			// shift (tmp10-tmp12)
 
 	pmulhw_m2r(RTjpeg_C6, mm1);    		// z5
-	psllw_i2r(2, mm5);			// prepare for multiply 
+	psllw_i2r(2, mm5);			// prepare for multiply
 
 	pmulhw_r2r(mm0, mm4);					// multiply by converted real
 
 	/* stage 5 */
 
 	pmulhw_m2r(RTjpeg_C4, mm5);			// z3
-	psllw_i2r(2, mm2);			// prepare for multiply 
+	psllw_i2r(2, mm2);			// prepare for multiply
 
 	pmulhw_m2r(RTjpeg_C2pC6, mm2);		// multiply
 	movq_r2r(mm3, mm0);						// copy tmp7
@@ -1032,7 +1032,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 
    movq_r2m(mm6, *(dataptr+3)); 			//save y1
 	psubw_r2r(mm2, mm0);						// y7
-	
+
 /************************************************************************************************
 					Start of Transpose
 ************************************************************************************************/
@@ -1077,9 +1077,9 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	punpcklwd_m2r(*(dataptr+7), mm2);  	// m31:m21|m30:m20 - interleave third and fourth lines
 	movq_r2r(mm0, mm4);						// copy first intermediate result
 
-	
 
-	movq_m2r(*(dataptr+8), mm1);			// n03:n02|n01:n00 - first line 
+
+	movq_m2r(*(dataptr+8), mm1);			// n03:n02|n01:n00 - first line
 	punpckldq_r2r(mm2, mm0);				// m30:m20|m10:m00 - interleave to produce first result
 
 	movq_m2r(*(dataptr+12), mm3);			// n23:n22|n21:n20 - third line
@@ -1106,7 +1106,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	movq_r2r(mm1, mm4);						// copy second intermediate result
 
 	movq_r2m(mm6, *(dataptr+12));			// write result 3 out
-	punpckldq_r2r(mm3, mm1);				// 
+	punpckldq_r2r(mm3, mm1);				//
 
 	punpckhwd_m2r(*(dataptr+14), mm0);  // n33:n23|n32:n22 - interleave third and fourth lines
 	movq_r2r(mm2, mm6);						// copy second intermediate result
@@ -1133,7 +1133,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 
 	punpcklwd_m2r(*(dataptr+2), mm0);  	// m11:m01|m10:m00 - interleave first and second lines
 	movq_r2r(mm7, mm4);						// copy third line
-	
+
 	punpcklwd_m2r(*(dataptr+6), mm7);  	// m31:m21|m30:m20 - interleave third and fourth lines
 	movq_r2r(mm0, mm1);						// copy first intermediate result
 
@@ -1193,14 +1193,14 @@ static void RTjpeg_dctY(__u8 *idata, __s
    movq_r2r(mm0, mm3);
 
 	psllw_i2r(2, mm6);			// m8 * 2^2
-	paddw_r2r(mm1, mm0);		
+	paddw_r2r(mm1, mm0);
 
 	pmulhw_m2r(RTjpeg_C4, mm6);			// z1
-	psubw_r2r(mm1, mm3);		
+	psubw_r2r(mm1, mm3);
 
    movq_r2m(mm0, *dataptr);
    movq_r2r(mm7, mm0);
-   
+
     /* Odd part */
    movq_r2m(mm3, *(dataptr+8));
 	paddw_r2r(mm5, mm4);						// tmp10
@@ -1321,7 +1321,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
 
    movq_r2m(mm0, *(dataptr+1)); 			//save y0
 	movq_r2r(mm7, mm0);						// copy tmp13
-  
+
 	/* odd part */
 
    movq_r2m(mm3, *(dataptr+9)); 			//save y4
@@ -1348,14 +1348,14 @@ static void RTjpeg_dctY(__u8 *idata, __s
 	psllw_i2r(2, mm1);			// shift (tmp10-tmp12)
 
 	pmulhw_m2r(RTjpeg_C6, mm1);    		// z5
-	psllw_i2r(2, mm5);			// prepare for multiply 
+	psllw_i2r(2, mm5);			// prepare for multiply
 
 	pmulhw_r2r(mm0, mm4);					// multiply by converted real
 
 	/* stage 5 */
 
 	pmulhw_m2r(RTjpeg_C4, mm5);			// z3
-	psllw_i2r(2, mm2);			// prepare for multiply 
+	psllw_i2r(2, mm2);			// prepare for multiply
 
 	pmulhw_m2r(RTjpeg_C2pC6, mm2);		// multiply
 	movq_r2r(mm3, mm0);						// copy tmp7
@@ -1385,7 +1385,7 @@ static void RTjpeg_dctY(__u8 *idata, __s
    movq_r2m(mm6, *(dataptr+3)); 			//save y1
 
    movq_r2m(mm0, *(dataptr+15)); 		//save y7
-	
+
 
 #endif
 }
@@ -1411,12 +1411,12 @@ Initialise all the cache-aliged data blo
 static void RTjpeg_init_data(void)
 {
  unsigned long dptr;
- 
+
  dptr=(unsigned long)&(RTjpeg_alldata[0]);
  dptr+=32;
  dptr=dptr>>5;
  dptr=dptr<<5; /* cache align data */
- 
+
  RTjpeg_block=(__s16 *)dptr;
  dptr+=sizeof(__s16)*64;
  RTjpeg_lqt=(__s32 *)dptr;
@@ -1443,7 +1443,7 @@ static void RTjpeg_init_Q(__u8 Q)
 {
  int i;
  __u64 qual;
- 
+
  qual=(__u64)Q<<(32-7); /* 32 bit FP, 255=2, 0=0 */
 
  for(i=0; i<64; i++)
@@ -1457,7 +1457,7 @@ static void RTjpeg_init_Q(__u8 Q)
   RTjpeg_lqt[i]=((1<<16)/RTjpeg_liqt[i])>>3;
   RTjpeg_cqt[i]=((1<<16)/RTjpeg_ciqt[i])>>3;
  }
- 
+
  RTjpeg_lb8=0;
  while(RTjpeg_liqt[RTjpeg_ZZ[++RTjpeg_lb8]]<=8);
  RTjpeg_lb8--;
@@ -1475,21 +1475,21 @@ External Function
 
 Initialise compression.
 
-Input: buf -> pointer to 128 ints for quant values store to pass back to 
+Input: buf -> pointer to 128 ints for quant values store to pass back to
                 init_decompress.
        width -> width of image
        height -> height of image
        Q -> quality factor (192=best, 32=worst)
-       
+
 */
 
 void RTjpeg_init_compress(__u32 *buf, int width, int height, __u8 Q)
 {
  int i;
  __u64 qual;
- 
+
  RTjpeg_init_data();
- 
+
  RTjpeg_width=width;
  RTjpeg_height=height;
  RTjpeg_Ywidth = RTjpeg_width>>3;
@@ -1510,14 +1510,14 @@ void RTjpeg_init_compress(__u32 *buf, in
   RTjpeg_lqt[i]=((1<<16)/RTjpeg_liqt[i])>>3;
   RTjpeg_cqt[i]=((1<<16)/RTjpeg_ciqt[i])>>3;
  }
- 
+
  RTjpeg_lb8=0;
  while(RTjpeg_liqt[RTjpeg_ZZ[++RTjpeg_lb8]]<=8);
  RTjpeg_lb8--;
  RTjpeg_cb8=0;
  while(RTjpeg_ciqt[RTjpeg_ZZ[++RTjpeg_cb8]]<=8);
  RTjpeg_cb8--;
- 
+
  RTjpeg_dct_init();
  RTjpeg_quant_init();
 
@@ -1573,7 +1573,7 @@ int RTjpeg_compressYUV420(__s8 *sp, unsi
   bp1+=RTjpeg_width<<4;
   bp2+=RTjpeg_width<<2;
   bp3+=RTjpeg_width<<2;
-			 
+
  }
 #if HAVE_MMX
  emms();
@@ -1617,11 +1617,11 @@ static int RTjpeg_bcomp(__s16 *old, mmx_
  mmx_t *mblock=(mmx_t *)RTjpeg_block;
  volatile mmx_t result;
  static mmx_t neg={0xffffffffffffffffULL};
- 
+
  movq_m2r(*mask, mm7);
  movq_m2r(neg, mm6);
  pxor_r2r(mm5, mm5);
- 
+
  for(i=0; i<8; i++)
  {
   movq_m2r(*(mblock++), mm0);
@@ -1644,7 +1644,7 @@ static int RTjpeg_bcomp(__s16 *old, mmx_
   			por_r2r(mm3, mm5);
  }
  movq_r2m(mm5, result);
- 
+
  if(result.q)
  {
   return 0;
@@ -1683,7 +1683,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
  RTjpeg_lmask=lmask;
  RTjpeg_cmask=cmask;
 #endif
- 
+
  sb=sp;
  block=RTjpeg_old;
 /* Y */
@@ -1696,7 +1696,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
    if(RTjpeg_bcomp(block, &RTjpeg_lmask))
    {
     *((__u8 *)sp++)=255;
-   } 
+   }
 	else sp+=RTjpeg_b2s(RTjpeg_block, sp, RTjpeg_lb8);
    block+=64;
 
@@ -1705,7 +1705,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
    if(RTjpeg_bcomp(block, &RTjpeg_lmask))
    {
     *((__u8 *)sp++)=255;
-   } 
+   }
 	else sp+=RTjpeg_b2s(RTjpeg_block, sp, RTjpeg_lb8);
    block+=64;
 
@@ -1714,7 +1714,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
    if(RTjpeg_bcomp(block, &RTjpeg_lmask))
    {
     *((__u8 *)sp++)=255;
-   } 
+   }
 	else sp+=RTjpeg_b2s(RTjpeg_block, sp, RTjpeg_lb8);
    block+=64;
 
@@ -1723,7 +1723,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
    if(RTjpeg_bcomp(block, &RTjpeg_lmask))
    {
     *((__u8 *)sp++)=255;
-   } 
+   }
 	else sp+=RTjpeg_b2s(RTjpeg_block, sp, RTjpeg_lb8);
    block+=64;
 
@@ -1732,7 +1732,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
    if(RTjpeg_bcomp(block, &RTjpeg_cmask))
    {
     *((__u8 *)sp++)=255;
-   } 
+   }
 	else sp+=RTjpeg_b2s(RTjpeg_block, sp, RTjpeg_cb8);
    block+=64;
 
@@ -1741,7 +1741,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
    if(RTjpeg_bcomp(block, &RTjpeg_cmask))
    {
     *((__u8 *)sp++)=255;
-   } 
+   }
 	else sp+=RTjpeg_b2s(RTjpeg_block, sp, RTjpeg_cb8);
    block+=64;
   }
@@ -1749,7 +1749,7 @@ int RTjpeg_mcompressYUV420(__s8 *sp, uns
   bp1+=RTjpeg_width<<4;
   bp2+=RTjpeg_width<<2;
   bp3+=RTjpeg_width<<2;
-			 
+
  }
 #if HAVE_MMX
  emms();

Modified: trunk/libmpcodecs/native/rtjpegn.h
==============================================================================
--- trunk/libmpcodecs/native/rtjpegn.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/native/rtjpegn.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,6 +1,6 @@
-/* 
+/*
    RTjpeg (C) Justin Schoeman 1998 (justin at suntiger.ee.up.ac.za)
-   
+
    With modifications by:
    (c) 1998, 1999 by Joerg Walter <trouble at moes.pmnet.uni-oldenburg.de>
    and

Modified: trunk/libmpcodecs/native/xa_gsm.c
==============================================================================
--- trunk/libmpcodecs/native/xa_gsm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/native/xa_gsm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -74,7 +74,7 @@ word b;
 
 /****************/
 static word gsm_asr (a,n)
-word a; 
+word a;
 int n;
 {
         if (n >= 16) return -(a < 0);
@@ -91,7 +91,7 @@ int n;
 
 /****************/
 static word gsm_asl (a,n)
-word a; 
+word a;
 int n;
 {
         if (n >= 16) return 0;
@@ -151,7 +151,7 @@ register word   * xMc;  /* [0..12]      
 word            mant;
 word            exp;
 register word   * xMp;  /* [0..12]                      OUT     */
-/* 
+/*
  *  This part is for decoding the RPE sequence of coded xMc[0..12]
  *  samples to obtain the xMp[0..12] array.  Table 4.6 is used to get
  *  the mantissa of xmaxc (FAC[0..7]).
@@ -161,7 +161,7 @@ register word   * xMp;  /* [0..12]      
         word    temp, temp1, temp2, temp3;
         longword        ltmp;
 
-        assert( mant >= 0 && mant <= 7 ); 
+        assert( mant >= 0 && mant <= 7 );
 
         temp1 = gsm_FAC[ mant ];        /* see 4.2-15 for mant */
         temp2 = gsm_sub( 6, exp );      /* see 4.2-15 for exp  */
@@ -248,7 +248,7 @@ register word 	* s;
   register longword	ltmp;	/* for GSM_ADD */
   register word		tmp;
 
-  for (k = 160; k--; s++) 
+  for (k = 160; k--; s++)
   {
     tmp = GSM_MULT_R( msr, 28180 );
     msr = GSM_ADD(*s, tmp);  	   /* Deemphasis 	     */
@@ -285,7 +285,7 @@ register word           * drp;     /* [-
          */
         brp = gsm_QLB[ bcr ];
 
-        /*  Computation of the reconstructed short term residual 
+        /*  Computation of the reconstructed short term residual
          *  signal drp[0..39]
          */
         assert(brp != MIN_WORD);
@@ -398,7 +398,7 @@ word    * LARpp;        /* out: decoded 
 }
 
 /* 4.2.9 */
-/* Computation of the quantized reflection coefficients 
+/* Computation of the quantized reflection coefficients
  */
 
 /* 4.2.9.1  Interpolation of the LARpp[1..8] to get the LARp[1..8]
@@ -564,7 +564,7 @@ word		*s;		/* [0..159]		OUT 	*/
   word		erp[40], wt[160];
   word		*drp = S->dp0 + 120;
 
-  for (j=0; j <= 3; j++, xmaxcr++, bcr++, Ncr++, Mcr++, xMcr += 13) 
+  for (j=0; j <= 3; j++, xmaxcr++, bcr++, Ncr++, Mcr++, xMcr += 13)
   {
     Gsm_RPE_Decoding( S, *xmaxcr, *Mcr, xMcr, erp );
     Gsm_Long_Term_Synthesis_Filtering( S, *Ncr, *bcr, erp, drp );
@@ -583,7 +583,7 @@ word		*s;		/* [0..159]		OUT 	*/
  ****-------------------------------------------------------------------****/
 void XA_MSGSM_Decoder(unsigned char *ibuf,unsigned short *obuf)
 { word sr;
-  word  LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];	
+  word  LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
 
   sr = *ibuf++;
 
@@ -773,7 +773,7 @@ void XA_MSGSM_Decoder(unsigned char *ibu
   xmaxc[2] = sr & 0x3f;  sr >>= 6;
   xmc[26] = sr & 0x7;  sr >>= 3;
   xmc[27] = sr & 0x7;  sr >>= 3;
-  sr |= (word)*ibuf++ << 1;	
+  sr |= (word)*ibuf++ << 1;
   xmc[28] = sr & 0x7;  sr >>= 3;
   xmc[29] = sr & 0x7;  sr >>= 3;
   xmc[30] = sr & 0x7;  sr >>= 3;
@@ -790,7 +790,7 @@ void XA_MSGSM_Decoder(unsigned char *ibu
   xmc[38] = sr & 0x7;  sr >>= 3;
   sr = *ibuf++;
   Nc[3] = sr & 0x7f;  sr >>= 7;
-  sr |= (word)*ibuf++ << 1;		
+  sr |= (word)*ibuf++ << 1;
   bc[3] = sr & 0x3;  sr >>= 2;
   Mc[3] = sr & 0x3;  sr >>= 2;
   sr |= (word)*ibuf++ << 5;
@@ -816,7 +816,7 @@ void XA_MSGSM_Decoder(unsigned char *ibu
   GSM_Decode(&gsm_state, LARc, Nc, bc, Mc, xmaxc, xmc, &obuf[160]);
 
   /* Return number of source bytes consumed and output samples produced */
-//  *icnt = 65;		
+//  *icnt = 65;
 //  *ocnt = 320;
   return;
 }
@@ -824,7 +824,7 @@ void XA_MSGSM_Decoder(unsigned char *ibu
 #define GSM_MAGIC 0xd
 
 void XA_GSM_Decoder(unsigned char *ibuf,unsigned short *obuf)
-{ word  LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];	
+{ word  LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
 
 	/* Sanity */
   if (((*ibuf >> 4) & 0x0F) != GSM_MAGIC)

Modified: trunk/libmpcodecs/native/xa_gsm_int.h
==============================================================================
--- trunk/libmpcodecs/native/xa_gsm_int.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/native/xa_gsm_int.h	Wed May 13 04:58:57 2009	(r29305)
@@ -76,10 +76,10 @@ typedef struct {
 
 
 /*
- *  Inlined functions from add.h 
+ *  Inlined functions from add.h
  */
 
-/* 
+/*
  * #define GSM_MULT_R(a, b) (* word a, word b, !(a == b == MIN_WORD) *)	\
  *	(0x0FFFF & SASR(((longword)(a) * (longword)(b) + 16384), 15))
  */

Modified: trunk/libmpcodecs/pullup.c
==============================================================================
--- trunk/libmpcodecs/pullup.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/pullup.c	Wed May 13 04:58:57 2009	(r29305)
@@ -18,9 +18,9 @@ static int diff_y_mmx(unsigned char *a, 
 		"movl $4, %%ecx \n\t"
 		"pxor %%mm4, %%mm4 \n\t"
 		"pxor %%mm7, %%mm7 \n\t"
-		
+
 		"1: \n\t"
-		
+
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
 		"add  %%"REG_a", %%"REG_S" \n\t"
@@ -38,7 +38,7 @@ static int diff_y_mmx(unsigned char *a, 
 		"paddw %%mm1, %%mm4 \n\t"
 		"paddw %%mm2, %%mm4 \n\t"
 		"paddw %%mm3, %%mm4 \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz 1b \n\t"
 
@@ -66,7 +66,7 @@ static int licomb_y_mmx(unsigned char *a
 		"pxor %%mm6, %%mm6 \n\t"
 		"pxor %%mm7, %%mm7 \n\t"
 		"sub  %%"REG_a", %%"REG_D" \n\t"
-		
+
 		"2: \n\t"
 
 		"movq (%%"REG_D"), %%mm0 \n\t"
@@ -96,7 +96,7 @@ static int licomb_y_mmx(unsigned char *a
 		"psubusw %%mm2, %%mm1 \n\t"
 		"paddw %%mm0, %%mm6 \n\t"
 		"paddw %%mm1, %%mm6 \n\t"
-		
+
 		"movq (%%"REG_D",%%"REG_a"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm1 \n\t"
 		"punpcklbw %%mm7, %%mm0 \n\t"
@@ -110,7 +110,7 @@ static int licomb_y_mmx(unsigned char *a
 		"psubusw %%mm2, %%mm1 \n\t"
 		"paddw %%mm0, %%mm6 \n\t"
 		"paddw %%mm1, %%mm6 \n\t"
-		
+
 		"movq (%%"REG_D",%%"REG_a"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm1 \n\t"
 		"punpckhbw %%mm7, %%mm0 \n\t"
@@ -129,7 +129,7 @@ static int licomb_y_mmx(unsigned char *a
 		"add  %%"REG_a", %%"REG_D" \n\t"
 		"decl %%ecx \n\t"
 		"jnz 2b \n\t"
-		
+
 		"movq %%mm6, %%mm5 \n\t"
 		"punpcklwd %%mm7, %%mm6 \n\t"
 		"punpckhwd %%mm7, %%mm5 \n\t"
@@ -138,7 +138,7 @@ static int licomb_y_mmx(unsigned char *a
 		"psrlq $32, %%mm5 \n\t"
 		"movd %%mm5, %%edx \n\t"
 		"addl %%edx, %%eax \n\t"
-		
+
 		"emms \n\t"
 		: "=a" (ret)
 		: "S" (a), "D" (b), "a" (s)
@@ -154,9 +154,9 @@ static int var_y_mmx(unsigned char *a, u
 		"movl $3, %%ecx \n\t"
 		"pxor %%mm4, %%mm4 \n\t"
 		"pxor %%mm7, %%mm7 \n\t"
-		
+
 		"1: \n\t"
-		
+
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
 		"movq (%%"REG_S",%%"REG_a"), %%mm1 \n\t"
@@ -173,7 +173,7 @@ static int var_y_mmx(unsigned char *a, u
 		"paddw %%mm1, %%mm4 \n\t"
 		"paddw %%mm2, %%mm4 \n\t"
 		"paddw %%mm3, %%mm4 \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz 1b \n\t"
 
@@ -297,7 +297,7 @@ struct pullup_buffer *pullup_get_buffer(
 		alloc_buffer(c, c->last->buffer);
 		return pullup_lock_buffer(c->last->buffer, parity);
 	}
-	
+
 	/* Prefer a buffer with both fields open */
 	for (i = 0; i < c->nbuffers; i++) {
 		if (c->buffers[i].lock[0]) continue;
@@ -307,7 +307,7 @@ struct pullup_buffer *pullup_get_buffer(
 	}
 
 	if (parity == 2) return 0;
-	
+
 	/* Search for any half-free buffer */
 	for (i = 0; i < c->nbuffers; i++) {
 		if (((parity+1) & 1) && c->buffers[i].lock[0]) continue;
@@ -315,7 +315,7 @@ struct pullup_buffer *pullup_get_buffer(
 		alloc_buffer(c, &c->buffers[i]);
 		return pullup_lock_buffer(&c->buffers[i], parity);
 	}
-	
+
 	return 0;
 }
 
@@ -399,10 +399,10 @@ static void check_field_queue(struct pul
 void pullup_submit_field(struct pullup_context *c, struct pullup_buffer *b, int parity)
 {
 	struct pullup_field *f;
-	
+
 	/* Grow the circular list if needed */
 	check_field_queue(c);
-	
+
 	/* Cannot have two fields of same parity in a row; drop the new one */
 	if (c->last && c->last->parity == parity) return;
 
@@ -426,7 +426,7 @@ void pullup_submit_field(struct pullup_c
 void pullup_flush_fields(struct pullup_context *c)
 {
 	struct pullup_field *f;
-	
+
 	for (f = c->first; f && f != c->head; f = f->next) {
 		pullup_release_buffer(f->buffer, f->parity);
 		f->buffer = 0;
@@ -455,7 +455,7 @@ static int queue_length(struct pullup_fi
 {
 	int count = 1;
 	struct pullup_field *f;
-	
+
 	if (!begin || !end) return 0;
 	for (f = begin; f != end; f = f->next) count++;
 	return count;
@@ -567,7 +567,7 @@ static int decide_frame_length(struct pu
 	struct pullup_field *f1 = f0->next;
 	struct pullup_field *f2 = f1->next;
 	int l;
-	
+
 	if (queue_length(c->first, c->last) < 4) return 0;
 	foo(c);
 
@@ -575,7 +575,7 @@ static int decide_frame_length(struct pu
 
 	l = find_first_break(f0, 3);
 	if (l == 1 && c->strict_breaks < 0) l = 0;
-	
+
 	switch (l) {
 	case 1:
 		if (c->strict_breaks < 1 && f0->affinity == 1 && f1->affinity == -1)
@@ -653,7 +653,7 @@ struct pullup_frame *pullup_get_frame(st
 		c->first->buffer = 0;
 		c->first = c->first->next;
 	}
-	
+
 	if (n == 1) {
 		fr->ofields[fr->parity] = fr->ifields[0];
 		fr->ofields[fr->parity^1] = 0;
@@ -669,7 +669,7 @@ struct pullup_frame *pullup_get_frame(st
 	}
 	pullup_lock_buffer(fr->ofields[0], 0);
 	pullup_lock_buffer(fr->ofields[1], 1);
-	
+
 	if (fr->ofields[0] == fr->ofields[1]) {
 		fr->buffer = fr->ofields[0];
 		pullup_lock_buffer(fr->buffer, 2);
@@ -756,7 +756,7 @@ void pullup_init_context(struct pullup_c
 	c->metric_h = (c->h[mp] - ((c->junk_top + c->junk_bottom) << 1)) >> 3;
 	c->metric_offset = c->junk_left*c->bpp[mp] + (c->junk_top<<1)*c->stride[mp];
 	c->metric_len = c->metric_w * c->metric_h;
-	
+
 	c->head = make_field_queue(c, 8);
 
 	c->frame = calloc(1, sizeof (struct pullup_frame));

Modified: trunk/libmpcodecs/vd.c
==============================================================================
--- trunk/libmpcodecs/vd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -115,11 +115,11 @@ float movie_aspect=-1.0;
 int vo_flags=0;
 int vd_use_slices=1;
 
-/** global variables for gamma, brightness, contrast, saturation and hue 
+/** global variables for gamma, brightness, contrast, saturation and hue
     modified by mplayer.c and gui/mplayer/gtk/eq.c:
     ranges -100 - 100
     1000 if the vo default should be used
-*/   
+*/
 int vo_gamma_gamma = 1000;
 int vo_gamma_brightness = 1000;
 int vo_gamma_contrast = 1000;
@@ -151,7 +151,7 @@ int mpcodecs_config_vo(sh_video_t *sh, i
     mp_msg(MSGT_DECVIDEO,MSGL_INFO,MSGTR_VoConfigRequest,w,h,vo_format_name(preferred_outfmt));
 
 //    if(!vf) return 1; // temp hack
-    
+
     if(get_video_quality_max(sh)<=0 && divx_quality){
 	// user wants postprocess but no pp filter yet:
 	sh->vfilter=vf=vf_open_filter(vf,"pp",NULL);
@@ -202,7 +202,7 @@ csp_again:
 	    palette=-1;
 	    vf=vf_open_filter(vf,"palette",NULL);
 	    goto csp_again;
-	} else 
+	} else
 	{ // sws failed, if the last filter (vf_vo) support MPEGPES try to append vf_lavc
 	     vf_instance_t* vo, *vp = NULL, *ve;
 	     // Remove the scale filter if we added it ourself

Modified: trunk/libmpcodecs/vd_dmo.c
==============================================================================
--- trunk/libmpcodecs/vd_dmo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_dmo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -65,16 +65,16 @@ static void uninit(sh_video_t *sh){
 static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
     mp_image_t* mpi;
     if(len<=0) return NULL; // skipped frame
-    
+
     if(flags&3){
 	// framedrop:
         DMO_VideoDecoder_DecodeInternal(sh->context, data, len, 0, 0);
 	return NULL;
     }
-    
-    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, 0 /*MP_IMGFLAG_ACCEPT_STRIDE*/, 
+
+    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, 0 /*MP_IMGFLAG_ACCEPT_STRIDE*/,
 	sh->disp_w, sh->disp_h);
-    
+
     if(!mpi){	// temporary!
 	mp_msg(MSGT_DECVIDEO,MSGL_WARN,MSGTR_MPCODECS_CouldntAllocateImageForCinepakCodec);
 	return NULL;

Modified: trunk/libmpcodecs/vd_dshow.c
==============================================================================
--- trunk/libmpcodecs/vd_dshow.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_dshow.c	Wed May 13 04:58:57 2009	(r29305)
@@ -94,16 +94,16 @@ static void uninit(sh_video_t *sh){
 static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
     mp_image_t* mpi;
     if(len<=0) return NULL; // skipped frame
-    
+
     if(flags&3){
 	// framedrop:
         DS_VideoDecoder_DecodeInternal(sh->context, data, len, 0, 0);
 	return NULL;
     }
-    
-    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, 0 /*MP_IMGFLAG_ACCEPT_STRIDE*/, 
+
+    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, 0 /*MP_IMGFLAG_ACCEPT_STRIDE*/,
 	sh->disp_w, sh->disp_h);
-    
+
     if(!mpi){	// temporary!
 	mp_msg(MSGT_DECVIDEO,MSGL_WARN,MSGTR_MPCODECS_CouldntAllocateImageForCinepakCodec);
 	return NULL;

Modified: trunk/libmpcodecs/vd_hmblck.c
==============================================================================
--- trunk/libmpcodecs/vd_hmblck.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_hmblck.c	Wed May 13 04:58:57 2009	(r29305)
@@ -90,7 +90,7 @@ static int nv12_to_yv12(unsigned char *d
 
     // chroma data is interlaced UVUV... so deinterlace it
     for(idx=0; idx<UV_size; idx++ ) {
-        *(dst_U + idx) = *(src + (idx<<1) + (swapped ? 1 : 0)); 
+        *(dst_U + idx) = *(src + (idx<<1) + (swapped ? 1 : 0));
         *(dst_V + idx) = *(src + (idx<<1) + (swapped ? 0 : 1));
     }
     return 1;

Modified: trunk/libmpcodecs/vd_libdv.c
==============================================================================
--- trunk/libmpcodecs/vd_libdv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_libdv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -62,7 +62,7 @@ static mp_image_t* decode(sh_video_t *sh
 {
    mp_image_t* mpi;
    dv_decoder_t *decoder=sh->context;
-   
+
    if(len<=0 || (flags&3)){
 //      fprintf(stderr,"decode() (rawdv) SKIPPED\n");
       return NULL; // skipped frame
@@ -71,13 +71,13 @@ static mp_image_t* decode(sh_video_t *sh
    dv_parse_header(decoder, data);
 
    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE, sh->disp_w, sh->disp_h);
-    
+
    if(!mpi){	// temporary!
       fprintf(stderr,"couldn't allocate image for stderr codec\n");
       return NULL;
    }
 
    dv_decode_full_frame(decoder, data, e_dv_color_yuv, mpi->planes, mpi->stride);
-   
+
    return mpi;
 }

Modified: trunk/libmpcodecs/vd_libmpeg2.c
==============================================================================
--- trunk/libmpcodecs/vd_libmpeg2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_libmpeg2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -9,7 +9,7 @@
 
 //#undef MPEG12_POSTPROC
 
-static vd_info_t info = 
+static vd_info_t info =
 {
 	"libmpeg2 MPEG 1/2 Video decoder",
 	"libmpeg2",
@@ -56,7 +56,7 @@ static int control(sh_video_t *sh,int cm
 	    return CONTROL_TRUE;
 	return CONTROL_FALSE;
     }
-    
+
     return CONTROL_UNKNOWN;
 }
 
@@ -120,7 +120,7 @@ static void uninit(sh_video_t *sh){
     free(sh->context);
 }
 
-static void draw_slice (void * _sh, uint8_t * const * src, unsigned int y){ 
+static void draw_slice (void * _sh, uint8_t * const * src, unsigned int y){
     sh_video_t* sh = (sh_video_t*) _sh;
     vd_libmpeg2_ctx_t *context = sh->context;
     mpeg2dec_t* mpeg2dec = context->mpeg2dec;
@@ -147,9 +147,9 @@ static mp_image_t* decode(sh_video_t *sh
     // MPlayer registers its own draw_slice callback, prevent libmpeg2 from freeing the context
     mpeg2dec->decoder.convert=NULL;
     mpeg2dec->decoder.convert_id=NULL;
-    
+
     if(len<=0) return NULL; // skipped null frame
-    
+
     // append extra 'end of frame' code:
     ((char*)data+len)[0]=0;
     ((char*)data+len)[1]=0;
@@ -162,14 +162,14 @@ static mp_image_t* decode(sh_video_t *sh
     } else {
         mpeg2_buffer (mpeg2dec, data, (uint8_t *)data+len);
     }
-    
+
     while(1){
 	int state=mpeg2_parse (mpeg2dec);
 	int type, use_callback;
 	mp_image_t* mpi_new;
 	unsigned long pw, ph;
 	int imgfmt;
-	
+
 	switch(state){
 	case STATE_BUFFER:
 	    if (mpeg2dec->pending_length) {
@@ -209,7 +209,7 @@ static mp_image_t* decode(sh_video_t *sh
 	    break;
 	case STATE_PICTURE:
 	    type=info->current_picture->flags&PIC_MASK_CODING_TYPE;
-	    
+
 	    drop_frame = framedrop && (mpeg2dec->decoder.coding_type == B_TYPE);
             drop_frame |= framedrop>=2; // hard drop
             if (drop_frame) {
@@ -268,7 +268,7 @@ static mp_image_t* decode(sh_video_t *sh
 	        mpeg2dec->decoder.convert=NULL;
 	        mpeg2dec->decoder.convert_id=NULL;
 	    }
-	    
+
 	    break;
 	case STATE_SLICE:
 	case STATE_END:

Modified: trunk/libmpcodecs/vd_lzo.c
==============================================================================
--- trunk/libmpcodecs/vd_lzo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_lzo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -45,7 +45,7 @@ static int init(sh_video_t *sh)
 
     if (sh->bih->biSizeImage <= 0) {
 	mp_msg (MSGT_DECVIDEO, MSGL_ERR, "[%s] Invalid frame size\n", MOD_NAME);
-	return 0; 
+	return 0;
     }
 
     priv = malloc(sizeof(lzo_context_t));
@@ -66,7 +66,7 @@ static int init(sh_video_t *sh)
 static void uninit(sh_video_t *sh)
 {
     lzo_context_t *priv = sh->context;
-    
+
     if (priv)
     {
 	free(priv->buffer);
@@ -87,11 +87,11 @@ static mp_image_t* decode(sh_video_t *sh
     if (len <= 0) {
 	    return NULL; // skipped frame
     }
-    
+
     r = av_lzo1x_decode(priv->buffer, &w, data, &len);
     if (r) {
 	/* this should NEVER happen */
-	mp_msg (MSGT_DECVIDEO, MSGL_ERR, 
+	mp_msg (MSGT_DECVIDEO, MSGL_ERR,
 		"[%s] internal error - decompression failed: %d\n", MOD_NAME, r);
       return NULL;
     }
@@ -140,7 +140,7 @@ static mp_image_t* decode(sh_video_t *sh
         mpi->stride[1] = sh->disp_w / 2;
     }
 
-    mp_msg (MSGT_DECVIDEO, MSGL_DBG2, 
+    mp_msg (MSGT_DECVIDEO, MSGL_DBG2,
 		"[%s] decompressed %lu bytes into %lu bytes\n", MOD_NAME,
 		(long) len, (long)w);
 

Modified: trunk/libmpcodecs/vd_mpegpes.c
==============================================================================
--- trunk/libmpcodecs/vd_mpegpes.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_mpegpes.c	Wed May 13 04:58:57 2009	(r29305)
@@ -7,7 +7,7 @@
 
 #include "vd_internal.h"
 
-static vd_info_t info = 
+static vd_info_t info =
 {
 	"MPEG 1/2 Video passthrough",
 	"mpegpes",
@@ -55,7 +55,7 @@ static mp_image_t* decode(sh_video_t *sh
                 return 0;
         }
     }
-    
+
     mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, sh->disp_w, sh->disp_h);
     packet.data=data;
     packet.size=len;

Modified: trunk/libmpcodecs/vd_mpng.c
==============================================================================
--- trunk/libmpcodecs/vd_mpng.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_mpng.c	Wed May 13 04:58:57 2009	(r29305)
@@ -79,7 +79,7 @@ static mp_image_t* decode(sh_video_t *sh
     unsigned char *p;
 
     if(len<=0) return NULL; // skipped frame
-    
+
  png=png_create_read_struct( PNG_LIBPNG_VER_STRING,NULL,NULL,NULL );
  info=png_create_info_struct( png );
  endinfo=png_create_info_struct( png );
@@ -131,13 +131,13 @@ static mp_image_t* decode(sh_video_t *sh
   }
 #endif
 
-    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE, 
+    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
 	png_width,png_height);
     if(!mpi) return NULL;
 
 // Let's DECODE!
  row_p=malloc( sizeof( png_bytep ) * png_height );
-//png_get_rowbytes( png,info ) 
+//png_get_rowbytes( png,info )
  for ( i=0; i < png_height; i++ ) row_p[i]=mpi->planes[0] + mpi->stride[0]*i;
  png_read_image( png,row_p );
  free( row_p );
@@ -153,7 +153,7 @@ static mp_image_t* decode(sh_video_t *sh
 	 *p++ = 0;
      }
  }
- 
+
  png_read_end( png,endinfo );
  png_destroy_read_struct( &png,&info,&endinfo );
 

Modified: trunk/libmpcodecs/vd_mtga.c
==============================================================================
--- trunk/libmpcodecs/vd_mtga.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_mtga.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,10 +42,10 @@ typedef struct
 {
     unsigned char   id_len;
     unsigned short  img_type;
-		
+
     unsigned short  width;
     unsigned short  height;
-		
+
     unsigned char   bpp;
     unsigned char   origin; /* 0 = lower left, 1 = upper left */
     unsigned short  start_row;
@@ -100,17 +100,17 @@ static void decode_rle_tga(TGAInfo *info
     for (row = info->start_row; (!info->origin && row) || (info->origin && row < info->height); row += info->increment)
     {
 	final = mpi->planes[0] + mpi->stride[0] * row;
-	
+
 	for (col = 0; col < info->width; col += repetitions)
 	{
 	    packet_header = *data++;
 	    repetitions = (1 + (packet_header & 0x7f));
 	    replen = repetitions * num_bytes;
-	    
+
 	    if (packet_header & 0x80) /* runlength encoded packet */
 	    {
 		memcpy(final, data, num_bytes);
-		
+
 		// Note: this will be slow when DR to vram!
 		i=num_bytes;
 		while(2*i<=replen){
@@ -125,11 +125,11 @@ static void decode_rle_tga(TGAInfo *info
 		fast_memcpy(final, data, replen);
 		data += replen;
 	    }
-	    
+
 	    final += replen;
 	}
     }
-    
+
     return;
 }
 
@@ -138,7 +138,7 @@ static void decode_uncompressed_tga(TGAI
 {
     unsigned char   *final;
     int	    row, num_bytes = info->bpp / 8;
-   
+
     /* see line 207 to see why this loop is set up like this */
     for (row = info->start_row; (!info->origin && row) || (info->origin && row < info->height); row += info->increment)
     {
@@ -154,7 +154,7 @@ static void decode_uncompressed_tga(TGAI
 static short read_tga_header(unsigned char *buf, TGAInfo *info)
 {
     info->id_len = buf[0];
-    
+
     info->img_type = buf[2];
 
     /* targa data is always stored in little endian byte order */
@@ -162,11 +162,11 @@ static short read_tga_header(unsigned ch
     info->height = le2me_16(*(unsigned short *) &buf[14]);
 
     info->bpp = buf[16];
-    
+
     info->origin = (buf[17] & 0x20) >> 5;
 
     /* FIXME check for valid targa data */
-    
+
     return 0;
 }
 
@@ -177,13 +177,13 @@ static mp_image_t *decode(sh_video_t *sh
     TGAInfo	    *info = sh->context;
     unsigned char   *data = raw;
     mp_image_t	    *mpi;
-    
-    
+
+
     if (len <= 0)
 	return NULL; /* skip frame */
 
     read_tga_header(data, info); /* read information about the file */
-    
+
     if (info->bpp == 24)
 	out_fmt = IMGFMT_BGR24;
     else if (info->bpp == 32)
@@ -193,7 +193,7 @@ static mp_image_t *decode(sh_video_t *sh
 	mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Unsupported TGA type! depth=%d\n",info->bpp);
 	return NULL;
     }
-    
+
     if (info->img_type != TGA_UNCOMP_TRUECOLOR && info->img_type != TGA_RLE_TRUECOLOR) /* not a true color image */
     {
 	mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Unsupported TGA type: %i!\n", info->img_type);
@@ -206,21 +206,21 @@ static mp_image_t *decode(sh_video_t *sh
 
     /* set data to the beginning of the image data */
     data += 18 + info->id_len;
-  
+
     /* (re)init libvo if image parameters changed (width/height/colorspace) */
     if (last_w != info->width || last_h != info->height || last_c != out_fmt)
     {
 	last_w = info->width;
 	last_h = info->height;
 	last_c = out_fmt;
-	
+
 	if (!out_fmt || !mpcodecs_config_vo(sh, info->width, info->height, out_fmt))
 	    return NULL;
     }
 
     if (!(mpi = mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE, info->width, info->height)))
 	return NULL;
-  
+
     /* finally decode the image */
     if (info->img_type == TGA_UNCOMP_TRUECOLOR)
 	decode_uncompressed_tga(info, data, mpi);

Modified: trunk/libmpcodecs/vd_null.c
==============================================================================
--- trunk/libmpcodecs/vd_null.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_null.c	Wed May 13 04:58:57 2009	(r29305)
@@ -6,7 +6,7 @@
 
 #include "vd_internal.h"
 
-static vd_info_t info = 
+static vd_info_t info =
 {
 	"Null video decoder",
 	"null",

Modified: trunk/libmpcodecs/vd_qtvideo.c
==============================================================================
--- trunk/libmpcodecs/vd_qtvideo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_qtvideo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -30,7 +30,7 @@ LIBVD_EXTERN(qtvideo)
 static ComponentInstance ci=NULL; // codec handle
 //static CodecInfo cinfo;	// for ImageCodecGetCodecInfo()
 //Component prev=NULL;
-//ComponentResult cres; // 
+//ComponentResult cres; //
 static CodecCapabilities codeccap; // for decpar
 static CodecDecompressParams decpar; // for ImageCodecPreDecompress()
 //static ImageSubCodecDecompressCapabilities icap; // for ImageCodecInitialize()
@@ -63,7 +63,7 @@ static    ComponentResult (*ImageCodecPr
                                  CodecDecompressParams * params);
 static    ComponentResult (*ImageCodecBandDecompress)(ComponentInstance      ci,
                                  CodecDecompressParams * params);
-static    PixMapHandle    (*GetGWorldPixMap)(GWorldPtr offscreenGWorld);                  
+static    PixMapHandle    (*GetGWorldPixMap)(GWorldPtr offscreenGWorld);
 static    OSErr           (*QTNewGWorldFromPtr)(GWorldPtr *gw,
 			       OSType pixelFormat,
 			       const Rect *boundsRect,
@@ -71,8 +71,8 @@ static    OSErr           (*QTNewGWorldF
                                /*GDHandle*/void* aGDevice, //unused anyway
                                GWorldFlags flags,
                                void *baseAddr,
-                               long rowBytes); 
-static    OSErr           (*NewHandleClear)(Size byteCount);                          
+                               long rowBytes);
+static    OSErr           (*NewHandleClear)(Size byteCount);
 #endif /* #ifndef CONFIG_QUICKTIME */
 
 // to set/get/query special features/parameters
@@ -108,7 +108,7 @@ static int init(sh_video_t *sh){
     mp_msg(MSGT_DECVIDEO,MSGL_ERR,"unable to load QuickTime.qts\n" );
     return 0;
     }
-    
+
     handler = LoadLibraryA("qtmlClient.dll");
     if(!handler){
     mp_msg(MSGT_DECVIDEO,MSGL_ERR,"unable to load qtmlClient.dll\n");
@@ -130,7 +130,7 @@ static int init(sh_video_t *sh){
     QTNewGWorldFromPtr = (OSErr(*)(GWorldPtr *,OSType,const Rect *,CTabHandle,void*,GWorldFlags,void *,long))GetProcAddress(handler, "QTNewGWorldFromPtr");
     NewHandleClear = (OSErr(*)(Size))GetProcAddress(handler, "NewHandleClear");
     //     = GetProcAddress(handler, "");
-    
+
     if(!InitializeQTML || !EnterMovies || !FindNextComponent || !ImageCodecBandDecompress){
 	mp_msg(MSGT_DECVIDEO,MSGL_ERR,"invalid qtmlClient.dll!\n");
 	return 0;
@@ -167,7 +167,7 @@ static int init(sh_video_t *sh){
 			(((unsigned char)'d')<<8)|
 			(((unsigned char)'c'));
 #if 0
-    desc.componentSubType= 
+    desc.componentSubType=
 		    (((unsigned char)'S'<<24))|
 			(((unsigned char)'V')<<16)|
 			(((unsigned char)'Q')<<8)|
@@ -193,7 +193,7 @@ static int init(sh_video_t *sh){
     memset(&icap,0,sizeof(icap));
     cres=ImageCodecInitialize(ci,&icap);
     mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"ImageCodecInitialize->%#x  size=%d (%d)\n",cres,icap.recordSize,icap.decompressRecordSize);
-    
+
     memset(&cinfo,0,sizeof(cinfo));
     cres=ImageCodecGetCodecInfo(ci,&cinfo);
     mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"Flags: compr: 0x%X  decomp: 0x%X format: 0x%X\n",
@@ -225,7 +225,7 @@ static int init(sh_video_t *sh){
     dump_ImageDescription(*framedescHandle);
 #endif
 //Find codecscomponent for video decompression
-//    result = FindCodec ('SVQ1',anyCodec,&compressor,&decompressor );                 
+//    result = FindCodec ('SVQ1',anyCodec,&compressor,&decompressor );
 //    printf("FindCodec SVQ1 returned:%i compressor: 0x%X decompressor: 0x%X\n",result,compressor,decompressor);
 
     sh->context = (void *)kYUVSPixelFormat;
@@ -291,10 +291,10 @@ static mp_image_t* decode(sh_video_t *sh
     int i;
     mp_image_t* mpi;
     ComponentResult cres;
-    
+
     if(len<=0) return NULL; // skipped frame
 
-    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_STATIC, MP_IMGFLAG_PRESERVE, 
+    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_STATIC, MP_IMGFLAG_PRESERVE,
 	sh->disp_w, sh->disp_h);
     if(!mpi) return NULL;
 
@@ -304,13 +304,13 @@ static mp_image_t* decode(sh_video_t *sh
 
 if(!codec_initialized){
     result = QTNewGWorldFromPtr(
-        &OutBufferGWorld,  
+        &OutBufferGWorld,
 //        kYUVSPixelFormat, //pixel format of new GWorld == YUY2
 	(OSType)sh->context,
         &OutBufferRect,   //we should benchmark if yvu9 is faster for svq3, too
-        0, 
-        0, 
-        0, 
+        0,
+        0,
+        0,
         mpi->planes[0],
         mpi->stride[0]);
     mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"NewGWorldFromPtr returned:%ld\n",65536-(result&0xffff));
@@ -333,7 +333,7 @@ if(!codec_initialized){
     decpar.accuracy = codecNormalQuality;
 //    decpar.port = OutBufferGWorld;
 //    decpar.preferredOffscreenPixelSize=17207;
-    
+
 //    decpar.sequenceID=malloc(1000);
 //    memset(decpar.sequenceID,0,1000);
 
@@ -344,13 +344,13 @@ if(!codec_initialized){
 
 //    decpar.srcRect = SrcRect;
     decpar.srcRect = OutBufferRect;
-    
+
     decpar.transferMode = srcCopy;
-    decpar.dstPixMap = **GetGWorldPixMap( OutBufferGWorld);//destPixmap; 
-  
+    decpar.dstPixMap = **GetGWorldPixMap( OutBufferGWorld);//destPixmap;
+
     cres=ImageCodecPreDecompress(ci,&decpar);
     mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"ImageCodecPreDecompress cres=0x%X\n",cres);
-    
+
     if(decpar.wantedDestinationPixelTypes)
     { OSType *p=*(decpar.wantedDestinationPixelTypes);
       if(p) while(*p){
@@ -358,7 +358,7 @@ if(!codec_initialized){
 	  ++p;
       }
     }
-    
+
 
 //    decpar.conditionFlags=0x10FFF; // first
 //    decpar.preferredOffscreenPixelSize=17207;
@@ -388,7 +388,7 @@ if(!codec_initialized){
 	mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"ImageCodecBandDecompress cres=0x%X (-0x%X) %d\n",cres,-cres,cres);
 	return NULL;
     }
-    
+
 //    for(i=0;i<8;i++)
 //	printf("img_base[%d]=%p\n",i,((int*)decpar.dstPixMap.baseAddr)[i]);
 
@@ -418,7 +418,7 @@ if((int)sh->context==0x73797639){	// Sor
 	for(x=0;x<mpi->w/4;x++) dst[x]=src[x];
 	src+=((mpi->w+63)&(~63))/4;
     }
-    
+
 }
 
 

Modified: trunk/libmpcodecs/vd_raw.c
==============================================================================
--- trunk/libmpcodecs/vd_raw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_raw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,10 +59,10 @@ static mp_image_t* decode(sh_video_t *sh
     mp_image_t* mpi;
     int frame_size;
     int format = sh->bih ? sh->bih->biCompression : sh->format;
-    
+
     if(len<=0) return NULL; // skipped frame
 
-    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, 
+    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0,
 	sh->disp_w, sh->disp_h);
     if(!mpi) return NULL;
 
@@ -119,6 +119,6 @@ static mp_image_t* decode(sh_video_t *sh
 	    len,frame_size);
 	return NULL;
     }
-    
+
     return mpi;
 }

Modified: trunk/libmpcodecs/vd_realvid.c
==============================================================================
--- trunk/libmpcodecs/vd_realvid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_realvid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -123,7 +123,7 @@ static int load_syms_linux(char *path) {
 	rv_handle = handle;
 	return 1;
     }
-	
+
 		rvyuv_custom_message = dlsym(handle, "RV40toYUV420CustomMessage");
 		rvyuv_free = dlsym(handle, "RV40toYUV420Free");
 		rvyuv_init = dlsym(handle, "RV40toYUV420Init");
@@ -281,7 +281,7 @@ static int init(sh_video_t *sh){
 
 	/* first try to load linux dlls, if failed and we're supporting win32 dlls,
 	   then try to load the windows ones */
-#ifdef HAVE_LIBDL       
+#ifdef HAVE_LIBDL
 	if(strstr(sh->codec->dll,".dll") || !load_syms_linux(path))
 #endif
 #ifdef CONFIG_WIN32DLL
@@ -393,7 +393,7 @@ static mp_image_t* decode(sh_video_t *sh
 	    buffer=malloc(bufsz);
 	    if (!buffer) return 0;
 	}
-	
+
 	for (i=0; i<2*(chunks+1); i++)
 		extra[i] = le2me_32(extra[i]);
 
@@ -412,7 +412,7 @@ static mp_image_t* decode(sh_video_t *sh
 	    sh->disp_h=transform_out[4];
 	    if (!mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,IMGFMT_I420)) return 0;
 	    initialized=1;
-	} 
+	}
 	    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0 /*MP_IMGFLAG_ACCEPT_STRIDE*/,
 		    sh->disp_w, sh->disp_h);
 	    if(!mpi) return NULL;
@@ -426,6 +426,6 @@ static mp_image_t* decode(sh_video_t *sh
 	if(transform_out[0] &&
 	   (sh->disp_w != transform_out[3] || sh->disp_h != transform_out[4]))
 	    initialized = 0;
-	
+
 	return result ? NULL : mpi;
 }

Modified: trunk/libmpcodecs/vd_sgi.c
==============================================================================
--- trunk/libmpcodecs/vd_sgi.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_sgi.c	Wed May 13 04:58:57 2009	(r29305)
@@ -51,7 +51,7 @@ static unsigned short last_y = -1;
 /* to set/get/query special features/parameters */
 static int
 control(sh_video_t* sh, int cmd, void *arg, ...)
-{ 
+{
   switch (cmd)
   {
     case VDCTRL_QUERY_FORMAT:
@@ -90,10 +90,10 @@ expandrow(unsigned char *optr, unsigned 
 {
   unsigned char pixel, count;
   optr += chan_offset;
-  
+
   while (1) {
     pixel = *iptr++;
-    
+
     if (!(count = (pixel & 0x7f))) {
       return;
     }
@@ -105,7 +105,7 @@ expandrow(unsigned char *optr, unsigned 
       }
     } else {
       pixel = *iptr++;
-      
+
       while (count--) {
         *optr = pixel;
         optr += OUT_PIXEL_STRIDE;
@@ -116,16 +116,16 @@ expandrow(unsigned char *optr, unsigned 
 
 
 /* expand an rle row into all 3 channels.
-   a separate function for grayscale so we don't slow down the 
+   a separate function for grayscale so we don't slow down the
    more common case rgb function with a bunch of ifs. */
 static void
 expandrow_gs(unsigned char *optr, unsigned char *iptr)
 {
   unsigned char pixel, count;
-  
+
   while (1) {
     pixel = *iptr++;
-    
+
     if (!(count = (pixel & 0x7f))) {
       return;
     }
@@ -139,7 +139,7 @@ expandrow_gs(unsigned char *optr, unsign
       }
     } else {
       pixel = *iptr++;
-      
+
       while (count--) {
         optr[0] = pixel;
         optr[1] = pixel;
@@ -159,29 +159,29 @@ decode_rle_sgi(SGIInfo *info, unsigned c
   uint32_t *starttab;
   int y, z, xsize, ysize, zsize, chan_offset;
   long start_offset;
-  
+
   xsize = info->xsize;
   ysize = info->ysize;
   zsize = info->zsize;
 
   /* rle offset table is right after the header */
-  starttab = (uint32_t*)(data + SGI_HEADER_LEN); 
-  
+  starttab = (uint32_t*)(data + SGI_HEADER_LEN);
+
    for (z = 0; z < zsize; z++) {
 
      /* set chan_offset so RGB ends up BGR */
      chan_offset = (zsize - 1) - z;
-     
+
      /* The origin for SGI images is the lower-left corner
         so read scan lines from bottom to top */
      for (y = ysize - 1; y >= 0; y--) {
        dest_row = mpi->planes[0] + mpi->stride[0] * (ysize - 1 - y);
-    
+
       /* set start of next run (offsets are from start of header) */
       start_offset = be2me_32(*(uint32_t*) &starttab[y + z * ysize]);
-      
+
       rle_data = &data[start_offset];
-    
+
       if(info->zsize == SGI_GRAYSCALE_IMAGE) {
         expandrow_gs(dest_row, rle_data);
       } else {
@@ -191,21 +191,21 @@ decode_rle_sgi(SGIInfo *info, unsigned c
   }
 }
 
-  
+
 /* decode an sgi image */
 static void
 decode_uncompressed_sgi(SGIInfo *info, unsigned char *data, mp_image_t *mpi)
 {
   unsigned char *src_row, *dest_row;
   int x, y, z, xsize, ysize, zsize, chan_offset;
-  
+
   xsize = info->xsize;
   ysize = info->ysize;
   zsize = info->zsize;
-  
-  /* skip header */ 
+
+  /* skip header */
   data += SGI_HEADER_LEN;
-  
+
   for (z = 0; z < zsize; z++) {
 
     /* set row ptr to start of current plane */
@@ -213,13 +213,13 @@ decode_uncompressed_sgi(SGIInfo *info, u
 
     /* set chan_offset for RGB -> BGR */
     chan_offset = (zsize - 1) - z;
-    
-    /* the origin for SGI images is the lower-left corner  
+
+    /* the origin for SGI images is the lower-left corner
        so read scan lines from bottom to top. */
     for (y = ysize - 1; y >= 0; y--) {
       dest_row = mpi->planes[0] + mpi->stride[0] * y;
       for (x = 0; x < xsize; x++) {
-        
+
         /* we only do 24 bit output so promote 8 bit pixels to 24 */
         if (zsize == SGI_GRAYSCALE_IMAGE) {
           /* write greyscale value into all channels */
@@ -229,7 +229,7 @@ decode_uncompressed_sgi(SGIInfo *info, u
         } else {
           dest_row[chan_offset] = src_row[x];
         }
-        
+
         dest_row += OUT_PIXEL_STRIDE;
       }
 
@@ -245,13 +245,13 @@ static void
 read_sgi_header(unsigned char *buf, SGIInfo *info)
 {
   /* sgi data is always stored in big endian byte order */
-  info->magic = be2me_16(*(unsigned short *) &buf[0]);     
+  info->magic = be2me_16(*(unsigned short *) &buf[0]);
   info->rle = buf[2];
   info->bytes_per_channel = buf[3];
-  info->dimension = be2me_16(*(unsigned short *) &buf[4]);     
-  info->xsize = be2me_16(*(unsigned short *) &buf[6]);     
-  info->ysize = be2me_16(*(unsigned short *) &buf[8]);     
-  info->zsize = be2me_16(*(unsigned short *) &buf[10]);     
+  info->dimension = be2me_16(*(unsigned short *) &buf[4]);
+  info->xsize = be2me_16(*(unsigned short *) &buf[6]);
+  info->ysize = be2me_16(*(unsigned short *) &buf[8]);
+  info->zsize = be2me_16(*(unsigned short *) &buf[10]);
 }
 
 
@@ -266,9 +266,9 @@ mp_image_t *decode(sh_video_t *sh, void 
   if (len <= 0) {
     return NULL; /* skip frame */
   }
-    
-  read_sgi_header(data, info); 
-  
+
+  read_sgi_header(data, info);
+
   /* make sure this is an SGI image file */
   if (info->magic != SGI_MAGIC) {
     mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Bad magic number in image.\n");
@@ -277,19 +277,19 @@ mp_image_t *decode(sh_video_t *sh, void 
 
   /* check image depth */
   if (info->bytes_per_channel != 1) {
-    mp_msg(MSGT_DECVIDEO, MSGL_INFO, 
+    mp_msg(MSGT_DECVIDEO, MSGL_INFO,
         "Unsupported bytes per channel value %i.\n", info->bytes_per_channel);
     return NULL;
   }
 
   /* check image dimension */
   if (info->dimension != 2 && info->dimension != 3) {
-    mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Unsupported image dimension %i.\n", 
+    mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Unsupported image dimension %i.\n",
         info->dimension);
     return NULL;
   }
 
-  /* change rgba images to rgb so alpha channel will be ignored */ 
+  /* change rgba images to rgb so alpha channel will be ignored */
   if (info->zsize == SGI_RGBA_IMAGE) {
     info->zsize = SGI_RGB_IMAGE;
   }
@@ -299,30 +299,30 @@ mp_image_t *decode(sh_video_t *sh, void 
     mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Unsupported image depth.\n");
     return NULL;
   }
-  
+
   /* (re)init libvo if image size is changed */
   if (last_x != info->xsize || last_y != info->ysize)
   {
     last_x = info->xsize;
     last_y = info->ysize;
-    
+
     if (!mpcodecs_config_vo(sh, info->xsize, info->ysize, outfmt)) {
       mp_msg(MSGT_DECVIDEO, MSGL_INFO, "Config vo failed:\n");
       return NULL;
     }
   }
-   
-  if (!(mpi = mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE, 
+
+  if (!(mpi = mpcodecs_get_image(sh, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
           info->xsize, info->ysize))) {
     return NULL;
   }
- 
+
   if (info->rle) {
     decode_rle_sgi(info, data, mpi);
   } else {
     decode_uncompressed_sgi(info, data, mpi);
   }
-  
+
   return mpi;
 }
 

Modified: trunk/libmpcodecs/vd_theora.c
==============================================================================
--- trunk/libmpcodecs/vd_theora.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_theora.c	Wed May 13 04:58:57 2009	(r29305)
@@ -31,7 +31,7 @@ static int control(sh_video_t *sh,int cm
 	    return CONTROL_TRUE;
 	return CONTROL_FALSE;
     }
-    
+
     return CONTROL_UNKNOWN;
 }
 
@@ -55,7 +55,7 @@ static int init(sh_video_t *sh){
     switch(sh->codec->outfmt[sh->outfmtidx])
     {
        case IMGFMT_YV12: /* well, this should work... */ break;
-       default: 
+       default:
 	  mp_msg (MSGT_DECVIDEO,MSGL_ERR,"Unsupported out_fmt: 0x%X\n",
 		  sh->codec->outfmt[sh->outfmtidx]);
 	  return 0;
@@ -71,7 +71,7 @@ static int init(sh_video_t *sh){
 
        theora_info_init(&context->inf);
        theora_comment_init(&context->cc);
-       
+
        /* Read all header packets, pass them to theora_decode_header. */
        for (i = 0; i < THEORA_NUM_HEADER_PACKETS; i++)
        {
@@ -112,13 +112,13 @@ static int init(sh_video_t *sh){
        sh->aspect = (float)(context->inf.aspect_numerator * context->inf.frame_width)/
           (context->inf.aspect_denominator * context->inf.frame_height);
     }
-    
+
     mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Theora video init ok!\n");
 
     return mpcodecs_config_vo (sh,context->inf.frame_width,context->inf.frame_height,IMGFMT_YV12);
 }
 
-/* 
+/*
  * uninit driver
  */
 static void uninit(sh_video_t *sh)
@@ -137,7 +137,7 @@ static void uninit(sh_video_t *sh)
 /*
  * decode frame
  */
-static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags) 
+static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags)
 {
    theora_struct_t *context = (theora_struct_t *)sh->context;
    int errorCode = 0;
@@ -175,6 +175,6 @@ static mp_image_t* decode(sh_video_t *sh
     mpi->stride[1]=yuv.uv_stride;
     mpi->planes[2]=yuv.v;
     mpi->stride[2]=yuv.uv_stride;
-   
+
     return mpi;
 }

Modified: trunk/libmpcodecs/vd_vfw.c
==============================================================================
--- trunk/libmpcodecs/vd_vfw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_vfw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -142,7 +142,7 @@ static int init(sh_video_t *sh){
 //    unsigned int outfmt=sh->codec->outfmt[sh->outfmtidx];
     int i, o_bih_len;
     vd_vfw_ctx *priv;
-  
+
     /* Hack for VSSH codec: new dll can't decode old files
      * In my samples old files have no extradata, so use that info
      * to decide what dll should be used (here and in vd_dshow).
@@ -171,7 +171,7 @@ static int init(sh_video_t *sh){
 //    sh->bih->biBitCount=32;
 
     o_bih_len = ICDecompressGetFormatSize(priv->handle, sh->bih);
-  
+
     if(o_bih_len < sizeof(BITMAPINFOHEADER)){
        mp_msg(MSGT_WIN32,MSGL_ERR,"ICDecompressGetFormatSize returned a bogus value: %d\n", o_bih_len);
        return 0;
@@ -268,7 +268,7 @@ static int init(sh_video_t *sh){
 static void uninit(sh_video_t *sh){
     HRESULT ret;
     vd_vfw_ctx *priv = sh->context;
-    
+
 #ifdef BUILD_VFWEX
     ret = ICDecompressEndEx(priv->handle);
 #else
@@ -286,7 +286,7 @@ static void uninit(sh_video_t *sh){
 	mp_msg(MSGT_WIN32, MSGL_WARN, "ICClose failed: %ld\n", ret);
 	return;
     }
-    
+
     free(priv->o_bih);
     free(priv);
 }
@@ -299,9 +299,9 @@ static mp_image_t* decode(sh_video_t *sh
 
     if(len<=0) return NULL; // skipped frame
 
-    mpi=mpcodecs_get_image(sh, 
+    mpi=mpcodecs_get_image(sh,
 	(sh->codec->outflags[sh->outfmtidx] & CODECS_FLAG_STATIC) ?
-	MP_IMGTYPE_STATIC : MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_WIDTH, 
+	MP_IMGTYPE_STATIC : MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_WIDTH,
 	sh->disp_w, sh->disp_h);
     if(!mpi){	// temporary!
 	mp_msg(MSGT_DECVIDEO,MSGL_WARN,MSGTR_MPCODECS_CouldntAllocateImageForCinepakCodec);
@@ -315,9 +315,9 @@ static mp_image_t* decode(sh_video_t *sh
     sh->bih->biSizeImage = len;
 
 #ifdef BUILD_VFWEX
-    ret = ICDecompressEx(priv->handle, 
+    ret = ICDecompressEx(priv->handle,
 #else
-    ret = ICDecompress(priv->handle, 
+    ret = ICDecompress(priv->handle,
 #endif
 	  ( (sh->ds->flags&1) ? 0 : ICDECOMPRESS_NOTKEYFRAME ) |
 	  ( ((flags&3)==2 && !(sh->ds->flags&1))?(ICDECOMPRESS_HURRYUP|ICDECOMPRESS_PREROL):0 ),
@@ -327,7 +327,7 @@ static mp_image_t* decode(sh_video_t *sh
       mp_msg(MSGT_DECVIDEO,MSGL_WARN,"Error decompressing frame, err=%ld\n",ret);
       return NULL;
     }
-    
+
     // export palette:
     if(mpi->imgfmt==IMGFMT_RGB8 || mpi->imgfmt==IMGFMT_BGR8){
 	if (priv->palette)
@@ -339,6 +339,6 @@ static mp_image_t* decode(sh_video_t *sh
 	else
 	    mpi->planes[1]=NULL;
     }
-        
+
     return mpi;
 }

Modified: trunk/libmpcodecs/vd_xanim.c
==============================================================================
--- trunk/libmpcodecs/vd_xanim.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_xanim.c	Wed May 13 04:58:57 2009	(r29305)
@@ -221,7 +221,7 @@ static int xacodec_load(sh_video_t *sh, 
 	dlclose(priv->file_handler);
 	return 0;
     }
-	
+
     mod_hdr = what_the();
     if (!mod_hdr)
     {
@@ -229,7 +229,7 @@ static int xacodec_load(sh_video_t *sh, 
 	dlclose(priv->file_handler);
 	return 0;
     }
-    
+
     mp_msg(MSGT_DECVIDEO, MSGL_V, "=== XAnim Codec ===\n");
     mp_msg(MSGT_DECVIDEO, MSGL_V, " Filename: %s (API revision: %x)\n", filename, mod_hdr->api_rev);
     mp_msg(MSGT_DECVIDEO, MSGL_V, " Codec: %s. Rev: %s\n", mod_hdr->desc, mod_hdr->rev);
@@ -255,7 +255,7 @@ static int xacodec_load(sh_video_t *sh, 
 	dlclose(priv->file_handler);
 	return 0;
     }
-    
+
     mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Exported functions by codec: [functable: %p entries: %d]\n",
 	mod_hdr->funcs, mod_hdr->num_funcs);
     for (i = 0; i < (int)mod_hdr->num_funcs; i++)
@@ -637,7 +637,7 @@ static int init(sh_video_t *sh)
     char dll[1024];
     XA_CODEC_HDR codec_hdr;
     int i;
-    
+
     priv = malloc(sizeof(vd_xanim_ctx));
     if (!priv)
 	return 0;
@@ -645,7 +645,7 @@ static int init(sh_video_t *sh)
     memset(priv, 0, sizeof(vd_xanim_ctx));
 
     if(!mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,IMGFMT_YV12)) return 0;
-    
+
     priv->iq_func = NULL;
     priv->dec_func = NULL;
 
@@ -751,7 +751,7 @@ static mp_image_t* decode(sh_video_t *sh
 {
     vd_xanim_ctx *priv = sh->context;
     unsigned int ret;
-    
+
     if (len <= 0)
 	return NULL; // skipped frame
 
@@ -759,7 +759,7 @@ static mp_image_t* decode(sh_video_t *sh
 
     if(sh->codec->outflags[sh->outfmtidx] & CODECS_FLAG_STATIC){
 	// allocate static buffer for cvid-like codecs:
-	priv->mpi = mpcodecs_get_image(sh, MP_IMGTYPE_STATIC, 
+	priv->mpi = mpcodecs_get_image(sh, MP_IMGTYPE_STATIC,
 	    MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_PREFER_ALIGNED_STRIDE,
 	    (sh->disp_w+3)&(~3), (sh->disp_h+3)&(~3));
 	if (!priv->mpi) return NULL;
@@ -817,6 +817,6 @@ static mp_image_t* decode(sh_video_t *sh
 	mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "body\n");
 	return NULL;
     }
-    
+
     return priv->mpi;
 }

Modified: trunk/libmpcodecs/vd_xvid4.c
==============================================================================
--- trunk/libmpcodecs/vd_xvid4.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_xvid4.c	Wed May 13 04:58:57 2009	(r29305)
@@ -103,10 +103,10 @@ static int init(sh_video_t *sh)
 
 	memset(&xvid_gbl_info, 0, sizeof(xvid_gbl_info_t));
 	xvid_gbl_info.version = XVID_VERSION;
-	
+
 	memset(&xvid_ini, 0, sizeof(xvid_gbl_init_t));
 	xvid_ini.version = XVID_VERSION;
-	
+
 	memset(&dec_p, 0, sizeof(xvid_dec_create_t));
 	dec_p.version = XVID_VERSION;
 
@@ -123,16 +123,16 @@ static int init(sh_video_t *sh)
 	case IMGFMT_UYVY:
 		cs = XVID_CSP_UYVY;
 		break;
-	case IMGFMT_I420: 
+	case IMGFMT_I420:
 	case IMGFMT_IYUV:
 		/* We will use our own buffers, this speeds decoding avoiding
 		 * frame memcpy's overhead */
 		cs = (do_dr2)?XVID_CSP_INTERNAL:XVID_CSP_USER;
 		break;
-	case IMGFMT_BGR15: 
+	case IMGFMT_BGR15:
 		cs = XVID_CSP_RGB555;
 		break;
-	case IMGFMT_BGR16: 
+	case IMGFMT_BGR16:
 		cs = XVID_CSP_RGB565;
 		break;
 	case IMGFMT_BGR32:
@@ -157,7 +157,7 @@ static int init(sh_video_t *sh)
 		       XVID_VERSION_PATCH(xvid_gbl_info.actual_version),
 		       xvid_gbl_info.build);
 	}
-	
+
 	/* Initialize the xvidcore library */
 	if(xvid_global(NULL, XVID_GBL_INIT, &xvid_ini, NULL))
 		return 0;
@@ -241,7 +241,7 @@ static mp_image_t* decode(sh_video_t *sh
 	dec.general |= (lumadering ? XVID_DEBLOCKY|XVID_DERINGY : 0 );
 	dec.general |= (chromadering ? XVID_DEBLOCKUV|XVID_DERINGUV : 0 );
 #endif
-	dec.output.csp = p->cs;   
+	dec.output.csp = p->cs;
 
 	/* Decoding loop because xvidcore may return VOL information for
 	 * on the fly buffer resizing. In that case we must decode VOL,
@@ -256,18 +256,18 @@ static mp_image_t* decode(sh_video_t *sh
 			mpi = mpcodecs_get_image(sh, p->img_type,
 					MP_IMGFLAG_ACCEPT_STRIDE,
 					sh->disp_w, sh->disp_h);
-			
+
 			if(p->cs != XVID_CSP_INTERNAL) {
 				dec.output.plane[0] = mpi->planes[0];
 				dec.output.plane[1] = mpi->planes[1];
 				dec.output.plane[2] = mpi->planes[2];
 
-				dec.output.stride[0] = mpi->stride[0]; 
-				dec.output.stride[1] = mpi->stride[1]; 
+				dec.output.stride[0] = mpi->stride[0];
+				dec.output.stride[1] = mpi->stride[1];
 				dec.output.stride[2] = mpi->stride[2];
 			}
 		}
-		
+
 		/* Decode data */
 		consumed = xvid_decore(p->hdl, XVID_DEC_DECODE, &dec, &stats);
 		if (consumed < 0) {
@@ -281,7 +281,7 @@ static mp_image_t* decode(sh_video_t *sh
 			sh->aspect = stats2aspect(&stats);
 			if(!mpcodecs_config_vo(sh, stats.data.vol.width, stats.data.vol.height, IMGFMT_YV12))
 				return NULL;
-			
+
 			/* Don't take this path twice */
 			p->vo_initialized = !p->vo_initialized;
 		}
@@ -294,7 +294,7 @@ static mp_image_t* decode(sh_video_t *sh
 	/* There are two ways to get out of the decoding loop:
 	 *  - a frame has been returned
 	 *  - no more data in buffer and no frames returned */
-	
+
 	/* If mpi is NULL, it proves nothing has been returned by the decoder
 	 * so don't try to display internal buffers. */
 	if (mpi != NULL && p->cs == XVID_CSP_INTERNAL) {
@@ -324,12 +324,12 @@ static float stats2aspect(xvid_dec_stats
 		float wpar;
 		float hpar;
 		float dar;
-	
+
 		/* MPEG4 strem stores PAR (Pixel Aspect Ratio), mplayer uses
 		 * DAR (Display Aspect Ratio)
-		 * 
+		 *
 		 * Both are related thanks to the equation:
-		 *            width 
+		 *            width
 		 *      DAR = ----- x PAR
 		 *            height
 		 *
@@ -378,7 +378,7 @@ static float stats2aspect(xvid_dec_stats
  * Module structure definition
  ****************************************************************************/
 
-static vd_info_t info = 
+static vd_info_t info =
 {
 	"XviD 1.0 decoder",
 	"xvid",

Modified: trunk/libmpcodecs/vd_zrmjpeg.c
==============================================================================
--- trunk/libmpcodecs/vd_zrmjpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vd_zrmjpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -36,7 +36,7 @@
 
 #include "vd_internal.h"
 
-static vd_info_t info = 
+static vd_info_t info =
 {
 	"Zoran MJPEG Video passthrough",
 	"zrmjpeg",
@@ -59,7 +59,7 @@ static int query_format(sh_video_t *sh, 
 	if (format == ctx->preferred_csp) return VFCAP_CSP_SUPPORTED;
 	return CONTROL_FALSE;
 }
-	
+
 // to set/get/query special features/parameters
 static int control(sh_video_t *sh, int cmd, void* arg, ...) {
 	switch (cmd) {
@@ -80,9 +80,9 @@ static int init(sh_video_t *sh) {
 	sh->context = ctx;
 
 	/* defer init of vo until the first frame is known */
-	return 1; 
+	return 1;
 #if 0
-	return mpcodecs_config_vo(sh, sh->disp_w, sh->disp_h, IMGFMT_ZRMJPEGIT); 
+	return mpcodecs_config_vo(sh, sh->disp_w, sh->disp_h, IMGFMT_ZRMJPEGIT);
 #endif
 }
 
@@ -122,7 +122,7 @@ static unsigned int guess_mjpeg_type(uns
 		ERROR("JPEG data must start with FFD8, but doesn't\n");
 		return 0;
 	}
-	
+
 	p = 2; /* pointer within jpeg data */
 
 	while (p < size) {
@@ -131,7 +131,7 @@ static unsigned int guess_mjpeg_type(uns
 			p++;
 			if (p >= size) return 0;
 		}
-		
+
 		/* get marker code, skip duplicate FF's */
 		while(data[p] == 0xFF) {
 			p++;
@@ -142,7 +142,7 @@ static unsigned int guess_mjpeg_type(uns
 
 		/* marker may have an associated length */
 		if (p <= size - 2) length = get_int2(data+p);
-		else length = 0; 
+		else length = 0;
 
 		switch (marker) {
 			case M_SOF0:
@@ -163,10 +163,10 @@ static unsigned int guess_mjpeg_type(uns
 
 		/* these markers shouldn't have parameters,
 		 * i.e. we don't need to skip anaything */
-		if (marker == 0 || marker == 1 || 
+		if (marker == 0 || marker == 1 ||
 				(marker >= 0xd0 && marker < 0xd8))
-			continue; 
-		
+			continue;
+
 		if  (p + length <= size) p += length;
 		else {
 			ERROR("input JPEG too short, data missing\n");
@@ -223,9 +223,9 @@ static unsigned int guess_mjpeg_type(uns
 		return IMGFMT_ZRMJPEGIT;
 	}
 
-	
+
 	return 0;
-}	
+}
 
 // decode a frame
 static mp_image_t* decode(sh_video_t *sh, void* data, int len, int flags) {
@@ -235,12 +235,12 @@ static mp_image_t* decode(sh_video_t *sh
 	if (!ctx->vo_initialized) {
 		ctx->preferred_csp = guess_mjpeg_type(data, len, sh->disp_h);
 		if (ctx->preferred_csp == 0) return NULL;
-		mpcodecs_config_vo(sh, sh->disp_w, sh->disp_h, 
+		mpcodecs_config_vo(sh, sh->disp_w, sh->disp_h,
 				ctx->preferred_csp);
 		ctx->vo_initialized = 1;
 	}
 
-	mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, 
+	mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0,
 			sh->disp_w, sh->disp_h);
 	/* abuse of mpi */
     	mpi->planes[0]=(uint8_t*)data;

Modified: trunk/libmpcodecs/ve_lavc.c
==============================================================================
--- trunk/libmpcodecs/ve_lavc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_lavc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -332,7 +332,7 @@ static int config(struct vf_instance_s* 
 	unsigned int flags, unsigned int outfmt){
     int size, i;
     void *p;
-        
+
     mux_v->bih->biWidth=width;
     mux_v->bih->biHeight=height;
     mux_v->bih->biSizeImage=mux_v->bih->biWidth*mux_v->bih->biHeight*(mux_v->bih->biBitCount/8);
@@ -428,7 +428,7 @@ static int config(struct vf_instance_s* 
 		break;
 	    lavc_venc_context->intra_matrix[i++] = atoi(tmp);
 	}
-	
+
 	if (i != 64)
 	    av_freep(&lavc_venc_context->intra_matrix);
 	else
@@ -448,7 +448,7 @@ static int config(struct vf_instance_s* 
 		break;
 	    lavc_venc_context->inter_matrix[i++] = atoi(tmp);
 	}
-	
+
 	if (i != 64)
 	    av_freep(&lavc_venc_context->inter_matrix);
 	else
@@ -463,7 +463,7 @@ static int config(struct vf_instance_s* 
 	    mp_msg(MSGT_MENCODER,MSGL_ERR,"error parsing vrc_q\n");
             return 0;
         }
-        lavc_venc_context->rc_override= 
+        lavc_venc_context->rc_override=
             realloc(lavc_venc_context->rc_override, sizeof(RcOverride)*(i+1));
         lavc_venc_context->rc_override[i].start_frame= start;
         lavc_venc_context->rc_override[i].end_frame  = end;
@@ -496,7 +496,7 @@ static int config(struct vf_instance_s* 
     {
 	int par_width, par_height, e;
 	float ratio=0;
-	
+
 	e= sscanf (lavc_param_aspect, "%d/%d", &par_width, &par_height);
 	if(e==2){
             if(par_height)
@@ -507,7 +507,7 @@ static int config(struct vf_instance_s* 
 
 	if (e && ratio > 0.1 && ratio < 10.0) {
 	    lavc_venc_context->sample_aspect_ratio= av_d2q(ratio * height / width, 255);
-	    mp_dbg(MSGT_MENCODER, MSGL_DBG2, "sample_aspect_ratio: %d/%d\n", 
+	    mp_dbg(MSGT_MENCODER, MSGL_DBG2, "sample_aspect_ratio: %d/%d\n",
                 lavc_venc_context->sample_aspect_ratio.num,
                 lavc_venc_context->sample_aspect_ratio.den);
 	    mux_v->aspect = ratio;
@@ -540,7 +540,7 @@ static int config(struct vf_instance_s* 
     lavc_venc_context->mb_cmp= lavc_param_mb_cmp;
 #ifdef FF_CMP_VSAD
     lavc_venc_context->ildct_cmp= lavc_param_ildct_cmp;
-#endif    
+#endif
     lavc_venc_context->dia_size= lavc_param_dia_size;
     lavc_venc_context->flags|= lavc_param_qpel;
     lavc_venc_context->trellis = lavc_param_trell;
@@ -562,7 +562,7 @@ static int config(struct vf_instance_s* 
     lavc_venc_context->flags|= lavc_param_gmc;
 #ifdef CODEC_FLAG_CLOSED_GOP
     lavc_venc_context->flags|= lavc_param_closed_gop;
-#endif    
+#endif
     if(lavc_param_gray) lavc_venc_context->flags|= CODEC_FLAG_GRAY;
 
     if(lavc_param_normalize_aqp) lavc_venc_context->flags|= CODEC_FLAG_NORMALIZE_AQP;
@@ -623,7 +623,7 @@ static int config(struct vf_instance_s* 
     switch(lavc_param_vpass){
     case 2:
     case 3:
-	lavc_venc_context->flags|= CODEC_FLAG_PASS2; 
+	lavc_venc_context->flags|= CODEC_FLAG_PASS2;
 	stats_file= fopen(passtmpfile, "rb");
 	if(stats_file==NULL){
 	    mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
@@ -632,21 +632,21 @@ static int config(struct vf_instance_s* 
 	fseek(stats_file, 0, SEEK_END);
 	size= ftell(stats_file);
 	fseek(stats_file, 0, SEEK_SET);
-	
+
 	lavc_venc_context->stats_in= av_malloc(size + 1);
 	lavc_venc_context->stats_in[size]=0;
 
 	if(fread(lavc_venc_context->stats_in, size, 1, stats_file)<1){
 	    mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: reading from filename=%s\n", passtmpfile);
             return 0;
-	}        
+	}
 	if(lavc_param_vpass == 2)
 	    break;
 	else
 	    fclose(stats_file);
 	    /* fall through */
-    case 1: 
-	lavc_venc_context->flags|= CODEC_FLAG_PASS1; 
+    case 1:
+	lavc_venc_context->flags|= CODEC_FLAG_PASS1;
 	stats_file= fopen(passtmpfile, "wb");
 	if(stats_file==NULL){
 	    mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
@@ -685,7 +685,7 @@ static int config(struct vf_instance_s* 
     {
 	mp_msg(MSGT_MENCODER, MSGL_INFO, MSGTR_MPCODECS_UsingConstantQscale, lavc_param_vqscale);
 	lavc_venc_context->flags |= CODEC_FLAG_QSCALE;
-        lavc_venc_context->global_quality= 
+        lavc_venc_context->global_quality=
 	vf->priv->pic->quality = (int)(FF_QP2LAMBDA * lavc_param_vqscale + 0.5);
     }
 
@@ -701,7 +701,7 @@ static int config(struct vf_instance_s* 
 	mp_msg(MSGT_MENCODER,MSGL_ERR,"avcodec init failed (ctx->codec->encode == NULL)!\n");
 	return 0;
     }
-    
+
     /* free second pass buffer, its not needed anymore */
     av_freep(&lavc_venc_context->stats_in);
     if(lavc_venc_context->bits_per_coded_sample)
@@ -711,9 +711,9 @@ static int config(struct vf_instance_s* 
         memcpy(mux_v->bih + 1, lavc_venc_context->extradata, lavc_venc_context->extradata_size);
         mux_v->bih->biSize= sizeof(BITMAPINFOHEADER) + lavc_venc_context->extradata_size;
     }
-    
+
     mux_v->decoder_delay = lavc_venc_context->max_b_frames ? 1 : 0;
-    
+
     return 1;
 }
 
@@ -779,9 +779,9 @@ static int put_image(struct vf_instance_
     if(lavc_param_interlaced_dct){
         if((mpi->fields & MP_IMGFIELD_ORDERED) && (mpi->fields & MP_IMGFIELD_INTERLACED))
             pic->top_field_first= !!(mpi->fields & MP_IMGFIELD_TOP_FIRST);
-        else 
+        else
             pic->top_field_first= 1;
-    
+
         if(lavc_param_top!=-1)
             pic->top_field_first= lavc_param_top;
     }
@@ -811,7 +811,7 @@ static int encode_frame(struct vf_instan
 	out_size = avcodec_encode_video(lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
 	    pic);
 
-    if(pts != MP_NOPTS_VALUE) 
+    if(pts != MP_NOPTS_VALUE)
         dts= pts - lavc_venc_context->delay * av_q2d(lavc_venc_context->time_base);
     else
         dts= MP_NOPTS_VALUE;
@@ -831,12 +831,12 @@ static int encode_frame(struct vf_instan
         ++mux_v->encoder_delay;
         return 0;
     }
-           
-    muxer_write_chunk(mux_v,out_size,lavc_venc_context->coded_frame->key_frame?0x10:0, 
+
+    muxer_write_chunk(mux_v,out_size,lavc_venc_context->coded_frame->key_frame?0x10:0,
                       dts, pts);
     free(lavc_venc_context->coded_frame->opaque);
     lavc_venc_context->coded_frame->opaque= NULL;
-        
+
     /* store psnr / pict size / type / qscale */
     if(lavc_param_psnr){
         static FILE *fvstats=NULL;
@@ -861,7 +861,7 @@ static int encode_frame(struct vf_instan
                 /*exit(1);*/
             }
         }
-	
+
 	// average MB quantizer
 	q = lavc_venc_context->coded_frame->qscale_table;
 	if(q) {
@@ -874,7 +874,7 @@ static int encode_frame(struct vf_instan
 		q += lavc_venc_context->coded_frame->qstride;
 	    }
 	    quality /= w * h;
-	} else 
+	} else
 	    quality = lavc_venc_context->coded_frame->quality / (float)FF_QP2LAMBDA;
 
         fprintf(fvstats, "%6d, %2.2f, %6d, %2.2f, %2.2f, %2.2f, %2.2f %c\n",
@@ -889,7 +889,7 @@ static int encode_frame(struct vf_instan
             );
     }
     /* store stats if there are any */
-    if(lavc_venc_context->stats_out && stats_file) 
+    if(lavc_venc_context->stats_out && stats_file)
         fprintf(stats_file, "%s", lavc_venc_context->stats_out);
     return out_size;
 }
@@ -899,7 +899,7 @@ static void uninit(struct vf_instance_s*
     if(lavc_param_psnr){
         double f= lavc_venc_context->width*lavc_venc_context->height*255.0*255.0;
         f*= lavc_venc_context->coded_frame->coded_picture_number;
-        
+
         mp_msg(MSGT_MENCODER, MSGL_INFO, "PSNR: Y:%2.2f, Cb:%2.2f, Cr:%2.2f, All:%2.2f\n",
             psnr(lavc_venc_context->error[0]/f),
             psnr(lavc_venc_context->error[1]*4/f),
@@ -914,7 +914,7 @@ static void uninit(struct vf_instance_s*
     avcodec_close(lavc_venc_context);
 
     if(stats_file) fclose(stats_file);
-    
+
     /* free rc_override */
     av_freep(&lavc_venc_context->rc_override);
 

Modified: trunk/libmpcodecs/ve_libdv.c
==============================================================================
--- trunk/libmpcodecs/ve_libdv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_libdv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -31,7 +31,7 @@
 struct vf_priv_s {
     muxer_stream_t* mux;
     dv_encoder_t* enc;
-    
+
 };
 #define mux_v (vf->priv->mux)
 
@@ -44,7 +44,7 @@ static int config(struct vf_instance_s* 
     if(width!=DV_WIDTH || (height!=DV_PAL_HEIGHT && height!=DV_NTSC_HEIGHT)){
 	mp_msg(MSGT_VFILTER,MSGL_ERR,"DV: only 720x480 (NTSC) and 720x576 (PAL) resolutions allowed! Try with -vf scale=720:480\n");
     }
-    
+
     vf->priv->enc->isPAL=(height==DV_PAL_HEIGHT);
     vf->priv->enc->is16x9=(d_width/(float)d_height > 1.7); // 16:9=1.777777
     vf->priv->enc->vlc_encode_passes=3;
@@ -72,7 +72,7 @@ static int query_format(struct vf_instan
 
 static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 
-    dv_encode_full_frame(vf->priv->enc, mpi->planes, 
+    dv_encode_full_frame(vf->priv->enc, mpi->planes,
 	(mpi->flags&MP_IMGFLAG_YUV) ? e_dv_color_yuv : e_dv_color_rgb,
 	mux_v->buffer);
 
@@ -91,10 +91,10 @@ static int vf_open(vf_instance_t *vf, ch
     vf->priv=malloc(sizeof(struct vf_priv_s));
     memset(vf->priv,0,sizeof(struct vf_priv_s));
     vf->priv->mux=(muxer_stream_t*)args;
-    
+
     vf->priv->enc=dv_encoder_new(0,1,1); // FIXME, parse some options!
     if(!vf->priv->enc) return 0;
-    
+
     mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER));
     mux_v->bih->biSize=sizeof(BITMAPINFOHEADER);
     mux_v->bih->biWidth=0;

Modified: trunk/libmpcodecs/ve_nuv.c
==============================================================================
--- trunk/libmpcodecs/ve_nuv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_nuv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -62,7 +62,7 @@ m_option_t nuvopts_conf[]={
   {"l", &nuv_priv_dflt.l, CONF_TYPE_INT, M_OPT_RANGE,0,20, NULL},
   {"c", &nuv_priv_dflt.c, CONF_TYPE_INT, M_OPT_RANGE,0,20, NULL},
   {NULL, NULL, 0, 0, 0, 0, NULL}
-};  
+};
 
 //===========================================================================//
 
@@ -112,16 +112,16 @@ static int put_image(struct vf_instance_
   memset(header, 0, FRAMEHEADERSIZE); // Reset the header
   if(vf->priv->lzo)
     memset(vf->priv->zbuffer,0,FRAMEHEADERSIZE);
-    
+
   // This has to be don here otherwise tv with sound doesn't work
-  if(!vf->priv->tbl_wrote) {    
+  if(!vf->priv->tbl_wrote) {
     RTjpeg_init_compress((uint32_t *)data,mpi->width,mpi->height,vf->priv->q);
     RTjpeg_init_mcompress();
 
     header[0] = 'D'; // frametype: compressor data
     header[1] = 'R'; // comptype:  compressor data for RTjpeg
     AV_WL32(header + 8, COMPDATASIZE); // packetlength
-  
+
     mux_v->buffer=vf->priv->buffer;
     muxer_write_chunk(mux_v,FRAMEHEADERSIZE + COMPDATASIZE, 0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
     vf->priv->tbl_wrote = 1;
@@ -175,7 +175,7 @@ static int put_image(struct vf_instance_
     }
 
   }
-    
+
   header[0] = 'V'; // frametype: video frame
   AV_WL32(header + 8, len); // packetlength
   mux_v->buffer = header;
@@ -206,7 +206,7 @@ static int vf_open(vf_instance_t *vf, ch
   vf->priv=malloc(sizeof(struct vf_priv_s));
   memcpy(vf->priv, &nuv_priv_dflt,sizeof(struct vf_priv_s));
   vf->priv->mux=(muxer_stream_t*)args;
-  
+
   mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER));
   mux_v->bih->biSize=sizeof(BITMAPINFOHEADER);
   mux_v->bih->biWidth=0;

Modified: trunk/libmpcodecs/ve_qtvideo.c
==============================================================================
--- trunk/libmpcodecs/ve_qtvideo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_qtvideo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -30,9 +30,9 @@
 #include "mp_msg.h"
 #include "mpbswap.h"
 
-#ifdef WIN32_LOADER 
+#ifdef WIN32_LOADER
 #include "loader/ldt_keeper.h"
-#endif 
+#endif
 
 #include "loader/qtx/qtxsdk/components.h"
 #include "loader/wine/windef.h"
@@ -321,7 +321,7 @@ static int vf_open(vf_instance_t *vf, ch
         mp_msg(MSGT_MENCODER,MSGL_ERR,"unable to load QuickTime.qts\n" );
         return 0;
     }
-    
+
     handler = LoadLibraryA("qtmlClient.dll");
     if(!handler){
         mp_msg(MSGT_MENCODER,MSGL_ERR,"unable to load qtmlClient.dll\n");

Modified: trunk/libmpcodecs/ve_raw.c
==============================================================================
--- trunk/libmpcodecs/ve_raw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_raw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -29,7 +29,7 @@ struct vf_priv_s {
 static int set_format(struct vf_instance_s *vf, unsigned int fmt) {
     if (!force_fourcc)
         mux_v->bih->biCompression = fmt;
-    
+
     mux_v->bih->biPlanes = 1;
     if (IMGFMT_IS_RGB(fmt)) {
 	if (IMGFMT_RGB_DEPTH(fmt) < 8 && !(fmt&128))
@@ -140,7 +140,7 @@ static int vf_open(vf_instance_t *vf, ch
     vf->priv = malloc(sizeof(struct vf_priv_s));
     memset(vf->priv, 0, sizeof(struct vf_priv_s));
     vf->priv->mux = (muxer_stream_t*)args;
-    
+
     mux_v->bih = calloc(1, sizeof(BITMAPINFOHEADER));
     mux_v->bih->biSize = sizeof(BITMAPINFOHEADER);
     mux_v->bih->biWidth = 0;

Modified: trunk/libmpcodecs/ve_vfw.c
==============================================================================
--- trunk/libmpcodecs/ve_vfw.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_vfw.c	Wed May 13 04:58:57 2009	(r29305)
@@ -167,7 +167,7 @@ static int vfw_start_encoder(BITMAPINFOH
     return 0;
   }
   mp_msg(MSGT_WIN32,MSGL_V,"ICCompressGetFormat OK\n");
-  
+
   if (temp_len > sizeof(BITMAPINFOHEADER))
   {
     unsigned char* temp=(unsigned char*)output_bih;
@@ -220,7 +220,7 @@ static int vfw_start_encoder(BITMAPINFOH
     mp_msg(MSGT_WIN32,MSGL_INFO,"  biBitCount %d\n", output_bih->biBitCount);
     mp_msg(MSGT_WIN32,MSGL_INFO,"  biCompression 0x%lx ('%.4s')\n", output_bih->biCompression, (char *)&output_bih->biCompression);
     mp_msg(MSGT_WIN32,MSGL_INFO,"  biSizeImage %ld\n", output_bih->biSizeImage);
-  
+
   encoder_buf_size=input_bih->biSizeImage;
   encoder_buf=malloc(encoder_buf_size);
   encoder_frameno=0;

Modified: trunk/libmpcodecs/ve_x264.c
==============================================================================
--- trunk/libmpcodecs/ve_x264.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_x264.c	Wed May 13 04:58:57 2009	(r29305)
@@ -158,7 +158,7 @@ static int config(struct vf_instance_s* 
     mod->mux->bih->biHeight = height;
     mod->mux->bih->biSizeImage = width * height * 3;
     mod->mux->aspect = (float)d_width/d_height;
-    
+
     // make sure param is initialized
     x264enc_set_param(NULL, "");
     param.i_width = width;
@@ -181,7 +181,7 @@ static int config(struct vf_instance_s* 
         mp_msg(MSGT_MENCODER, MSGL_ERR, "Wrong colorspace.\n");
         return 0;
     }
-    
+
     mod->x264 = x264_encoder_open(&param);
     if(!mod->x264) {
         mp_msg(MSGT_MENCODER, MSGL_ERR, "x264_encoder_open failed.\n");
@@ -206,12 +206,12 @@ static int config(struct vf_instance_s* 
         memcpy(mod->mux->bih + 1, extradata, extradata_size);
         mod->mux->bih->biSize= sizeof(BITMAPINFOHEADER) + extradata_size;
     }
-    
+
     if (param.i_bframe > 1 && param.b_bframe_pyramid)
         mod->mux->decoder_delay = 2;
     else
         mod->mux->decoder_delay = param.i_bframe ? 1 : 0;
-    
+
     return 1;
 }
 
@@ -251,7 +251,7 @@ static int put_image(struct vf_instance_
 {
     h264_module_t *mod=(h264_module_t*)vf->priv;
     int i;
-    
+
     memset(&mod->pic, 0, sizeof(x264_picture_t));
     mod->pic.img.i_csp=param.i_csp;
     mod->pic.img.i_plane=3;
@@ -278,7 +278,7 @@ static int encode_frame(struct vf_instan
         mp_msg(MSGT_MENCODER, MSGL_ERR, "x264_encoder_encode failed\n");
         return -1;
     }
-    
+
     for(i=0; i < i_nal; i++) {
         int i_data = mod->mux->buffer_size - i_size;
         i_size += x264_nal_encode(mod->mux->buffer + i_size, &i_data, 1, &nal[i]);

Modified: trunk/libmpcodecs/ve_xvid4.c
==============================================================================
--- trunk/libmpcodecs/ve_xvid4.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/ve_xvid4.c	Wed May 13 04:58:57 2009	(r29305)
@@ -256,7 +256,7 @@ m_option_t xvidencopts_conf[] =
 	{"frame_drop_ratio", &xvidenc_frame_drop_ratio, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
 	{"max_key_interval", &xvidenc_max_key_interval, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
 	{"greyscale", &xvidenc_greyscale, CONF_TYPE_FLAG, 0, 0, 1, NULL}, /* kept for backward compatibility */
-	{"grayscale", &xvidenc_greyscale, CONF_TYPE_FLAG, 0, 0, 1, NULL},		
+	{"grayscale", &xvidenc_greyscale, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"nogreyscale", &xvidenc_greyscale, CONF_TYPE_FLAG, 0, 1, 0, NULL},
 	{"lumi_mask", &xvidenc_luminance_masking, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 	{"nolumi_mask", &xvidenc_luminance_masking, CONF_TYPE_FLAG, 0, 1, 0, NULL},
@@ -347,9 +347,9 @@ typedef struct xvid_mplayer_module_t
 	int max_sse_u;
 	int max_sse_v;
 	int max_framenum;
-	
+
 	int pixels;
-	
+
 	/* DAR/PAR and all that thingies */
 	int d_width;
 	int d_height;
@@ -380,11 +380,11 @@ config(struct vf_instance_s* vf,
 {
 	int err;
 	xvid_mplayer_module_t *mod = (xvid_mplayer_module_t *)vf->priv;
-	
+
 	/* Complete the muxer initialization */
 	mod->mux->bih->biWidth = width;
 	mod->mux->bih->biHeight = height;
-	mod->mux->bih->biSizeImage = 
+	mod->mux->bih->biSizeImage =
 		mod->mux->bih->biWidth * mod->mux->bih->biHeight * 3 / 2;
 	mod->mux->aspect = (float)d_width/d_height;
 
@@ -425,7 +425,7 @@ config(struct vf_instance_s* vf,
 		       "xvid: xvidcore returned a '%s' error\n", errorstring(err));
 		return BAD;
 	}
-	
+
 	/* Store the encoder instance into the private data */
 	mod->instance = mod->create.handle;
 
@@ -517,7 +517,7 @@ static int
 put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	int size;
-	xvid_enc_stats_t stats; 
+	xvid_enc_stats_t stats;
 	xvid_mplayer_module_t *mod = (xvid_mplayer_module_t *)vf->priv;
 
 	/* Prepare the stats */
@@ -630,7 +630,7 @@ vf_open(vf_instance_t *vf, char* args)
 		       XVID_VERSION_PATCH(xvid_gbl_info.actual_version),
 		       xvid_gbl_info.build);
 	}
-		
+
 	/* Initialize the xvid_gbl_init structure */
 	memset(&xvid_gbl_init, 0, sizeof(xvid_gbl_init_t));
 	xvid_gbl_init.version = XVID_VERSION;
@@ -681,7 +681,7 @@ static int dispatch_settings(xvid_mplaye
 			"xvid:[ERROR] \"%s\" is an invalid profile name\n", xvidenc_profile);
 		return BAD;
 	}
-	
+
 	/* -------------------------------------------------------------------
 	 * Dispatch all settings having an impact on the "create" structure
 	 * This includes plugins as they are passed to encore through the
@@ -736,7 +736,7 @@ static int dispatch_settings(xvid_mplaye
 	if(selected_profile->flags & PROFILE_DXN)
 		create->global |= XVID_GLOBAL_DIVX5_USERDATA;
 #endif
-	
+
 	create->max_key_interval = xvidenc_max_key_interval;
 	create->frame_drop_ratio = xvidenc_frame_drop_ratio;
 	create->min_quant[0] = xvidenc_min_quant[0];
@@ -899,12 +899,12 @@ static int dispatch_settings(xvid_mplaye
 
 	if( !(selected_profile->flags & PROFILE_DXN) )
 	{
-	if(xvidenc_dar_aspect > 0) 
+	if(xvidenc_dar_aspect > 0)
 	    ar = av_d2q(xvidenc_dar_aspect * mod->mux->bih->biHeight / mod->mux->bih->biWidth, 255);
 	else if(xvidenc_autoaspect)
 	    ar = av_d2q((float)mod->d_width / mod->d_height * mod->mux->bih->biHeight / mod->mux->bih->biWidth, 255);
 	else ar.num = ar.den = 0;
-	
+
 	if(ar.den != 0) {
 		if(ar.num == 12 && ar.den == 11)
 		    frame->par = XVID_PAR_43_PAL;
@@ -915,12 +915,12 @@ static int dispatch_settings(xvid_mplaye
 		else if(ar.num == 40 && ar.den == 33)
 		    frame->par = XVID_PAR_169_NTSC;
 		else
-		{    
+		{
 		    frame->par = XVID_PAR_EXT;
 		    frame->par_width = ar.num;
 		    frame->par_height= ar.den;
 		}
-			
+
 	} else if(xvidenc_par != NULL) {
 		if(strcasecmp(xvidenc_par, "pal43") == 0)
 			frame->par = XVID_PAR_43_PAL;
@@ -947,7 +947,7 @@ static int dispatch_settings(xvid_mplaye
 	}
 
 	/* Display par information */
-	mp_msg(MSGT_MENCODER, MSGL_INFO, "xvid: par=%d/%d (%s), displayed=%dx%d, sampled=%dx%d\n", 
+	mp_msg(MSGT_MENCODER, MSGL_INFO, "xvid: par=%d/%d (%s), displayed=%dx%d, sampled=%dx%d\n",
 			ar.num, ar.den, par_string(frame->par),
 			mod->d_width, mod->d_height, mod->mux->bih->biWidth, mod->mux->bih->biHeight);
 	}
@@ -1101,7 +1101,7 @@ static int set_create_struct(xvid_mplaye
 			       squant.num,
 			       squant.den,
 			       (float)(squant.num)/(float)(squant.den));
-			
+
 		} else {
 			mp_msg(MSGT_MENCODER, MSGL_INFO,
 			       "xvid: CBR Rate Control -- bitrate=%dkbit/s\n",
@@ -1272,7 +1272,7 @@ static int set_frame_struct(xvid_mplayer
 }
 
 static void
-flush_internal_buffers(xvid_mplayer_module_t *mod)		
+flush_internal_buffers(xvid_mplayer_module_t *mod)
 {
 	int size;
 	xvid_enc_frame_t *frame = &mod->frame;
@@ -1336,7 +1336,7 @@ update_stats(xvid_mplayer_module_t *mod,
 			mod->max_sse_v = stats->sse_v;
 			mod->max_framenum = mod->frames;
 		}
-		
+
 		if (xvidenc_psnr) {
 			if (!mod->fvstats) {
 				char filename[20];
@@ -1408,7 +1408,7 @@ static void *read_matrix(unsigned char *
 	int i;
 	unsigned char *matrix;
 	FILE *input;
-	
+
 	/* Allocate matrix space */
 	if((matrix = malloc(64*sizeof(unsigned char))) == NULL)
 	   return NULL;
@@ -1450,7 +1450,7 @@ static void *read_matrix(unsigned char *
 	fclose(input);
 
 	return matrix;
-	
+
 }
 
 

Modified: trunk/libmpcodecs/vf.c
==============================================================================
--- trunk/libmpcodecs/vf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -268,12 +268,12 @@ mp_image_t* vf_get_image(vf_instance_t* 
   if (h == -1) h = vf->h;
 
   w2=(mp_imgflag&MP_IMGFLAG_ACCEPT_ALIGNED_STRIDE)?((w+15)&(~15)):w;
-  
+
   if(vf->put_image==vf_next_put_image){
       // passthru mode, if the filter uses the fallback/default put_image() code
       return vf_get_image(vf->next,outfmt,mp_imgtype,mp_imgflag,w,h);
   }
-  
+
   // Note: we should call libvo first to check if it supports direct rendering
   // and if not, then fallback to software buffers:
   switch(mp_imgtype & 0xff){
@@ -343,7 +343,7 @@ mp_image_t* vf_get_image(vf_instance_t* 
 
 	// check libvo first!
 	if(vf->get_image) vf->get_image(vf,mpi);
-	
+
         if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
           // non-direct and not yet allocated image. allocate it!
           if (!mpi->bpp) { // no way we can allocate this
@@ -351,8 +351,8 @@ mp_image_t* vf_get_image(vf_instance_t* 
                      "vf_get_image: Tried to allocate a format that can not be allocated!\n");
               return NULL;
           }
-	  
-	  // check if codec prefer aligned stride:  
+
+	  // check if codec prefer aligned stride:
 	  if(mp_imgflag&MP_IMGFLAG_PREFER_ALIGNED_STRIDE){
 	      int align=(mpi->flags&MP_IMGFLAG_PLANAR &&
 	                 mpi->flags&MP_IMGFLAG_YUV) ?
@@ -369,7 +369,7 @@ mp_image_t* vf_get_image(vf_instance_t* 
 		  }
 	      }
 	  }
-	  
+
 	  // IF09 - allocate space for 4. plane delta info - unused
 	  if (mpi->imgfmt == IMGFMT_IF09)
 	  {
@@ -382,9 +382,9 @@ mp_image_t* vf_get_image(vf_instance_t* 
 	     mpi->planes[0]=memalign(64, mpi->bpp*mpi->width*(mpi->height+2)/8);
 	  if(mpi->flags&MP_IMGFLAG_PLANAR){
 	      // YV12/I420/YVU9/IF09. feel free to add other planar formats here...
-	      //if(!mpi->stride[0]) 
+	      //if(!mpi->stride[0])
 	      mpi->stride[0]=mpi->width;
-	      //if(!mpi->stride[1]) 
+	      //if(!mpi->stride[1])
 	      if(mpi->num_planes > 2){
 	      mpi->stride[1]=mpi->stride[2]=mpi->chroma_width;
 	      if(mpi->flags&MP_IMGFLAG_SWAPPED){
@@ -402,7 +402,7 @@ mp_image_t* vf_get_image(vf_instance_t* 
 	          mpi->planes[1]=mpi->planes[0]+mpi->width*mpi->height;
 	      }
 	  } else {
-	      //if(!mpi->stride[0]) 
+	      //if(!mpi->stride[0])
 	      mpi->stride[0]=mpi->width*mpi->bpp/8;
 	  }
 //	  printf("clearing img!\n");
@@ -725,7 +725,7 @@ void vf_next_draw_slice(struct vf_instan
 
 vf_instance_t* append_filters(vf_instance_t* last){
   vf_instance_t* vf;
-  int i; 
+  int i;
 
   if(vf_settings) {
     // We want to add them in the 'right order'

Modified: trunk/libmpcodecs/vf.h
==============================================================================
--- trunk/libmpcodecs/vf.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf.h	Wed May 13 04:58:57 2009	(r29305)
@@ -67,7 +67,7 @@ typedef struct vf_instance_s {
 // control codes:
 #include "mpc_info.h"
 
-typedef struct vf_seteq_s 
+typedef struct vf_seteq_s
 {
     const char *item;
     int value;

Modified: trunk/libmpcodecs/vf_1bpp.c
==============================================================================
--- trunk/libmpcodecs/vf_1bpp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_1bpp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -25,7 +25,7 @@ static const unsigned int bgr_list[]={
     IMGFMT_IYUV,
     IMGFMT_422P,
     IMGFMT_444P,
-    
+
     IMGFMT_YUY2,
     IMGFMT_BGR15,
     IMGFMT_RGB15,
@@ -105,7 +105,7 @@ static void convert(mp_image_t *mpi, mp_
 
 static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
-    
+
     // hope we'll get DR buffer:
     dmpi=vf_get_image(vf->next,vf->priv->fmt,
 	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,

Modified: trunk/libmpcodecs/vf_2xsai.c
==============================================================================
--- trunk/libmpcodecs/vf_2xsai.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_2xsai.c	Wed May 13 04:58:57 2009	(r29305)
@@ -30,11 +30,11 @@ int Init_2xSaI(int d)
 
 	int minr = 0, ming = 0, minb = 0;
 	int i;
-	
+
 //	if (d != 15 && d != 16 && d != 24 && d != 32)
 //		return -1;
 
-	/* Get lowest color bit */	
+	/* Get lowest color bit */
 	for (i = 0; i < 255; i++) {
 		if (!minr)
 			minr = makecol(i, 0, 0);
@@ -52,7 +52,7 @@ int Init_2xSaI(int d)
 	greenMask = makecol_depth(d, 0, 255, 0);
 
 	PixelsPerMask = (d <= 16) ? 2 : 1;
-	
+
 	if (PixelsPerMask == 2) {
 		colorMask |= (colorMask << 16);
 		qcolorMask |= (qcolorMask << 16);
@@ -64,7 +64,7 @@ int Init_2xSaI(int d)
 //	TRACE("Low Pixel Mask:   0x%lX\n", lowPixelMask);
 //	TRACE("QColor Mask:      0x%lX\n", qcolorMask);
 //	TRACE("QLow Pixel Mask:  0x%lX\n", qlowpixelMask);
-	
+
 	return 0;
 }
 
@@ -77,7 +77,7 @@ int Init_2xSaI(int d)
 	+ ((((A & qlowpixelMask) + (B & qlowpixelMask) + (C & qlowpixelMask) + (D & qlowpixelMask)) >> 2) & qlowpixelMask)
 
 
-void Super2xSaI_ex(uint8_t *src, uint32_t src_pitch, 
+void Super2xSaI_ex(uint8_t *src, uint32_t src_pitch,
 		   uint8_t *dst, uint32_t dst_pitch,
 		   uint32_t width, uint32_t height, int sbpp) {
 
@@ -90,9 +90,9 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 	src_line[1] = src;
 	src_line[2] = src + src_pitch;
 	src_line[3] = src + src_pitch * 2;
-	
+
 	x = 0, y = 0;
-	
+
 	if (PixelsPerMask == 2) {
 		unsigned short *sbp;
 		sbp = (unsigned short*)src_line[0];
@@ -119,9 +119,9 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 
 		dst_line[0] = dst + dst_pitch*2*y;
 		dst_line[1] = dst + dst_pitch*(2*y+1);
-	
+
 		/* Todo: x = width - 2, x = width - 1 */
-		
+
 		for (x = 0; x < width; x++) {
 			uint32_t product1a, product1b, product2a, product2b;
 
@@ -152,7 +152,7 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 					product1b = color[5];
 				else
 					product1b = INTERPOLATE(color[5], color[6]);
-					
+
 				product2b = product1b;
 
 			}
@@ -185,7 +185,7 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 				product1a = INTERPOLATE(color[9], color[5]);
 			else
 				product1a = color[5];
-	
+
 			if (PixelsPerMask == 2) {
 				*((uint32_t *) (&dst_line[0][x * 4])) = product1a | (product1b << 16);
 				*((uint32_t *) (&dst_line[1][x * 4])) = product2a | (product2b << 16);
@@ -196,16 +196,16 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 				*((uint32_t *) (&dst_line[1][x * 8])) = product2a;
 				*((uint32_t *) (&dst_line[1][x * 8 + 4])) = product2b;
 			}
-			
+
 			/* Move color matrix forward */
 			color[0] = color[1]; color[4] = color[5]; color[8] = color[9];   color[12] = color[13];
 			color[1] = color[2]; color[5] = color[6]; color[9] = color[10];  color[13] = color[14];
 			color[2] = color[3]; color[6] = color[7]; color[10] = color[11]; color[14] = color[15];
-			
+
 			if (x < width - 3) {
 				x += 3;
 				if (PixelsPerMask == 2) {
-					color[3] = *(((unsigned short*)src_line[0]) + x);					
+					color[3] = *(((unsigned short*)src_line[0]) + x);
 					color[7] = *(((unsigned short*)src_line[1]) + x);
 					color[11] = *(((unsigned short*)src_line[2]) + x);
 					color[15] = *(((unsigned short*)src_line[3]) + x);
@@ -223,14 +223,14 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 		/* We're done with one line, so we shift the source lines up */
 		src_line[0] = src_line[1];
 		src_line[1] = src_line[2];
-		src_line[2] = src_line[3];		
+		src_line[2] = src_line[3];
 
 		/* Read next line */
 		if (y + 3 >= height)
 			src_line[3] = src_line[2];
 		else
 			src_line[3] = src_line[2] + src_pitch;
-			
+
 		/* Then shift the color matrix up */
 		if (PixelsPerMask == 2) {
 			unsigned short *sbp;
@@ -254,9 +254,9 @@ void Super2xSaI_ex(uint8_t *src, uint32_
 			lbp = (uint32_t*)src_line[3];
 			color[12] = *lbp;    color[13] = color[12];  color[14] = *(lbp + 1); color[15] = *(lbp + 2);
 		}
-		
+
 	} // y loop
-	
+
 }
 
 
@@ -282,7 +282,7 @@ static int put_image(struct vf_instance_
     Super2xSaI_ex(mpi->planes[0], mpi->stride[0],
 		  dmpi->planes[0], dmpi->stride[0],
 		  mpi->w, mpi->h, mpi->bpp/8);
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_ass.c
==============================================================================
--- trunk/libmpcodecs/vf_ass.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_ass.c	Wed May 13 04:58:57 2009	(r29305)
@@ -87,12 +87,12 @@ static int config(struct vf_instance_s* 
 	if(!opt_screen_size_x && !opt_screen_size_y){
 		d_width = d_width * vf->priv->outw / width;
 		d_height = d_height * vf->priv->outh / height;
-	} 
+	}
 
 	vf->priv->planes[1] = malloc(vf->priv->outw * vf->priv->outh);
 	vf->priv->planes[2] = malloc(vf->priv->outw * vf->priv->outh);
 	vf->priv->dirty_rows = malloc(vf->priv->outh);
-	
+
 	if (vf->priv->ass_priv) {
 		ass_configure(vf->priv->ass_priv, vf->priv->outw, vf->priv->outh, 0);
 		ass_set_aspect_ratio(vf->priv->ass_priv, ((double)d_width) / d_height);
@@ -106,10 +106,10 @@ static void get_image(struct vf_instance
 	if(mpi->type == MP_IMGTYPE_IPB) return;
 	if(mpi->flags & MP_IMGFLAG_PRESERVE) return;
 	if(mpi->imgfmt != vf->priv->outfmt) return; // colorspace differ
-	    
+
 	// width never changes, always try full DR
 	mpi->priv = vf->dmpi = vf_get_image(vf->next, mpi->imgfmt,
-			mpi->type, mpi->flags | MP_IMGFLAG_READABLE, 
+			mpi->type, mpi->flags | MP_IMGFLAG_READABLE,
 			vf->priv->outw,
 			vf->priv->outh);
 
@@ -222,7 +222,7 @@ static void copy_from_image(struct vf_in
 	for (pl = 1; pl < 3; ++pl) {
 		int dst_stride = vf->priv->outw;
 		int src_stride = vf->dmpi->stride[pl];
-		
+
 		unsigned char* src = vf->dmpi->planes[pl] + (first_row/2) * src_stride;
 		unsigned char* dst = vf->priv->planes[pl] + first_row * dst_stride;
 		unsigned char* dst_next = dst + dst_stride;
@@ -257,7 +257,7 @@ static void copy_to_image(struct vf_inst
 	for (pl = 1; pl < 3; ++pl) {
 		int dst_stride = vf->dmpi->stride[pl];
 		int src_stride = vf->priv->outw;
-		
+
 		unsigned char* dst = vf->dmpi->planes[pl];
 		unsigned char* src = vf->priv->planes[pl];
 		unsigned char* src_next = vf->priv->planes[pl] + src_stride;
@@ -306,7 +306,7 @@ static void my_draw_bitmap(struct vf_ins
 		dsty += dmpi->stride[0];
 		dstu += vf->priv->outw;
 		dstv += vf->priv->outw;
-	} 
+	}
 }
 
 static int render_frame(struct vf_instance_s* vf, mp_image_t *mpi, const ass_image_t* img)
@@ -329,7 +329,7 @@ static int put_image(struct vf_instance_
 	ass_image_t* images = 0;
 	if (sub_visibility && vf->priv->ass_priv && ass_track && (pts != MP_NOPTS_VALUE))
 		images = ass_mp_render_frame(vf->priv->ass_priv, ass_track, (pts+sub_delay) * 1000 + .5, NULL);
-	
+
 	prepare_image(vf, mpi);
 	if (images) render_frame(vf, mpi, images);
 
@@ -392,10 +392,10 @@ static int open(vf_instance_t *vf, char*
 		uninit(vf);
 		return 0;
 	}
-	
+
 	if (vf->priv->auto_insert)
 		mp_msg(MSGT_ASS, MSGL_INFO, "[ass] auto-open\n");
-	
+
 	vf->config = config;
 	vf->query_format = query_format;
 	vf->uninit = uninit;

Modified: trunk/libmpcodecs/vf_bmovl.c
==============================================================================
--- trunk/libmpcodecs/vf_bmovl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_bmovl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -211,7 +211,7 @@ _read_cmd(int fd, char *cmd, char *args)
 	}
 	return TRUE;
 }
-			
+
 
 static int
 put_image(struct vf_instance_s* vf, mp_image_t* mpi, double pts){
@@ -318,7 +318,7 @@ put_image(struct vf_instance_s* vf, mp_i
 				vf->priv->x2 = av_clip(imgx + imgw, vf->priv->x2, vf->priv->w);
 				vf->priv->y2 = av_clip(imgy + imgh, vf->priv->y2, vf->priv->h);
 			}
-			
+
 			if( command == CMD_CLEAR ) {
 				sscanf( args, "%d %d %d %d", &imgw, &imgh, &imgx, &imgy);
 				mp_msg(MSGT_VFILTER, MSGL_DBG2, "\nDEBUG: CLEAR: %d %d %d %d\n\n", imgw, imgh, imgx, imgy);
@@ -435,19 +435,19 @@ put_image(struct vf_instance_s* vf, mp_i
 						dmpi->planes[2][pos] = vf->priv->bitmap.v[pos];
 					}
 				} else { // Alphablended pixel
-					dmpi->planes[0][pos] = 
-						((255 - alpha) * (int)dmpi->planes[0][pos] + 
+					dmpi->planes[0][pos] =
+						((255 - alpha) * (int)dmpi->planes[0][pos] +
 						alpha * (int)vf->priv->bitmap.y[pos]) >> 8;
-					
+
 					if ((ypos%2) && (xpos%2)) {
 						pos = ( (ypos/2) * dmpi->stride[1] ) + (xpos/2);
 
-						dmpi->planes[1][pos] = 
-							((255 - alpha) * (int)dmpi->planes[1][pos] + 
+						dmpi->planes[1][pos] =
+							((255 - alpha) * (int)dmpi->planes[1][pos] +
 							alpha * (int)vf->priv->bitmap.u[pos]) >> 8;
-						
-						dmpi->planes[2][pos] = 
-							((255 - alpha) * (int)dmpi->planes[2][pos] + 
+
+						dmpi->planes[2][pos] =
+							((255 - alpha) * (int)dmpi->planes[2][pos] +
 							alpha * (int)vf->priv->bitmap.v[pos]) >> 8;
 					}
 			    }

Modified: trunk/libmpcodecs/vf_boxblur.c
==============================================================================
--- trunk/libmpcodecs/vf_boxblur.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_boxblur.c	Wed May 13 04:58:57 2009	(r29305)
@@ -84,7 +84,7 @@ static inline void blur(uint8_t *dst, ui
 static inline void blur2(uint8_t *dst, uint8_t *src, int w, int radius, int power, int dstStep, int srcStep){
 	uint8_t temp[2][4096];
 	uint8_t *a= temp[0], *b=temp[1];
-	
+
 	if(radius){
 		blur(a, src, w, radius, 1, srcStep);
 		for(; power>2; power--){
@@ -108,9 +108,9 @@ static inline void blur2(uint8_t *dst, u
 
 static void hBlur(uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride, int radius, int power){
 	int y;
-	
+
 	if(radius==0 && dst==src) return;
-	
+
 	for(y=0; y<h; y++){
 		blur2(dst + y*dstStride, src + y*srcStride, w, radius, power, 1, 1);
 	}
@@ -119,7 +119,7 @@ static void hBlur(uint8_t *dst, uint8_t 
 //FIXME optimize (x before y !!!)
 static void vBlur(uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride, int radius, int power){
 	int x;
-	
+
 	if(radius==0 && dst==src) return;
 
 	for(x=0; x<w; x++){
@@ -136,21 +136,21 @@ static int put_image(struct vf_instance_
 		mpi->w,mpi->h);
 
 	assert(mpi->flags&MP_IMGFLAG_PLANAR);
-	
-	hBlur(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, 
+
+	hBlur(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h,
 		dmpi->stride[0], mpi->stride[0], vf->priv->lumaParam.radius, vf->priv->lumaParam.power);
-	hBlur(dmpi->planes[1], mpi->planes[1], cw,ch, 
+	hBlur(dmpi->planes[1], mpi->planes[1], cw,ch,
 		dmpi->stride[1], mpi->stride[1], vf->priv->chromaParam.radius, vf->priv->chromaParam.power);
-	hBlur(dmpi->planes[2], mpi->planes[2], cw,ch, 
+	hBlur(dmpi->planes[2], mpi->planes[2], cw,ch,
 		dmpi->stride[2], mpi->stride[2], vf->priv->chromaParam.radius, vf->priv->chromaParam.power);
-	
-	vBlur(dmpi->planes[0], dmpi->planes[0], mpi->w,mpi->h, 
+
+	vBlur(dmpi->planes[0], dmpi->planes[0], mpi->w,mpi->h,
 		dmpi->stride[0], dmpi->stride[0], vf->priv->lumaParam.radius, vf->priv->lumaParam.power);
-	vBlur(dmpi->planes[1], dmpi->planes[1], cw,ch, 
+	vBlur(dmpi->planes[1], dmpi->planes[1], cw,ch,
 		dmpi->stride[1], dmpi->stride[1], vf->priv->chromaParam.radius, vf->priv->chromaParam.power);
-	vBlur(dmpi->planes[2], dmpi->planes[2], cw,ch, 
+	vBlur(dmpi->planes[2], dmpi->planes[2], cw,ch,
 		dmpi->stride[2], dmpi->stride[2], vf->priv->chromaParam.radius, vf->priv->chromaParam.power);
-    
+
 	return vf_next_put_image(vf,dmpi, pts);
 }
 
@@ -182,14 +182,14 @@ static int open(vf_instance_t *vf, char*
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));
 
 	if(args==NULL) return 0;
-	
+
 	e=sscanf(args, "%d:%d:%d:%d",
 		&vf->priv->lumaParam.radius,
 		&vf->priv->lumaParam.power,
 		&vf->priv->chromaParam.radius,
 		&vf->priv->chromaParam.power
 		);
-	
+
 	if(e==2){
 		vf->priv->chromaParam.radius= vf->priv->lumaParam.radius;
 		vf->priv->chromaParam.power = vf->priv->lumaParam.power;
@@ -198,7 +198,7 @@ static int open(vf_instance_t *vf, char*
 
 	if(vf->priv->lumaParam.radius < 0) return 0;
 	if(vf->priv->chromaParam.radius < 0) return 0;
-		
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/vf_crop.c
==============================================================================
--- trunk/libmpcodecs/vf_crop.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_crop.c	Wed May 13 04:58:57 2009	(r29305)
@@ -152,7 +152,7 @@ static int open(vf_instance_t *vf, char*
     vf->priv->crop_w=
     vf->priv->crop_h=-1;
     } //if(!vf->priv)
-    if(args) sscanf(args, "%d:%d:%d:%d", 
+    if(args) sscanf(args, "%d:%d:%d:%d",
     &vf->priv->crop_w,
     &vf->priv->crop_h,
     &vf->priv->crop_x,

Modified: trunk/libmpcodecs/vf_cropdetect.c
==============================================================================
--- trunk/libmpcodecs/vf_cropdetect.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_cropdetect.c	Wed May 13 04:58:57 2009	(r29305)
@@ -73,7 +73,7 @@ static int put_image(struct vf_instance_
     dmpi->height=mpi->height;
 
 if(++vf->priv->fno>2){	// ignore first 2 frames - they may be empty
-    
+
     for(y=0;y<vf->priv->y1;y++){
 	if(checkline(mpi->planes[0]+mpi->stride[0]*y,bpp,mpi->w,bpp)>vf->priv->limit){
 	    vf->priv->y1=y;
@@ -106,7 +106,7 @@ if(++vf->priv->fno>2){	// ignore first 2
     // make sure they stay rounded!
     x=(vf->priv->x1+1)&(~1);
     y=(vf->priv->y1+1)&(~1);
-    
+
     w = vf->priv->x2 - x + 1;
     h = vf->priv->y2 - y + 1;
 

Modified: trunk/libmpcodecs/vf_decimate.c
==============================================================================
--- trunk/libmpcodecs/vf_decimate.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_decimate.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,10 +27,10 @@ static int diff_MMX(unsigned char *old, 
 		"movl $8, %%ecx \n\t"
 		"pxor %%mm4, %%mm4 \n\t"
 		"pxor %%mm7, %%mm7 \n\t"
-		
+
 		ASMALIGN(4)
 		"1: \n\t"
-		
+
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
 		"add %%"REG_a", %%"REG_S" \n\t"
@@ -48,12 +48,12 @@ static int diff_MMX(unsigned char *old, 
 		"paddw %%mm1, %%mm4 \n\t"
 		"paddw %%mm2, %%mm4 \n\t"
 		"paddw %%mm3, %%mm4 \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz 1b \n\t"
 		"movq %%mm4, (%%"REG_d") \n\t"
 		"emms \n\t"
-		: 
+		:
 		: "S" (old), "D" (new), "a" ((long)os), "b" ((long)ns), "d" (out)
 		: "%ecx", "memory"
 		);
@@ -132,7 +132,7 @@ static int put_image(struct vf_instance_
 	}
 	vf->priv->last++;
 	vf->priv->cnt=0;
-	
+
 	memcpy_pic(dmpi->planes[0], mpi->planes[0], mpi->w, mpi->h,
 		dmpi->stride[0], mpi->stride[0]);
 	if (mpi->flags & MP_IMGFLAG_PLANAR) {

Modified: trunk/libmpcodecs/vf_delogo.c
==============================================================================
--- trunk/libmpcodecs/vf_delogo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_delogo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,11 +54,11 @@ static void delogo(uint8_t *dst, uint8_t
     int y, x;
     int interp, dist;
     uint8_t *xdst, *xsrc;
-    
+
     uint8_t *topleft, *botleft, *topright;
     int xclipl, xclipr, yclipt, yclipb;
     int logo_x1, logo_x2, logo_y1, logo_y2;
-    
+
     xclipl = MAX(-logo_x, 0);
     xclipr = MAX(logo_x+logo_w-width, 0);
     yclipt = MAX(-logo_y, 0);
@@ -77,7 +77,7 @@ static void delogo(uint8_t *dst, uint8_t
 
     dst += (logo_y1+1)*dstStride;
     src += (logo_y1+1)*srcStride;
-    
+
     for(y = logo_y1+1; y < logo_y2-1; y++)
     {
 	for (x = logo_x1+1, xdst = dst+logo_x1+1, xsrc = src+logo_x1+1; x < logo_x2-1; x++, xdst++, xsrc++) {
@@ -198,7 +198,7 @@ static unsigned int fmt_list[]={
 
 static int open(vf_instance_t *vf, char* args){
     int res;
-    
+
     vf->config=config;
     vf->put_image=put_image;
     vf->get_image=get_image;
@@ -230,7 +230,7 @@ static int open(vf_instance_t *vf, char*
 	vf->priv->band = 4;
 	vf->priv->show = 1;
     }
-    
+
 
     vf->priv->lw += vf->priv->band*2;
     vf->priv->lh += vf->priv->band*2;

Modified: trunk/libmpcodecs/vf_detc.c
==============================================================================
--- trunk/libmpcodecs/vf_detc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_detc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -144,11 +144,11 @@ static int analyze_fixed_pattern(struct 
 static int analyze_aggressive(struct vf_priv_s *p, mp_image_t *new, mp_image_t *old)
 {
 	struct metrics m, pm;
-	
+
 	if (p->frame >= 0) p->frame = (p->frame+1)%5;
-	
+
 	diff_fields(&m, old, new);
-	
+
 	status(p->frame, &m);
 
 	pm = p->pm;
@@ -173,7 +173,7 @@ static int analyze_aggressive(struct vf_
 				p->pm = pm; /* hack :) */
 				p->frame = 3;
 				return TC_IL1;
-			} 
+			}
 		} else {
 			mp_msg(MSGT_VFILTER, MSGL_V, "mismatched telecine fields!\n");
 			p->frame = -1;
@@ -283,7 +283,7 @@ static int do_put_image(struct vf_instan
 		dropflag = (++p->lastdrop >= 5) && (4*p->inframes <= 5*p->outframes);
 		break;
 	}
-	
+
 	if (dropflag) {
 		mp_msg(MSGT_VFILTER, MSGL_V, "drop! [%d/%d=%g]\n",
 			p->outframes, p->inframes, (float)p->outframes/p->inframes);
@@ -311,7 +311,7 @@ static int put_image(struct vf_instance_
 	else dmpi = vf_get_image(vf->next, mpi->imgfmt,
 		MP_IMGTYPE_STATIC, MP_IMGFLAG_ACCEPT_STRIDE |
 		MP_IMGFLAG_PRESERVE, mpi->width, mpi->height);
-		
+
 	switch (p->analyze(p, mpi, dmpi)) {
 	case TC_DROP:
 		/* Don't copy anything unless we'll need to read it. */

Modified: trunk/libmpcodecs/vf_dvbscale.c
==============================================================================
--- trunk/libmpcodecs/vf_dvbscale.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_dvbscale.c	Wed May 13 04:58:57 2009	(r29305)
@@ -21,7 +21,7 @@ static int config(struct vf_instance_s* 
 	unsigned int flags, unsigned int outfmt){
 
     int scaled_y=vf->priv->aspect*d_height/d_width;
-    
+
     d_width=width; // do X-scaling by hardware
     d_height=scaled_y;
 

Modified: trunk/libmpcodecs/vf_eq.c
==============================================================================
--- trunk/libmpcodecs/vf_eq.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_eq.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,7 +42,7 @@ static void process_MMX(unsigned char *d
 
 	brvec[0] = brvec[1] = brvec[2] = brvec[3] = brightness;
 	contvec[0] = contvec[1] = contvec[2] = contvec[3] = contrast;
-		
+
 	while (h--) {
 		__asm__ volatile (
 			"movq (%5), %%mm3 \n\t"
@@ -121,7 +121,7 @@ static int put_image(struct vf_instance_
 	dmpi=vf_get_image(vf->next, mpi->imgfmt,
 			  MP_IMGTYPE_EXPORT, 0,
 			  mpi->w, mpi->h);
-	
+
 	dmpi->stride[0] = mpi->stride[0];
 	dmpi->planes[1] = mpi->planes[1];
 	dmpi->planes[2] = mpi->planes[2];
@@ -129,7 +129,7 @@ static int put_image(struct vf_instance_
 	dmpi->stride[2] = mpi->stride[2];
 
 	if (!vf->priv->buf) vf->priv->buf = malloc(mpi->stride[0]*mpi->h);
-	
+
 	if ((vf->priv->brightness == 0) && (vf->priv->contrast == 0))
 		dmpi->planes[0] = mpi->planes[0];
 	else {
@@ -207,7 +207,7 @@ static int open(vf_instance_t *vf, char*
 	vf->query_format=query_format;
 	vf->put_image=put_image;
 	vf->uninit=uninit;
-	
+
 	if(!vf->priv) {
 	vf->priv = malloc(sizeof(struct vf_priv_s));
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));
@@ -218,7 +218,7 @@ static int open(vf_instance_t *vf, char*
 #if HAVE_MMX
 	if(gCpuCaps.hasMMX) process = process_MMX;
 #endif
-	
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/vf_eq2.c
==============================================================================
--- trunk/libmpcodecs/vf_eq2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_eq2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -117,7 +117,7 @@ void affine_1d_MMX (eq2_param_t *par, un
   int      pel;
   short    brvec[4];
   short    contvec[4];
-  
+
 //  printf("\nmmx: src=%p dst=%p w=%d h=%d ds=%d ss=%d\n",src,dst,w,h,dstride,sstride);
 
   contrast = (int) (par->c * 256 * 16);

Modified: trunk/libmpcodecs/vf_expand.c
==============================================================================
--- trunk/libmpcodecs/vf_expand.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_expand.c	Wed May 13 04:58:57 2009	(r29305)
@@ -252,8 +252,8 @@ static void get_image(struct vf_instance
        (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH)) ){
 	// try full DR !
 	mpi->priv=vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
-	    mpi->type, mpi->flags, 
-            MAX(vf->priv->exp_w, mpi->width +vf->priv->exp_x), 
+	    mpi->type, mpi->flags,
+            MAX(vf->priv->exp_w, mpi->width +vf->priv->exp_x),
             MAX(vf->priv->exp_h, mpi->height+vf->priv->exp_y));
 #if 1
 	if((vf->dmpi->flags & MP_IMGFLAG_DRAW_CALLBACK) &&
@@ -295,8 +295,8 @@ static void start_slice(struct vf_instan
     if(!mpi->priv)
 	mpi->priv=vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 //	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_PREFER_ALIGNED_STRIDE,
-	    MP_IMGTYPE_TEMP, mpi->flags, 
-            MAX(vf->priv->exp_w, mpi->width +vf->priv->exp_x), 
+	    MP_IMGTYPE_TEMP, mpi->flags,
+            MAX(vf->priv->exp_w, mpi->width +vf->priv->exp_x),
             MAX(vf->priv->exp_h, mpi->height+vf->priv->exp_y));
     if(!(vf->dmpi->flags&MP_IMGFLAG_DRAW_CALLBACK))
 	mp_msg(MSGT_VFILTER, MSGL_WARN, MSGTR_MPCODECS_WarnNextFilterDoesntSupportSlices); // shouldn't happen.
@@ -309,7 +309,7 @@ static void draw_top_blackbar_slice(stru
 	vf_next_draw_slice(vf, vf->dmpi->planes, vf->dmpi->stride,
 			   vf->dmpi->w,vf->priv->exp_y,0,0);
     }
-    
+
 }
 
 static void draw_bottom_blackbar_slice(struct vf_instance_s* vf,
@@ -335,7 +335,7 @@ static void draw_bottom_blackbar_slice(s
 static void draw_slice(struct vf_instance_s* vf,
         unsigned char** src, int* stride, int w,int h, int x, int y){
 //    printf("draw_slice() called %d at %d\n",h,y);
-    
+
     if (y == 0 && y+h == vf->h) {
 	// special case - only one slice
 	draw_top_blackbar_slice(vf, src, stride, w, h, x, y);
@@ -380,7 +380,7 @@ static int put_image(struct vf_instance_
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
 	vf->priv->exp_w, vf->priv->exp_h);
-    
+
     // copy mpi->dmpi...
     if(mpi->flags&MP_IMGFLAG_PLANAR){
 	memcpy_pic(vf->dmpi->planes[0]+

Modified: trunk/libmpcodecs/vf_field.c
==============================================================================
--- trunk/libmpcodecs/vf_field.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_field.c	Wed May 13 04:58:57 2009	(r29305)
@@ -24,7 +24,7 @@ static int put_image(struct vf_instance_
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_EXPORT, MP_IMGFLAG_ACCEPT_STRIDE,
 	mpi->width, mpi->height/2);
-    
+
     // set up mpi as a double-stride image of dmpi:
     vf->dmpi->planes[0]=mpi->planes[0]+mpi->stride[0]*vf->priv->field;
     vf->dmpi->stride[0]=2*mpi->stride[0];
@@ -37,7 +37,7 @@ static int put_image(struct vf_instance_
 	vf->dmpi->stride[2]=2*mpi->stride[2];
     } else
 	vf->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
-    
+
     return vf_next_put_image(vf,vf->dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_fil.c
==============================================================================
--- trunk/libmpcodecs/vf_fil.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_fil.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,9 +27,9 @@ static int config(struct vf_instance_s* 
         pixel_stride= mpi->stride[0];
     else
         pixel_stride= 8*mpi->stride[0] / mpi->bpp;
-        
-#endif        
-    
+
+#endif
+
     if(vf->priv->interleave){
         vf->priv->height= 2*height;
         vf->priv->width= width - (pixel_stride/2);
@@ -54,7 +54,7 @@ static int put_image(struct vf_instance_
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_EXPORT, MP_IMGFLAG_ACCEPT_STRIDE,
 	vf->priv->width, vf->priv->height);
-    
+
     // set up mpi as a double-stride image of dmpi:
     vf->dmpi->planes[0]=mpi->planes[0];
     vf->dmpi->stride[0]=(mpi->stride[0]*vf->priv->stridefactor)>>1;
@@ -65,7 +65,7 @@ static int put_image(struct vf_instance_
 	vf->dmpi->stride[2]=(mpi->stride[2]*vf->priv->stridefactor)>>1;
     } else
 	vf->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
-    
+
     return vf_next_put_image(vf,vf->dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_filmdint.c
==============================================================================
--- trunk/libmpcodecs/vf_filmdint.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_filmdint.c	Wed May 13 04:58:57 2009	(r29305)
@@ -245,7 +245,7 @@ get_metrics_faster_c(unsigned char *a, u
 	a += 2*as;
 	b += 2*bs;
     } while (--lines);
-    
+
 }
 
 static inline void

Modified: trunk/libmpcodecs/vf_flip.c
==============================================================================
--- trunk/libmpcodecs/vf_flip.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_flip.c	Wed May 13 04:58:57 2009	(r29305)
@@ -52,7 +52,7 @@ static int put_image(struct vf_instance_
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_EXPORT, MP_IMGFLAG_ACCEPT_STRIDE,
 	mpi->width, mpi->height);
-    
+
     // set up mpi as a upside-down image of dmpi:
     vf->dmpi->planes[0]=mpi->planes[0]+
 		    mpi->stride[0]*(mpi->height-1);
@@ -66,7 +66,7 @@ static int put_image(struct vf_instance_
 	vf->dmpi->stride[2]=-mpi->stride[2];
     } else
 	vf->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
-    
+
     return vf_next_put_image(vf,vf->dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_format.c
==============================================================================
--- trunk/libmpcodecs/vf_format.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_format.c	Wed May 13 04:58:57 2009	(r29305)
@@ -68,7 +68,7 @@ static int open(vf_instance_t *vf, char*
 	if(!strcasecmp(args,"abgr")) vf->priv->fmt=IMGFMT_ABGR; else
 	{ mp_msg(MSGT_VFILTER, MSGL_WARN, MSGTR_MPCODECS_UnknownFormatName, args);return 0;}
     }
-        
+
 
     return 1;
 }

Modified: trunk/libmpcodecs/vf_fspp.c
==============================================================================
--- trunk/libmpcodecs/vf_fspp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_fspp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -21,7 +21,7 @@
 
 /*
  * This implementation is based on an algorithm described in
- * "Aria Nosratinia Embedded Post-Processing for 
+ * "Aria Nosratinia Embedded Post-Processing for
  * Enhancement of Compressed Images (1999)"
  * (http://citeseer.nj.nec.com/nosratinia99embedded.html)
  * Futher, with splitting (i)dct into hor/ver passes, one of them can be
@@ -31,7 +31,7 @@
 /*
   Heavily optimized version of SPP filter by Nikolaj
  */
- 
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -110,7 +110,7 @@ static void store_slice_c(uint8_t *dst, 
     src[x + pos]=src[x + pos - 8*src_stride]=0;				\
     if(temp & 0x100) temp= ~(temp>>31);					\
     dst[x + pos]= temp;
-    
+
     for(y=0; y<height; y++){
 	const uint8_t *d= dither[y];
 	for(x=0; x<width; x+=8){
@@ -122,7 +122,7 @@ static void store_slice_c(uint8_t *dst, 
 	    STORE(4);
 	    STORE(5);
 	    STORE(6);
-	    STORE(7);      
+	    STORE(7);
 	}
 	src+=src_stride;
 	dst+=dst_stride;
@@ -137,7 +137,7 @@ static void store_slice2_c(uint8_t *dst,
     src[x + pos + 16*src_stride]=0;					\
     if(temp & 0x100) temp= ~(temp>>31);					\
     dst[x + pos]= temp;
-   
+
     for(y=0; y<height; y++){
 	const uint8_t *d= dither[y];
 	for(x=0; x<width; x+=8){
@@ -149,7 +149,7 @@ static void store_slice2_c(uint8_t *dst,
 	    STORE2(4);
 	    STORE2(5);
 	    STORE2(6);
-	    STORE2(7);      
+	    STORE2(7);
 	}
 	src+=src_stride;
 	dst+=dst_stride;
@@ -243,7 +243,7 @@ static void store_slice_mmx(uint8_t *dst
 	: "m" (width), "m" (src_stride), "g" (od), "m" (dst_stride), "g" (end),
 	  "m" (log2_scale), "m" (src), "m" (dst) //input
 	: "%"REG_a, "%"REG_c, "%"REG_d, "%"REG_S, "%"REG_D
-	);    
+	);
 }
 
 //This func reads from 2 slices, 0 & 2  and clears 2-nd
@@ -311,7 +311,7 @@ static void store_slice2_mmx(uint8_t *ds
 	: "m" (width), "m" (src_stride), "g" (od), "m" (dst_stride), "g" (end),
 	  "m" (log2_scale), "m" (src), "m" (dst) //input
 	: "%"REG_a, "%"REG_c, "%"REG_d, "%"REG_D, "%"REG_S
-	);  
+	);
 }
 
 static void mul_thrmat_mmx(struct vf_priv_s *p, int q)
@@ -393,7 +393,7 @@ static void mul_thrmat_mmx(struct vf_pri
 }
 
 static void column_fidct_mmx(int16_t* thr_adr,  DCTELEM *data,  DCTELEM *output,  int cnt);
-static void row_idct_mmx(DCTELEM* workspace, 
+static void row_idct_mmx(DCTELEM* workspace,
 			 int16_t* output_adr,  int output_stride,  int cnt);
 static void row_fdct_mmx(DCTELEM *data,  const uint8_t *pixels,  int line_size,  int cnt);
 
@@ -413,19 +413,19 @@ static void filter(struct vf_priv_s *p, 
     int x, x0, y, es, qy, t;
     const int stride= is_luma ? p->temp_stride : (width+16);//((width+16+15)&(~15))
     const int step=6-p->log2_count;
-    const int qps= 3 + is_luma; 
+    const int qps= 3 + is_luma;
     int32_t __attribute__((aligned(32))) block_align[4*8*BLOCKSZ+ 4*8*BLOCKSZ];
     DCTELEM *block= (DCTELEM *)block_align;
-    DCTELEM *block3=(DCTELEM *)(block_align+4*8*BLOCKSZ);    
+    DCTELEM *block3=(DCTELEM *)(block_align+4*8*BLOCKSZ);
 
     memset(block3, 0, 4*8*BLOCKSZ);
 
-    //p->src=src-src_stride*8-8;//!    
+    //p->src=src-src_stride*8-8;//!
     if (!src || !dst) return; // HACK avoid crash for Y8 colourspace
     for(y=0; y<height; y++){
         int index= 8 + 8*stride + y*stride;
         fast_memcpy(p->src + index, src + y*src_stride, width);//this line can be avoided by using DR & user fr.buffers
-        for(x=0; x<8; x++){ 
+        for(x=0; x<8; x++){
             p->src[index         - x - 1]= p->src[index +         x    ];
             p->src[index + width + x    ]= p->src[index + width - x - 1];
         }
@@ -447,11 +447,11 @@ static void filter(struct vf_priv_s *p, 
 	row_fdct_s(block, p->src + y*stride +2-(y&1), stride, 2);
 	for(x0=0; x0<width+8-8*(BLOCKSZ-1); x0+=8*(BLOCKSZ-1)){
 	    row_fdct_s(block+8*8, p->src + y*stride+8+x0 +2-(y&1), stride, 2*(BLOCKSZ-1));
-	    if(p->qp)        
+	    if(p->qp)
 		column_fidct_s((int16_t*)(&p->threshold_mtx[0]), block+0*8, block3+0*8, 8*(BLOCKSZ-1)); //yes, this is a HOTSPOT
 	    else
 		for (x=0; x<8*(BLOCKSZ-1); x+=8) {
-		    t=x+x0-2; //correct t=x+x0-2-(y&1), but its the same 
+		    t=x+x0-2; //correct t=x+x0-2-(y&1), but its the same
 		    if (t<0) t=0;//t always < width-2
 		    t=qp_store[qy+(t>>qps)];
 		    if(p->mpeg2) t>>=1; //copy p->mpeg2,prev_q to locals?
@@ -463,24 +463,24 @@ static void filter(struct vf_priv_s *p, 
 	    memmove(block3, block3+(BLOCKSZ-1)*64, 6*8*sizeof(DCTELEM));
 	}
 	//
-	es=width+8-x0; //  8, ...      
+	es=width+8-x0; //  8, ...
 	if (es>8)
 	    row_fdct_s(block+8*8, p->src + y*stride+8+x0 +2-(y&1), stride, (es-4)>>2);
 	column_fidct_s((int16_t*)(&p->threshold_mtx[0]), block, block3, es&(~1));
 	row_idct_s(block3+0*8, p->temp + (y&15)*stride+x0+2-(y&1), stride, es>>2);
 	{const int y1=y-8+step;//l5-7  l4-6
 	    if (!(y1&7) && y1) {
-		if (y1&8) store_slice_s(dst + (y1-8)*dst_stride, p->temp+ 8 +8*stride, 
+		if (y1&8) store_slice_s(dst + (y1-8)*dst_stride, p->temp+ 8 +8*stride,
 					dst_stride, stride, width, 8, 5-p->log2_count);
-		else store_slice2_s(dst + (y1-8)*dst_stride, p->temp+ 8 +0*stride, 
-				    dst_stride, stride, width, 8, 5-p->log2_count);    
+		else store_slice2_s(dst + (y1-8)*dst_stride, p->temp+ 8 +0*stride,
+				    dst_stride, stride, width, 8, 5-p->log2_count);
 	    } }
     }
 
     if (y&7) {  // == height & 7
-	if (y&8) store_slice_s(dst + ((y-8)&~7)*dst_stride, p->temp+ 8 +8*stride, 
+	if (y&8) store_slice_s(dst + ((y-8)&~7)*dst_stride, p->temp+ 8 +8*stride,
 			       dst_stride, stride, width, y&7, 5-p->log2_count);
-	else store_slice2_s(dst + ((y-8)&~7)*dst_stride, p->temp+ 8 +0*stride, 
+	else store_slice2_s(dst + ((y-8)&~7)*dst_stride, p->temp+ 8 +0*stride,
 			    dst_stride, stride, width, y&7, 5-p->log2_count);
     }
 }
@@ -577,7 +577,7 @@ static void uninit(struct vf_instance_s*
     //vf->priv->avctx= NULL;
     if(vf->priv->non_b_qp) free(vf->priv->non_b_qp);
     vf->priv->non_b_qp= NULL;
-        
+
     av_free(vf->priv);
     vf->priv=NULL;
 }
@@ -621,23 +621,23 @@ static int open(vf_instance_t *vf, char*
     int i=0, bias;
     int custom_threshold_m[64];
     int log2c=-1;
-    
+
     vf->config=config;
     vf->put_image=put_image;
     vf->get_image=get_image;
     vf->query_format=query_format;
     vf->uninit=uninit;
     vf->control= control;
-    vf->priv=av_mallocz(sizeof(struct vf_priv_s));//assumes align 16 ! 
-    
+    vf->priv=av_mallocz(sizeof(struct vf_priv_s));//assumes align 16 !
+
     avcodec_init();
 
     //vf->priv->avctx= avcodec_alloc_context();
     //dsputil_init(&vf->priv->dsp, vf->priv->avctx);
-    
+
     vf->priv->log2_count= 4;
     vf->priv->bframes = 0;
-    
+
     if (args) sscanf(args, "%d:%d:%d:%d", &log2c, &vf->priv->qp, &i, &vf->priv->bframes);
 
     if( log2c >=4 && log2c <=5 )
@@ -650,7 +650,7 @@ static int open(vf_instance_t *vf, char*
 
     if (i < -15) i = -15;
     if (i > 32) i = 32;
-    
+
     bias= (1<<4)+i; //regulable
     vf->priv->prev_q=0;
     //
@@ -702,21 +702,21 @@ const vf_info_t vf_info_fspp = {
 
 #if HAVE_MMX
 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_382683433)=FIX64(0.382683433, 14); 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_541196100)=FIX64(0.541196100, 14); 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_707106781)=FIX64(0.707106781, 14); 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_306562965)=FIX64(1.306562965, 14); 
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_382683433)=FIX64(0.382683433, 14);
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_541196100)=FIX64(0.541196100, 14);
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_707106781)=FIX64(0.707106781, 14);
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_306562965)=FIX64(1.306562965, 14);
 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_414213562_A)=FIX64(1.414213562, 14); 
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_414213562_A)=FIX64(1.414213562, 14);
 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_847759065)=FIX64(1.847759065, 13); 
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_847759065)=FIX64(1.847759065, 13);
 DECLARE_ASM_CONST(8, uint64_t, MM_FIX_2_613125930)=FIX64(-2.613125930, 13); //-
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_414213562)=FIX64(1.414213562, 13); 
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_414213562)=FIX64(1.414213562, 13);
 DECLARE_ASM_CONST(8, uint64_t, MM_FIX_1_082392200)=FIX64(1.082392200, 13);
 //for t3,t5,t7 == 0 shortcut
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_847759065)=FIX64(0.847759065, 14); 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_566454497)=FIX64(0.566454497, 14); 
-DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_198912367)=FIX64(0.198912367, 14); 
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_847759065)=FIX64(0.847759065, 14);
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_566454497)=FIX64(0.566454497, 14);
+DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_198912367)=FIX64(0.198912367, 14);
 
 DECLARE_ASM_CONST(8, uint64_t, MM_DESCALE_RND)=C64(4);
 DECLARE_ASM_CONST(8, uint64_t, MM_2)=C64(2);
@@ -724,14 +724,14 @@ DECLARE_ASM_CONST(8, uint64_t, MM_2)=C64
 #else /* !HAVE_MMX */
 
 typedef int32_t int_simd16_t;
-static const int16_t FIX_0_382683433=FIX(0.382683433, 14); 
-static const int16_t FIX_0_541196100=FIX(0.541196100, 14); 
-static const int16_t FIX_0_707106781=FIX(0.707106781, 14); 
-static const int16_t FIX_1_306562965=FIX(1.306562965, 14); 
-static const int16_t FIX_1_414213562_A=FIX(1.414213562, 14); 
-static const int16_t FIX_1_847759065=FIX(1.847759065, 13); 
+static const int16_t FIX_0_382683433=FIX(0.382683433, 14);
+static const int16_t FIX_0_541196100=FIX(0.541196100, 14);
+static const int16_t FIX_0_707106781=FIX(0.707106781, 14);
+static const int16_t FIX_1_306562965=FIX(1.306562965, 14);
+static const int16_t FIX_1_414213562_A=FIX(1.414213562, 14);
+static const int16_t FIX_1_847759065=FIX(1.847759065, 13);
 static const int16_t FIX_2_613125930=FIX(-2.613125930, 13); //-
-static const int16_t FIX_1_414213562=FIX(1.414213562, 13); 
+static const int16_t FIX_1_414213562=FIX(1.414213562, 13);
 static const int16_t FIX_1_082392200=FIX(1.082392200, 13);
 
 #endif
@@ -749,46 +749,46 @@ static void column_fidct_c(int16_t* thr_
     DCTELEM* wsptr;
     int16_t *threshold;
     int ctr;
-  
+
     dataptr = data;
     wsptr = output;
 
     for (; cnt > 0; cnt-=2) { //start positions
 	threshold=(int16_t*)thr_adr;//threshold_mtx
-	for (ctr = DCTSIZE; ctr > 0; ctr--) { 
-	    // Process columns from input, add to output. 
+	for (ctr = DCTSIZE; ctr > 0; ctr--) {
+	    // Process columns from input, add to output.
 	    tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7];
 	    tmp7 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7];
-    
+
 	    tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6];
 	    tmp6 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6];
-    
+
 	    tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5];
 	    tmp5 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5];
-    
+
 	    tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4];
 	    tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4];
 
 	    // Even part of FDCT
-    
+
 	    tmp10 = tmp0 + tmp3;
 	    tmp13 = tmp0 - tmp3;
 	    tmp11 = tmp1 + tmp2;
 	    tmp12 = tmp1 - tmp2;
 
-	    d0 = tmp10 + tmp11; 
+	    d0 = tmp10 + tmp11;
 	    d4 = tmp10 - tmp11;
-    
-	    z1 = MULTIPLY16H((tmp12 + tmp13) <<2, FIX_0_707106781); 
-	    d2 = tmp13 + z1; 
-	    d6 = tmp13 - z1;    
+
+	    z1 = MULTIPLY16H((tmp12 + tmp13) <<2, FIX_0_707106781);
+	    d2 = tmp13 + z1;
+	    d6 = tmp13 - z1;
 
 	    // Even part of IDCT
 
 	    THRESHOLD(tmp0, d0, threshold[0*8]);
 	    THRESHOLD(tmp1, d2, threshold[2*8]);
 	    THRESHOLD(tmp2, d4, threshold[4*8]);
-	    THRESHOLD(tmp3, d6, threshold[6*8]);     
+	    THRESHOLD(tmp3, d6, threshold[6*8]);
 	    tmp0+=2;
 	    tmp10 = (tmp0 + tmp2)>>2;
 	    tmp11 = (tmp0 - tmp2)>>2;
@@ -803,22 +803,22 @@ static void column_fidct_c(int16_t* thr_
 
 	    // Odd part of FDCT
 
-	    tmp10 = tmp4 + tmp5;  
+	    tmp10 = tmp4 + tmp5;
 	    tmp11 = tmp5 + tmp6;
 	    tmp12 = tmp6 + tmp7;
-        
-	    z5 = MULTIPLY16H((tmp10 - tmp12)<<2, FIX_0_382683433); 
-	    z2 = MULTIPLY16H(tmp10 <<2, FIX_0_541196100) + z5; 
-	    z4 = MULTIPLY16H(tmp12 <<2, FIX_1_306562965) + z5; 
-	    z3 = MULTIPLY16H(tmp11 <<2, FIX_0_707106781); 
 
-	    z11 = tmp7 + z3;        
+	    z5 = MULTIPLY16H((tmp10 - tmp12)<<2, FIX_0_382683433);
+	    z2 = MULTIPLY16H(tmp10 <<2, FIX_0_541196100) + z5;
+	    z4 = MULTIPLY16H(tmp12 <<2, FIX_1_306562965) + z5;
+	    z3 = MULTIPLY16H(tmp11 <<2, FIX_0_707106781);
+
+	    z11 = tmp7 + z3;
 	    z13 = tmp7 - z3;
 
-	    d5 = z13 + z2; 
+	    d5 = z13 + z2;
 	    d3 = z13 - z2;
 	    d1 = z11 + z4;
-	    d7 = z11 - z4;    
+	    d7 = z11 - z4;
 
 	    // Odd part of IDCT
 
@@ -857,7 +857,7 @@ static void column_fidct_c(int16_t* thr_
 	    threshold++;
 	}
 	dataptr+=8; //skip each second start pos
-	wsptr  +=8;       
+	wsptr  +=8;
     }
 }
 
@@ -874,7 +874,7 @@ static void column_fidct_mmx(int16_t* th
 	"movq "DCTSIZE_S"*3*2(%%"REG_S"), %%mm7 \n\t"
 	"movq %%mm1, %%mm0             \n\t"
 
-	"paddw "DCTSIZE_S"*7*2(%%"REG_S"), %%mm1 \n\t" //t0    
+	"paddw "DCTSIZE_S"*7*2(%%"REG_S"), %%mm1 \n\t" //t0
 	"movq %%mm7, %%mm3             \n\t"
 
 	"paddw "DCTSIZE_S"*4*2(%%"REG_S"), %%mm7 \n\t" //t3
@@ -892,13 +892,13 @@ static void column_fidct_mmx(int16_t* th
 	"paddw "DCTSIZE_S"*5*2(%%"REG_S"), %%mm2 \n\t" //t2
 	"movq %%mm6, %%mm7             \n\t"
 
-	"paddw %%mm2, %%mm6            \n\t" //t11    
+	"paddw %%mm2, %%mm6            \n\t" //t11
 	"psubw %%mm2, %%mm7            \n\t" //t12
 
 	"movq %%mm5, %%mm2             \n\t"
 	"paddw %%mm6, %%mm5            \n\t" //d0
 	// i0 t13 t12 i3 i1 d0 - d4
-	"psubw %%mm6, %%mm2            \n\t" //d4      
+	"psubw %%mm6, %%mm2            \n\t" //d4
 	"paddw %%mm1, %%mm7            \n\t"
 
 	"movq  4*16(%%"REG_d"), %%mm6      \n\t"
@@ -938,7 +938,7 @@ static void column_fidct_mmx(int16_t* th
 
 	"paddusw 2*16(%%"REG_d"), %%mm1    \n\t"
 	"psubw %%mm7, %%mm6            \n\t"
-	// t7 d2 /t11 t4 t6 - d6 /t10     
+	// t7 d2 /t11 t4 t6 - d6 /t10
 
 	"paddw 2*16(%%"REG_d"), %%mm1      \n\t"
 	"paddusw %%mm7, %%mm6          \n\t"
@@ -950,7 +950,7 @@ static void column_fidct_mmx(int16_t* th
 	"psubusw %%mm7, %%mm6          \n\t"
 
 	//movq [edi+"DCTSIZE_S"*2*2], mm1
-	//movq [edi+"DCTSIZE_S"*6*2], mm6     
+	//movq [edi+"DCTSIZE_S"*6*2], mm6
 	"movq %%mm1, %%mm7             \n\t"
 	"psraw $2, %%mm2              \n\t"
 
@@ -970,7 +970,7 @@ static void column_fidct_mmx(int16_t* th
 	"psubw %%mm6, %%mm7            \n\t" //'t3
 
 	"movq "DCTSIZE_S"*2*2(%%"REG_S"), %%mm2 \n\t"
-	"psubw %%mm6, %%mm1            \n\t" //'t12        
+	"psubw %%mm6, %%mm1            \n\t" //'t12
 
 	"psubw "DCTSIZE_S"*5*2(%%"REG_S"), %%mm2 \n\t" //t5
 	"movq %%mm5, %%mm6             \n\t"
@@ -1000,7 +1000,7 @@ static void column_fidct_mmx(int16_t* th
 	"psubw %%mm1, %%mm6            \n\t" //'t2
 	// t7 't12 't11 t4 t6 - 't13 't10   ---
 
-	"paddw %%mm3, %%mm7            \n\t" //z2        
+	"paddw %%mm3, %%mm7            \n\t" //z2
 
 	"movq %%mm5, 1*8+%3            \n\t"
 	"paddw %%mm3, %%mm4            \n\t" //z4
@@ -1009,10 +1009,10 @@ static void column_fidct_mmx(int16_t* th
 	"movq %%mm0, %%mm1             \n\t"
 
 	"movq %%mm6, 2*8+%3            \n\t"
-	"psubw %%mm2, %%mm1            \n\t" //z13            
+	"psubw %%mm2, %%mm1            \n\t" //z13
 
 //===
-	"paddw %%mm2, %%mm0            \n\t" //z11 
+	"paddw %%mm2, %%mm0            \n\t" //z11
 	"movq %%mm1, %%mm5             \n\t"
 
 	"movq 5*16(%%"REG_d"), %%mm2       \n\t"
@@ -1025,12 +1025,12 @@ static void column_fidct_mmx(int16_t* th
 	"psubw %%mm2, %%mm5            \n\t"
 
 	"movq %%mm0, %%mm6             \n\t"
-	"paddw %%mm4, %%mm0            \n\t" //d1    
+	"paddw %%mm4, %%mm0            \n\t" //d1
 
 	"paddusw %%mm3, %%mm1          \n\t"
-	"psubw %%mm4, %%mm6            \n\t" //d7  
+	"psubw %%mm4, %%mm6            \n\t" //d7
 
-	// d1 d3 - - - d5 d7 -    
+	// d1 d3 - - - d5 d7 -
 	"movq 7*16(%%"REG_d"), %%mm4       \n\t"
 	"psubw %%mm7, %%mm0            \n\t"
 
@@ -1082,7 +1082,7 @@ static void column_fidct_mmx(int16_t* th
 
 	"movq 1*8+%3, %%mm6            \n\t"
 	//paddw mm3, MM_2
-	"psraw $2, %%mm3              \n\t" //tmp7     
+	"psraw $2, %%mm3              \n\t" //tmp7
 
 	"pmulhw "MANGLE(MM_FIX_0_198912367)", %%mm2 \n\t" //-tmp4
 	"psubw %%mm3, %%mm4            \n\t"
@@ -1135,7 +1135,7 @@ static void column_fidct_mmx(int16_t* th
 	"2:                    \n\t"
 	//--- non DC2
 	//psraw mm1, 2 w/o it -> offset. thr1, thr1, thr1  (actually thr1, thr1, thr1-1)
-	//psraw mm5, 2              
+	//psraw mm5, 2
 	//psraw mm0, 2
 	//psraw mm6, 2
 	"movq %%mm5, %%mm3             \n\t"
@@ -1205,7 +1205,7 @@ static void column_fidct_mmx(int16_t* th
 	"paddw %%mm2, %%mm7            \n\t"
 
 	"movq %%mm3, "DCTSIZE_S"*1*2(%%"REG_D") \n\t"
-	"paddw %%mm2, %%mm0            \n\t" //'t4     
+	"paddw %%mm2, %%mm0            \n\t" //'t4
 
 	// 't4 't6 't5 - - - - 't7
 	"movq %%mm7, "DCTSIZE_S"*2*2(%%"REG_D") \n\t"
@@ -1226,13 +1226,13 @@ static void column_fidct_mmx(int16_t* th
 	"add $8, %%"REG_D"               \n\t"
 
 	"4:                     \n\t"
-//=part 2 (the same)===========================================================    
+//=part 2 (the same)===========================================================
 	"movq "DCTSIZE_S"*0*2(%%"REG_S"), %%mm1 \n\t"
 	//
 	"movq "DCTSIZE_S"*3*2(%%"REG_S"), %%mm7 \n\t"
 	"movq %%mm1, %%mm0             \n\t"
 
-	"paddw "DCTSIZE_S"*7*2(%%"REG_S"), %%mm1 \n\t" //t0    
+	"paddw "DCTSIZE_S"*7*2(%%"REG_S"), %%mm1 \n\t" //t0
 	"movq %%mm7, %%mm3             \n\t"
 
 	"paddw "DCTSIZE_S"*4*2(%%"REG_S"), %%mm7 \n\t" //t3
@@ -1250,13 +1250,13 @@ static void column_fidct_mmx(int16_t* th
 	"paddw "DCTSIZE_S"*5*2(%%"REG_S"), %%mm2 \n\t" //t2
 	"movq %%mm6, %%mm7             \n\t"
 
-	"paddw %%mm2, %%mm6            \n\t" //t11    
+	"paddw %%mm2, %%mm6            \n\t" //t11
 	"psubw %%mm2, %%mm7            \n\t" //t12
 
 	"movq %%mm5, %%mm2             \n\t"
 	"paddw %%mm6, %%mm5            \n\t" //d0
 	// i0 t13 t12 i3 i1 d0 - d4
-	"psubw %%mm6, %%mm2            \n\t" //d4      
+	"psubw %%mm6, %%mm2            \n\t" //d4
 	"paddw %%mm1, %%mm7            \n\t"
 
 	"movq  1*8+4*16(%%"REG_d"), %%mm6  \n\t"
@@ -1296,7 +1296,7 @@ static void column_fidct_mmx(int16_t* th
 
 	"paddusw 1*8+2*16(%%"REG_d"), %%mm1 \n\t"
 	"psubw %%mm7, %%mm6            \n\t"
-	// t7 d2 /t11 t4 t6 - d6 /t10     
+	// t7 d2 /t11 t4 t6 - d6 /t10
 
 	"paddw 1*8+2*16(%%"REG_d"), %%mm1  \n\t"
 	"paddusw %%mm7, %%mm6          \n\t"
@@ -1308,7 +1308,7 @@ static void column_fidct_mmx(int16_t* th
 	"psubusw %%mm7, %%mm6          \n\t"
 
 	//movq [edi+"DCTSIZE_S"*2*2], mm1
-	//movq [edi+"DCTSIZE_S"*6*2], mm6     
+	//movq [edi+"DCTSIZE_S"*6*2], mm6
 	"movq %%mm1, %%mm7             \n\t"
 	"psraw $2, %%mm2              \n\t"
 
@@ -1328,7 +1328,7 @@ static void column_fidct_mmx(int16_t* th
 	"psubw %%mm6, %%mm7            \n\t" //'t3
 
 	"movq "DCTSIZE_S"*2*2(%%"REG_S"), %%mm2 \n\t"
-	"psubw %%mm6, %%mm1            \n\t" //'t12        
+	"psubw %%mm6, %%mm1            \n\t" //'t12
 
 	"psubw "DCTSIZE_S"*5*2(%%"REG_S"), %%mm2 \n\t" //t5
 	"movq %%mm5, %%mm6             \n\t"
@@ -1358,7 +1358,7 @@ static void column_fidct_mmx(int16_t* th
 	"psubw %%mm1, %%mm6            \n\t" //'t2
 	// t7 't12 't11 t4 t6 - 't13 't10   ---
 
-	"paddw %%mm3, %%mm7            \n\t" //z2        
+	"paddw %%mm3, %%mm7            \n\t" //z2
 
 	"movq %%mm5, 1*8+%3            \n\t"
 	"paddw %%mm3, %%mm4            \n\t" //z4
@@ -1367,10 +1367,10 @@ static void column_fidct_mmx(int16_t* th
 	"movq %%mm0, %%mm1             \n\t"
 
 	"movq %%mm6, 2*8+%3            \n\t"
-	"psubw %%mm2, %%mm1            \n\t" //z13            
+	"psubw %%mm2, %%mm1            \n\t" //z13
 
 //===
-	"paddw %%mm2, %%mm0            \n\t" //z11 
+	"paddw %%mm2, %%mm0            \n\t" //z11
 	"movq %%mm1, %%mm5             \n\t"
 
 	"movq 1*8+5*16(%%"REG_d"), %%mm2   \n\t"
@@ -1383,12 +1383,12 @@ static void column_fidct_mmx(int16_t* th
 	"psubw %%mm2, %%mm5            \n\t"
 
 	"movq %%mm0, %%mm6             \n\t"
-	"paddw %%mm4, %%mm0            \n\t" //d1    
+	"paddw %%mm4, %%mm0            \n\t" //d1
 
 	"paddusw %%mm3, %%mm1          \n\t"
-	"psubw %%mm4, %%mm6            \n\t" //d7  
+	"psubw %%mm4, %%mm6            \n\t" //d7
 
-	// d1 d3 - - - d5 d7 -    
+	// d1 d3 - - - d5 d7 -
 	"movq 1*8+7*16(%%"REG_d"), %%mm4   \n\t"
 	"psubw %%mm7, %%mm0            \n\t"
 
@@ -1440,7 +1440,7 @@ static void column_fidct_mmx(int16_t* th
 
 	"movq 1*8+%3, %%mm6            \n\t"
 	//paddw mm3, MM_2
-	"psraw $2, %%mm3              \n\t" //tmp7     
+	"psraw $2, %%mm3              \n\t" //tmp7
 
 	"pmulhw "MANGLE(MM_FIX_0_198912367)", %%mm2 \n\t" //-tmp4
 	"psubw %%mm3, %%mm4            \n\t"
@@ -1495,7 +1495,7 @@ static void column_fidct_mmx(int16_t* th
 	"3:                    \n\t"
 	//--- non DC2
 	//psraw mm1, 2 w/o it -> offset. thr1, thr1, thr1  (actually thr1, thr1, thr1-1)
-	//psraw mm5, 2              
+	//psraw mm5, 2
 	//psraw mm0, 2
 	//psraw mm6, 2
 	"movq %%mm5, %%mm3             \n\t"
@@ -1565,7 +1565,7 @@ static void column_fidct_mmx(int16_t* th
 	"paddw %%mm2, %%mm7            \n\t"
 
 	"movq %%mm3, "DCTSIZE_S"*1*2(%%"REG_D") \n\t"
-	"paddw %%mm2, %%mm0            \n\t" //'t4     
+	"paddw %%mm2, %%mm0            \n\t" //'t4
 
 	// 't4 't6 't5 - - - - 't7
 	"movq %%mm7, "DCTSIZE_S"*2*2(%%"REG_D") \n\t"
@@ -1606,13 +1606,13 @@ static void row_idct_c(DCTELEM* workspac
     int_simd16_t z5, z10, z11, z12, z13;
     int16_t* outptr;
     DCTELEM* wsptr;
-    
+
     cnt*=4;
     wsptr = workspace;
     outptr = output_adr;
-    for (; cnt > 0; cnt--) {    
-	// Even part 
-	//Simd version reads 4x4 block and transposes it    
+    for (; cnt > 0; cnt--) {
+	// Even part
+	//Simd version reads 4x4 block and transposes it
 	tmp10 = ( wsptr[2] +  wsptr[3]);
 	tmp11 = ( wsptr[2] -  wsptr[3]);
 
@@ -1624,7 +1624,7 @@ static void row_idct_c(DCTELEM* workspac
 	tmp1 = tmp11 + tmp12;
 	tmp2 = tmp11 - tmp12;
 
-	// Odd part 
+	// Odd part
 	//Also transpose, with previous:
 	// ---- ----      ||||
 	// ---- ---- idct ||||
@@ -1635,7 +1635,7 @@ static void row_idct_c(DCTELEM* workspac
 	z11 = wsptr[6] + wsptr[7];
 	z12 = wsptr[6] - wsptr[7];
 
-	tmp7 = z11 + z13;   
+	tmp7 = z11 + z13;
 	tmp11 = MULTIPLY16H(z11 - z13, FIX_1_414213562);
 
 	z5 =    MULTIPLY16H(z10 + z12, FIX_1_847759065);
@@ -1657,13 +1657,13 @@ static void row_idct_c(DCTELEM* workspac
 	outptr[7*output_stride]+= DESCALE(tmp0 - tmp7, 3); //no += ?
 	outptr++;
 
-	wsptr += DCTSIZE;       // advance pointer to next row     
+	wsptr += DCTSIZE;       // advance pointer to next row
     }
 }
 
 #else /* HAVE_MMX */
 
-static void row_idct_mmx (DCTELEM* workspace, 
+static void row_idct_mmx (DCTELEM* workspace,
 			  int16_t* output_adr,  int output_stride,  int cnt)
 {
     uint64_t __attribute__((aligned(8))) temps[4];
@@ -1728,14 +1728,14 @@ static void row_idct_mmx (DCTELEM* works
 	"movq %%mm6, 1*8+%3            \n\t" //t3
 	"punpcklwd %%mm2, %%mm3        \n\t"
 
-	//transpose 4x4    
+	//transpose 4x4
 	"movq "DCTSIZE_S"*3*2+"DCTSIZE_S"(%%"REG_S"), %%mm6 \n\t"
 	"punpckhwd %%mm2, %%mm4        \n\t"
 
 	"movq %%mm5, %%mm2             \n\t"
 	"punpcklwd %%mm6, %%mm5        \n\t"
 
-	"psubw %%mm0, %%mm7            \n\t" //t2    
+	"psubw %%mm0, %%mm7            \n\t" //t2
 	"punpckhwd %%mm6, %%mm2        \n\t"
 
 	"movq %%mm3, %%mm0             \n\t"
@@ -1749,13 +1749,13 @@ static void row_idct_mmx (DCTELEM* works
 	"punpckldq %%mm2, %%mm4        \n\t" //6
 
 	"psubw %%mm0, %%mm3            \n\t" //z10
-	"punpckhdq %%mm2, %%mm5        \n\t" //7     
+	"punpckhdq %%mm2, %%mm5        \n\t" //7
 
 	"paddw %%mm0, %%mm6            \n\t" //z13
 	"movq %%mm4, %%mm2             \n\t"
 
 	"movq %%mm3, %%mm0             \n\t"
-	"psubw %%mm5, %%mm4            \n\t" //z12    
+	"psubw %%mm5, %%mm4            \n\t" //z12
 
 	"pmulhw "MANGLE(MM_FIX_2_613125930)", %%mm0 \n\t" //-
 	"paddw %%mm4, %%mm3            \n\t"
@@ -1769,11 +1769,11 @@ static void row_idct_mmx (DCTELEM* works
 	"psubw %%mm6, %%mm2            \n\t"
 	"paddw %%mm6, %%mm5            \n\t" //t7
 
-	"pmulhw "MANGLE(MM_FIX_1_414213562)", %%mm2 \n\t" //t11    
+	"pmulhw "MANGLE(MM_FIX_1_414213562)", %%mm2 \n\t" //t11
 	"paddw %%mm3, %%mm0            \n\t" //t12
 
 	"psllw $3, %%mm0              \n\t"
-	"psubw %%mm3, %%mm4            \n\t" //t10    
+	"psubw %%mm3, %%mm4            \n\t" //t10
 
 	"movq 0*8+%3, %%mm6            \n\t"
 	"movq %%mm1, %%mm3             \n\t"
@@ -1785,7 +1785,7 @@ static void row_idct_mmx (DCTELEM* works
 	"paddw %%mm0, %%mm1            \n\t" //d1
 
 	"psubw %%mm0, %%mm2            \n\t" //t5
-	"psubw %%mm0, %%mm3            \n\t" //d6         
+	"psubw %%mm0, %%mm3            \n\t" //d6
 
 	"paddw %%mm2, %%mm4            \n\t" //t4
 	"movq %%mm7, %%mm0             \n\t"
@@ -1832,7 +1832,7 @@ static void row_idct_mmx (DCTELEM* works
 	"paddw (%%"REG_D",%%"REG_d",), %%mm3    \n\t"
 	"psraw $3, %%mm6              \n\t"
 
-	"paddw 1*8+%3, %%mm4           \n\t" //d4        
+	"paddw 1*8+%3, %%mm4           \n\t" //d4
 	"paddw %%mm2, %%mm5            \n\t"
 
 	"paddw (%%"REG_D",%%"REG_a",4), %%mm6   \n\t"
@@ -1872,13 +1872,13 @@ static void row_fdct_c(DCTELEM *data, co
     int_simd16_t tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
     int_simd16_t tmp10, tmp11, tmp12, tmp13;
     int_simd16_t z1, z2, z3, z4, z5, z11, z13;
-    DCTELEM *dataptr;  
-  
+    DCTELEM *dataptr;
+
     cnt*=4;
-    // Pass 1: process rows. 
-  
+    // Pass 1: process rows.
+
     dataptr = data;
-    for (; cnt > 0; cnt--) {    
+    for (; cnt > 0; cnt--) {
 	tmp0 = pixels[line_size*0] + pixels[line_size*7];
 	tmp7 = pixels[line_size*0] - pixels[line_size*7];
 	tmp1 = pixels[line_size*1] + pixels[line_size*6];
@@ -1887,26 +1887,26 @@ static void row_fdct_c(DCTELEM *data, co
 	tmp5 = pixels[line_size*2] - pixels[line_size*5];
 	tmp3 = pixels[line_size*3] + pixels[line_size*4];
 	tmp4 = pixels[line_size*3] - pixels[line_size*4];
-    
-	// Even part 
-    
-	tmp10 = tmp0 + tmp3;    
+
+	// Even part
+
+	tmp10 = tmp0 + tmp3;
 	tmp13 = tmp0 - tmp3;
 	tmp11 = tmp1 + tmp2;
 	tmp12 = tmp1 - tmp2;
-	//Even columns are written first, this leads to different order of columns 
+	//Even columns are written first, this leads to different order of columns
 	//in column_fidct(), but they are processed independently, so all ok.
 	//Later in the row_idct() columns readed at the same order.
-	dataptr[2] = tmp10 + tmp11; 
+	dataptr[2] = tmp10 + tmp11;
 	dataptr[3] = tmp10 - tmp11;
-    
+
 	z1 = MULTIPLY16H((tmp12 + tmp13)<<2, FIX_0_707106781);
-	dataptr[0] = tmp13 + z1;    
+	dataptr[0] = tmp13 + z1;
 	dataptr[1] = tmp13 - z1;
-    
-	// Odd part 
 
-	tmp10 = (tmp4 + tmp5) <<2;  
+	// Odd part
+
+	tmp10 = (tmp4 + tmp5) <<2;
 	tmp11 = (tmp5 + tmp6) <<2;
 	tmp12 = (tmp6 + tmp7) <<2;
 
@@ -1924,7 +1924,7 @@ static void row_fdct_c(DCTELEM *data, co
 	dataptr[7] = z11 - z4;
 
 	pixels++;               // advance pointer to next column
-	dataptr += DCTSIZE;         
+	dataptr += DCTSIZE;
     }
 }
 
@@ -1949,7 +1949,7 @@ static void row_fdct_mmx(DCTELEM *data, 
 	"add %%"REG_d", %%"REG_S"             \n\t"
 
 	"movq %%mm0, %%mm5             \n\t"
-	//       
+	//
 
 	"movd (%%"REG_S",%%"REG_a",4), %%mm3    \n\t" //7  ;prefetch!
 	"movq %%mm1, %%mm6             \n\t"
@@ -1991,7 +1991,7 @@ static void row_fdct_mmx(DCTELEM *data, 
 	"psubw %%mm5, %%mm0            \n\t" //t13
 
 	"psubw %%mm2, %%mm1            \n\t"
-	"paddw %%mm2, %%mm7            \n\t" //t11    
+	"paddw %%mm2, %%mm7            \n\t" //t11
 
 	"paddw %%mm0, %%mm1            \n\t"
 	"movq %%mm7, %%mm2             \n\t"
@@ -2012,7 +2012,7 @@ static void row_fdct_mmx(DCTELEM *data, 
 	"paddw %%mm1, %%mm0            \n\t" //d0
 	"punpckhwd %%mm6, %%mm2        \n\t"
 
-	"psubw %%mm1, %%mm5            \n\t" //d1                
+	"psubw %%mm1, %%mm5            \n\t" //d1
 	"movq %%mm0, %%mm6             \n\t"
 
 	"movq 1*8+%3, %%mm1            \n\t"
@@ -2028,16 +2028,16 @@ static void row_fdct_mmx(DCTELEM *data, 
 	"movq %%mm6, %%mm7             \n\t"
 
 	"movq %%mm0, "DCTSIZE_S"*0*2(%%"REG_D") \n\t"
-	"punpckldq %%mm2, %%mm6        \n\t" //2     
+	"punpckldq %%mm2, %%mm6        \n\t" //2
 
 	"movq %%mm5, "DCTSIZE_S"*1*2(%%"REG_D") \n\t"
-	"punpckhdq %%mm2, %%mm7        \n\t" //3    
+	"punpckhdq %%mm2, %%mm7        \n\t" //3
 
 	"movq %%mm6, "DCTSIZE_S"*2*2(%%"REG_D") \n\t"
 	"paddw %%mm1, %%mm4            \n\t"
 
 	"movq %%mm7, "DCTSIZE_S"*3*2(%%"REG_D") \n\t"
-	"psllw $2, %%mm3              \n\t" //t10    
+	"psllw $2, %%mm3              \n\t" //t10
 
 	"movq 0*8+%3, %%mm2           \n\t"
 	"psllw $2, %%mm4              \n\t" //t11
@@ -2064,17 +2064,17 @@ static void row_fdct_mmx(DCTELEM *data, 
 	"movq %%mm5, %%mm7             \n\t"
 
 	"paddw %%mm0, %%mm2            \n\t" //d4
-	"psubw %%mm0, %%mm6            \n\t" //d5    
+	"psubw %%mm0, %%mm6            \n\t" //d5
 
 	"movq %%mm2, %%mm4             \n\t"
-	"paddw %%mm3, %%mm1            \n\t" //z4    
+	"paddw %%mm3, %%mm1            \n\t" //z4
 
 	//transpose 4x4
 	"punpcklwd %%mm6, %%mm2        \n\t"
 	"paddw %%mm1, %%mm5            \n\t" //d6
 
 	"punpckhwd %%mm6, %%mm4        \n\t"
-	"psubw %%mm1, %%mm7            \n\t" //d7    
+	"psubw %%mm1, %%mm7            \n\t" //d7
 
 	"movq %%mm5, %%mm6             \n\t"
 	"punpcklwd %%mm7, %%mm5        \n\t"
@@ -2092,13 +2092,13 @@ static void row_fdct_mmx(DCTELEM *data, 
 	"punpckldq %%mm6, %%mm4        \n\t" //6
 
 	"movq %%mm7, "DCTSIZE_S"*1*2+"DCTSIZE_S"(%%"REG_D") \n\t"
-	"punpckhdq %%mm6, %%mm5        \n\t" //7    
+	"punpckhdq %%mm6, %%mm5        \n\t" //7
 
 	"movq %%mm4, "DCTSIZE_S"*2*2+"DCTSIZE_S"(%%"REG_D") \n\t"
 	"add $4, %%"REG_S"               \n\t"
 
 	"movq %%mm5, "DCTSIZE_S"*3*2+"DCTSIZE_S"(%%"REG_D") \n\t"
-	"add $"DCTSIZE_S"*2*4, %%"REG_D"      \n\t" //4 rows    
+	"add $"DCTSIZE_S"*2*4, %%"REG_D"      \n\t" //4 rows
 	"dec %%"REG_c"                   \n\t"
 	"jnz 6b                  \n\t"
 

Modified: trunk/libmpcodecs/vf_halfpack.c
==============================================================================
--- trunk/libmpcodecs/vf_halfpack.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_halfpack.c	Wed May 13 04:58:57 2009	(r29305)
@@ -53,7 +53,7 @@ static void halfpack_MMX(unsigned char *
 			"paddw %%mm4, %%mm2 \n\t"
 			"psrlw $1, %%mm1 \n\t"
 			"psrlw $1, %%mm2 \n\t"
-			
+
 			"movq (%2), %%mm3 \n\t"
 			"movq (%3), %%mm5 \n\t"
 			"punpcklbw %%mm0, %%mm3 \n\t"
@@ -198,11 +198,11 @@ static int open(vf_instance_t *vf, char*
 	vf->query_format=query_format;
 	vf->put_image=put_image;
 	vf->uninit=uninit;
-	
+
 	vf->priv = calloc(1, sizeof (struct vf_priv_s));
 	vf->priv->field = 2;
 	if (args) sscanf(args, "%d", &vf->priv->field);
-	
+
 	halfpack = halfpack_C;
 #if HAVE_MMX
 	if(gCpuCaps.hasMMX) halfpack = halfpack_MMX;

Modified: trunk/libmpcodecs/vf_harddup.c
==============================================================================
--- trunk/libmpcodecs/vf_harddup.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_harddup.c	Wed May 13 04:58:57 2009	(r29305)
@@ -18,7 +18,7 @@ static int put_image(struct vf_instance_
 	mp_image_t *dmpi;
 
 	vf->priv->last_mpi = mpi;
-	
+
 	dmpi = vf_get_image(vf->next, mpi->imgfmt,
 		MP_IMGTYPE_EXPORT, 0, mpi->width, mpi->height);
 
@@ -30,7 +30,7 @@ static int put_image(struct vf_instance_
 		dmpi->planes[2] = mpi->planes[2];
 		dmpi->stride[2] = mpi->stride[2];
 	}
-	
+
 	return vf_next_put_image(vf, dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_hqdn3d.c
==============================================================================
--- trunk/libmpcodecs/vf_hqdn3d.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_hqdn3d.c	Wed May 13 04:58:57 2009	(r29305)
@@ -101,7 +101,7 @@ static void deNoiseSpacial(
     int sLineOffs = 0, dLineOffs = 0;
     unsigned int PixelAnt;
     unsigned int PixelDst;
-    
+
     /* First pixel has no left nor top neighbor. */
     PixelDst = LineAnt[0] = PixelAnt = Frame[0]<<16;
     FrameDest[0]= ((PixelDst+0x10007FFF)>>16);
@@ -142,7 +142,7 @@ static void deNoise(unsigned char *Frame
     unsigned int PixelAnt;
     unsigned int PixelDst;
     unsigned short* FrameAnt=(*FrameAntPtr);
-    
+
     if(!FrameAnt){
 	(*FrameAntPtr)=FrameAnt=malloc(W*H*sizeof(unsigned short));
 	for (Y = 0; Y < H; Y++){

Modified: trunk/libmpcodecs/vf_hue.c
==============================================================================
--- trunk/libmpcodecs/vf_hue.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_hue.c	Wed May 13 04:58:57 2009	(r29305)
@@ -65,7 +65,7 @@ static int put_image(struct vf_instance_
 	dmpi=vf_get_image(vf->next, mpi->imgfmt,
 			  MP_IMGTYPE_EXPORT, 0,
 			  mpi->w, mpi->h);
-	
+
 	dmpi->planes[0] = mpi->planes[0];
 	dmpi->stride[0] = mpi->stride[0];
 	dmpi->stride[1] = mpi->stride[1];
@@ -75,7 +75,7 @@ static int put_image(struct vf_instance_
 		vf->priv->buf[0] = malloc(mpi->stride[1]*mpi->h >> mpi->chroma_y_shift);
 		vf->priv->buf[1] = malloc(mpi->stride[2]*mpi->h >> mpi->chroma_y_shift);
 	}
-	
+
 	if (vf->priv->hue == 0 && vf->priv->saturation == 1){
 		dmpi->planes[1] = mpi->planes[1];
 		dmpi->planes[2] = mpi->planes[2];
@@ -85,7 +85,7 @@ static int put_image(struct vf_instance_
 		process(dmpi->planes[1], dmpi->planes[2],
 			mpi->planes[1], mpi->planes[2],
 			dmpi->stride[1],mpi->stride[1],
-			mpi->w>> mpi->chroma_x_shift, mpi->h>> mpi->chroma_y_shift, 
+			mpi->w>> mpi->chroma_x_shift, mpi->h>> mpi->chroma_y_shift,
 			vf->priv->hue, vf->priv->saturation);
 	}
 
@@ -151,7 +151,7 @@ static int open(vf_instance_t *vf, char*
 	vf->query_format=query_format;
 	vf->put_image=put_image;
 	vf->uninit=uninit;
-	
+
 	if(!vf->priv) {
 	vf->priv = malloc(sizeof(struct vf_priv_s));
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));

Modified: trunk/libmpcodecs/vf_il.c
==============================================================================
--- trunk/libmpcodecs/vf_il.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_il.c	Wed May 13 04:58:57 2009	(r29305)
@@ -87,19 +87,19 @@ static int put_image(struct vf_instance_
 	else
 		w= mpi->w * mpi->bpp/8;
 
-	interleave(dmpi->planes[0], mpi->planes[0], 
+	interleave(dmpi->planes[0], mpi->planes[0],
 		w, mpi->h, dmpi->stride[0], mpi->stride[0], luma->interleave, luma->swap);
 
 	if(mpi->flags&MP_IMGFLAG_PLANAR){
 		int cw= mpi->w >> mpi->chroma_x_shift;
 		int ch= mpi->h >> mpi->chroma_y_shift;
 
-		interleave(dmpi->planes[1], mpi->planes[1], cw,ch, 
+		interleave(dmpi->planes[1], mpi->planes[1], cw,ch,
 			dmpi->stride[1], mpi->stride[1], chroma->interleave, luma->swap);
-		interleave(dmpi->planes[2], mpi->planes[2], cw,ch, 
+		interleave(dmpi->planes[2], mpi->planes[2], cw,ch,
 			dmpi->stride[2], mpi->stride[2], chroma->interleave, luma->swap);
 	}
-    
+
 	return vf_next_put_image(vf,dmpi, pts);
 }
 
@@ -125,7 +125,7 @@ static int open(vf_instance_t *vf, char*
 //	vf->get_image=get_image;
 	vf->priv=malloc(sizeof(struct vf_priv_s));
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));
-	
+
 	if(args)
 	{
 		char *arg2= strchr(args,':');

Modified: trunk/libmpcodecs/vf_ilpack.c
==============================================================================
--- trunk/libmpcodecs/vf_ilpack.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_ilpack.c	Wed May 13 04:58:57 2009	(r29305)
@@ -71,7 +71,7 @@ static void pack_nn_MMX(unsigned char *d
 		"punpcklbw %%mm6, %%mm4 \n\t"
 		"punpcklbw %%mm4, %%mm1 \n\t"
 		"punpckhbw %%mm4, %%mm2 \n\t"
-		
+
 		"add $8, %0 \n\t"
 		"add $4, %1 \n\t"
 		"add $4, %2 \n\t"
@@ -81,7 +81,7 @@ static void pack_nn_MMX(unsigned char *d
 		"decl %4 \n\t"
 		"jnz 1b \n\t"
 		"emms \n\t"
-		: 
+		:
 		: "r" (y), "r" (u), "r" (v), "r" (dst), "r" (w/8)
 		: "memory"
 		);
@@ -100,12 +100,12 @@ static void pack_li_0_MMX(unsigned char 
 		"movl (%%"REG_d"), %%"REG_d" \n\t"
 #endif
 		"pxor %%mm0, %%mm0 \n\t"
-		
+
 		ASMALIGN(4)
 		".Lli0: \n\t"
 		"movq (%%"REG_S"), %%mm1 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
-		
+
 		"movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t"
 		"movq (%%"REG_b",%%"REG_BP",2), %%mm6 \n\t"
 		"punpcklbw %%mm0, %%mm4 \n\t"
@@ -135,13 +135,13 @@ static void pack_li_0_MMX(unsigned char 
 		"punpcklbw %%mm6, %%mm4 \n\t"
 		"punpcklbw %%mm4, %%mm1 \n\t"
 		"punpckhbw %%mm4, %%mm2 \n\t"
-		
+
 		"movq %%mm1, (%%"REG_D") \n\t"
 		"movq %%mm2, 8(%%"REG_D") \n\t"
-		
+
 		"movq 8(%%"REG_S"), %%mm1 \n\t"
 		"movq 8(%%"REG_S"), %%mm2 \n\t"
-		
+
 		"movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t"
 		"movq (%%"REG_b",%%"REG_BP",2), %%mm6 \n\t"
 		"punpckhbw %%mm0, %%mm4 \n\t"
@@ -171,20 +171,20 @@ static void pack_li_0_MMX(unsigned char 
 		"punpcklbw %%mm6, %%mm4 \n\t"
 		"punpcklbw %%mm4, %%mm1 \n\t"
 		"punpckhbw %%mm4, %%mm2 \n\t"
-		
+
 		"add $16, %%"REG_S" \n\t"
 		"add $8, %%"REG_a" \n\t"
 		"add $8, %%"REG_b" \n\t"
-		
+
 		"movq %%mm1, 16(%%"REG_D") \n\t"
 		"movq %%mm2, 24(%%"REG_D") \n\t"
 		"add $32, %%"REG_D" \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz .Lli0 \n\t"
 		"emms \n\t"
 		"pop %%"REG_BP" \n\t"
-		: 
+		:
 		: "S" (y), "D" (dst), "a" (u), "b" (v), "c" (w/16),
 #if ARCH_X86_64
 		"d" ((x86_reg)us), "r" ((x86_reg)vs)
@@ -208,12 +208,12 @@ static void pack_li_1_MMX(unsigned char 
 		"movl (%%"REG_d"), %%"REG_d" \n\t"
 #endif
 		"pxor %%mm0, %%mm0 \n\t"
-		
+
 		ASMALIGN(4)
 		".Lli1: \n\t"
 		"movq (%%"REG_S"), %%mm1 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
-		
+
 		"movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t"
 		"movq (%%"REG_b",%%"REG_BP",2), %%mm6 \n\t"
 		"punpcklbw %%mm0, %%mm4 \n\t"
@@ -245,13 +245,13 @@ static void pack_li_1_MMX(unsigned char 
 		"punpcklbw %%mm6, %%mm4 \n\t"
 		"punpcklbw %%mm4, %%mm1 \n\t"
 		"punpckhbw %%mm4, %%mm2 \n\t"
-		
+
 		"movq %%mm1, (%%"REG_D") \n\t"
 		"movq %%mm2, 8(%%"REG_D") \n\t"
-		
+
 		"movq 8(%%"REG_S"), %%mm1 \n\t"
 		"movq 8(%%"REG_S"), %%mm2 \n\t"
-		
+
 		"movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t"
 		"movq (%%"REG_b",%%"REG_BP",2), %%mm6 \n\t"
 		"punpckhbw %%mm0, %%mm4 \n\t"
@@ -283,20 +283,20 @@ static void pack_li_1_MMX(unsigned char 
 		"punpcklbw %%mm6, %%mm4 \n\t"
 		"punpcklbw %%mm4, %%mm1 \n\t"
 		"punpckhbw %%mm4, %%mm2 \n\t"
-		
+
 		"add $16, %%"REG_S" \n\t"
 		"add $8, %%"REG_a" \n\t"
 		"add $8, %%"REG_b" \n\t"
-		
+
 		"movq %%mm1, 16(%%"REG_D") \n\t"
 		"movq %%mm2, 24(%%"REG_D") \n\t"
 		"add $32, %%"REG_D" \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz .Lli1 \n\t"
 		"emms \n\t"
 		"pop %%"REG_BP" \n\t"
-		: 
+		:
 		: "S" (y), "D" (dst), "a" (u), "b" (v), "c" (w/16),
 #if ARCH_X86_64
 		"d" ((x86_reg)us), "r" ((x86_reg)vs)
@@ -392,7 +392,7 @@ static int open(vf_instance_t *vf, char*
 	vf->priv = calloc(1, sizeof(struct vf_priv_s));
 	vf->priv->mode = 1;
 	if (args) sscanf(args, "%d", &vf->priv->mode);
-	
+
 	pack_nn = (pack_func_t *)pack_nn_C;
 	pack_li_0 = pack_li_0_C;
 	pack_li_1 = pack_li_1_C;
@@ -417,7 +417,7 @@ static int open(vf_instance_t *vf, char*
 		vf->priv->pack[1] = pack_li_1;
 		break;
 	}
-	
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/vf_ivtc.c
==============================================================================
--- trunk/libmpcodecs/vf_ivtc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_ivtc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -45,16 +45,16 @@ static void block_diffs_MMX(struct metri
 {
 	int i;
 	short out[24]; // output buffer for the partial metrics from the mmx code
-	
+
 	__asm__ (
 		"movl $4, %%ecx \n\t"
 		"pxor %%mm4, %%mm4 \n\t" // 4 even difference sums
 		"pxor %%mm5, %%mm5 \n\t" // 4 odd difference sums
 		"pxor %%mm7, %%mm7 \n\t" // all zeros
-		
+
 		ASMALIGN(4)
 		"1: \n\t"
-		
+
 		// Even difference
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
@@ -73,7 +73,7 @@ static void block_diffs_MMX(struct metri
 		"paddw %%mm1, %%mm4 \n\t"
 		"paddw %%mm2, %%mm4 \n\t"
 		"paddw %%mm3, %%mm4 \n\t"
-		
+
 		// Odd difference
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S"), %%mm2 \n\t"
@@ -92,12 +92,12 @@ static void block_diffs_MMX(struct metri
 		"paddw %%mm1, %%mm5 \n\t"
 		"paddw %%mm2, %%mm5 \n\t"
 		"paddw %%mm3, %%mm5 \n\t"
-			
+
 		"decl %%ecx \n\t"
 		"jnz 1b \n\t"
 		"movq %%mm4, (%%"REG_d") \n\t"
 		"movq %%mm5, 8(%%"REG_d") \n\t"
-		: 
+		:
 		: "S" (old), "D" (new), "a" (os), "b" (ns), "d" (out)
 		: "memory"
 		);
@@ -111,10 +111,10 @@ static void block_diffs_MMX(struct metri
 		"pxor %%mm4, %%mm4 \n\t" // Past spacial noise
 		"pxor %%mm5, %%mm5 \n\t" // Temporal noise
 		"pxor %%mm6, %%mm6 \n\t" // Current spacial noise
-		
+
 		ASMALIGN(4)
 		"2: \n\t"
-		
+
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S",%%"REG_a"), %%mm1 \n\t"
 		"add %%"REG_a", %%"REG_S" \n\t"
@@ -133,10 +133,10 @@ static void block_diffs_MMX(struct metri
 		"psubw %%mm0, %%mm4 \n\t"
 		"psubw %%mm2, %%mm5 \n\t"
 		"psubw %%mm2, %%mm6 \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz 2b \n\t"
-		
+
 		"movq %%mm0, %%mm1 \n\t"
 		"movq %%mm0, %%mm2 \n\t"
 		"movq %%mm0, %%mm3 \n\t"
@@ -165,10 +165,10 @@ static void block_diffs_MMX(struct metri
 		"pxor %%mm4, %%mm4 \n\t"
 		"pxor %%mm5, %%mm5 \n\t"
 		"pxor %%mm6, %%mm6 \n\t"
-		
+
 		ASMALIGN(4)
 		"3: \n\t"
-		
+
 		"movq (%%"REG_S"), %%mm0 \n\t"
 		"movq (%%"REG_S",%%"REG_a"), %%mm1 \n\t"
 		"add %%"REG_a", %%"REG_S" \n\t"
@@ -187,10 +187,10 @@ static void block_diffs_MMX(struct metri
 		"psubw %%mm0, %%mm4 \n\t"
 		"psubw %%mm2, %%mm5 \n\t"
 		"psubw %%mm2, %%mm6 \n\t"
-		
+
 		"decl %%ecx \n\t"
 		"jnz 3b \n\t"
-		
+
 		"movq %%mm0, %%mm1 \n\t"
 		"movq %%mm0, %%mm2 \n\t"
 		"movq %%mm0, %%mm3 \n\t"
@@ -208,7 +208,7 @@ static void block_diffs_MMX(struct metri
 		"movq %%mm6, 40(%%"REG_d") \n\t"
 
 		"emms \n\t"
-		: 
+		:
 		: "S" (old), "D" (new), "a" ((long)os), "b" ((long)ns), "d" (out)
 		: "memory"
 		);
@@ -328,7 +328,7 @@ static int foo(struct vf_priv_s *p, mp_i
 		p->dropnext = 0;
 		return F_DROP;
 	}
-	
+
 	// Sometimes a pulldown frame comes all by itself, so both
 	// its top and bottom field are duplicates from the adjacent
 	// two frames. We can just drop such a frame, but we
@@ -338,7 +338,7 @@ static int foo(struct vf_priv_s *p, mp_i
 		p->dropnext = 1;
 		return F_NEXT;
 	}
-	
+
 	// If none of these conditions hold, we will consider the frame
 	// progressive and just show it as-is.
 	if (!(  (3*f[0].r.e < f[0].r.o) ||
@@ -424,7 +424,7 @@ static int do_put_image(struct vf_instan
 		dropflag = (++p->lastdrop >= 5) && (4*p->inframes <= 5*p->outframes);
 		break;
 	}
-	
+
 	if (dropflag) {
 		//mp_msg(MSGT_VFILTER, MSGL_V, "drop! [%d/%d=%g]\n",
 		//	p->outframes, p->inframes, (float)p->outframes/p->inframes);
@@ -457,7 +457,7 @@ static int put_image(struct vf_instance_
 	p->dmpi->qscale = mpi->qscale;
 	p->dmpi->qstride = mpi->qstride;
 	p->dmpi->qscale_type = mpi->qscale_type;
-		
+
 	switch (foo(p, mpi, p->dmpi)) {
 	case F_DROP:
 		copy_image(p->dmpi, mpi, 2);

Modified: trunk/libmpcodecs/vf_lavc.c
==============================================================================
--- trunk/libmpcodecs/vf_lavc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_lavc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,7 +34,7 @@ static int config(struct vf_instance_s* 
 
     lavc_venc_context.width = width;
     lavc_venc_context.height = height;
-    
+
     if(!lavc_venc_context.time_base.num || !lavc_venc_context.time_base.den){
 	// guess FPS:
 	switch(height){
@@ -81,7 +81,7 @@ static int put_image(struct vf_instance_
     pic->linesize[1]=mpi->stride[1];
     pic->linesize[2]=mpi->stride[2];
 
-    out_size = avcodec_encode_video(&lavc_venc_context, 
+    out_size = avcodec_encode_video(&lavc_venc_context,
 	vf->priv->outbuf, vf->priv->outbuf_size, pic);
 
     if(out_size<=0) return 1;
@@ -89,14 +89,14 @@ static int put_image(struct vf_instance_
     dmpi=vf_get_image(vf->next,IMGFMT_MPEGPES,
 	MP_IMGTYPE_EXPORT, 0,
 	mpi->w, mpi->h);
-    
+
     vf->priv->pes.data=vf->priv->outbuf;
     vf->priv->pes.size=out_size;
     vf->priv->pes.id=0x1E0;
     vf->priv->pes.timestamp=-1; // dunno
-    
+
     dmpi->planes[0]=(unsigned char*)&vf->priv->pes;
-    
+
     return vf_next_put_image(vf,dmpi, MP_NOPTS_VALUE);
 }
 
@@ -115,7 +115,7 @@ static int query_format(struct vf_instan
 static int open(vf_instance_t *vf, char* args){
     int p_quality=0;
     float p_fps=0;
-    
+
     vf->config=config;
     vf->put_image=put_image;
     vf->query_format=query_format;
@@ -133,7 +133,7 @@ static int open(vf_instance_t *vf, char*
 	mp_msg(MSGT_MENCODER,MSGL_ERR,MSGTR_MissingLAVCcodec, "mpeg1video");
 	return 0;
     }
-    
+
     vf->priv->context=avcodec_alloc_context();
     vf->priv->pic = avcodec_alloc_frame();
 

Modified: trunk/libmpcodecs/vf_lavcdeint.c
==============================================================================
--- trunk/libmpcodecs/vf_lavcdeint.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_lavcdeint.c	Wed May 13 04:58:57 2009	(r29305)
@@ -14,7 +14,7 @@
 
 extern int avcodec_initialized;
 
-struct vf_priv_s 
+struct vf_priv_s
 {
   int       width, height;
   int       pix_fmt;
@@ -69,7 +69,7 @@ imgfmt_to_pixfmt (int imgfmt)
 }
 
 
-static int 
+static int
 config (struct vf_instance_s* vf,
         int width, int height, int d_width, int d_height,
         unsigned int flags, unsigned int outfmt)
@@ -79,7 +79,7 @@ config (struct vf_instance_s* vf,
   priv->pix_fmt = imgfmt_to_pixfmt(outfmt);
   if(priv->pix_fmt == -1)
     return 0;
-  
+
   /* The deinterlacer will fail if this is false */
   if ((width & 3) != 0 || (height & 3) != 0)
     return 0;
@@ -95,21 +95,21 @@ config (struct vf_instance_s* vf,
 			flags, outfmt);
 }
 
-static int 
+static int
 put_image (struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
   struct vf_priv_s *priv = vf->priv;
   mp_image_t* dmpi;
   AVPicture pic;
   AVPicture lavc_picture;
-  
+
   lavc_picture.data[0]     = mpi->planes[0];
   lavc_picture.data[1]     = mpi->planes[1];
   lavc_picture.data[2]     = mpi->planes[2];
   lavc_picture.linesize[0] = mpi->stride[0];
   lavc_picture.linesize[1] = mpi->stride[1];
   lavc_picture.linesize[2] = mpi->stride[2];
-  
+
   dmpi = vf_get_image(vf->next, mpi->imgfmt,
 		      MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
 		      priv->width, priv->height);
@@ -121,18 +121,18 @@ put_image (struct vf_instance_s* vf, mp_
   pic.linesize[1] = dmpi->stride[1];
   pic.linesize[2] = dmpi->stride[2];
 
-  if (avpicture_deinterlace(&pic, &lavc_picture, 
+  if (avpicture_deinterlace(&pic, &lavc_picture,
 			    priv->pix_fmt, priv->width, priv->height) < 0)
     {
       /* This should not happen -- see config() */
       return 0;
     }
-  
+
   return vf_next_put_image(vf, dmpi, pts);
 }
 
 
-static int 
+static int
 query_format (struct vf_instance_s* vf, unsigned int fmt)
 {
   if(imgfmt_to_pixfmt(fmt) == -1)
@@ -142,7 +142,7 @@ query_format (struct vf_instance_s* vf, 
 }
 
 
-static int 
+static int
 open (vf_instance_t *vf, char* args)
 {
   /* We don't have any args */

Modified: trunk/libmpcodecs/vf_mcdeint.c
==============================================================================
--- trunk/libmpcodecs/vf_mcdeint.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_mcdeint.c	Wed May 13 04:58:57 2009	(r29305)
@@ -25,7 +25,7 @@ Known Issues:
   frames are created purely based on spatial interpolation then for example
   a thin black line or another random and not interpolateable pattern
   will cause problems
-  Note: completly ignoring the "unavailable" lines during motion estimation 
+  Note: completly ignoring the "unavailable" lines during motion estimation
   didnt look any better, so the most obvious solution would be to improve
   tfields or penalize problematic motion vectors ...
 
@@ -33,7 +33,7 @@ Known Issues:
   and as a result sometimes creates artifacts
 
 * only past frames are used, we should ideally use future frames too, something
-  like filtering the whole movie in forward and then backward direction seems 
+  like filtering the whole movie in forward and then backward direction seems
   like a interresting idea but the current filter framework is FAR from
   supporting such things
 

Modified: trunk/libmpcodecs/vf_mirror.c
==============================================================================
--- trunk/libmpcodecs/vf_mirror.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_mirror.c	Wed May 13 04:58:57 2009	(r29305)
@@ -89,7 +89,7 @@ static int put_image(struct vf_instance_
 	       dmpi->w,dmpi->h,dmpi->bpp>>3,mpi->imgfmt);
 	dmpi->planes[1]=mpi->planes[1]; // passthrough rgb8 palette
     }
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_noformat.c
==============================================================================
--- trunk/libmpcodecs/vf_noformat.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_noformat.c	Wed May 13 04:58:57 2009	(r29305)
@@ -68,7 +68,7 @@ static int open(vf_instance_t *vf, char*
 	if(!strcasecmp(args,"abgr")) vf->priv->fmt=IMGFMT_ABGR; else
 	{ mp_msg(MSGT_VFILTER, MSGL_WARN, MSGTR_MPCODECS_UnknownFormatName, args);return 0;}
     }
-        
+
 
     return 1;
 }

Modified: trunk/libmpcodecs/vf_noise.c
==============================================================================
--- trunk/libmpcodecs/vf_noise.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_noise.c	Wed May 13 04:58:57 2009	(r29305)
@@ -110,7 +110,7 @@ static int8_t *initNoise(FilterParam *fp
 				x2 = 2.0 * rand()/(float)RAND_MAX - 1.0;
 				w = x1 * x1 + x2 * x2;
 			} while ( w >= 1.0 );
-		
+
 			w = sqrt( (-2.0 * log( w ) ) / w );
 			y1= x1 * w;
 			y1*= strength / sqrt(3.0);
@@ -125,7 +125,7 @@ static int8_t *initNoise(FilterParam *fp
 		}
 		if (RAND_N(6) == 0) j--;
 	}
-	
+
 
 	for (i = 0; i < MAX_RES; i++)
 	    for (j = 0; j < 3; j++)
@@ -246,7 +246,7 @@ static inline void lineNoiseAvg_MMX(uint
 		"movq %%mm1, (%4, %%"REG_a")	\n\t"
 		"add $8, %%"REG_a"		\n\t"
 		" js 1b				\n\t"
-		:: "r" (src+mmx_len), "r" (shift[0]+mmx_len), "r" (shift[1]+mmx_len), "r" (shift[2]+mmx_len), 
+		:: "r" (src+mmx_len), "r" (shift[0]+mmx_len), "r" (shift[1]+mmx_len), "r" (shift[2]+mmx_len),
                    "r" (dst+mmx_len), "g" (-mmx_len)
 		: "%"REG_a
 	);
@@ -261,7 +261,7 @@ static inline void lineNoiseAvg_MMX(uint
 static inline void lineNoiseAvg_C(uint8_t *dst, uint8_t *src, int len, int8_t **shift){
 	int i;
         int8_t *src2= (int8_t*)src;
-	
+
 	for(i=0; i<len; i++)
 	{
 	    const int n= shift[0][i] + shift[1][i] + shift[2][i];
@@ -374,7 +374,7 @@ static void uninit(struct vf_instance_s*
 
 	if(vf->priv->lumaParam.noise) free(vf->priv->lumaParam.noise);
 	vf->priv->lumaParam.noise= NULL;
-	
+
 	free(vf->priv);
 	vf->priv=NULL;
 }
@@ -446,7 +446,7 @@ static int open(vf_instance_t *vf, char*
         return 0; // no csp match :(
     }
 
- 
+
 #if HAVE_MMX
     if(gCpuCaps.hasMMX){
         lineNoise= lineNoise_MMX;
@@ -457,7 +457,7 @@ static int open(vf_instance_t *vf, char*
     if(gCpuCaps.hasMMX2) lineNoise= lineNoise_MMX2;
 //    if(gCpuCaps.hasMMX) lineNoiseAvg= lineNoiseAvg_MMX2;
 #endif
-    
+
     return 1;
 }
 

Modified: trunk/libmpcodecs/vf_ow.c
==============================================================================
--- trunk/libmpcodecs/vf_ow.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_ow.c	Wed May 13 04:58:57 2009	(r29305)
@@ -26,7 +26,7 @@
  * @todo use QP to decide filter strength
  * @todo wavelet normalization / least squares optimal signal vs. noise thresholds
  */
- 
+
 #include <stdio.h>
 #include <string.h>
 #include <inttypes.h>

Modified: trunk/libmpcodecs/vf_palette.c
==============================================================================
--- trunk/libmpcodecs/vf_palette.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_palette.c	Wed May 13 04:58:57 2009	(r29305)
@@ -76,7 +76,7 @@ static int config(struct vf_instance_s* 
 
 static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
-    
+
     // hope we'll get DR buffer:
     dmpi=vf_get_image(vf->next,vf->priv->fmt,
 	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
@@ -152,7 +152,7 @@ static int put_image(struct vf_instance_
 	    }
 	}
     }
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_perspective.c
==============================================================================
--- trunk/libmpcodecs/vf_perspective.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_perspective.c	Wed May 13 04:58:57 2009	(r29305)
@@ -64,18 +64,18 @@ static void initPv(struct vf_priv_s *pri
 	    - (ref[0][0] - ref[1][0] - ref[2][0] + ref[3][0])*(ref[1][1] - ref[3][1]))*W;
 	D=   (ref[1][0] - ref[3][0])*(ref[2][1] - ref[3][1])
 	   - (ref[2][0] - ref[3][0])*(ref[1][1] - ref[3][1]);
-	
+
 	a= D*(ref[1][0] - ref[0][0])*H + g*ref[1][0];
 	b= D*(ref[2][0] - ref[0][0])*W + h*ref[2][0];
 	c= D*ref[0][0]*W*H;
 	d= D*(ref[1][1] - ref[0][1])*H + g*ref[1][1];
 	e= D*(ref[2][1] - ref[0][1])*W + h*ref[2][1];
 	f= D*ref[0][1]*W*H;
-	
+
 	for(y=0; y<H; y++){
 		for(x=0; x<W; x++){
 			int u, v;
-			
+
 			u= (int)floor( SUB_PIXELS*(a*x + b*y + c)/(g*x + h*y + D*W*H) + 0.5);
 			v= (int)floor( SUB_PIXELS*(d*x + e*y + f)/(g*x + h*y + D*W*H) + 0.5);
 
@@ -88,7 +88,7 @@ static void initPv(struct vf_priv_s *pri
 static double getCoeff(double d){
 	double A= -0.60;
 	double coeff;
-	
+
 	d= fabs(d);
 
 	// Equation is from VirtualDub
@@ -98,7 +98,7 @@ static double getCoeff(double d){
 		coeff = (-4.0*A + 8.0*A*d - 5.0*A*d*d + A*d*d*d);
 	else
 		coeff=0.0;
-	
+
 	return coeff;
 }
 
@@ -110,18 +110,18 @@ static int config(struct vf_instance_s* 
 	vf->priv->pvStride= width;
 	vf->priv->pv= (void*)memalign(8, width*height*2*sizeof(int32_t));
 	initPv(vf->priv, width, height);
-	
+
 	for(i=0; i<SUB_PIXELS; i++){
 		double d= i/(double)SUB_PIXELS;
 		double temp[4];
 		double sum=0;
-		
+
 		for(j=0; j<4; j++)
 			temp[j]= getCoeff(j - d - 1);
-		
+
 		for(j=0; j<4; j++)
 			sum+= temp[j];
-			
+
 		for(j=0; j<4; j++)
 			vf->priv->coeff[i][j]= (int)floor((1<<COEFF_BITS)*temp[j]/sum + 0.5);
 	}
@@ -142,7 +142,7 @@ static void uninit(struct vf_instance_s*
 static inline void resampleCubic(uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride, struct vf_priv_s *privParam, int xShift, int yShift){
 	int x, y;
 	struct vf_priv_s priv= *privParam;
-	
+
 	for(y=0; y<h; y++){
 		for(x=0; x<w; x++){
 			int u, v, subU, subV, sum, sx, sy;
@@ -162,7 +162,7 @@ static inline void resampleCubic(uint8_t
 				const int b= priv.coeff[subU][1];
 				const int c= priv.coeff[subU][2];
 				const int d= priv.coeff[subU][3];
-				
+
 				sum=
 				 priv.coeff[subV][0]*(  a*src[index - 1 - srcStride] + b*src[index - 0 - srcStride]
 				                      + c*src[index + 1 - srcStride] + d*src[index + 2 - srcStride])
@@ -184,7 +184,7 @@ static inline void resampleCubic(uint8_t
 						int ix= u + dx - 1;
 						if     (ix< 0) ix=0;
 						else if(ix>=w) ix=w-1;
-						
+
 						sum+=  priv.coeff[subU][dx]*priv.coeff[subV][dy]
 						      *src[ ix + iy*srcStride];
 					}
@@ -200,11 +200,11 @@ static inline void resampleCubic(uint8_t
 	}
 }
 
-static inline void resampleLinear(uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride, 
+static inline void resampleLinear(uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride,
 				  struct vf_priv_s *privParam, int xShift, int yShift){
 	int x, y;
 	struct vf_priv_s priv= *privParam;
-	
+
 	for(y=0; y<h; y++){
 		for(x=0; x<w; x++){
 			int u, v, subU, subV, sum, sx, sy, index, subUI, subVI;
@@ -220,7 +220,7 @@ static inline void resampleLinear(uint8_
 			index= u + v*srcStride;
 			subUI= SUB_PIXELS - subU;
 			subVI= SUB_PIXELS - subV;
-            
+
 			if((unsigned)u < (unsigned)(w - 1)){
 				if((unsigned)v < (unsigned)(h - 1)){
 					sum= subVI*(subUI*src[index          ] + subU*src[index          +1])
@@ -267,20 +267,20 @@ static int put_image(struct vf_instance_
 		mpi->w,mpi->h);
 
 	assert(mpi->flags&MP_IMGFLAG_PLANAR);
-	
+
 	if(vf->priv->cubic){
-		resampleCubic(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, dmpi->stride[0], mpi->stride[0], 
+		resampleCubic(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, dmpi->stride[0], mpi->stride[0],
 				vf->priv, 0, 0);
-		resampleCubic(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1], 
+		resampleCubic(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1],
 				vf->priv, mpi->chroma_x_shift, mpi->chroma_y_shift);
-		resampleCubic(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2], 
+		resampleCubic(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2],
 				vf->priv, mpi->chroma_x_shift, mpi->chroma_y_shift);
 	}else{
-		resampleLinear(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, dmpi->stride[0], mpi->stride[0], 
+		resampleLinear(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, dmpi->stride[0], mpi->stride[0],
 				vf->priv, 0, 0);
-		resampleLinear(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1], 
+		resampleLinear(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1],
 				vf->priv, mpi->chroma_x_shift, mpi->chroma_y_shift);
-		resampleLinear(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2], 
+		resampleLinear(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2],
 				vf->priv, mpi->chroma_x_shift, mpi->chroma_y_shift);
 	}
 
@@ -316,7 +316,7 @@ static int open(vf_instance_t *vf, char*
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));
 
 	if(args==NULL) return 0;
-	
+
 	e=sscanf(args, "%lf:%lf:%lf:%lf:%lf:%lf:%lf:%lf:%d",
 		&vf->priv->ref[0][0], &vf->priv->ref[0][1],
 		&vf->priv->ref[1][0], &vf->priv->ref[1][1],

Modified: trunk/libmpcodecs/vf_phase.c
==============================================================================
--- trunk/libmpcodecs/vf_phase.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_phase.c	Wed May 13 04:58:57 2009	(r29305)
@@ -36,7 +36,7 @@ static void do_plane(unsigned char *to, 
    {
    unsigned char *buf, *end;
    int top;
- 
+
    if(!*bufp)
       {
       mode=PROGRESSIVE;
@@ -81,7 +81,7 @@ static enum mode analyze_plane(unsigned 
    else if(mode==AUTO_ANALYZE)
       mode=fields&MP_IMGFIELD_ORDERED?fields&MP_IMGFIELD_TOP_FIRST?
 	 TOP_FIRST_ANALYZE:BOTTOM_FIRST_ANALYZE:FULL_ANALYZE;
-   
+
    if(fixed_mode(mode))
       bdiff=pdiff=tdiff=65536.0;
    else
@@ -116,7 +116,7 @@ static enum mode analyze_plane(unsigned 
 		     pdif+=diff(new, ns, new, ns),
 		     bdif+=diff(new, ns, old, os);
 	       break;
-	       
+
 	    case ANALYZE:
 	       if(top)
 		  for(rend=new+w; new<rend; new++, old++)
@@ -144,20 +144,20 @@ static enum mode analyze_plane(unsigned 
 	 pdiff+=(double)pdif;
 	 tdiff+=(double)tdif;
 	 bdiff+=(double)bdif;
-	 }      
+	 }
 
       scale=1.0/(w*(h-3))/25.0;
       pdiff*=scale;
       tdiff*=scale;
       bdiff*=scale;
-      
+
       if(mode==TOP_FIRST_ANALYZE)
 	 bdiff=65536.0;
       else if(mode==BOTTOM_FIRST_ANALYZE)
 	 tdiff=65536.0;
       else if(mode==ANALYZE)
 	 pdiff=65536.0;
-      
+
       if(bdiff<pdiff && bdiff<tdiff)
 	 mode=BOTTOM_FIRST;
       else if(tdiff<pdiff && tdiff<bdiff)
@@ -205,7 +205,7 @@ static int put_image(struct vf_instance_
    do_plane(dmpi->planes[0], mpi->planes[0],
 	    w, dmpi->h,
 	    dmpi->stride[0], mpi->stride[0],
-	    &vf->priv->buf[0], mode);      
+	    &vf->priv->buf[0], mode);
 
    if(dmpi->flags&MP_IMGFLAG_PLANAR)
       {
@@ -241,10 +241,10 @@ static int open(vf_instance_t *vf, char*
       uninit(vf);
       return 0;
       }
-   
+
    vf->priv->mode=AUTO_ANALYZE;
    vf->priv->verbose=0;
-      
+
    while(args && *args)
       {
       switch(*args)

Modified: trunk/libmpcodecs/vf_pp.c
==============================================================================
--- trunk/libmpcodecs/vf_pp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_pp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -48,7 +48,7 @@ static int config(struct vf_instance_s* 
     case IMGFMT_411P: flags|= PP_FORMAT_411; break;
     default:          flags|= PP_FORMAT_420; break;
     }
-        
+
     if(vf->priv->context) pp_free_context(vf->priv->context);
     vf->priv->context= pp_get_context(width, height, flags);
 
@@ -90,7 +90,7 @@ static int control(struct vf_instance_s*
 
 static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
     if(vf->priv->pp&0xFFFF) return; // non-local filters enabled
-    if((mpi->type==MP_IMGTYPE_IPB || vf->priv->pp) && 
+    if((mpi->type==MP_IMGTYPE_IPB || vf->priv->pp) &&
 	mpi->flags&MP_IMGFLAG_PRESERVE) return; // don't change
     if(!(mpi->flags&MP_IMGFLAG_ACCEPT_STRIDE) && mpi->imgfmt!=vf->priv->outfmt)
 	return; // colorspace differ
@@ -120,7 +120,7 @@ static int put_image(struct vf_instance_
 	    (mpi->width+7)&(~7),(mpi->height+7)&(~7));
 	vf->dmpi->w=mpi->w; vf->dmpi->h=mpi->h; // display w;h
     }
-    
+
     if(vf->priv->pp || !(mpi->flags&MP_IMGFLAG_DIRECT)){
 	// do the postprocessing! (or copy if no DR)
 	pp_postprocess(mpi->planes           ,mpi->stride,
@@ -155,7 +155,7 @@ static int open(vf_instance_t *vf, char*
     char *endptr, *name;
     int i;
     int hex_mode=0;
-    
+
     vf->query_format=query_format;
     vf->control=control;
     vf->config=config;
@@ -169,7 +169,7 @@ static int open(vf_instance_t *vf, char*
     // check csp:
     vf->priv->outfmt=vf_match_csp(&vf->next,fmt_list,IMGFMT_YV12);
     if(!vf->priv->outfmt) return 0; // no csp match :(
-    
+
     if(args){
 	hex_mode= strtol(args, &endptr, 0);
 	if(*endptr){
@@ -192,9 +192,9 @@ static int open(vf_instance_t *vf, char*
         /* hex mode for compatibility */
         for(i=0; i<=PP_QUALITY_MAX; i++){
 	    PPMode *ppMode;
-	    
+
 	    ppMode= (PPMode*)memalign(8, sizeof(PPMode));
-	    
+
 	    ppMode->lumMode= hex_mode;
 	    ppMode->chromMode= ((hex_mode&0xFF)>>4) | (hex_mode&0xFFFFFF00);
 	    ppMode->maxTmpNoise[0]= 700;
@@ -204,12 +204,12 @@ static int open(vf_instance_t *vf, char*
 	    ppMode->minAllowedY= 16;
 	    ppMode->baseDcDiff= 256/4;
 	    ppMode->flatnessThreshold=40;
-    
+
             vf->priv->ppMode[i]= ppMode;
         }
     }
 #endif
-    
+
     vf->priv->pp=PP_QUALITY_MAX;
     return 1;
 }

Modified: trunk/libmpcodecs/vf_pp7.c
==============================================================================
--- trunk/libmpcodecs/vf_pp7.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_pp7.c	Wed May 13 04:58:57 2009	(r29305)
@@ -18,7 +18,7 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
- 
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -227,9 +227,9 @@ static void init_thres2(void){
 }
 
 static int hardthresh_c(DCTELEM *src, int qp){
-    int i; 
+    int i;
     int a;
-    
+
     a= src[0] * factor[0];
     for(i=1; i<16; i++){
         unsigned int threshold1= thres2[qp][i];
@@ -243,9 +243,9 @@ static int hardthresh_c(DCTELEM *src, in
 }
 
 static int mediumthresh_c(DCTELEM *src, int qp){
-    int i; 
+    int i;
     int a;
-    
+
     a= src[0] * factor[0];
     for(i=1; i<16; i++){
         unsigned int threshold1= thres2[qp][i];
@@ -264,9 +264,9 @@ static int mediumthresh_c(DCTELEM *src, 
 }
 
 static int softthresh_c(DCTELEM *src, int qp){
-    int i; 
+    int i;
     int a;
-    
+
     a= src[0] * factor[0];
     for(i=1; i<16; i++){
         unsigned int threshold1= thres2[qp][i];
@@ -293,7 +293,7 @@ static void filter(struct vf_priv_s *p, 
     for(y=0; y<height; y++){
         int index= 8 + 8*stride + y*stride;
         fast_memcpy(p_src + index, src + y*src_stride, width);
-        for(x=0; x<8; x++){ 
+        for(x=0; x<8; x++){
             p_src[index         - x - 1]= p_src[index +         x    ];
             p_src[index + width + x    ]= p_src[index + width - x - 1];
         }
@@ -309,14 +309,14 @@ static void filter(struct vf_priv_s *p, 
             const int index= x + y*stride + (8-3)*(1+stride) + 8; //FIXME silly offset
             uint8_t *src  = p_src + index;
             DCTELEM *tp= temp+4*x;
-            
+
             dctA_c(tp+4*8, src, stride);
-        }        
+        }
         for(x=0; x<width; ){
             const int qps= 3 + is_luma;
             int qp;
             int end= XMIN(x+8, width);
-            
+
             if(p->qp)
                 qp= p->qp;
             else{
@@ -328,12 +328,12 @@ static void filter(struct vf_priv_s *p, 
                 uint8_t *src  = p_src + index;
                 DCTELEM *tp= temp+4*x;
                 int v;
-                
+
                 if((x&3)==0)
                     dctA_c(tp+4*8, src, stride);
-                
+
                 dctB(block, tp);
-                
+
                 v= requantize(block, qp);
                 v= (v + dither[y&7][x&7])>>6;
                 if((unsigned)v > 255)
@@ -351,7 +351,7 @@ static int config(struct vf_instance_s* 
 
     vf->priv->temp_stride= (width+16+15)&(~15);
     vf->priv->src = memalign(8, vf->priv->temp_stride*(h+8)*sizeof(uint8_t));
-    
+
     return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
 }
 
@@ -412,7 +412,7 @@ static void uninit(struct vf_instance_s*
 
     if(vf->priv->src) free(vf->priv->src);
     vf->priv->src= NULL;
-    
+
     free(vf->priv);
     vf->priv=NULL;
 }
@@ -449,14 +449,14 @@ static int open(vf_instance_t *vf, char*
     vf->control= control;
     vf->priv=malloc(sizeof(struct vf_priv_s));
     memset(vf->priv, 0, sizeof(struct vf_priv_s));
-    
+
     if (args) sscanf(args, "%d:%d", &vf->priv->qp, &vf->priv->mode);
 
     if(vf->priv->qp < 0)
         vf->priv->qp = 0;
 
     init_thres2();
-        
+
     switch(vf->priv->mode){
 	case 0: requantize= hardthresh_c; break;
 	case 1: requantize= softthresh_c; break;
@@ -477,7 +477,7 @@ static int open(vf_instance_t *vf, char*
 	}
     }
 #endif
-    
+
     return 1;
 }
 

Modified: trunk/libmpcodecs/vf_pullup.c
==============================================================================
--- trunk/libmpcodecs/vf_pullup.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_pullup.c	Wed May 13 04:58:57 2009	(r29305)
@@ -51,7 +51,7 @@ static void init_pullup(struct vf_instan
 	if (gCpuCaps.has3DNowExt) c->cpu |= PULLUP_CPU_3DNOWEXT;
 	if (gCpuCaps.hasSSE) c->cpu |= PULLUP_CPU_SSE;
 	if (gCpuCaps.hasSSE2) c->cpu |= PULLUP_CPU_SSE2;
-	
+
 	pullup_init_context(c);
 
 	vf->priv->init = 1;
@@ -64,7 +64,7 @@ static void get_image(struct vf_instance
 {
 	struct pullup_context *c = vf->priv->ctx;
 	struct pullup_buffer *b;
-	
+
 	if (mpi->type == MP_IMGTYPE_STATIC) return;
 
 	if (!vf->priv->init) init_pullup(vf, mpi);
@@ -73,7 +73,7 @@ static void get_image(struct vf_instance
 	if (!b) return; /* shouldn't happen... */
 
 	mpi->priv = b;
-	
+
 	mpi->planes[0] = b->planes[0];
 	mpi->planes[1] = b->planes[1];
 	mpi->planes[2] = b->planes[2];
@@ -95,9 +95,9 @@ static int put_image(struct vf_instance_
 	int ret;
 	int p;
 	int i;
-	
+
 	if (!vf->priv->init) init_pullup(vf, mpi);
-	
+
 	if (mpi->flags & MP_IMGFLAG_DIRECT) {
 		b = mpi->priv;
 		mpi->priv = 0;
@@ -221,11 +221,11 @@ static int put_image(struct vf_instance_
 	dmpi->planes[0] = f->buffer->planes[0];
 	dmpi->planes[1] = f->buffer->planes[1];
 	dmpi->planes[2] = f->buffer->planes[2];
-		
+
 	dmpi->stride[0] = c->stride[0];
 	dmpi->stride[1] = c->stride[1];
 	dmpi->stride[2] = c->stride[2];
-	
+
 	if (mpi->qscale) {
 		dmpi->qscale = vf->priv->qbuf;
 		dmpi->qstride = mpi->qstride;

Modified: trunk/libmpcodecs/vf_qp.c
==============================================================================
--- trunk/libmpcodecs/vf_qp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_qp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -50,7 +50,7 @@ static int config(struct vf_instance_s* 
 
 	vf->priv->qp_stride= (width+15)>>4;
         vf->priv->qp= av_malloc(vf->priv->qp_stride*h*sizeof(int8_t));
-        
+
         for(i=-129; i<128; i++){
             double const_values[]={
                 M_PI,
@@ -105,7 +105,7 @@ static int put_image(struct vf_instance_
 	}
 
 	dmpi= vf->dmpi;
-        
+
 	if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
 		memcpy_pic(dmpi->planes[0], mpi->planes[0], mpi->w, mpi->h, dmpi->stride[0], mpi->stride[0]);
     		if(mpi->flags&MP_IMGFLAG_PLANAR){
@@ -114,13 +114,13 @@ static int put_image(struct vf_instance_
 		}
 	}
         vf_clone_mpi_attributes(dmpi, mpi);
-        
+
         dmpi->qscale = vf->priv->qp;
         dmpi->qstride= vf->priv->qp_stride;
         if(mpi->qscale){
             for(y=0; y<((dmpi->h+15)>>4); y++){
                 for(x=0; x<vf->priv->qp_stride; x++){
-                    dmpi->qscale[x + dmpi->qstride*y]= 
+                    dmpi->qscale[x + dmpi->qstride*y]=
                         vf->priv->lut[ 129 + ((int8_t)mpi->qscale[x + mpi->qstride*y]) ];
                 }
             }
@@ -141,7 +141,7 @@ static void uninit(struct vf_instance_s*
 
 	if(vf->priv->qp) av_free(vf->priv->qp);
 	vf->priv->qp= NULL;
-	
+
 	av_free(vf->priv);
 	vf->priv=NULL;
 }
@@ -154,11 +154,11 @@ static int open(vf_instance_t *vf, char*
     vf->uninit=uninit;
     vf->priv=av_malloc(sizeof(struct vf_priv_s));
     memset(vf->priv, 0, sizeof(struct vf_priv_s));
-    
+
 //    avcodec_init();
 
     if (args) strncpy(vf->priv->eq, args, 199);
-	
+
     return 1;
 }
 

Modified: trunk/libmpcodecs/vf_rectangle.c
==============================================================================
--- trunk/libmpcodecs/vf_rectangle.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_rectangle.c	Wed May 13 04:58:57 2009	(r29305)
@@ -74,7 +74,7 @@ put_image(struct vf_instance_s* vf, mp_i
 			mpi->w, mpi->h);
 
     memcpy_pic(dmpi->planes[0],mpi->planes[0],mpi->w*bpp, mpi->h,
-	       dmpi->stride[0],mpi->stride[0]);    
+	       dmpi->stride[0],mpi->stride[0]);
     if(mpi->flags&MP_IMGFLAG_PLANAR && mpi->flags&MP_IMGFLAG_YUV){
 	memcpy_pic(dmpi->planes[1],mpi->planes[1],
 		   mpi->w>>mpi->chroma_x_shift, mpi->h>>mpi->chroma_y_shift,
@@ -148,7 +148,7 @@ open(vf_instance_t* vf, char* args) {
     vf->priv->w = -1;
     vf->priv->h = -1;
     if (args)
-	sscanf(args, "%d:%d:%d:%d", 
+	sscanf(args, "%d:%d:%d:%d",
 	       &vf->priv->w, &vf->priv->h, &vf->priv->x, &vf->priv->y);
     return 1;
 }

Modified: trunk/libmpcodecs/vf_remove_logo.c
==============================================================================
--- trunk/libmpcodecs/vf_remove_logo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_remove_logo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -23,7 +23,7 @@
 
 /**
  * \file vf_remove_logo.c
- * 
+ *
  * \brief Advanced blur-based logo removing filter.
 
  *     Hello and welcome. This code implements a filter to remove annoying TV
@@ -195,7 +195,7 @@ static void calculate_bounding_rectangle
   int x; /* Temporary variables to run  */
   int y; /* through each row or column. */
   int start_x;
-  int start_y; 
+  int start_y;
   int end_x = filter->width - 1;
   int end_y = filter->height - 1;
   int did_we_find_a_logo_pixel = 0;
@@ -318,7 +318,7 @@ static void initialize_masks(vf_instance
         if ((b * b) + (c * c) <= (a * a)) /* Circular 0/1 mask. */
           mask[a][b + a][c + a] = 1;
         else
-          mask[a][b + a][c + a] = 0; 
+          mask[a][b + a][c + a] = 0;
       }
     }
   }
@@ -766,7 +766,7 @@ static void convert_yv12(const vf_instan
  */
 static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
-    
+
     dmpi=vf_get_image(vf->next,((vf_priv_s *)vf->priv)->fmt,
 	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
 	mpi->w, mpi->h);

Modified: trunk/libmpcodecs/vf_rgb2bgr.c
==============================================================================
--- trunk/libmpcodecs/vf_rgb2bgr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_rgb2bgr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@ static unsigned int getfmt(unsigned int 
     case IMGFMT_BGR24: return IMGFMT_RGB24;
     case IMGFMT_BGR32: return IMGFMT_RGB32;
     }
-    return 0;    
+    return 0;
 }
 
 static int config(struct vf_instance_s* vf,

Modified: trunk/libmpcodecs/vf_rgbtest.c
==============================================================================
--- trunk/libmpcodecs/vf_rgbtest.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_rgbtest.c	Wed May 13 04:58:57 2009	(r29305)
@@ -31,7 +31,7 @@ static unsigned int getfmt(unsigned int 
     case IMGFMT_ABGR:
 	return outfmt;
     }
-    return 0;    
+    return 0;
 }
 
 static void put_pixel(uint8_t *buf, int x, int y, int stride, int r, int g, int b, int fmt){
@@ -44,7 +44,7 @@ static void put_pixel(uint8_t *buf, int 
     break;
     case IMGFMT_RGB16: ((uint16_t*)(buf + y*stride))[x]= ((b>>3)<<11) | ((g>>2)<<5) | (r>>3);
     break;
-    case IMGFMT_RGB24: 
+    case IMGFMT_RGB24:
         buf[3*x + y*stride + 0]= r;
         buf[3*x + y*stride + 1]= g;
         buf[3*x + y*stride + 2]= b;
@@ -102,11 +102,11 @@ static int put_image(struct vf_instance_
          for(x=0; x<w; x++){
              int c= 256*x/w;
              int r=0,g=0,b=0;
-             
+
              if(3*y<h)        r=c;
              else if(3*y<2*h) g=c;
              else                  b=c;
-             
+
              put_pixel(dmpi->planes[0], x, y, dmpi->stride[0], r, g, b, vf->priv->fmt);
          }
      }

Modified: trunk/libmpcodecs/vf_rotate.c
==============================================================================
--- trunk/libmpcodecs/vf_rotate.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_rotate.c	Wed May 13 04:58:57 2009	(r29305)
@@ -87,10 +87,10 @@ static int put_image(struct vf_instance_
     } else {
 	rotate(dmpi->planes[0],mpi->planes[0],
 	       dmpi->stride[0],mpi->stride[0],
-	       dmpi->w,dmpi->h,dmpi->bpp>>3,vf->priv->direction);	
+	       dmpi->w,dmpi->h,dmpi->bpp>>3,vf->priv->direction);
 	dmpi->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
     }
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_sab.c
==============================================================================
--- trunk/libmpcodecs/vf_sab.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_sab.c	Wed May 13 04:58:57 2009	(r29305)
@@ -103,16 +103,16 @@ static int allocStuff(FilterParam *f, in
 	swsF.chrH= swsF.chrV= NULL;
 	f->preFilterContext= sws_getContext(
 		width, height, PIX_FMT_GRAY8, width, height, PIX_FMT_GRAY8, get_sws_cpuflags()|SWS_POINT, &swsF, NULL, NULL);
-	
+
 	sws_freeVec(vec);
 	vec = sws_getGaussianVec(f->strength, 5.0);
 	for(i=0; i<512; i++){
 		double d;
 		int index= i-256 + vec->length/2;
-		
+
 		if(index<0 || index>=vec->length) 	d= 0.0;
 		else					d= vec->coeff[index];
-		
+
 		f->colorDiffCoeff[i]= (int)(d/vec->coeff[vec->length/2]*(1<<12) + 0.5);
 	}
 	sws_freeVec(vec);
@@ -124,25 +124,25 @@ static int allocStuff(FilterParam *f, in
 	for(y=0; y<vec->length; y++){
 		for(x=0; x<vec->length; x++){
 			double d= vec->coeff[x] * vec->coeff[y];
-			
+
 			f->distCoeff[x + y*f->distStride]= (int)(d*(1<<10) + 0.5);
 //			if(y==vec->length/2)
 //				printf("%6d ", f->distCoeff[x + y*f->distStride]);
 		}
 	}
 	sws_freeVec(vec);
-	
+
 	return 0;
 }
 
 static int config(struct vf_instance_s* vf,
         int width, int height, int d_width, int d_height,
 	unsigned int flags, unsigned int outfmt){
-	
+
 	int sw, sh;
 //__asm__ volatile("emms\n\t");
 	allocStuff(&vf->priv->luma, width, height);
-	
+
 	getSubSampleFactors(&sw, &sh, outfmt);
 	allocStuff(&vf->priv->chroma, width>>sw, height>>sh);
 
@@ -152,10 +152,10 @@ static int config(struct vf_instance_s* 
 static void freeBuffers(FilterParam *f){
 	if(f->preFilterContext) sws_freeContext(f->preFilterContext);
 	f->preFilterContext=NULL;
-	
+
 	if(f->preFilterBuf) free(f->preFilterBuf);
 	f->preFilterBuf=NULL;
-	
+
 	if(f->distCoeff) free(f->distCoeff);
 	f->distCoeff=NULL;
 }
@@ -181,7 +181,7 @@ static inline void blur(uint8_t *dst, ui
 
 //	f.preFilterContext->swScale(f.preFilterContext, srcArray, srcStrideArray, 0, h, dstArray, dstStrideArray);
 	sws_scale(f.preFilterContext, srcArray, srcStrideArray, 0, h, dstArray, dstStrideArray);
-	
+
 	for(y=0; y<h; y++){
 		for(x=0; x<w; x++){
 			int sum=0;
@@ -247,11 +247,11 @@ static int put_image(struct vf_instance_
 		mpi->w,mpi->h);
 
 	assert(mpi->flags&MP_IMGFLAG_PLANAR);
-	
+
 	blur(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, dmpi->stride[0], mpi->stride[0], &vf->priv->luma);
 	blur(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1], &vf->priv->chroma);
 	blur(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2], &vf->priv->chroma);
-    
+
 	return vf_next_put_image(vf,dmpi, pts);
 }
 
@@ -284,7 +284,7 @@ static int open(vf_instance_t *vf, char*
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));
 
 	if(args==NULL) return 0;
-	
+
 	e=sscanf(args, "%f:%f:%f:%f:%f:%f",
 		&vf->priv->luma.radius,
 		&vf->priv->luma.preFilterRadius,
@@ -295,7 +295,7 @@ static int open(vf_instance_t *vf, char*
 		);
 
 	vf->priv->luma.quality = vf->priv->chroma.quality= 3.0;
-	
+
 	if(e==3){
 		vf->priv->chroma.radius= vf->priv->luma.radius;
 		vf->priv->chroma.preFilterRadius = vf->priv->luma.preFilterRadius;
@@ -305,7 +305,7 @@ static int open(vf_instance_t *vf, char*
 
 //	if(vf->priv->luma.radius < 0) return 0;
 //	if(vf->priv->chroma.radius < 0) return 0;
-		
+
 	return 1;
 }
 

Modified: trunk/libmpcodecs/vf_scale.c
==============================================================================
--- trunk/libmpcodecs/vf_scale.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_scale.c	Wed May 13 04:58:57 2009	(r29305)
@@ -97,13 +97,13 @@ static unsigned int find_best_out(vf_ins
             ret= vf_next_query_format(vf, outfmt_list[i]);
             vf->priv->query_format_cache[i]= ret+1;
         }
-        
+
 	mp_msg(MSGT_VFILTER,MSGL_DBG2,"scale: query(%s) -> %d\n",vo_format_name(format),ret&3);
 	if(ret&VFCAP_CSP_SUPPORTED_BY_HW){
             best=format; // no conversion -> bingo!
             break;
-        } 
-	if(ret&VFCAP_CSP_SUPPORTED && !best) 
+        }
+	if(ret&VFCAP_CSP_SUPPORTED && !best)
             best=format; // best with conversion
     }
     return best;
@@ -119,7 +119,7 @@ static int config(struct vf_instance_s* 
     int i;
     SwsFilter *srcFilter, *dstFilter;
     enum PixelFormat dfmt, sfmt;
-    
+
     if(!best){
 	mp_msg(MSGT_VFILTER,MSGL_WARN,"SwScale: no supported outfmt found :(\n");
 	return 0;
@@ -127,15 +127,15 @@ static int config(struct vf_instance_s* 
     sfmt = imgfmt2pixfmt(outfmt);
     if (outfmt == IMGFMT_RGB8 || outfmt == IMGFMT_BGR8) sfmt = PIX_FMT_PAL8;
     dfmt = imgfmt2pixfmt(best);
-    
+
     vo_flags=vf->next->query_format(vf->next,best);
-    
+
     // scaling to dwidth*d_height, if all these TRUE:
     // - option -zoom
     // - no other sw/hw up/down scaling avail.
     // - we're after postproc
     // - user didn't set w:h
-    if(!(vo_flags&VFCAP_POSTPROC) && (flags&4) && 
+    if(!(vo_flags&VFCAP_POSTPROC) && (flags&4) &&
 	    vf->priv->w<0 && vf->priv->h<0){	// -zoom
 	int x=(vo_flags&VFCAP_SWSCALE) ? 0 : 1;
 	if(d_width<width || d_height<height){
@@ -214,7 +214,7 @@ static int config(struct vf_instance_s* 
     case IMGFMT_UYVY:
       vf->priv->w = (vf->priv->w + 1) & ~1;
     }
-    
+
     mp_msg(MSGT_VFILTER,MSGL_DBG2,"SwScale: scaling %dx%d %s to %dx%d %s  \n",
 	width,height,vo_format_name(outfmt),
 	vf->priv->w,vf->priv->h,vo_format_name(best));
@@ -222,7 +222,7 @@ static int config(struct vf_instance_s* 
     // free old ctx:
     if(vf->priv->ctx) sws_freeContext(vf->priv->ctx);
     if(vf->priv->ctx2)sws_freeContext(vf->priv->ctx2);
-    
+
     // new swscaler:
     sws_getFlagsAndFilterFromCmdLine(&int_sws_flags, &srcFilter, &dstFilter);
     int_sws_flags|= vf->priv->v_chr_drop << SWS_SRC_V_CHR_DROP_SHIFT;
@@ -271,7 +271,7 @@ static int config(struct vf_instance_s* 
             vf->priv->palette[4*i+3]=0;
 	}
 	break; }
-    case IMGFMT_BGR4: 
+    case IMGFMT_BGR4:
     case IMGFMT_BG4B: {
 	vf->priv->palette=malloc(4*16);
 	for(i=0; i<16; i++){
@@ -281,7 +281,7 @@ static int config(struct vf_instance_s* 
             vf->priv->palette[4*i+3]=0;
 	}
 	break; }
-    case IMGFMT_RGB4: 
+    case IMGFMT_RGB4:
     case IMGFMT_RG4B: {
 	vf->priv->palette=malloc(4*16);
 	for(i=0; i<16; i++){
@@ -346,7 +346,7 @@ static void scale(struct SwsContext *sws
         sws_scale_ordered(sws2, src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
     }else{
         sws_scale_ordered(sws1, src2, src_stride, y, h, dst, dst_stride);
-    }                  
+    }
 }
 
 static void draw_slice(struct vf_instance_s* vf,
@@ -365,14 +365,14 @@ static int put_image(struct vf_instance_
 
 //    printf("vf_scale::put_image(): processing whole frame! dmpi=%p flag=%d\n",
 //	dmpi, (mpi->flags&MP_IMGFLAG_DRAW_CALLBACK));
-    
+
   if(!(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK && dmpi)){
-  
+
     // hope we'll get DR buffer:
     dmpi=vf_get_image(vf->next,vf->priv->fmt,
 	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_PREFER_ALIGNED_STRIDE,
 	vf->priv->w, vf->priv->h);
-    
+
       scale(vf->priv->ctx, vf->priv->ctx, mpi->planes,mpi->stride,0,mpi->h,dmpi->planes,dmpi->stride, vf->priv->interlaced);
   }
 
@@ -383,7 +383,7 @@ static int put_image(struct vf_instance_
     }
 
     if(vf->priv->palette) dmpi->planes[1]=vf->priv->palette; // export palette!
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 
@@ -442,7 +442,7 @@ static int control(struct vf_instance_s*
     default:
 	break;
     }
-    
+
     return vf_next_control(vf,request,data);
 }
 
@@ -463,17 +463,17 @@ static int query_format(struct vf_instan
     case IMGFMT_BGR15:
     case IMGFMT_RGB32:
     case IMGFMT_RGB24:
-    case IMGFMT_Y800: 
-    case IMGFMT_Y8: 
-    case IMGFMT_YVU9: 
-    case IMGFMT_IF09: 
-    case IMGFMT_444P: 
-    case IMGFMT_422P: 
-    case IMGFMT_411P: 
-    case IMGFMT_BGR8: 
-    case IMGFMT_RGB8: 
-    case IMGFMT_BG4B: 
-    case IMGFMT_RG4B: 
+    case IMGFMT_Y800:
+    case IMGFMT_Y8:
+    case IMGFMT_YVU9:
+    case IMGFMT_IF09:
+    case IMGFMT_444P:
+    case IMGFMT_422P:
+    case IMGFMT_411P:
+    case IMGFMT_BGR8:
+    case IMGFMT_RGB8:
+    case IMGFMT_BG4B:
+    case IMGFMT_RG4B:
     {
 	unsigned int best=find_best_out(vf);
 	int flags;
@@ -526,7 +526,7 @@ static int open(vf_instance_t *vf, char*
     mp_msg(MSGT_VFILTER,MSGL_V,"SwScale params: %d x %d (-1=no scaling)\n",
     vf->priv->w,
     vf->priv->h);
-    
+
     return 1;
 }
 
@@ -544,7 +544,7 @@ float sws_chr_sharpen= 0.0;
 float sws_lum_sharpen= 0.0;
 
 int get_sws_cpuflags(void){
-    return 
+    return
           (gCpuCaps.hasMMX   ? SWS_CPU_CAPS_MMX   : 0)
 	| (gCpuCaps.hasMMX2  ? SWS_CPU_CAPS_MMX2  : 0)
 	| (gCpuCaps.has3DNow ? SWS_CPU_CAPS_3DNOW : 0)
@@ -573,7 +573,7 @@ void sws_getFlagsAndFilterFromCmdLine(in
 		sws_lum_gblur, sws_chr_gblur,
 		sws_lum_sharpen, sws_chr_sharpen,
 		sws_chr_hshift, sws_chr_vshift, verbose>1);
-        
+
 	switch(sws_flags)
 	{
 		case 0: *flags|= SWS_FAST_BILINEAR; break;
@@ -589,7 +589,7 @@ void sws_getFlagsAndFilterFromCmdLine(in
 		case 10:*flags|= SWS_SPLINE; break;
 		default:*flags|= SWS_BILINEAR; break;
 	}
-	
+
 	*srcFilterParam= src_filter;
 	*dstFilterParam= NULL;
 }

Modified: trunk/libmpcodecs/vf_smartblur.c
==============================================================================
--- trunk/libmpcodecs/vf_smartblur.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_smartblur.c	Wed May 13 04:58:57 2009	(r29305)
@@ -97,11 +97,11 @@ static int allocStuff(FilterParam *f, in
 static int config(struct vf_instance_s* vf,
         int width, int height, int d_width, int d_height,
 	unsigned int flags, unsigned int outfmt){
-	
+
 	int sw, sh;
 
 	allocStuff(&vf->priv->luma, width, height);
-	
+
 	getSubSampleFactors(&sw, &sh, outfmt);
 	allocStuff(&vf->priv->chroma, width>>sw, height>>sh);
 
@@ -132,14 +132,14 @@ static inline void blur(uint8_t *dst, ui
 	int dstStrideArray[MP_MAX_PLANES]= {dstStride};
 
 	sws_scale(f.filterContext, srcArray, srcStrideArray, 0, h, dstArray, dstStrideArray);
-	
+
 	if(f.threshold > 0){
 		for(y=0; y<h; y++){
 			for(x=0; x<w; x++){
 				const int orig= src[x + y*srcStride];
 				const int filtered= dst[x + y*dstStride];
 				const int diff= orig - filtered;
-				
+
 				if(diff > 0){
 					if(diff > 2*f.threshold){
 						dst[x + y*dstStride]= orig;
@@ -161,7 +161,7 @@ static inline void blur(uint8_t *dst, ui
 				const int orig= src[x + y*srcStride];
 				const int filtered= dst[x + y*dstStride];
 				const int diff= orig - filtered;
-				
+
 				if(diff > 0){
 					if(diff > -2*f.threshold){
 					}else if(diff > -f.threshold){
@@ -191,11 +191,11 @@ static int put_image(struct vf_instance_
 		mpi->w,mpi->h);
 
 	assert(mpi->flags&MP_IMGFLAG_PLANAR);
-	
+
 	blur(dmpi->planes[0], mpi->planes[0], mpi->w,mpi->h, dmpi->stride[0], mpi->stride[0], &vf->priv->luma);
 	blur(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1], &vf->priv->chroma);
 	blur(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2], &vf->priv->chroma);
-    
+
 	return vf_next_put_image(vf,dmpi, pts);
 }
 
@@ -228,7 +228,7 @@ static int open(vf_instance_t *vf, char*
 	memset(vf->priv, 0, sizeof(struct vf_priv_s));
 
 	if(args==NULL) return 0;
-	
+
 	e=sscanf(args, "%f:%f:%d:%f:%f:%d",
 		&vf->priv->luma.radius,
 		&vf->priv->luma.strength,
@@ -239,7 +239,7 @@ static int open(vf_instance_t *vf, char*
 		);
 
 	vf->priv->luma.quality = vf->priv->chroma.quality= 3.0;
-	
+
 	if(e==3){
 		vf->priv->chroma.radius= vf->priv->luma.radius;
 		vf->priv->chroma.strength= vf->priv->luma.strength;

Modified: trunk/libmpcodecs/vf_softskip.c
==============================================================================
--- trunk/libmpcodecs/vf_softskip.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_softskip.c	Wed May 13 04:58:57 2009	(r29305)
@@ -16,7 +16,7 @@ struct vf_priv_s {
 static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
-	
+
 	if (vf->priv->skipflag)
 		return vf->priv->skipflag = 0;
 
@@ -32,7 +32,7 @@ static int put_image(struct vf_instance_
 		dmpi->planes[2] = mpi->planes[2];
 		dmpi->stride[2] = mpi->stride[2];
 	}
-	
+
 	return vf_next_put_image(vf, dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_spp.c
==============================================================================
--- trunk/libmpcodecs/vf_spp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_spp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,12 +20,12 @@
 
 /*
  * This implementation is based on an algorithm described in
- * "Aria Nosratinia Embedded Post-Processing for 
+ * "Aria Nosratinia Embedded Post-Processing for
  * Enhancement of Compressed Images (1999)"
  * (http://citeseer.nj.nec.com/nosratinia99embedded.html)
  */
 
- 
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -69,23 +69,23 @@ static const uint8_t offset[127][2]= {
 {0,0},
 {0,0}, {4,4},
 {0,0}, {2,2}, {6,4}, {4,6},
-{0,0}, {5,1}, {2,2}, {7,3}, {4,4}, {1,5}, {6,6}, {3,7}, 
+{0,0}, {5,1}, {2,2}, {7,3}, {4,4}, {1,5}, {6,6}, {3,7},
 
-{0,0}, {4,0}, {1,1}, {5,1}, {3,2}, {7,2}, {2,3}, {6,3}, 
-{0,4}, {4,4}, {1,5}, {5,5}, {3,6}, {7,6}, {2,7}, {6,7}, 
+{0,0}, {4,0}, {1,1}, {5,1}, {3,2}, {7,2}, {2,3}, {6,3},
+{0,4}, {4,4}, {1,5}, {5,5}, {3,6}, {7,6}, {2,7}, {6,7},
 
-{0,0}, {0,2}, {0,4}, {0,6}, {1,1}, {1,3}, {1,5}, {1,7}, 
-{2,0}, {2,2}, {2,4}, {2,6}, {3,1}, {3,3}, {3,5}, {3,7}, 
-{4,0}, {4,2}, {4,4}, {4,6}, {5,1}, {5,3}, {5,5}, {5,7}, 
-{6,0}, {6,2}, {6,4}, {6,6}, {7,1}, {7,3}, {7,5}, {7,7}, 
+{0,0}, {0,2}, {0,4}, {0,6}, {1,1}, {1,3}, {1,5}, {1,7},
+{2,0}, {2,2}, {2,4}, {2,6}, {3,1}, {3,3}, {3,5}, {3,7},
+{4,0}, {4,2}, {4,4}, {4,6}, {5,1}, {5,3}, {5,5}, {5,7},
+{6,0}, {6,2}, {6,4}, {6,6}, {7,1}, {7,3}, {7,5}, {7,7},
 
-{0,0}, {4,4}, {0,4}, {4,0}, {2,2}, {6,6}, {2,6}, {6,2}, 
-{0,2}, {4,6}, {0,6}, {4,2}, {2,0}, {6,4}, {2,4}, {6,0}, 
-{1,1}, {5,5}, {1,5}, {5,1}, {3,3}, {7,7}, {3,7}, {7,3}, 
-{1,3}, {5,7}, {1,7}, {5,3}, {3,1}, {7,5}, {3,5}, {7,1}, 
-{0,1}, {4,5}, {0,5}, {4,1}, {2,3}, {6,7}, {2,7}, {6,3}, 
-{0,3}, {4,7}, {0,7}, {4,3}, {2,1}, {6,5}, {2,5}, {6,1}, 
-{1,0}, {5,4}, {1,4}, {5,0}, {3,2}, {7,6}, {3,6}, {7,2}, 
+{0,0}, {4,4}, {0,4}, {4,0}, {2,2}, {6,6}, {2,6}, {6,2},
+{0,2}, {4,6}, {0,6}, {4,2}, {2,0}, {6,4}, {2,4}, {6,0},
+{1,1}, {5,5}, {1,5}, {5,1}, {3,3}, {7,7}, {3,7}, {7,3},
+{1,3}, {5,7}, {1,7}, {5,3}, {3,1}, {7,5}, {3,5}, {7,1},
+{0,1}, {4,5}, {0,5}, {4,1}, {2,3}, {6,7}, {2,7}, {6,3},
+{0,3}, {4,7}, {0,7}, {4,3}, {2,1}, {6,5}, {2,5}, {6,1},
+{1,0}, {5,4}, {1,4}, {5,0}, {3,2}, {7,6}, {3,6}, {7,2},
 {1,2}, {5,6}, {1,6}, {5,2}, {3,0}, {7,4}, {3,4}, {7,0},
 };
 
@@ -105,13 +105,13 @@ struct vf_priv_s {
 #define SHIFT 22
 
 static void hardthresh_c(DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation){
-	int i; 
+	int i;
 	int bias= 0; //FIXME
 	unsigned int threshold1, threshold2;
-	
+
 	threshold1= qp*((1<<4) - bias) - 1;
 	threshold2= (threshold1<<1);
-        
+
 	memset(dst, 0, 64*sizeof(DCTELEM));
 	dst[0]= (src[0] + 4)>>3;
 
@@ -125,13 +125,13 @@ static void hardthresh_c(DCTELEM dst[64]
 }
 
 static void softthresh_c(DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation){
-	int i; 
+	int i;
 	int bias= 0; //FIXME
 	unsigned int threshold1, threshold2;
-	
+
 	threshold1= qp*((1<<4) - bias) - 1;
 	threshold2= (threshold1<<1);
-        
+
 	memset(dst, 0, 64*sizeof(DCTELEM));
 	dst[0]= (src[0] + 4)>>3;
 
@@ -151,9 +151,9 @@ static void softthresh_c(DCTELEM dst[64]
 static void hardthresh_mmx(DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation){
 	int bias= 0; //FIXME
 	unsigned int threshold1;
-	
+
 	threshold1= qp*((1<<4) - bias) - 1;
-	
+
         __asm__ volatile(
 #define REQUANT_CORE(dst0, dst1, dst2, dst3, src0, src1, src2, src3) \
 		"movq " #src0 ", %%mm0	\n\t"\
@@ -197,7 +197,7 @@ static void hardthresh_mmx(DCTELEM dst[6
 		"movq %%mm7, " #dst1 "	\n\t"\
 		"movq %%mm3, " #dst2 "	\n\t"\
 		"movq %%mm1, " #dst3 "	\n\t"
-                
+
 		"movd %2, %%mm4		\n\t"
 		"movd %3, %%mm5		\n\t"
 		"movd %4, %%mm6		\n\t"
@@ -221,7 +221,7 @@ static void softthresh_mmx(DCTELEM dst[6
 	unsigned int threshold1;
 
 	threshold1= qp*((1<<4) - bias) - 1;
-	
+
         __asm__ volatile(
 #undef REQUANT_CORE
 #define REQUANT_CORE(dst0, dst1, dst2, dst3, src0, src1, src2, src3) \
@@ -275,7 +275,7 @@ static void softthresh_mmx(DCTELEM dst[6
 		"movq %%mm7, " #dst1 "	\n\t"\
 		"movq %%mm3, " #dst2 "	\n\t"\
 		"movq %%mm1, " #dst3 "	\n\t"
-                
+
 		"movd %2, %%mm4		\n\t"
 		"movd %3, %%mm5		\n\t"
 		"packssdw %%mm4, %%mm4	\n\t"
@@ -295,7 +295,7 @@ static void softthresh_mmx(DCTELEM dst[6
 
 static inline void add_block(int16_t *dst, int stride, DCTELEM block[64]){
 	int y;
-	
+
 	for(y=0; y<8; y++){
 		*(uint32_t*)&dst[0 + y*stride]+= *(uint32_t*)&block[0 + y*8];
 		*(uint32_t*)&dst[2 + y*stride]+= *(uint32_t*)&block[2 + y*8];
@@ -385,7 +385,7 @@ static void filter(struct vf_priv_s *p, 
 	for(y=0; y<height; y++){
 		int index= 8 + 8*stride + y*stride;
 		fast_memcpy(p->src + index, src + y*src_stride, width);
-		for(x=0; x<8; x++){ 
+		for(x=0; x<8; x++){
 			p->src[index         - x - 1]= p->src[index +         x    ];
 			p->src[index + width + x    ]= p->src[index + width - x - 1];
 		}
@@ -401,7 +401,7 @@ static void filter(struct vf_priv_s *p, 
 		for(x=0; x<width+8; x+=8){
 			const int qps= 3 + is_luma;
 			int qp;
-                        
+
 			if(p->qp)
 				qp= p->qp;
 			else{
@@ -443,7 +443,7 @@ static int config(struct vf_instance_s* 
 	vf->priv->temp_stride= (width+16+15)&(~15);
         vf->priv->temp= malloc(vf->priv->temp_stride*h*sizeof(int16_t));
         vf->priv->src = malloc(vf->priv->temp_stride*h*sizeof(uint8_t));
-        
+
 	return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
 }
 
@@ -521,7 +521,7 @@ static void uninit(struct vf_instance_s*
         vf->priv->avctx= NULL;
         if(vf->priv->non_b_qp) free(vf->priv->non_b_qp);
         vf->priv->non_b_qp= NULL;
-	
+
 	free(vf->priv);
 	vf->priv=NULL;
 }
@@ -559,7 +559,7 @@ static int control(struct vf_instance_s*
 static int open(vf_instance_t *vf, char* args){
 
     int log2c=-1;
-    
+
     vf->config=config;
     vf->put_image=put_image;
     vf->get_image=get_image;
@@ -568,14 +568,14 @@ static int open(vf_instance_t *vf, char*
     vf->control= control;
     vf->priv=malloc(sizeof(struct vf_priv_s));
     memset(vf->priv, 0, sizeof(struct vf_priv_s));
-    
+
     avcodec_init();
 
     vf->priv->avctx= avcodec_alloc_context();
     dsputil_init(&vf->priv->dsp, vf->priv->avctx);
-    
+
     vf->priv->log2_count= 3;
-    
+
     if (args) sscanf(args, "%d:%d:%d", &log2c, &vf->priv->qp, &vf->priv->mode);
 
     if( log2c >=0 && log2c <=6 )
@@ -599,7 +599,7 @@ static int open(vf_instance_t *vf, char*
 	}
     }
 #endif
-    
+
     return 1;
 }
 

Modified: trunk/libmpcodecs/vf_swapuv.c
==============================================================================
--- trunk/libmpcodecs/vf_swapuv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_swapuv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@
 //===========================================================================//
 
 static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
-    mp_image_t *dmpi= vf_get_image(vf->next, mpi->imgfmt, 
+    mp_image_t *dmpi= vf_get_image(vf->next, mpi->imgfmt,
 	mpi->type, mpi->flags, mpi->w, mpi->h);
 
     mpi->planes[0]=dmpi->planes[0];
@@ -50,7 +50,7 @@ static void get_image(struct vf_instance
 
 static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
-    
+
     if(mpi->flags&MP_IMGFLAG_DIRECT){
 	dmpi=(mp_image_t*)mpi->priv;
     } else {
@@ -64,7 +64,7 @@ static int put_image(struct vf_instance_
 	dmpi->stride[2]=mpi->stride[1];
 	dmpi->width=mpi->width;
     }
-    
+
     vf_clone_mpi_attributes(dmpi, mpi);
 
     return vf_next_put_image(vf,dmpi, pts);

Modified: trunk/libmpcodecs/vf_telecine.c
==============================================================================
--- trunk/libmpcodecs/vf_telecine.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_telecine.c	Wed May 13 04:58:57 2009	(r29305)
@@ -21,7 +21,7 @@ static int put_image(struct vf_instance_
 	int ret;
 
 	vf->priv->frame = (vf->priv->frame+1)%4;
-	
+
 	dmpi = vf_get_image(vf->next, mpi->imgfmt,
 		MP_IMGTYPE_STATIC, MP_IMGFLAG_ACCEPT_STRIDE |
 		MP_IMGFLAG_PRESERVE, mpi->width, mpi->height);

Modified: trunk/libmpcodecs/vf_tfields.c
==============================================================================
--- trunk/libmpcodecs/vf_tfields.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_tfields.c	Wed May 13 04:58:57 2009	(r29305)
@@ -205,7 +205,7 @@ static void qpel_4tap_MMX(unsigned char 
 			"pmullw %%mm6, %%mm3 \n\t"
 			"movq (%%"REG_S",%%"REG_a",2), %%mm2 \n\t"
 			"psubusw %%mm3, %%mm1 \n\t"
-			"punpcklbw %%mm0, %%mm2 \n\t"	
+			"punpcklbw %%mm0, %%mm2 \n\t"
 			"pmullw %%mm7, %%mm2 \n\t"
 			"psubusw %%mm2, %%mm1 \n\t"
 			"psrlw $7, %%mm1 \n\t"
@@ -222,12 +222,12 @@ static void qpel_4tap_MMX(unsigned char 
 			"pmullw %%mm6, %%mm3 \n\t"
 			"psubusw %%mm3, %%mm2 \n\t"
 			"movq (%%"REG_S",%%"REG_a",2), %%mm3 \n\t"
-			"punpckhbw %%mm0, %%mm3 \n\t"	
+			"punpckhbw %%mm0, %%mm3 \n\t"
 			"add $8, %%"REG_S" \n\t"
 			"pmullw %%mm7, %%mm3 \n\t"
 			"psubusw %%mm3, %%mm2 \n\t"
 			"psrlw $7, %%mm2 \n\t"
-			
+
 			"packuswb %%mm2, %%mm1 \n\t"
 			"movq %%mm1, (%%"REG_D") \n\t"
 			"add $8, %%"REG_D" \n\t"

Modified: trunk/libmpcodecs/vf_tinterlace.c
==============================================================================
--- trunk/libmpcodecs/vf_tinterlace.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_tinterlace.c	Wed May 13 04:58:57 2009	(r29305)
@@ -124,13 +124,13 @@ static int put_image(struct vf_instance_
 		// rate and preserving image height.
 
 		dmpi = vf->priv->dmpi;
-		
+
 		// @@ Need help:  Should I set dmpi->fields to indicate
 		// that the (new) frame will be interlaced!?  E.g. ...
 		// dmpi->fields |= MP_IMGFIELD_INTERLACED;
 		// dmpi->fields |= MP_IMGFIELD_TOP_FIRST;
 		// etc.
-		
+
 		if (dmpi == NULL) {
 			dmpi = vf_get_image(vf->next, mpi->imgfmt,
 					    MP_IMGTYPE_STATIC, MP_IMGFLAG_ACCEPT_STRIDE |
@@ -152,16 +152,16 @@ static int put_image(struct vf_instance_
 		} else {
 			vf->priv->dmpi = NULL;
 
-			my_memcpy_pic(dmpi->planes[0]+dmpi->stride[0], 
+			my_memcpy_pic(dmpi->planes[0]+dmpi->stride[0],
 				      mpi->planes[0]+mpi->stride[0],
-				      mpi->w, mpi->h/2, 
+				      mpi->w, mpi->h/2,
 				      dmpi->stride[0]*2, mpi->stride[0]*2);
 			if (mpi->flags & MP_IMGFLAG_PLANAR) {
-				my_memcpy_pic(dmpi->planes[1]+dmpi->stride[1], 
+				my_memcpy_pic(dmpi->planes[1]+dmpi->stride[1],
 					      mpi->planes[1]+mpi->stride[1],
 					      mpi->chroma_width, mpi->chroma_height/2,
 					      dmpi->stride[1]*2, mpi->stride[1]*2);
-				my_memcpy_pic(dmpi->planes[2]+dmpi->stride[2], 
+				my_memcpy_pic(dmpi->planes[2]+dmpi->stride[2],
 					      mpi->planes[2]+mpi->stride[2],
 					      mpi->chroma_width, mpi->chroma_height/2,
 					      dmpi->stride[2]*2, mpi->stride[2]*2);

Modified: trunk/libmpcodecs/vf_unsharp.c
==============================================================================
--- trunk/libmpcodecs/vf_unsharp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_unsharp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -85,7 +85,7 @@ static void unsharp( uint8_t *dst, uint8
     if( !fp->amount ) {
 	if( src == dst )
 	    return;
-	if( dstStride == srcStride ) 
+	if( dstStride == srcStride )
 	    fast_memcpy( dst, src, srcStride*height );
 	else
 	    for( y=0; y<height; y++, dst+=dstStride, src+=srcStride )
@@ -112,7 +112,7 @@ static void unsharp( uint8_t *dst, uint8
 	    if( x>=stepsX && y>=stepsY ) {
 		uint8_t* srx = src - stepsY*srcStride + x - stepsX;
 		uint8_t* dsx = dst - stepsY*dstStride + x - stepsX;
-		
+
 		res = (int32_t)*srx + ( ( ( (int32_t)*srx - (int32_t)((Tmp1+halfscale) >> scalebits) ) * amount ) >> 16 );
 		*dsx = res>255 ? 255 : res<0 ? 0 : (uint8_t)res;
 	    }
@@ -160,7 +160,7 @@ static int config( struct vf_instance_s*
 //===========================================================================//
 
 static void get_image( struct vf_instance_s* vf, mp_image_t *mpi ) {
-    if( mpi->flags & MP_IMGFLAG_PRESERVE ) 
+    if( mpi->flags & MP_IMGFLAG_PRESERVE )
 	return; // don't change
     if( mpi->imgfmt!=vf->priv->outfmt )
 	return; // colorspace differ
@@ -185,13 +185,13 @@ static int put_image( struct vf_instance
 	// no DR, so get a new image! hope we'll get DR buffer:
 	vf->dmpi = vf_get_image( vf->next,vf->priv->outfmt, MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE, mpi->w, mpi->h);
     dmpi= vf->dmpi;
-    
+
     unsharp( dmpi->planes[0], mpi->planes[0], dmpi->stride[0], mpi->stride[0], mpi->w,   mpi->h,   &vf->priv->lumaParam );
     unsharp( dmpi->planes[1], mpi->planes[1], dmpi->stride[1], mpi->stride[1], mpi->w/2, mpi->h/2, &vf->priv->chromaParam );
     unsharp( dmpi->planes[2], mpi->planes[2], dmpi->stride[2], mpi->stride[2], mpi->w/2, mpi->h/2, &vf->priv->chromaParam );
-    
+
     vf_clone_mpi_attributes(dmpi, mpi);
-    
+
 #if HAVE_MMX
     if(gCpuCaps.hasMMX)
 	__asm__ volatile ("emms\n\t");
@@ -200,7 +200,7 @@ static int put_image( struct vf_instance
     if(gCpuCaps.hasMMX2)
 	__asm__ volatile ("sfence\n\t");
 #endif
-    
+
     return vf_next_put_image( vf, dmpi, pts);
 }
 
@@ -284,17 +284,17 @@ static int open( vf_instance_t *vf, char
 	if( args2 )
 	    parse( &vf->priv->lumaParam, args2 );
 	else {
-	    vf->priv->lumaParam.amount = 
-	    vf->priv->lumaParam.msizeX = 
+	    vf->priv->lumaParam.amount =
+	    vf->priv->lumaParam.msizeX =
 	    vf->priv->lumaParam.msizeY = 0;
 	}
 
 	args2 = strchr( args, 'c' );
-	if( args2 ) 
+	if( args2 )
 	    parse( &vf->priv->chromaParam, args2 );
 	else {
-	    vf->priv->chromaParam.amount = 
-	    vf->priv->chromaParam.msizeX = 
+	    vf->priv->chromaParam.amount =
+	    vf->priv->chromaParam.msizeX =
 	    vf->priv->chromaParam.msizeY = 0;
 	}
 

Modified: trunk/libmpcodecs/vf_uspp.c
==============================================================================
--- trunk/libmpcodecs/vf_uspp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_uspp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,46 +54,46 @@ static const uint8_t  __attribute__((ali
 };
 
 static const uint8_t offset[511][2]= {
-{ 0, 0}, 
-{ 0, 0}, { 8, 8}, 
-{ 0, 0}, { 4, 4}, {12, 8}, { 8,12}, 
-{ 0, 0}, {10, 2}, { 4, 4}, {14, 6}, { 8, 8}, { 2,10}, {12,12}, { 6,14}, 
+{ 0, 0},
+{ 0, 0}, { 8, 8},
+{ 0, 0}, { 4, 4}, {12, 8}, { 8,12},
+{ 0, 0}, {10, 2}, { 4, 4}, {14, 6}, { 8, 8}, { 2,10}, {12,12}, { 6,14},
 
-{ 0, 0}, {10, 2}, { 4, 4}, {14, 6}, { 8, 8}, { 2,10}, {12,12}, { 6,14}, 
+{ 0, 0}, {10, 2}, { 4, 4}, {14, 6}, { 8, 8}, { 2,10}, {12,12}, { 6,14},
 { 5, 1}, {15, 3}, { 9, 5}, { 3, 7}, {13, 9}, { 7,11}, { 1,13}, {11,15},
 
-{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 5, 1}, {13, 1}, { 5, 9}, {13, 9}, 
-{ 2, 2}, {10, 2}, { 2,10}, {10,10}, { 7, 3}, {15, 3}, { 7,11}, {15,11}, 
-{ 4, 4}, {12, 4}, { 4,12}, {12,12}, { 1, 5}, { 9, 5}, { 1,13}, { 9,13}, 
-{ 6, 6}, {14, 6}, { 6,14}, {14,14}, { 3, 7}, {11, 7}, { 3,15}, {11,15}, 
+{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 5, 1}, {13, 1}, { 5, 9}, {13, 9},
+{ 2, 2}, {10, 2}, { 2,10}, {10,10}, { 7, 3}, {15, 3}, { 7,11}, {15,11},
+{ 4, 4}, {12, 4}, { 4,12}, {12,12}, { 1, 5}, { 9, 5}, { 1,13}, { 9,13},
+{ 6, 6}, {14, 6}, { 6,14}, {14,14}, { 3, 7}, {11, 7}, { 3,15}, {11,15},
 
-{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 4, 0}, {12, 0}, { 4, 8}, {12, 8}, 
-{ 1, 1}, { 9, 1}, { 1, 9}, { 9, 9}, { 5, 1}, {13, 1}, { 5, 9}, {13, 9}, 
-{ 3, 2}, {11, 2}, { 3,10}, {11,10}, { 7, 2}, {15, 2}, { 7,10}, {15,10}, 
-{ 2, 3}, {10, 3}, { 2,11}, {10,11}, { 6, 3}, {14, 3}, { 6,11}, {14,11}, 
-{ 0, 4}, { 8, 4}, { 0,12}, { 8,12}, { 4, 4}, {12, 4}, { 4,12}, {12,12}, 
-{ 1, 5}, { 9, 5}, { 1,13}, { 9,13}, { 5, 5}, {13, 5}, { 5,13}, {13,13}, 
-{ 3, 6}, {11, 6}, { 3,14}, {11,14}, { 7, 6}, {15, 6}, { 7,14}, {15,14}, 
-{ 2, 7}, {10, 7}, { 2,15}, {10,15}, { 6, 7}, {14, 7}, { 6,15}, {14,15}, 
+{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 4, 0}, {12, 0}, { 4, 8}, {12, 8},
+{ 1, 1}, { 9, 1}, { 1, 9}, { 9, 9}, { 5, 1}, {13, 1}, { 5, 9}, {13, 9},
+{ 3, 2}, {11, 2}, { 3,10}, {11,10}, { 7, 2}, {15, 2}, { 7,10}, {15,10},
+{ 2, 3}, {10, 3}, { 2,11}, {10,11}, { 6, 3}, {14, 3}, { 6,11}, {14,11},
+{ 0, 4}, { 8, 4}, { 0,12}, { 8,12}, { 4, 4}, {12, 4}, { 4,12}, {12,12},
+{ 1, 5}, { 9, 5}, { 1,13}, { 9,13}, { 5, 5}, {13, 5}, { 5,13}, {13,13},
+{ 3, 6}, {11, 6}, { 3,14}, {11,14}, { 7, 6}, {15, 6}, { 7,14}, {15,14},
+{ 2, 7}, {10, 7}, { 2,15}, {10,15}, { 6, 7}, {14, 7}, { 6,15}, {14,15},
 
-{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 0, 2}, { 8, 2}, { 0,10}, { 8,10}, 
-{ 0, 4}, { 8, 4}, { 0,12}, { 8,12}, { 0, 6}, { 8, 6}, { 0,14}, { 8,14}, 
-{ 1, 1}, { 9, 1}, { 1, 9}, { 9, 9}, { 1, 3}, { 9, 3}, { 1,11}, { 9,11}, 
-{ 1, 5}, { 9, 5}, { 1,13}, { 9,13}, { 1, 7}, { 9, 7}, { 1,15}, { 9,15}, 
-{ 2, 0}, {10, 0}, { 2, 8}, {10, 8}, { 2, 2}, {10, 2}, { 2,10}, {10,10}, 
-{ 2, 4}, {10, 4}, { 2,12}, {10,12}, { 2, 6}, {10, 6}, { 2,14}, {10,14}, 
-{ 3, 1}, {11, 1}, { 3, 9}, {11, 9}, { 3, 3}, {11, 3}, { 3,11}, {11,11}, 
-{ 3, 5}, {11, 5}, { 3,13}, {11,13}, { 3, 7}, {11, 7}, { 3,15}, {11,15}, 
-{ 4, 0}, {12, 0}, { 4, 8}, {12, 8}, { 4, 2}, {12, 2}, { 4,10}, {12,10}, 
-{ 4, 4}, {12, 4}, { 4,12}, {12,12}, { 4, 6}, {12, 6}, { 4,14}, {12,14}, 
-{ 5, 1}, {13, 1}, { 5, 9}, {13, 9}, { 5, 3}, {13, 3}, { 5,11}, {13,11}, 
-{ 5, 5}, {13, 5}, { 5,13}, {13,13}, { 5, 7}, {13, 7}, { 5,15}, {13,15}, 
-{ 6, 0}, {14, 0}, { 6, 8}, {14, 8}, { 6, 2}, {14, 2}, { 6,10}, {14,10}, 
-{ 6, 4}, {14, 4}, { 6,12}, {14,12}, { 6, 6}, {14, 6}, { 6,14}, {14,14}, 
-{ 7, 1}, {15, 1}, { 7, 9}, {15, 9}, { 7, 3}, {15, 3}, { 7,11}, {15,11}, 
-{ 7, 5}, {15, 5}, { 7,13}, {15,13}, { 7, 7}, {15, 7}, { 7,15}, {15,15}, 
+{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 0, 2}, { 8, 2}, { 0,10}, { 8,10},
+{ 0, 4}, { 8, 4}, { 0,12}, { 8,12}, { 0, 6}, { 8, 6}, { 0,14}, { 8,14},
+{ 1, 1}, { 9, 1}, { 1, 9}, { 9, 9}, { 1, 3}, { 9, 3}, { 1,11}, { 9,11},
+{ 1, 5}, { 9, 5}, { 1,13}, { 9,13}, { 1, 7}, { 9, 7}, { 1,15}, { 9,15},
+{ 2, 0}, {10, 0}, { 2, 8}, {10, 8}, { 2, 2}, {10, 2}, { 2,10}, {10,10},
+{ 2, 4}, {10, 4}, { 2,12}, {10,12}, { 2, 6}, {10, 6}, { 2,14}, {10,14},
+{ 3, 1}, {11, 1}, { 3, 9}, {11, 9}, { 3, 3}, {11, 3}, { 3,11}, {11,11},
+{ 3, 5}, {11, 5}, { 3,13}, {11,13}, { 3, 7}, {11, 7}, { 3,15}, {11,15},
+{ 4, 0}, {12, 0}, { 4, 8}, {12, 8}, { 4, 2}, {12, 2}, { 4,10}, {12,10},
+{ 4, 4}, {12, 4}, { 4,12}, {12,12}, { 4, 6}, {12, 6}, { 4,14}, {12,14},
+{ 5, 1}, {13, 1}, { 5, 9}, {13, 9}, { 5, 3}, {13, 3}, { 5,11}, {13,11},
+{ 5, 5}, {13, 5}, { 5,13}, {13,13}, { 5, 7}, {13, 7}, { 5,15}, {13,15},
+{ 6, 0}, {14, 0}, { 6, 8}, {14, 8}, { 6, 2}, {14, 2}, { 6,10}, {14,10},
+{ 6, 4}, {14, 4}, { 6,12}, {14,12}, { 6, 6}, {14, 6}, { 6,14}, {14,14},
+{ 7, 1}, {15, 1}, { 7, 9}, {15, 9}, { 7, 3}, {15, 3}, { 7,11}, {15,11},
+{ 7, 5}, {15, 5}, { 7,13}, {15,13}, { 7, 7}, {15, 7}, { 7,15}, {15,15},
 
-{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 4, 4}, {12, 4}, { 4,12}, {12,12}, { 0, 4}, { 8, 4}, { 0,12}, { 8,12}, { 4, 0}, {12, 0}, { 4, 8}, {12, 8}, { 2, 2}, {10, 2}, { 2,10}, {10,10}, { 6, 6}, {14, 6}, { 6,14}, {14,14}, { 2, 6}, {10, 6}, { 2,14}, {10,14}, { 6, 2}, {14, 2}, { 6,10}, {14,10}, { 0, 2}, { 8, 2}, { 0,10}, { 8,10}, { 4, 6}, {12, 6}, { 4,14}, {12,14}, { 0, 6}, { 8, 6}, { 0,14}, { 8,14}, { 4, 2}, {12, 2}, { 4,10}, {12,10}, { 2, 0}, {10, 0}, { 2, 8}, {10, 8}, { 6, 4}, {14, 4}, { 6,12}, {14,12}, { 2, 4}, {10, 4}, { 2,12}, {10,12}, { 6, 0}, {14, 0}, { 6, 8}, {14, 8}, { 1, 1}, { 9, 1}, { 1, 9}, { 9, 9}, { 5, 5}, {13, 5}, { 5,13}, {13,13}, { 1, 5}, { 9, 5}, { 1,13}, { 9,13}, { 5, 1}, {13, 1}, { 5, 9}, {13, 9}, { 3, 3}, {11, 3}, { 3,11}, {11,11}, { 7, 7}, {15, 7}, { 7,15}, {15,15}, { 3, 7}, {11, 7}, { 3,15}, {11,15}, { 7, 3}, {15, 3}, { 7,11}, {15,11}, { 1, 3}, { 9, 3}, { 1,11}, { 9,11}, { 5, 7}, {13, 7}, { 5,15}, {13,15}, { 1, 7}, { 9, 7}, { 1,15}, { 9,15}, { 5, 3}, {13, 3},
  { 5,11}, {13,11}, { 3, 1}, {11, 1}, { 3, 9}, {11, 9}, { 7, 5}, {15, 5}, { 7,13}, {15,13}, { 3, 5}, {11, 5}, { 3,13}, {11,13}, { 7, 1}, {15, 1}, { 7, 9}, {15, 9}, { 0, 1}, { 8, 1}, { 0, 9}, { 8, 9}, { 4, 5}, {12, 5}, { 4,13}, {12,13}, { 0, 5}, { 8, 5}, { 0,13}, { 8,13}, { 4, 1}, {12, 1}, { 4, 9}, {12, 9}, { 2, 3}, {10, 3}, { 2,11}, {10,11}, { 6, 7}, {14, 7}, { 6,15}, {14,15}, { 2, 7}, {10, 7}, { 2,15}, {10,15}, { 6, 3}, {14, 3}, { 6,11}, {14,11}, { 0, 3}, { 8, 3}, { 0,11}, { 8,11}, { 4, 7}, {12, 7}, { 4,15}, {12,15}, { 0, 7}, { 8, 7}, { 0,15}, { 8,15}, { 4, 3}, {12, 3}, { 4,11}, {12,11}, { 2, 1}, {10, 1}, { 2, 9}, {10, 9}, { 6, 5}, {14, 5}, { 6,13}, {14,13}, { 2, 5}, {10, 5}, { 2,13}, {10,13}, { 6, 1}, {14, 1}, { 6, 9}, {14, 9}, { 1, 0}, { 9, 0}, { 1, 8}, { 9, 8}, { 5, 4}, {13, 4}, { 5,12}, {13,12}, { 1, 4}, { 9, 4}, { 1,12}, { 9,12}, { 5, 0}, {13, 0}, { 5, 8}, {13, 8}, { 3, 2}, {11, 2}, { 3,10}, {11,10}, { 7, 6}, {15, 6}, { 7,14}, {15,14}, { 3, 6}, {11, 6}, { 3,14}, {11,14}
 , { 7, 2}, {15, 2}, { 7,10}, {15,10}, { 1, 2}, { 9, 2}, { 1,10}, { 9,10}, { 5, 6}, {13, 6}, { 5,14}, {13,14}, { 1, 6}, { 9, 6}, { 1,14}, { 9,14}, { 5, 2}, {13, 2}, { 5,10}, {13,10}, { 3, 0}, {11, 0}, { 3, 8}, {11, 8}, { 7, 4}, {15, 4}, { 7,12}, {15,12}, { 3, 4}, {11, 4}, { 3,12}, {11,12}, { 7, 0}, {15, 0}, { 7, 8}, {15, 8}, 
+{ 0, 0}, { 8, 0}, { 0, 8}, { 8, 8}, { 4, 4}, {12, 4}, { 4,12}, {12,12}, { 0, 4}, { 8, 4}, { 0,12}, { 8,12}, { 4, 0}, {12, 0}, { 4, 8}, {12, 8}, { 2, 2}, {10, 2}, { 2,10}, {10,10}, { 6, 6}, {14, 6}, { 6,14}, {14,14}, { 2, 6}, {10, 6}, { 2,14}, {10,14}, { 6, 2}, {14, 2}, { 6,10}, {14,10}, { 0, 2}, { 8, 2}, { 0,10}, { 8,10}, { 4, 6}, {12, 6}, { 4,14}, {12,14}, { 0, 6}, { 8, 6}, { 0,14}, { 8,14}, { 4, 2}, {12, 2}, { 4,10}, {12,10}, { 2, 0}, {10, 0}, { 2, 8}, {10, 8}, { 6, 4}, {14, 4}, { 6,12}, {14,12}, { 2, 4}, {10, 4}, { 2,12}, {10,12}, { 6, 0}, {14, 0}, { 6, 8}, {14, 8}, { 1, 1}, { 9, 1}, { 1, 9}, { 9, 9}, { 5, 5}, {13, 5}, { 5,13}, {13,13}, { 1, 5}, { 9, 5}, { 1,13}, { 9,13}, { 5, 1}, {13, 1}, { 5, 9}, {13, 9}, { 3, 3}, {11, 3}, { 3,11}, {11,11}, { 7, 7}, {15, 7}, { 7,15}, {15,15}, { 3, 7}, {11, 7}, { 3,15}, {11,15}, { 7, 3}, {15, 3}, { 7,11}, {15,11}, { 1, 3}, { 9, 3}, { 1,11}, { 9,11}, { 5, 7}, {13, 7}, { 5,15}, {13,15}, { 1, 7}, { 9, 7}, { 1,15}, { 9,15}, { 5, 3}, {13, 3},
  { 5,11}, {13,11}, { 3, 1}, {11, 1}, { 3, 9}, {11, 9}, { 7, 5}, {15, 5}, { 7,13}, {15,13}, { 3, 5}, {11, 5}, { 3,13}, {11,13}, { 7, 1}, {15, 1}, { 7, 9}, {15, 9}, { 0, 1}, { 8, 1}, { 0, 9}, { 8, 9}, { 4, 5}, {12, 5}, { 4,13}, {12,13}, { 0, 5}, { 8, 5}, { 0,13}, { 8,13}, { 4, 1}, {12, 1}, { 4, 9}, {12, 9}, { 2, 3}, {10, 3}, { 2,11}, {10,11}, { 6, 7}, {14, 7}, { 6,15}, {14,15}, { 2, 7}, {10, 7}, { 2,15}, {10,15}, { 6, 3}, {14, 3}, { 6,11}, {14,11}, { 0, 3}, { 8, 3}, { 0,11}, { 8,11}, { 4, 7}, {12, 7}, { 4,15}, {12,15}, { 0, 7}, { 8, 7}, { 0,15}, { 8,15}, { 4, 3}, {12, 3}, { 4,11}, {12,11}, { 2, 1}, {10, 1}, { 2, 9}, {10, 9}, { 6, 5}, {14, 5}, { 6,13}, {14,13}, { 2, 5}, {10, 5}, { 2,13}, {10,13}, { 6, 1}, {14, 1}, { 6, 9}, {14, 9}, { 1, 0}, { 9, 0}, { 1, 8}, { 9, 8}, { 5, 4}, {13, 4}, { 5,12}, {13,12}, { 1, 4}, { 9, 4}, { 1,12}, { 9,12}, { 5, 0}, {13, 0}, { 5, 8}, {13, 8}, { 3, 2}, {11, 2}, { 3,10}, {11,10}, { 7, 6}, {15, 6}, { 7,14}, {15,14}, { 3, 6}, {11, 6}, { 3,14}, {11,14}
 , { 7, 2}, {15, 2}, { 7,10}, {15,10}, { 1, 2}, { 9, 2}, { 1,10}, { 9,10}, { 5, 6}, {13, 6}, { 5,14}, {13,14}, { 1, 6}, { 9, 6}, { 1,14}, { 9,14}, { 5, 2}, {13, 2}, { 5,10}, {13,10}, { 3, 0}, {11, 0}, { 3, 8}, {11, 8}, { 7, 4}, {15, 4}, { 7,12}, {15,12}, { 3, 4}, {11, 4}, { 3,12}, {11,12}, { 7, 0}, {15, 0}, { 7, 8}, {15, 8},
 };
 
 struct vf_priv_s {
@@ -146,12 +146,12 @@ static void filter(struct vf_priv_s *p, 
         int stride= p->temp_stride[i];
         int block= BLOCK>>is_chroma;
 
-        if (!src[i] || !dst[i]) 
+        if (!src[i] || !dst[i])
             continue; // HACK avoid crash for Y8 colourspace
         for(y=0; y<h; y++){
             int index= block + block*stride + y*stride;
             fast_memcpy(p->src[i] + index, src[i] + y*src_stride[i], w);
-            for(x=0; x<block; x++){ 
+            for(x=0; x<block; x++){
                 p->src[i][index     - x - 1]= p->src[i][index +     x    ];
                 p->src[i][index + w + x    ]= p->src[i][index + w - x - 1];
             }
@@ -343,7 +343,7 @@ static int control(struct vf_instance_s*
 static int open(vf_instance_t *vf, char* args){
 
     int log2c=-1;
-    
+
     vf->config=config;
     vf->put_image=put_image;
     vf->get_image=get_image;
@@ -352,12 +352,12 @@ static int open(vf_instance_t *vf, char*
     vf->control= control;
     vf->priv=malloc(sizeof(struct vf_priv_s));
     memset(vf->priv, 0, sizeof(struct vf_priv_s));
-    
+
     avcodec_init();
     avcodec_register_all();
-    
+
     vf->priv->log2_count= 4;
-    
+
     if (args) sscanf(args, "%d:%d:%d", &log2c, &vf->priv->qp, &vf->priv->mode);
 
     if( log2c >=0 && log2c <=8 )

Modified: trunk/libmpcodecs/vf_yuvcsp.c
==============================================================================
--- trunk/libmpcodecs/vf_yuvcsp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_yuvcsp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@ static int put_image(struct vf_instance_
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
 	mpi->width, mpi->height);
-    
+
     y_in = mpi->planes[0];
     cb_in = mpi->planes[1];
     cr_in = mpi->planes[2];
@@ -46,7 +46,7 @@ static int put_image(struct vf_instance_
     y_out = vf->dmpi->planes[0];
     cb_out = vf->dmpi->planes[1];
     cr_out = vf->dmpi->planes[2];
-    
+
     for (i = 0; i < mpi->height; i++)
 	for (j = 0; j < mpi->width; j++)
 	    y_out[i*vf->dmpi->stride[0]+j] = clamp_y(y_in[i*mpi->stride[0]+j]);
@@ -57,7 +57,7 @@ static int put_image(struct vf_instance_
 	    cb_out[i*vf->dmpi->stride[1]+j] = clamp_c(cb_in[i*mpi->stride[1]+j]);
 	    cr_out[i*vf->dmpi->stride[2]+j] = clamp_c(cr_in[i*mpi->stride[2]+j]);
 	}
-    
+
     return vf_next_put_image(vf,vf->dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_yuy2.c
==============================================================================
--- trunk/libmpcodecs/vf_yuy2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_yuy2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -21,12 +21,12 @@ static int config(struct vf_instance_s* 
 	unsigned int flags, unsigned int outfmt){
 
     sws_rgb2rgb_init(get_sws_cpuflags());
-    
+
     if(vf_next_query_format(vf,IMGFMT_YUY2)<=0){
 	mp_msg(MSGT_VFILTER, MSGL_WARN, MSGTR_MPCODECS_WarnNextFilterDoesntSupport, "YUY2");
 	return 0;
     }
-    
+
     return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YUY2);
 }
 
@@ -44,9 +44,9 @@ static int put_image(struct vf_instance_
     else
     yv12toyuy2(mpi->planes[0],mpi->planes[1],mpi->planes[2], dmpi->planes[0],
 	    mpi->w,mpi->h, mpi->stride[0],mpi->stride[1],dmpi->stride[0]);
-    
+
     vf_clone_mpi_attributes(dmpi, mpi);
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vf_yvu9.c
==============================================================================
--- trunk/libmpcodecs/vf_yvu9.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vf_yvu9.c	Wed May 13 04:58:57 2009	(r29305)
@@ -18,12 +18,12 @@
 static int config(struct vf_instance_s* vf,
         int width, int height, int d_width, int d_height,
 	unsigned int flags, unsigned int outfmt){
-    
+
     if(vf_next_query_format(vf,IMGFMT_YV12)<=0){
 	mp_msg(MSGT_VFILTER, MSGL_WARN, MSGTR_MPCODECS_WarnNextFilterDoesntSupport, "YVU9");
 	return 0;
     }
-    
+
     return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YV12);
 }
 
@@ -56,7 +56,7 @@ static int put_image(struct vf_instance_
     }
 
     vf_clone_mpi_attributes(dmpi, mpi);
-    
+
     return vf_next_put_image(vf,dmpi, pts);
 }
 

Modified: trunk/libmpcodecs/vqf.h
==============================================================================
--- trunk/libmpcodecs/vqf.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpcodecs/vqf.h	Wed May 13 04:58:57 2009	(r29305)
@@ -215,9 +215,9 @@ typedef struct {
 
 #ifdef V2PLUS_SUPPORT
 // TwinVQ FB coding tool control
-DllPort void  TvqFbCountUsedBits(int nbit);  // count number of used bits 
+DllPort void  TvqFbCountUsedBits(int nbit);  // count number of used bits
 DllPort float TvqGetFbCurrentBitrate(void);  // query average bitrate for the tool
-DllPort int   TvqGetFbTotalBits(void);  // query total number of used bits 
+DllPort int   TvqGetFbTotalBits(void);  // query total number of used bits
 #endif
 
 #ifdef __cplusplus

Modified: trunk/libmpdemux/aac_hdr.c
==============================================================================
--- trunk/libmpdemux/aac_hdr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/aac_hdr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -31,10 +31,10 @@ int aac_parse_frame(uint8_t *buf, int *s
 {
 	int i = 0, sr, fl = 0, id;
 	static int srates[] = {96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 0, 0, 0};
-	
+
 	if((buf[i] != 0xFF) || ((buf[i+1] & 0xF6) != 0xF0))
 		return 0;
-	
+
 	id = (buf[i+1] >> 3) & 0x01;	//id=1 mpeg2, 0: mpeg4
 	sr = (buf[i+2] >> 2)  & 0x0F;
 	if(sr > 11)

Modified: trunk/libmpdemux/asf.h
==============================================================================
--- trunk/libmpdemux/asf.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/asf.h	Wed May 13 04:58:57 2009	(r29305)
@@ -25,7 +25,7 @@
 #include "mpbswap.h"
 
 ///////////////////////
-// ASF Object Header 
+// ASF Object Header
 ///////////////////////
 typedef struct __attribute__((packed)) {
   uint8_t guid[16];
@@ -33,7 +33,7 @@ typedef struct __attribute__((packed)) {
 } ASF_obj_header_t;
 
 ////////////////
-// ASF Header 
+// ASF Header
 ////////////////
 typedef struct __attribute__((packed)) {
   ASF_obj_header_t objh;
@@ -43,7 +43,7 @@ typedef struct __attribute__((packed)) {
 } ASF_header_t;
 
 /////////////////////
-// ASF File Header 
+// ASF File Header
 /////////////////////
 typedef struct __attribute__((packed)) {
   uint8_t stream_id[16]; // stream GUID
@@ -84,7 +84,7 @@ typedef struct  __attribute__((packed)) 
 } ASF_content_description_t;
 
 ////////////////////////
-// ASF Segment Header 
+// ASF Segment Header
 ////////////////////////
 typedef struct __attribute__((packed)) {
   uint8_t streamno;

Modified: trunk/libmpdemux/asfguid.h
==============================================================================
--- trunk/libmpdemux/asfguid.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/asfguid.h	Wed May 13 04:58:57 2009	(r29305)
@@ -75,9 +75,9 @@ static const char asf_metadata_header[16
   0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca};
 static const char asf_content_encryption[16] = {0xfb, 0xb3, 0x11, 0x22,
   0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e};
-static const char asf_dvr_ms_timing_rep_data[16] = {0x2a, 0xc0, 0x3c,0xfd,  
+static const char asf_dvr_ms_timing_rep_data[16] = {0x2a, 0xc0, 0x3c,0xfd,
   0xdb, 0x06, 0xfa, 0x4c, 0x80, 0x1c, 0x72, 0x12, 0xd3, 0x87, 0x45, 0xe4};
-static const char asf_dvr_ms_vid_frame_rep_data[16] = {0xcc, 0x32, 0x64, 0xdd, 
+static const char asf_dvr_ms_vid_frame_rep_data[16] = {0xcc, 0x32, 0x64, 0xdd,
   0x29, 0xe2, 0xdb, 0x40, 0x80, 0xf6, 0xd2, 0x63, 0x28, 0xd2, 0x76, 0x1f};
 
 static int find_asf_guid(char *buf, const char *guid, int cur_pos, int buf_len)

Modified: trunk/libmpdemux/asfheader.c
==============================================================================
--- trunk/libmpdemux/asfheader.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/asfheader.c	Wed May 13 04:58:57 2009	(r29305)
@@ -77,7 +77,7 @@ static const char* asf_chunk_type(unsign
       return "guid_ext_audio_stream";
     case ASF_GUID_PREFIX_ext_stream_embed_stream_header:
       return "guid_ext_stream_embed_stream_header";
-    case ASF_GUID_PREFIX_video_stream: 
+    case ASF_GUID_PREFIX_video_stream:
       return "guid_video_stream";
     case ASF_GUID_PREFIX_audio_conceal_none:
       return "guid_audio_conceal_none";
@@ -91,7 +91,7 @@ static const char* asf_chunk_type(unsign
       return "guid_index_chunk";
     case ASF_GUID_PREFIX_stream_header:
       return "guid_stream_header";
-    case ASF_GUID_PREFIX_header_2_0: 
+    case ASF_GUID_PREFIX_header_2_0:
       return "guid_header_2_0";
     case ASF_GUID_PREFIX_file_header:
       return "guid_file_header";
@@ -179,7 +179,7 @@ static int get_ext_stream_properties(cha
       stnamect = AV_RL16(buffer);buffer+=2;
       payct = AV_RL16(buffer);buffer+=2;
 
-      // need to read stream names if present in order 
+      // need to read stream names if present in order
       // to get lengths - values are ignored for now
       for (i=0; i<stnamect; i++) {
         int stream_name_len;
@@ -331,7 +331,7 @@ static int is_drm(char* buf, int buf_len
   buf += 4;
 
   buf[key_len - 1] = '\0';
-  mp_msg(MSGT_HEADER, MSGL_V, "DRM Key ID: %s\n", buf); 
+  mp_msg(MSGT_HEADER, MSGL_V, "DRM Key ID: %s\n", buf);
 
   buf += key_len;
   url_len = AV_RL32(buf);
@@ -341,7 +341,7 @@ static int is_drm(char* buf, int buf_len
   buf[url_len - 1] = '\0';
   mp_msg(MSGT_HEADER, MSGL_INFO, MSGTR_MPDEMUX_ASFHDR_DRMLicenseURL, buf);
   return 1;
-} 
+}
 
 static int asf_init_audio_stream(demuxer_t *demuxer,struct asf_priv* asf, sh_audio_t* sh_audio, ASF_stream_header_t *streamh, int *ppos, uint8_t** buf, char *hdr, unsigned int hdr_len)
 {
@@ -400,7 +400,7 @@ int read_asf_header(demuxer_t *demuxer,s
     mp_msg(MSGT_HEADER, MSGL_FATAL, "Header size is too small.\n");
     return 0;
   }
-    
+
   if (hdr_len > 1024 * 1024) {
     mp_msg(MSGT_HEADER, MSGL_ERR, MSGTR_MPDEMUX_ASFHDR_HeaderSizeOver1MB,
 			hdr_len);
@@ -431,7 +431,7 @@ int read_asf_header(demuxer_t *demuxer,s
     int sh_pos=0;
 
     sh_pos = find_backwards_asf_guid(hdr, asf_stream_header_guid, pos);
- 
+
     if (sh_pos > 0) {
       sh_audio_t *sh_audio;
 
@@ -455,7 +455,7 @@ int read_asf_header(demuxer_t *demuxer,s
   // find stream headers
   // only reset pos if we didnt find dvr_ms audio stream
   // if we did find it then we want to avoid reading its header twice
-  if (audio_pos == 0) 
+  if (audio_pos == 0)
     pos = 0;
 
   while ((pos = find_asf_guid(hdr, asf_stream_header_guid, pos, hdr_len)) >= 0)
@@ -538,7 +538,7 @@ int read_asf_header(demuxer_t *demuxer,s
       mp_msg(MSGT_HEADER, MSGL_V, "ASF: packets: %d  flags: %d  "
               "max_packet_size: %d  min_packet_size: %d  max_bitrate: %d  "
               "preroll: %d\n",
-              (int)fileh->num_packets, (int)fileh->flags, 
+              (int)fileh->num_packets, (int)fileh->flags,
               (int)fileh->min_packet_size, (int)fileh->max_packet_size,
               (int)fileh->max_bitrate, (int)fileh->preroll);
       asf->packetsize=fileh->max_packet_size;
@@ -569,7 +569,7 @@ int read_asf_header(demuxer_t *demuxer,s
             free(string);
           }
         }
-        // extract the author 
+        // extract the author
         if((len = contenth->author_size) != 0) {
           wstring = (uint16_t*)&hdr[pos];
           pos += len;
@@ -614,7 +614,7 @@ int read_asf_header(demuxer_t *demuxer,s
         }
 	mp_msg(MSGT_HEADER,MSGL_V,"\n");
   }
-  
+
   // find content header
   pos = find_asf_guid(hdr, asf_stream_group_guid, 0, hdr_len);
   if (pos >= 0) {
@@ -696,7 +696,7 @@ else if(best_audio > 0 && demuxer->audio
 if(!video_streams){
     if(!audio_streams){
 	mp_msg(MSGT_HEADER,MSGL_ERR,MSGTR_MPDEMUX_ASFHDR_AudioVideoHeaderNotFound);
-	return 0; 
+	return 0;
     }
     demuxer->video->id=-2; // audio-only
 } else if (best_video > 0 && demuxer->video->id == -1) demuxer->video->id = best_video;

Modified: trunk/libmpdemux/aviheader.c
==============================================================================
--- trunk/libmpdemux/aviheader.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/aviheader.c	Wed May 13 04:58:57 2009	(r29305)
@@ -247,9 +247,9 @@ while(1){
       *(uint32_t *)s->dwChunkId = stream_read_dword_le(demuxer->stream);
       stream_read(demuxer->stream, (char *)s->dwReserved, 3*4);
       memset(s->dwReserved, 0, 3*4);
-	  
+
       print_avisuperindex_chunk(s,MSGL_V);
-      
+
       // Check and fix this useless crap
       if(s->wLongsPerEntry != sizeof (avisuperindex_entry)/4) {
           mp_msg (MSGT_HEADER, MSGL_WARN, "Broken super index chunk size: %u\n",s->wLongsPerEntry);
@@ -269,7 +269,7 @@ while(1){
 	  s->aIndex[i].qwOffset = stream_read_qword_le(demuxer->stream);
 	  s->aIndex[i].dwSize = stream_read_dword_le(demuxer->stream);
 	  s->aIndex[i].dwDuration = stream_read_dword_le(demuxer->stream);
-	  mp_msg (MSGT_HEADER, MSGL_V, "ODML (%.4s): [%d] 0x%016"PRIx64" 0x%04x %u\n", 
+	  mp_msg (MSGT_HEADER, MSGL_V, "ODML (%.4s): [%d] 0x%016"PRIx64" 0x%04x %u\n",
 		  (s->dwChunkId), i,
 		  (uint64_t)s->aIndex[i].qwOffset, s->aIndex[i].dwSize, s->aIndex[i].dwDuration);
       }
@@ -459,7 +459,7 @@ while(1){
   } else
   if(chunksize>0) stream_skip(demuxer->stream,chunksize); else
   if((int)chunksize<0) mp_msg(MSGT_HEADER,MSGL_WARN,"chunksize=%u  (id=%.4s)\n",chunksize,(char *) &id);
-  
+
 }
 
 if (priv->suidx_size > 0 && priv->idx_size == 0) {
@@ -504,7 +504,7 @@ if (priv->isodml && (index_mode==-1 || i
 	    print_avistdindex_chunk(&cx->stdidx[j],MSGL_V);
 	    priv->idx_size += cx->stdidx[j].nEntriesInUse;
 	    cx->stdidx[j].aIndex = malloc(cx->stdidx[j].nEntriesInUse*sizeof(avistdindex_entry));
-	    stream_read(demuxer->stream, (char *)cx->stdidx[j].aIndex, 
+	    stream_read(demuxer->stream, (char *)cx->stdidx[j].aIndex,
 		    cx->stdidx[j].nEntriesInUse*sizeof(avistdindex_entry));
 	    for (k=0;k<cx->stdidx[j].nEntriesInUse; k++)
 		le2me_AVISTDIDXENTRY(&cx->stdidx[j].aIndex[k]);
@@ -635,7 +635,7 @@ if(index_mode>=2 || (priv->idx_size==0 &
   // build index for file:
   stream_reset(demuxer->stream);
   stream_seek(demuxer->stream,demuxer->movi_start);
-  
+
   priv->idx_pos=0;
   priv->idx_size=0;
   priv->idx=NULL;
@@ -669,7 +669,7 @@ if(index_mode>=2 || (priv->idx_size==0 &
     idx->dwFlags|=(demuxer->filepos>>16)&0xffff0000U;
     idx->dwChunkOffset=(unsigned long)demuxer->filepos;
     idx->dwChunkLength=len;
-    
+
     c=stream_read_dword(demuxer->stream);
 
     if(!len) idx->dwFlags&=~AVIIF_KEYFRAME;

Modified: trunk/libmpdemux/aviheader.h
==============================================================================
--- trunk/libmpdemux/aviheader.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/aviheader.h	Wed May 13 04:58:57 2009	(r29305)
@@ -90,10 +90,10 @@ typedef struct
     uint32_t		dwInitialFrames;
     uint32_t		dwStreams;
     uint32_t		dwSuggestedBufferSize;
-    
+
     uint32_t		dwWidth;
     uint32_t		dwHeight;
-    
+
     uint32_t		dwReserved[4];
 } MainAVIHeader;
 
@@ -111,7 +111,7 @@ typedef struct {
     uint16_t		wPriority;
     uint16_t		wLanguage;
     uint32_t		dwInitialFrames;
-    uint32_t		dwScale;	
+    uint32_t		dwScale;
     uint32_t		dwRate;	/* dwRate / dwScale == samples/second */
     uint32_t		dwStart;
     uint32_t		dwLength; /* In units above... */
@@ -151,7 +151,7 @@ typedef struct avistdindex_entry {
     uint32_t dwSize;             // bit 31 is set if this is NOT a keyframe
 } avistdindex_entry;
 
-// Standard index 
+// Standard index
 typedef struct __attribute__((packed)) avistdindex_chunk {
     char           fcc[4];       // ix##
     uint32_t  dwSize;            // size of this chunk
@@ -164,7 +164,7 @@ typedef struct __attribute__((packed)) a
     uint32_t  dwReserved3;       // must be 0
     avistdindex_entry *aIndex;   // the actual frames
 } avistdindex_chunk;
-    
+
 
 // Base Index Form 'indx'
 typedef struct avisuperindex_chunk {

Modified: trunk/libmpdemux/aviprint.c
==============================================================================
--- trunk/libmpdemux/aviprint.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/aviprint.c	Wed May 13 04:58:57 2009	(r29305)
@@ -184,7 +184,7 @@ void print_avisuperindex_chunk(avisuperi
     mp_msg (MSGT_HEADER, verbose_level, "  FCC (%.4s) dwSize (%d) wLongsPerEntry(%d)\n", h->fcc, h->dwSize, h->wLongsPerEntry);
     mp_msg (MSGT_HEADER, verbose_level, "  bIndexSubType (%d) bIndexType (%d)\n", h->bIndexSubType, h->bIndexType);
     mp_msg (MSGT_HEADER, verbose_level, "  nEntriesInUse (%d) dwChunkId (%.4s)\n", h->nEntriesInUse, h->dwChunkId);
-    mp_msg (MSGT_HEADER, verbose_level, "  dwReserved[0] (%d) dwReserved[1] (%d) dwReserved[2] (%d)\n", 
+    mp_msg (MSGT_HEADER, verbose_level, "  dwReserved[0] (%d) dwReserved[1] (%d) dwReserved[2] (%d)\n",
 	    h->dwReserved[0], h->dwReserved[1], h->dwReserved[2]);
     mp_msg (MSGT_HEADER, verbose_level, "===========================\n");
 }

Modified: trunk/libmpdemux/demux_aac.c
==============================================================================
--- trunk/libmpdemux/demux_aac.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_aac.c	Wed May 13 04:58:57 2009	(r29305)
@@ -48,11 +48,11 @@ int aac_parse_frame(uint8_t *buf, int *s
 static int demux_aac_init(demuxer_t *demuxer)
 {
 	aac_priv_t *priv;
-	
+
 	priv = calloc(1, sizeof(aac_priv_t));
 	if(!priv)
 		return 0;
-	
+
 	priv->buf = (uint8_t*) malloc(8);
 	if(!priv->buf)
 	{
@@ -67,7 +67,7 @@ static int demux_aac_init(demuxer_t *dem
 static void demux_close_aac(demuxer_t *demuxer)
 {
 	aac_priv_t *priv = (aac_priv_t *) demuxer->priv;
-	
+
 	if(!priv)
 		return;
 
@@ -85,13 +85,13 @@ static int demux_aac_probe(demuxer_t *de
 	int cnt = 0, c, len, srate, num;
 	off_t init, probed;
 	aac_priv_t *priv;
-	
+
 	if(! demux_aac_init(demuxer))
 	{
 		mp_msg(MSGT_DEMUX, MSGL_ERR, "COULDN'T INIT aac_demux, exit\n");
 		return 0;
 	}
-	
+
 	priv = (aac_priv_t *) demuxer->priv;
 
 	init = probed = stream_tell(demuxer->stream);
@@ -107,7 +107,7 @@ static int demux_aac_probe(demuxer_t *de
 		priv->buf[0] = 0xFF;
 		if(stream_read(demuxer->stream, &(priv->buf[1]), 7) < 7)
 			goto fail;
-		
+
 		len = aac_parse_frame(priv->buf, &srate, &num);
 		if(len > 0)
 		{
@@ -120,7 +120,7 @@ static int demux_aac_probe(demuxer_t *de
 	stream_seek(demuxer->stream, init);
 	if(cnt < 8)
 		goto fail;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "demux_aac_probe, INIT: %"PRIu64", PROBED: %"PRIu64", cnt: %d\n", init, probed, cnt);
 	return DEMUXER_TYPE_AAC;
 
@@ -140,7 +140,7 @@ static demuxer_t* demux_aac_open(demuxer
 	demuxer->audio->sh = sh;
 
 	demuxer->filepos = stream_tell(demuxer->stream);
-	
+
 	return demuxer;
 }
 
@@ -173,7 +173,7 @@ static int demux_aac_fill_buffer(demuxer
 		priv->buf[1] = (unsigned char) c2;
 		if(stream_read(demuxer->stream, &(priv->buf[2]), 6) < 6)
 			return 0;
-		
+
 		len = aac_parse_frame(priv->buf, &srate, &num);
 		if(len > 0)
 		{
@@ -183,8 +183,8 @@ static int demux_aac_fill_buffer(demuxer
 				mp_msg(MSGT_DEMUX, MSGL_ERR, "fill_buffer, NEW_ADD_PACKET(%d)FAILED\n", len);
 				return 0;
 			}
-			
-			
+
+
 			memcpy(dp->buffer, priv->buf, 8);
 			stream_read(demuxer->stream, &(dp->buffer[8]), len-8);
 			if(srate)
@@ -195,10 +195,10 @@ static int demux_aac_fill_buffer(demuxer
 			ds_add_packet(demuxer->audio, dp);
 			priv->size += len;
 			priv->time += tm;
-			
+
 			priv->bitrate = (int) (priv->size / priv->time);
 			demuxer->filepos = stream_tell(demuxer->stream);
-			
+
 			return len;
 		}
 		else
@@ -220,7 +220,7 @@ static void demux_aac_seek(demuxer_t *de
 	ds_free_packs(d_audio);
 
 	time = (flags & SEEK_ABSOLUTE) ? rel_seek_secs - priv->last_pts : rel_seek_secs;
-	if(time < 0) 
+	if(time < 0)
 	{
 		stream_seek(demuxer->stream, demuxer->movi_start);
 		time = priv->last_pts + time;
@@ -232,13 +232,13 @@ static void demux_aac_seek(demuxer_t *de
 		int len, nf, srate, num;
 
 		nf = time * sh_audio->samplerate/1024;
-		
-		while(nf > 0) 
+
+		while(nf > 0)
 		{
 			if(stream_read(demuxer->stream,priv->buf, 8) < 8)
 				break;
 			len = aac_parse_frame(priv->buf, &srate, &num);
-			if(len <= 0) 
+			if(len <= 0)
 			{
 				stream_skip(demuxer->stream, -7);
 				continue;

Modified: trunk/libmpdemux/demux_asf.c
==============================================================================
--- trunk/libmpdemux/demux_asf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_asf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -116,9 +116,9 @@ static int demux_asf_read_packet(demuxer
   struct asf_priv* asf = demux->priv;
   demux_stream_t *ds=NULL;
   int close_seg=0;
-  
+
   mp_dbg(MSGT_DEMUX,MSGL_DBG4,"demux_asf.read_packet: id=%d seq=%d len=%d\n",id,seq,len);
-  
+
   if(demux->video->id==-1)
     if(demux->v_streams[id])
         demux->video->id=id;
@@ -134,7 +134,7 @@ static int demux_asf_read_packet(demuxer
         ds->sh=demux->a_streams[id];
         mp_msg(MSGT_DEMUX,MSGL_V,"Auto-selected ASF audio ID = %d\n",ds->id);
       }
-  } else 
+  } else
   if(id==demux->video->id){
       // video
       ds=demux->video;
@@ -143,7 +143,7 @@ static int demux_asf_read_packet(demuxer
         mp_msg(MSGT_DEMUX,MSGL_V,"Auto-selected ASF video ID = %d\n",ds->id);
       }
   }
-  
+
   if(ds){
     if(ds->asf_packet){
       demux_packet_t* dp=ds->asf_packet;
@@ -230,7 +230,7 @@ static void get_payload_extension_data(d
     *seg_time=0.0;
     asf->new_vid_frame_seg = 0;
 
-    for (i=0; i<ext_max; i++) {    
+    for (i=0; i<ext_max; i++) {
         uint16_t payextsize;
         uint8_t segment_marker;
 
@@ -243,12 +243,12 @@ static void get_payload_extension_data(d
             payextsize = AV_RL16(pi);
             pi+=2;
         }
-       
+
         // if this is the timing info extension then read the payload time
         if (i == ext_timing_index)
             payload_time = AV_RL64(pi+8);
-        
-        // if this is the video frame info extension then 
+
+        // if this is the video frame info extension then
         // set the keyframe indicator, the 'new frame segment' indicator
         // and (initially) the 'frame time'
         if (i == asf->vid_ext_frame_index && id==demux->video->id) {
@@ -271,7 +271,7 @@ static void get_payload_extension_data(d
             //       ^    this is new video frame marker
             //
             //   ^^^^     these bits indicate the framerate
-            //            0X4 is 29.97i, 0X3 is 25i, 0X7 is 29.97p, ???=25p 
+            //            0X4 is 29.97i, 0X3 is 25i, 0X7 is 29.97p, ???=25p
             //
             //        ^^^ these bits indicate the frame type:
             //              001 means I-frame
@@ -282,7 +282,7 @@ static void get_payload_extension_data(d
             if (asf->new_vid_frame_seg) asf->last_vid_seq = seq;
 
             if (asf->avg_vid_frame_time == 0) {
-                // set the average frame time initially (in 100ns units). 
+                // set the average frame time initially (in 100ns units).
                 // This is based on what works for known samples.
                 // It can be extended if more samples of different types can be obtained.
                 if (((segment_marker & 0XF0) >> 4) == 4) {
@@ -298,9 +298,9 @@ static void get_payload_extension_data(d
                     asf->avg_vid_frame_time = (uint64_t)((1.001 / 60.0) * 10000000.0);
                     asf->know_frame_time=1;
                 } else {
-                    // we dont know the frame time initially so 
+                    // we dont know the frame time initially so
                     // make a guess and then recalculate as we go.
-                    asf->avg_vid_frame_time = (uint64_t)((1.001 / 60.0) * 10000000.0); 
+                    asf->avg_vid_frame_time = (uint64_t)((1.001 / 60.0) * 10000000.0);
                     asf->know_frame_time=0;
                 }
             }
@@ -309,9 +309,9 @@ static void get_payload_extension_data(d
         pi +=payextsize;
     }
 
-    if (id==demux->video->id && asf->new_vid_frame_seg) {    
+    if (id==demux->video->id && asf->new_vid_frame_seg) {
         asf->vid_frame_ct++;
-        // Some samples only have timings on key frames and 
+        // Some samples only have timings on key frames and
         // the rest contain non-cronological timestamps. Interpolating
         // the values between key frames works for all samples.
         if (*keyframe) {
@@ -321,7 +321,7 @@ static void get_payload_extension_data(d
                 // Giving precedence to the 'weight' of the existing
                 // average limits damage done to new value when there is
                 // a sudden time jump which happens occasionally.
-                asf->avg_vid_frame_time = 
+                asf->avg_vid_frame_time =
                    (0.9 * asf->avg_vid_frame_time) +
                    (0.1 * ((payload_time - asf->last_key_payload_time) / asf->vid_frame_ct));
             }
@@ -359,7 +359,7 @@ static int demux_asf_fill_buffer(demuxer
     stream_read(demux->stream,asf->packet,asf->packetsize);
     if(demux->stream->eof) return 0; // EOF
     if(asf->packetsize < 2) return 0; // Packet too short
-    
+
     {
 	    unsigned char* p=asf->packet;
             unsigned char* p_end=asf->packet+asf->packetsize;
@@ -374,13 +374,13 @@ static int demux_asf_fill_buffer(demuxer
             int segs=1;
             unsigned char segsizetype=0x80;
             int seg=-1;
-            
+
             if( mp_msg_test(MSGT_DEMUX,MSGL_DBG2) ){
                 int i;
                 for(i=0;i<FFMIN(16, asf->packetsize);i++) printf(" %02X",asf->packet[i]);
                 printf("\n");
             }
-            
+
 	    // skip ECC data if present by testing bit 7 of flags
 	    // 1xxxbbbb -> ecc data present, skip bbbb byte(s)
 	    // 0xxxxxxx -> payload parsing info starts
@@ -391,7 +391,7 @@ static int demux_asf_fill_buffer(demuxer
 		flags = p[0];
 		segtype = p[1];
 	    }
-	    
+
             //if(segtype!=0x5d) printf("Warning! packet[4] != 0x5d  \n");
 
 	    p+=2; // skip flags & segtype
@@ -407,7 +407,7 @@ static int demux_asf_fill_buffer(demuxer
             // Read padding size (padding):
 	    if(!check_varlen(p, p_end, flags>> 3)) return 0; // Not enough data
 	    padding = read_varlen(&p, flags >> 3, 0);
-	    
+
 	    if(((flags>>5)&3)!=0){
               // Explicit (absoulte) packet size
               mp_dbg(MSGT_DEMUX,MSGL_DBG2,"Explicit packet size specified: %d  \n",plen);
@@ -463,7 +463,7 @@ static int demux_asf_fill_buffer(demuxer
               // Read media object number (seq):
 	      if(!check_varlen(p, p_end, segtype >> 4)) break; // Not enough data
 	      seq = read_varlen(&p, segtype >> 4, 0);
-	      
+
               // Read offset or timestamp:
 	      if(!check_varlen(p, p_end, segtype >> 2)) break; // Not enough data
 	      x = read_varlen(&p, segtype >> 2, 0);
@@ -471,9 +471,9 @@ static int demux_asf_fill_buffer(demuxer
               // Read replic.data len:
 	      if(!check_varlen(p, p_end, segtype)) break; // Not enough data
 	      rlen = read_varlen(&p, segtype, 0);
-	      
+
 //	      printf("### rlen=%d   \n",rlen);
-      
+
               switch(rlen){
               case 0x01: // 1 = special, means grouping
 	        //printf("grouping: %02X  \n",p[0]);
@@ -539,11 +539,11 @@ static int demux_asf_fill_buffer(demuxer
                 p+=len;
                 break;
 	      }
-              
+
             } // for segs
             return 1; // success
     }
-    
+
     mp_msg(MSGT_DEMUX,MSGL_V,"%08"PRIX64":  UNKNOWN TYPE  %02X %02X %02X %02X %02X...\n",(int64_t)demux->filepos,asf->packet[0],asf->packet[1],asf->packet[2],asf->packet[3],asf->packet[4]);
     return 0;
 }
@@ -584,7 +584,7 @@ static void demux_seek_asf(demuxer_t *de
     if(sh_audio){
       ds_fill_buffer(d_audio);
     }
-    
+
     if (d_video->id >= 0)
     while(1){
 	if(sh_audio && !d_audio->eof){
@@ -680,10 +680,10 @@ static void demux_close_asf(demuxer_t *d
 
     if (asf->aud_repdata_sizes)
       free(asf->aud_repdata_sizes);
-      
+
     if (asf->vid_repdata_sizes)
       free(asf->vid_repdata_sizes);
-      
+
     free(asf);
 }
 

Modified: trunk/libmpdemux/demux_audio.c
==============================================================================
--- trunk/libmpdemux/demux_audio.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_audio.c	Wed May 13 04:58:57 2009	(r29305)
@@ -168,7 +168,7 @@ get_flac_metadata (demuxer_t* demuxer)
   uint8_t preamble[4];
   unsigned int blk_len;
   stream_t *s = demuxer->stream;
-  
+
   /* file is qualified; skip over the signature bytes in the stream */
   stream_seek (s, 4);
 
@@ -176,7 +176,7 @@ get_flac_metadata (demuxer_t* demuxer)
    * will always be 1 metadata block */
   do {
     int r;
-    
+
     r = stream_read (s, (char *) preamble, FLAC_SIGNATURE_SIZE);
     if (r != FLAC_SIGNATURE_SIZE)
       return;
@@ -250,7 +250,7 @@ get_flac_metadata (demuxer_t* demuxer)
     case FLAC_APPLICATION:
     case FLAC_SEEKTABLE:
     case FLAC_CUESHEET:
-    default: 
+    default:
       /* 6-127 are presently reserved */
       stream_skip (s, blk_len);
       break;
@@ -268,7 +268,7 @@ static int demux_audio_open(demuxer_t* d
   // mp3_hdrs list is sorted first by next_frame_pos and then by frame_pos
   mp3_hdr_t *mp3_hdrs = NULL, *mp3_found = NULL;
   da_priv_t* priv;
-  
+
   s = demuxer->stream;
 
   stream_read(s, hdr, HDR_SIZE);
@@ -299,7 +299,7 @@ static int demux_audio_open(demuxer_t* d
       step = 4;
     } else if( hdr[0] == 'f' && hdr[1] == 'm' && hdr[2] == 't' && hdr[3] == ' ' ) {
       frmt = WAV;
-      break;      
+      break;
     } else if((mp3_flen = mp_get_mp3_header(hdr, &mp3_chans, &mp3_freq,
                                 &mpa_spf, &mpa_layer, &mpa_br)) > 0) {
       mp3_found = add_mp3_hdr(&mp3_hdrs, st_pos, mp3_chans, mp3_freq,
@@ -342,7 +342,7 @@ static int demux_audio_open(demuxer_t* d
     sh_audio->wf->nAvgBytesPerSec = mp3_found->mpa_br * (1000 / 8);
     sh_audio->wf->nBlockAlign = mp3_found->mpa_spf;
     sh_audio->wf->wBitsPerSample = 16;
-    sh_audio->wf->cbSize = 0;    
+    sh_audio->wf->cbSize = 0;
     sh_audio->i_bps = sh_audio->wf->nAvgBytesPerSec;
     free(mp3_found);
     mp3_found = NULL;
@@ -655,7 +655,7 @@ static void demux_audio_seek(demuxer_t *
     pos = demuxer->movi_start;
 
   priv->next_pts = (pos-demuxer->movi_start)/(double)sh_audio->i_bps;
-  
+
   switch(priv->frmt) {
   case WAV:
     pos -= (pos - demuxer->movi_start) %
@@ -679,7 +679,7 @@ static int demux_audio_control(demuxer_t
     sh_audio_t *sh_audio=demuxer->audio->sh;
     int audio_length = sh_audio->i_bps ? demuxer->movi_end / sh_audio->i_bps : 0;
     da_priv_t* priv = demuxer->priv;
-	    
+
     switch(cmd) {
 	case DEMUXER_CTRL_GET_TIME_LENGTH:
 	    if (audio_length<=0) return DEMUXER_CTRL_DONTKNOW;
@@ -687,7 +687,7 @@ static int demux_audio_control(demuxer_t
 	    return DEMUXER_CTRL_GUESS;
 
 	case DEMUXER_CTRL_GET_PERCENT_POS:
-	    if (audio_length<=0) 
+	    if (audio_length<=0)
     		return DEMUXER_CTRL_DONTKNOW;
     	    *((int *)arg)=(int)( (priv->next_pts*100)  / audio_length);
 	    return DEMUXER_CTRL_OK;

Modified: trunk/libmpdemux/demux_avi.c
==============================================================================
--- trunk/libmpdemux/demux_avi.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_avi.c	Wed May 13 04:58:57 2009	(r29305)
@@ -122,7 +122,7 @@ static int demux_avi_read_packet(demuxer
   avi_priv_t *priv=demux->priv;
   int skip;
   float pts=0;
-  
+
   mp_dbg(MSGT_DEMUX,MSGL_DBG3,"demux_avi.read_packet: %X\n",id);
 
   if(ds==demux->audio){
@@ -150,7 +150,7 @@ static int demux_avi_read_packet(demuxer
       // update blockcount:
       priv->audio_block_no+=priv->audio_block_size ?
 	((len+priv->audio_block_size-1)/priv->audio_block_size) : 1;
-  } else 
+  } else
   if(ds==demux->video){
      // video
      if(priv->skip_video_frames>0){
@@ -169,9 +169,9 @@ static int demux_avi_read_packet(demuxer
      if(ds) ++priv->video_pack_no;
 
   }
-  
+
   skip=(len+1)&(~1); // total bytes in this chunk
-  
+
   if(ds){
     mp_dbg(MSGT_DEMUX,MSGL_DBG2,"DEMUX_AVI: Read %d data bytes from packet %04X\n",len,id);
     ds_read_packet(ds,demux->stream,len,pts,idxpos,flags);
@@ -214,9 +214,9 @@ do{
   AVIINDEXENTRY *idx=NULL;
   if(priv->idx_size>0 && priv->idx_pos<priv->idx_size){
     off_t pos;
-    
+
     idx=&((AVIINDEXENTRY *)priv->idx)[priv->idx_pos++];
-    
+
     if(idx->dwFlags&AVIIF_LIST){
       // LIST
       continue;
@@ -235,7 +235,7 @@ do{
     demux->filepos=stream_tell(demux->stream);
     id=stream_read_dword_le(demux->stream);
     if(stream_eof(demux->stream)) return 0; // EOF!
-    
+
     if(id!=idx->ckid){
       mp_msg(MSGT_DEMUX,MSGL_V,"ChunkID mismatch! raw=%.4s idx=%.4s  \n",(char *)&id,(char *)&idx->ckid);
       if(valid_fourcc(idx->ckid))
@@ -259,7 +259,7 @@ do{
     id=avi_find_id(demux->stream);
     len=stream_read_dword_le(demux->stream);
     if(stream_eof(demux->stream)) return 0; // EOF!
-    
+
     if(id==mmioFOURCC('L','I','S','T') || id==mmioFOURCC('R', 'I', 'F', 'F')){
       id=stream_read_dword_le(demux->stream); // list or RIFF type
       continue;
@@ -286,7 +286,7 @@ do{
 	// quit now, we can't even (no enough buffer memory) read this packet :(
 	return -1;
     }
-  
+
   ret=demux_avi_read_packet(demux,ds,id,len,priv->idx_pos-1,flags);
 } while(ret!=1);
   return 1;
@@ -307,15 +307,15 @@ do{
   AVIINDEXENTRY *idx=NULL;
   int idx_pos=0;
   demux->filepos=stream_tell(demux->stream);
-  
+
   if(ds==demux->video) idx_pos=priv->idx_pos_v++; else
   if(ds==demux->audio) idx_pos=priv->idx_pos_a++; else
                        idx_pos=priv->idx_pos++;
-  
+
   if(priv->idx_size>0 && idx_pos<priv->idx_size){
     off_t pos;
     idx=&((AVIINDEXENTRY *)priv->idx)[idx_pos];
-    
+
     if(idx->dwFlags&AVIIF_LIST){
       // LIST
       continue;
@@ -385,18 +385,18 @@ do{
   len=stream_read_dword_le(demux->stream);
 
   if(stream_eof(demux->stream)) return 0;
-  
+
   if(id==mmioFOURCC('L','I','S','T')){
       id=stream_read_dword_le(demux->stream);      // list type
       continue;
   }
-  
+
   if(id==mmioFOURCC('R','I','F','F')){
       mp_msg(MSGT_DEMUX,MSGL_V,"additional RIFF header...\n");
       id=stream_read_dword_le(demux->stream);      // "AVIX"
       continue;
   }
-  
+
   if(ds==demux_avi_select_stream(demux,id)){
     // read it!
     ret=demux_avi_read_packet(demux,ds,id,len,priv->idx_pos-1,0);
@@ -405,7 +405,7 @@ do{
     int skip=(len+1)&(~1); // total bytes in this chunk
     stream_skip(demux->stream,skip);
   }
-  
+
 } while(ret!=1);
   fpos[0]=stream_tell(demux->stream);
   return 1;
@@ -442,7 +442,7 @@ static demuxer_t* demux_open_avi(demuxer
 
   //---- AVI header:
   read_avi_header(demuxer,(demuxer->stream->flags & STREAM_SEEK_BW)?index_mode:-2);
-  
+
   if(demuxer->audio->id>=0 && !demuxer->a_streams[demuxer->audio->id]){
       mp_msg(MSGT_DEMUX,MSGL_WARN,MSGTR_InvalidAudioStreamNosound,demuxer->audio->id);
       demuxer->audio->id=-2; // disabled
@@ -451,7 +451,7 @@ static demuxer_t* demux_open_avi(demuxer
       mp_msg(MSGT_DEMUX,MSGL_WARN,MSGTR_InvalidAudioStreamUsingDefault,demuxer->video->id);
       demuxer->video->id=-1; // autodetect
   }
-  
+
   stream_reset(demuxer->stream);
   stream_seek(demuxer->stream,demuxer->movi_start);
   priv->idx_pos=0;
@@ -476,7 +476,7 @@ static demuxer_t* demux_open_avi(demuxer
 	    (int)((AVIINDEXENTRY *)priv->idx)[0].dwChunkOffset,
 	    (int)((AVIINDEXENTRY *)priv->idx)[1].dwChunkOffset);
   }
-  
+
   if(priv->idx_size>0){
       // check that file is non-interleaved:
       int i;
@@ -544,7 +544,7 @@ static demuxer_t* demux_open_avi(demuxer
     size_t vsamples=0;
     size_t asamples=0;
     int i;
-    for(i=0;i<priv->idx_size;i++){ 
+    for(i=0;i<priv->idx_size;i++){
       int id=avi_stream_id(((AVIINDEXENTRY *)priv->idx)[i].ckid);
       int len=((AVIINDEXENTRY *)priv->idx)[i].dwChunkLength;
       if(sh_video->ds->id == id) {
@@ -571,7 +571,7 @@ static demuxer_t* demux_open_avi(demuxer
     if(priv->numberofframes<=1){
       mp_msg(MSGT_SEEK,MSGL_WARN,MSGTR_CouldntDetFNo);
       priv->numberofframes=0;
-    }          
+    }
 
     if(sh_audio){
       if(sh_audio->wf->nAvgBytesPerSec && sh_audio->audio.dwSampleSize!=1){
@@ -587,7 +587,7 @@ static demuxer_t* demux_open_avi(demuxer
   }
 
   return demuxer;
-  
+
 }
 
 
@@ -609,11 +609,11 @@ void demux_seek_avi(demuxer_t *demuxer,f
 	// seek absolute
 	video_chunk_pos=0;
       }
-      
+
       if(flags&SEEK_FACTOR){
 	rel_seek_frames=rel_seek_secs*priv->numberofframes;
       }
-    
+
       priv->skip_video_frames=0;
       priv->avi_audio_pts=0;
 
@@ -650,7 +650,7 @@ void demux_seek_avi(demuxer_t *demuxer,f
       sh_video->num_frames=sh_video->num_frames_decoded=d_video->pack_no;
       priv->avi_video_pts=d_video->pack_no*(float)sh_video->video.dwScale/(float)sh_video->video.dwRate;
       d_video->pos=video_chunk_pos;
-      
+
       mp_msg(MSGT_SEEK,MSGL_DBG2,"V_SEEK:  pack=%d  pts=%5.3f  chunk=%d  \n",d_video->pack_no,priv->avi_video_pts,video_chunk_pos);
 
 // ------------ STEP 2: seek audio, find the right chunk & pos ------------
@@ -666,7 +666,7 @@ void demux_seek_avi(demuxer_t *demuxer,f
 	int curr_audio_pos=-1;
 	int audio_chunk_pos=-1;
 	int chunk_max=(demuxer->type==DEMUXER_TYPE_AVI)?video_chunk_pos:priv->idx_size;
-	
+
 	if(sh_audio->audio.dwSampleSize){
 	    // constant rate audio stream
 	    /* immediate seeking to audio position, including when streams are delayed */
@@ -692,13 +692,13 @@ void demux_seek_avi(demuxer_t *demuxer,f
 
           mp_msg(MSGT_SEEK,MSGL_V,"SEEK: i=%d (max:%d) dpos=%d (wanted:%d)  \n",
 	      i,chunk_max,(int)d_audio->dpos,curr_audio_pos);
-	      
+
 	} else {
 	    // VBR audio
 	    /* immediate seeking to audio position, including when streams are delayed */
 	    int chunks=(priv->avi_video_pts + audio_delay)*(float)sh_audio->audio.dwRate/(float)sh_audio->audio.dwScale;
 	    audio_chunk_pos=0;
-	    
+
         // find audio chunk pos:
           for(i=0;i<priv->idx_size && chunks>0;i++){
             int id=((AVIINDEXENTRY *)priv->idx)[i].ckid;
@@ -718,17 +718,17 @@ void demux_seek_avi(demuxer_t *demuxer,f
             }
           }
 	}
-	
+
 	// Now we have:
 	//      audio_chunk_pos = chunk no in index table (it's <=chunk_max)
 	//      skip_audio_bytes = bytes to be skipped after chunk seek
 	//      d-audio->pack_no = chunk_no in stream at audio_chunk_pos
 	//      d_audio->dpos = bytepos in stream at audio_chunk_pos
 	// let's seek!
-	
+
           // update stream position:
           d_audio->pos=audio_chunk_pos;
-	
+
 	if(demuxer->type==DEMUXER_TYPE_AVI){
 	  // interleaved stream:
 	  if(audio_chunk_pos<video_chunk_pos){

Modified: trunk/libmpdemux/demux_avs.c
==============================================================================
--- trunk/libmpdemux/demux_avs.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_avs.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,7 +54,7 @@ typedef WINAPI AVS_Clip* (*imp_avs_take_
 typedef WINAPI void (*imp_avs_release_clip)(AVS_Clip *);
 typedef WINAPI AVS_VideoFrame* (*imp_avs_get_frame)(AVS_Clip *, int n);
 typedef WINAPI void (*imp_avs_release_video_frame)(AVS_VideoFrame *);
-typedef WINAPI int (*imp_avs_get_audio)(AVS_Clip *, void * buf, uint64_t start, uint64_t count); 
+typedef WINAPI int (*imp_avs_get_audio)(AVS_Clip *, void * buf, uint64_t start, uint64_t count);
 
 #define Q(string) # string
 #define IMPORT_FUNC(x) \
@@ -74,7 +74,7 @@ typedef struct tagAVS
     int frameno;
     uint64_t sampleno;
     int init;
-    
+
     imp_avs_create_script_environment avs_create_script_environment;
     imp_avs_invoke avs_invoke;
     imp_avs_get_video_info avs_get_video_info;
@@ -86,24 +86,24 @@ typedef struct tagAVS
 } AVS_T;
 
 AVS_T *initAVS(const char *filename)
-{   
+{
     AVS_T *AVS = malloc (sizeof(AVS_T));
     AVS_Value arg0 = avs_new_value_string(filename);
     AVS_Value args = avs_new_value_array(&arg0, 1);
-    
+
     memset(AVS, 0, sizeof(AVS_T));
 
 #ifdef WIN32_LOADER
     AVS->ldt_fs = Setup_LDT_Keeper();
 #endif
-    
+
     AVS->dll = LoadLibraryA("avisynth.dll");
     if(!AVS->dll)
     {
         mp_msg(MSGT_DEMUX ,MSGL_V, "AVS: failed to load avisynth.dll\n");
         goto avs_err;
     }
-    
+
     /* Dynamic import of needed stuff from avisynth.dll */
     IMPORT_FUNC(avs_create_script_environment);
     IMPORT_FUNC(avs_invoke);
@@ -113,17 +113,17 @@ AVS_T *initAVS(const char *filename)
     IMPORT_FUNC(avs_get_frame);
     IMPORT_FUNC(avs_release_video_frame);
     IMPORT_FUNC(avs_get_audio);
-    
+
     AVS->avs_env = AVS->avs_create_script_environment(AVISYNTH_INTERFACE_VERSION);
     if (!AVS->avs_env)
     {
         mp_msg(MSGT_DEMUX, MSGL_V, "AVS: avs_create_script_environment failed\n");
         goto avs_err;
     }
-    
+
 
     AVS->handler = AVS->avs_invoke(AVS->avs_env, "Import", args, 0);
-    
+
     if (avs_is_error(AVS->handler))
     {
         mp_msg(MSGT_DEMUX, MSGL_V, "AVS: Avisynth error: %s\n", avs_as_string(AVS->handler));
@@ -135,7 +135,7 @@ AVS_T *initAVS(const char *filename)
         mp_msg(MSGT_DEMUX, MSGL_V, "AVS: Avisynth doesn't return a clip\n");
         goto avs_err;
     }
-    
+
     return AVS;
 
 avs_err:
@@ -156,7 +156,7 @@ static __inline int get_mmioFOURCC(const
     if (avs_is_rgb32(v)) return mmioFOURCC(32, 'R', 'G', 'B');
     if (avs_is_yv12(v)) return mmioFOURCC('Y', 'V', '1', '2');
     if (avs_is_yuy(v)) return mmioFOURCC('Y', 'U', 'Y', ' ');
-    if (avs_is_yuy2(v)) return mmioFOURCC('Y', 'U', 'Y', '2');    
+    if (avs_is_yuy2(v)) return mmioFOURCC('Y', 'U', 'Y', '2');
     return 0;
 }
 #endif
@@ -202,7 +202,7 @@ static int demux_avs_fill_buffer(demuxer
         AVS->frameno++;
         AVS->avs_release_video_frame(curr_frame);
     }
-    
+
     /* Audio */
     if (ds == demuxer->audio)
     {
@@ -218,7 +218,7 @@ static int demux_avs_fill_buffer(demuxer
         }
         dp = new_demux_packet(l);
         dp->pts = AVS->sampleno / sh_audio->samplerate;
-        
+
         if (AVS->avs_get_audio(AVS->clip, dp->buffer, AVS->sampleno, samples))
         {
             mp_msg(MSGT_DEMUX, MSGL_V, "AVS: avs_get_audio() failed\n");
@@ -228,7 +228,7 @@ static int demux_avs_fill_buffer(demuxer
 
         AVS->sampleno += samples;
     }
-    
+
     return 1;
 }
 
@@ -256,7 +256,7 @@ static demuxer_t* demux_open_avs(demuxer
         mp_msg(MSGT_DEMUX, MSGL_V, "AVS: avs_get_video_info() call failed\n");
         return NULL;
     }
-    
+
     if (!avs_is_yv12(AVS->video_info))
     {
         AVS->handler = AVS->avs_invoke(AVS->avs_env, "ConvertToYV12", avs_new_value_array(&AVS->handler, 1), 0);
@@ -265,9 +265,9 @@ static demuxer_t* demux_open_avs(demuxer
             mp_msg(MSGT_DEMUX, MSGL_V, "AVS: Cannot convert input video to YV12: %s\n", avs_as_string(AVS->handler));
             return NULL;
         }
-        
+
         AVS->clip = AVS->avs_take_clip(AVS->handler, AVS->avs_env);
-        
+
         if(!AVS->clip)
         {
             mp_msg(MSGT_DEMUX, MSGL_V, "AVS: avs_take_clip() failed\n");
@@ -281,39 +281,39 @@ static demuxer_t* demux_open_avs(demuxer
             return NULL;
         }
     }
-    
+
     // TODO check field-based ??
 
-    /* Video */  
+    /* Video */
     if (avs_has_video(AVS->video_info))
     {
         sh_video_t *sh_video = new_sh_video(demuxer, 0);
         found = 1;
-        
+
         if (demuxer->video->id == -1) demuxer->video->id = 0;
         if (demuxer->video->id == 0)
         demuxer->video->sh = sh_video;
         sh_video->ds = demuxer->video;
-        
+
         sh_video->disp_w = AVS->video_info->width;
         sh_video->disp_h = AVS->video_info->height;
-        
+
         //sh_video->format = get_mmioFOURCC(AVS->video_info);
         sh_video->format = mmioFOURCC('Y', 'V', '1', '2');
         sh_video->fps = (double) AVS->video_info->fps_numerator / (double) AVS->video_info->fps_denominator;
         sh_video->frametime = 1.0 / sh_video->fps;
-        
+
         sh_video->bih = malloc(sizeof(BITMAPINFOHEADER) + (256 * 4));
         sh_video->bih->biCompression = sh_video->format;
         sh_video->bih->biBitCount = avs_bits_per_pixel(AVS->video_info);
         //sh_video->bih->biPlanes = 2;
-        
+
         sh_video->bih->biWidth = AVS->video_info->width;
         sh_video->bih->biHeight = AVS->video_info->height;
         sh_video->num_frames = 0;
         sh_video->num_frames_decoded = 0;
     }
-    
+
     /* Audio */
     if (avs_has_audio(AVS->video_info))
       switch (AVS->video_info->sample_type) {
@@ -335,7 +335,7 @@ static demuxer_t* demux_open_avs(demuxer
         if (demuxer->audio->id == 0)
         demuxer->audio->sh = sh_audio;
         sh_audio->ds = demuxer->audio;
-        
+
         sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
         sh_audio->wf->wFormatTag = sh_audio->format =
             (AVS->video_info->sample_type == AVS_SAMPLE_FLOAT) ? 0x3 : 0x1;
@@ -357,7 +357,7 @@ static demuxer_t* demux_open_avs(demuxer
 }
 
 static int demux_avs_control(demuxer_t *demuxer, int cmd, void *arg)
-{   
+{
     sh_video_t *sh_video=demuxer->video->sh;
     sh_audio_t *sh_audio=demuxer->audio->sh;
     AVS_T *AVS = demuxer->priv;
@@ -416,15 +416,15 @@ static void demux_seek_avs(demuxer_t *de
     double duration = sh_video ?
                       (double)AVS->video_info->num_frames / sh_video->fps :
                       (double)AVS->video_info->num_audio_samples / sh_audio->samplerate;
-    
+
     //mp_msg(MSGT_DEMUX, MSGL_V, "AVS: seek rel_seek_secs = %f - flags = %x\n", rel_seek_secs, flags);
-    
+
     if (flags&SEEK_ABSOLUTE) video_pos=0;
     if (flags&SEEK_FACTOR) rel_seek_secs *= duration;
 
     video_pos += rel_seek_secs;
     if (video_pos < 0) video_pos = 0;
-        
+
     if (sh_video) {
       AVS->frameno = FFMIN(video_pos * sh_video->fps,
                            AVS->video_info->num_frames);
@@ -443,16 +443,16 @@ static int avs_check_file(demuxer_t *dem
     mp_msg(MSGT_DEMUX, MSGL_V, "AVS: avs_check_file - attempting to open file %s\n", demuxer->filename);
 
     if (!demuxer->filename) return 0;
-    
+
     /* Avoid crazy memory eating when passing an mpg stream */
     if (demuxer->movi_end > MAX_AVS_SIZE)
     {
         mp_msg(MSGT_DEMUX,MSGL_V, "AVS: File is too big, aborting...\n");
         return 0;
     }
-    
+
     demuxer->priv = initAVS(demuxer->filename);
-    
+
     if (demuxer->priv)
     {
         mp_msg(MSGT_DEMUX,MSGL_V, "AVS: Init Ok\n");

Modified: trunk/libmpdemux/demux_avs.h
==============================================================================
--- trunk/libmpdemux/demux_avs.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_avs.h	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@ enum { AVISYNTH_INTERFACE_VERSION = 2 };
 enum
 {
   AVS_SAMPLE_INT8  = 1<<0,
-  AVS_SAMPLE_INT16 = 1<<1, 
+  AVS_SAMPLE_INT16 = 1<<1,
   AVS_SAMPLE_INT24 = 1<<2,
   AVS_SAMPLE_INT32 = 1<<3,
   AVS_SAMPLE_FLOAT = 1<<4
@@ -53,7 +53,7 @@ enum
 // Colorspace properties.
 enum
 {
-  AVS_CS_BGR = 1<<28,  
+  AVS_CS_BGR = 1<<28,
   AVS_CS_YUV = 1<<29,
   AVS_CS_INTERLEAVED = 1<<30,
   AVS_CS_PLANAR = 1<<31
@@ -96,7 +96,7 @@ typedef struct AVS_VideoInfo {
   int num_frames;
 
   int pixel_type;
-  
+
   int audio_samples_per_second;   // 0 means no audio
   int sample_type;
   uint64_t num_audio_samples;
@@ -153,13 +153,13 @@ static inline int avs_is_yuy(const AVS_V
 { return p->pixel_type & AVS_CS_YUV; }
 
 static inline int avs_is_yuy2(const AVS_VideoInfo * p)
-{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }  
+{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }
 
 static inline int avs_is_yv12(const AVS_VideoInfo * p)
-{ return ((p->pixel_type & AVS_CS_YV12) == AVS_CS_YV12)||((p->pixel_type & AVS_CS_I420) == AVS_CS_I420); }       
+{ return ((p->pixel_type & AVS_CS_YV12) == AVS_CS_YV12)||((p->pixel_type & AVS_CS_I420) == AVS_CS_I420); }
 
-static inline int avs_bits_per_pixel(const AVS_VideoInfo * p) 
-{ 
+static inline int avs_bits_per_pixel(const AVS_VideoInfo * p)
+{
   switch (p->pixel_type) {
       case AVS_CS_BGR24: return 24;
       case AVS_CS_BGR32: return 32;

Modified: trunk/libmpdemux/demux_demuxers.c
==============================================================================
--- trunk/libmpdemux/demux_demuxers.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_demuxers.c	Wed May 13 04:58:57 2009	(r29305)
@@ -39,7 +39,7 @@ demuxer_t*  new_demuxers_demuxer(demuxer
   dd_priv_t* priv;
 
   ret = calloc(1,sizeof(demuxer_t));
-  
+
   priv = malloc(sizeof(dd_priv_t));
   priv->vd = vd;
   priv->ad = ad;
@@ -50,7 +50,7 @@ demuxer_t*  new_demuxers_demuxer(demuxer
   // Video is the most important :-)
   ret->stream = vd->stream;
   ret->seekable = vd->seekable && ad->seekable && sd->seekable;
- 
+
   ret->video = vd->video;
   ret->audio = ad->audio;
   ret->sub = sd->sub;
@@ -76,7 +76,7 @@ static int demux_demuxers_fill_buffer(de
     return demux_fill_buffer(priv->ad,ds);
   else if(ds->demuxer == priv->sd)
     return demux_fill_buffer(priv->sd,ds);
- 
+
   mp_msg(MSGT_DEMUX,MSGL_WARN,MSGTR_MPDEMUX_DEMUXERS_FillBufferError);
   return 0;
 }
@@ -132,7 +132,7 @@ static void demux_close_demuxers(demuxer
 
   free(priv);
 }
-  
+
 
 static int demux_demuxers_control(demuxer_t *demuxer,int cmd, void *arg){
   dd_priv_t* priv = demuxer->priv;

Modified: trunk/libmpdemux/demux_film.c
==============================================================================
--- trunk/libmpdemux/demux_film.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_film.c	Wed May 13 04:58:57 2009	(r29305)
@@ -92,7 +92,7 @@ mp_msg(MSGT_DECVIDEO, MSGL_INFO,"current
 mp_msg(MSGT_DECVIDEO, MSGL_INFO,"  (flags = %X)  actual new chunk = %d (syncinfo1 = %08X)\n",
   flags, film_data->current_chunk, film_data->chunks[film_data->current_chunk].syncinfo1);
   demuxer->video->pts=film_data->chunks[film_data->current_chunk].pts;
-  
+
 }
 
 // return value:
@@ -191,8 +191,8 @@ static int demux_film_fill_buffer(demuxe
         return 0;
       stream_skip(demuxer->stream, length_fix_bytes);
 
-      if (stream_read(demuxer->stream, dp->buffer + 10, 
-        film_chunk.chunk_size - (10 + length_fix_bytes)) != 
+      if (stream_read(demuxer->stream, dp->buffer + 10,
+        film_chunk.chunk_size - (10 + length_fix_bytes)) !=
         (film_chunk.chunk_size - (10 + length_fix_bytes)))
         return 0;
 
@@ -335,14 +335,14 @@ static demuxer_t* demux_open_film(demuxe
           sh_audio->wf->wBitsPerSample = stream_read_char(demuxer->stream);
           stream_skip(demuxer->stream, 1);  // skip unknown byte
           sh_audio->wf->nSamplesPerSec = stream_read_word(demuxer->stream);
-          sh_audio->wf->nAvgBytesPerSec = 
-            sh_audio->wf->nSamplesPerSec * sh_audio->wf->wBitsPerSample 
+          sh_audio->wf->nAvgBytesPerSec =
+            sh_audio->wf->nSamplesPerSec * sh_audio->wf->wBitsPerSample
             * sh_audio->wf->nChannels / 8;
           stream_skip(demuxer->stream, 6);  // skip the rest of the unknown
 
           mp_msg(MSGT_DECVIDEO, MSGL_V,
             "  FILM audio: %d channels, %d bits, %d Hz\n",
-            sh_audio->wf->nChannels, 8 * sh_audio->wf->wBitsPerSample, 
+            sh_audio->wf->nChannels, 8 * sh_audio->wf->wBitsPerSample,
             sh_audio->wf->nSamplesPerSec);
         }
         else
@@ -365,13 +365,13 @@ static demuxer_t* demux_open_film(demuxe
         sh_audio->wf->nChannels = 1;
         sh_audio->wf->wBitsPerSample = 8;
         sh_audio->wf->nSamplesPerSec = 22050;
-        sh_audio->wf->nAvgBytesPerSec = 
-          sh_audio->wf->nSamplesPerSec * sh_audio->wf->wBitsPerSample 
+        sh_audio->wf->nAvgBytesPerSec =
+          sh_audio->wf->nSamplesPerSec * sh_audio->wf->wBitsPerSample
           * sh_audio->wf->nChannels / 8;
 
         mp_msg(MSGT_DECVIDEO, MSGL_V,
           "  FILM audio: %d channels, %d bits, %d Hz\n",
-          sh_audio->wf->nChannels, sh_audio->wf->wBitsPerSample, 
+          sh_audio->wf->nChannels, sh_audio->wf->wBitsPerSample,
           sh_audio->wf->nSamplesPerSec);
       }
       break;
@@ -392,7 +392,7 @@ static demuxer_t* demux_open_film(demuxe
         "  STAB chunk contains %d chunks\n", film_data->total_chunks);
 
       // allocate enough entries for the chunk
-      film_data->chunks = 
+      film_data->chunks =
         calloc(film_data->total_chunks, sizeof(film_chunk_t));
 
       // build the chunk index
@@ -400,7 +400,7 @@ static demuxer_t* demux_open_film(demuxe
       for (i = 0; i < film_data->total_chunks; i++)
       {
         film_chunk = film_data->chunks[i];
-        film_chunk.chunk_offset = 
+        film_chunk.chunk_offset =
           demuxer->movi_start + stream_read_dword(demuxer->stream);
         film_chunk.chunk_size = stream_read_dword(demuxer->stream);
         film_chunk.syncinfo1 = stream_read_dword(demuxer->stream);
@@ -461,7 +461,7 @@ static void demux_close_film(demuxer_t* 
   if(film_data->chunks)
     free(film_data->chunks);
   free(film_data);
-  
+
 }
 
 static int film_check_file(demuxer_t* demuxer)

Modified: trunk/libmpdemux/demux_fli.c
==============================================================================
--- trunk/libmpdemux/demux_fli.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_fli.c	Wed May 13 04:58:57 2009	(r29305)
@@ -70,7 +70,7 @@ static int demux_fli_fill_buffer(demuxer
   // seem to do it, even though it takes a file offset as a parameter
   stream_seek(demuxer->stream, frames->filepos[frames->current_frame]);
   ds_read_packet(demuxer->video,
-    demuxer->stream, 
+    demuxer->stream,
     frames->frame_size[frames->current_frame],
     frames->current_frame/sh_video->fps,
     frames->filepos[frames->current_frame],
@@ -104,7 +104,7 @@ static demuxer_t* demux_open_fli(demuxer
   demuxer->movi_end = stream_read_dword_le(demuxer->stream);
 
   magic_number = stream_read_word_le(demuxer->stream);
-  
+
   if ((magic_number != 0xAF11) && (magic_number != 0xAF12))
   {
     mp_msg(MSGT_DEMUX, MSGL_ERR, "Bad/unknown magic number (%04x)\n",
@@ -146,7 +146,7 @@ static demuxer_t* demux_open_fli(demuxer
   sh_video->bih->biSize = sizeof(BITMAPINFOHEADER) + 128;
   sh_video->bih->biWidth = sh_video->disp_w;
   sh_video->bih->biHeight = sh_video->disp_h;
-    
+
   // skip the video depth and flags
   stream_skip(demuxer->stream, 4);
 

Modified: trunk/libmpdemux/demux_gif.c
==============================================================================
--- trunk/libmpdemux/demux_gif.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_gif.c	Wed May 13 04:58:57 2009	(r29305)
@@ -51,7 +51,7 @@ int my_read_gif(GifFileType *gif, uint8_
   return stream_read(gif->UserData, buf, len);
 }
 #endif
-  
+
 static int gif_check_file(demuxer_t *demuxer)
 {
   if (stream_read_int24(demuxer->stream) == GIF_SIGNATURE)
@@ -125,7 +125,7 @@ static int demux_gif_fill_buffer(demuxer
           // http://samples.mplayerhq.hu/GIF/broken-gif/CLAIRE.GIF
           if (refmode == 0) refmode = 1;
           frametime = (p[3] << 8) | p[2]; // set the time, centiseconds
-          transparent_col = p[4];  
+          transparent_col = p[4];
         }
         priv->current_pts += frametime;
       } else if ((code == 0xFE) && (verbose)) { // comment extension
@@ -151,7 +151,7 @@ static int demux_gif_fill_buffer(demuxer
       }
     }
   }
-  
+
   if (DGifGetImageDesc(gif) == GIF_ERROR) {
     PrintGifError();
     return 0; // oops
@@ -164,7 +164,7 @@ static int demux_gif_fill_buffer(demuxer
     fast_memcpy(dp->buffer, priv->refimg, priv->w * priv->h);
   else
     memset(dp->buffer, gif->SBackGroundColor, priv->w * priv->h);
-  
+
   if (DGifGetLine(gif, buf, len) == GIF_ERROR) {
     PrintGifError();
     return 0; // oops
@@ -275,10 +275,10 @@ static demuxer_t* demux_open_gif(demuxer
   sh_video->ds = demuxer->video;
 
   sh_video->format = mmioFOURCC(8, 'R', 'G', 'B');
-  
+
   sh_video->fps = 5.0f;
   sh_video->frametime = 1.0f / sh_video->fps;
-  
+
   sh_video->bih = malloc(sizeof(BITMAPINFOHEADER) + (256 * 4));
   sh_video->bih->biCompression = sh_video->format;
   sh_video->bih->biWidth = priv->w = (uint16_t)gif->SWidth;
@@ -287,7 +287,7 @@ static demuxer_t* demux_open_gif(demuxer
   sh_video->bih->biPlanes = 2;
   priv->palette = (unsigned char *)(sh_video->bih + 1);
   priv->refimg = malloc(priv->w * priv->h);
-  
+
   priv->gif = gif;
   demuxer->priv = priv;
 

Modified: trunk/libmpdemux/demux_lmlm4.c
==============================================================================
--- trunk/libmpdemux/demux_lmlm4.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_lmlm4.c	Wed May 13 04:58:57 2009	(r29305)
@@ -58,11 +58,11 @@ typedef struct FrameInfo
 
 /*
 // codes in MSB first
-static unsigned int start_code [] = 
+static unsigned int start_code [] =
 {
-    0xB0010000,         // VISUAL_OBJECT_SEQUENCE_START_CODE   
-    0xB6010000,         // VOP_START_CODE                      
-    0x04C4FDFF,          // MPEG1LAYERII_START_CODE             
+    0xB0010000,         // VISUAL_OBJECT_SEQUENCE_START_CODE
+    0xB6010000,         // VOP_START_CODE
+    0x04C4FDFF,          // MPEG1LAYERII_START_CODE
     0x00000000          // end of start codes list
 };
 */
@@ -70,7 +70,7 @@ static unsigned int start_code [] = 
 static int imeHeaderValid(FrameInfo *frame)
 {
     if ( frame->channelNo > 7 ||
-         frame->frameSize > MAX_PACKET_SIZE || frame->frameSize <= 0) 
+         frame->frameSize > MAX_PACKET_SIZE || frame->frameSize <= 0)
     {
         mp_msg(MSGT_DEMUX, MSGL_V, "Invalid packet in LMLM4 stream: ch=%d size=%d\n", frame->channelNo, frame->frameSize);
         return 0;
@@ -78,11 +78,11 @@ static int imeHeaderValid(FrameInfo *fra
     switch (frame->frameType) {
     case FRAMETYPE_I:
     case FRAMETYPE_P:
-    case FRAMETYPE_B:            
+    case FRAMETYPE_B:
     case FRAMETYPE_AUDIO_MPEG1L2:
     case FRAMETYPE_AUDIO_ULAW:
     case FRAMETYPE_AUDIO_ADPCM:
-        break;   
+        break;
     default:
         mp_msg(MSGT_DEMUX, MSGL_V, "Invalid packet in LMLM4 stream (wrong packet type %d)\n", frame->frameType);
         return 0;
@@ -104,17 +104,17 @@ int searchMPEG4Stream(demuxer_t* demuxer
 
     imeHeaderSwap(imeHeader);
     memcpy(data + imeHeaderSize, imeHeader, imeHeaderSize);
-    
+
 //    printHex(data + imeHeaderSize, imeHeaderSize);
 
-    while ((errNo = stream_read(demuxer->stream, data + imeHeaderSize * 2 , imeHeaderSize)) == imeHeaderSize) 
+    while ((errNo = stream_read(demuxer->stream, data + imeHeaderSize * 2 , imeHeaderSize)) == imeHeaderSize)
     {
 //        printHex(data + imeHeaderSize * 2, imeHeaderSize);
 
         pos = stream_tell(demuxer->stream);
         while (dataSize - ptr >= STREAM_START_CODE_SIZE) {
             startCodeNo = 0;
-            while (start_code[startCodeNo]) 
+            while (start_code[startCodeNo])
             {
                 if (memcmp(&start_code[startCodeNo], data + ptr, STREAM_START_CODE_SIZE) == 0) // start code match
                 {
@@ -157,11 +157,11 @@ static int getFrame(demuxer_t *demuxer, 
     frameInfo->paddingSize = (packetSize & PACKET_BLOCK_LAST) ? PACKET_BLOCK_SIZE - (packetSize & PACKET_BLOCK_LAST) : 0;
 
     mp_msg(MSGT_DEMUX, MSGL_DBG2, "typ: %d chan: %d size: %d pad: %d\n",
-            frameInfo->frameType,                                        
-            frameInfo->channelNo,                                        
-            frameInfo->frameSize,                                        
-            frameInfo->paddingSize);                                     
-    
+            frameInfo->frameType,
+            frameInfo->channelNo,
+            frameInfo->frameSize,
+            frameInfo->paddingSize);
+
     if(!imeHeaderValid(frameInfo)){
 	// skip this packet
 	stream_skip(demuxer->stream,PACKET_BLOCK_SIZE-8);
@@ -171,14 +171,14 @@ static int getFrame(demuxer_t *demuxer, 
 
     return 1;
 }
-                        
+
 static int lmlm4_check_file(demuxer_t* demuxer)
 {
     FrameInfo frameInfo;
     unsigned int first;
-    
+
     mp_msg(MSGT_DEMUX, MSGL_V, "Checking for LMLM4 Stream Format\n");
-    
+
     if(getFrame(demuxer, &frameInfo)!=1){
 	stream_skip(demuxer->stream,-8);
         mp_msg(MSGT_DEMUX, MSGL_V, "LMLM4 Stream Format not found\n");
@@ -186,16 +186,16 @@ static int lmlm4_check_file(demuxer_t* d
     }
     first=stream_read_dword(demuxer->stream);
     stream_skip(demuxer->stream,-12);
-    
+
     mp_msg(MSGT_DEMUXER,MSGL_V,"LMLM4: first=0x%08X\n",first);
-    
+
     switch(frameInfo.frameType){
     case FRAMETYPE_AUDIO_MPEG1L2:
 	if( (first & 0xffe00000) != 0xffe00000 ){
     	    mp_msg(MSGT_DEMUXER,MSGL_V,"LMLM4: not mpeg audio\n");
     	    return 0;
 	}
-	if((4-((first>>17)&3))!=2){ 
+	if((4-((first>>17)&3))!=2){
     	    mp_msg(MSGT_DEMUXER,MSGL_V,"LMLM4: not layer-2\n");
     	    return 0;
 	}
@@ -231,16 +231,16 @@ static int demux_lmlm4_fill_buffer(demux
 //hdr:
     demux->filepos = stream_tell(demux->stream);
     mp_msg(MSGT_DEMUX, MSGL_DBG2, "fpos = %"PRId64"\n", (int64_t)demux->filepos);
-    
+
     ret=getFrame(demux, &frameInfo);
     if(ret<=0) return ret; // EOF/error
-    
+
     pts=demux->video->sh ? frames*((sh_video_t*)(demux->video->sh))->frametime : 0;
-    
+
     switch(frameInfo.frameType){
     case FRAMETYPE_AUDIO_MPEG1L2:
         mp_dbg(MSGT_DEMUX, MSGL_DBG2, "Audio Packet\n");
-        if (!video) 
+        if (!video)
         {
             stream_skip(demux->stream, frameInfo.frameSize + frameInfo.paddingSize);
             mp_msg(MSGT_DEMUX, MSGL_V, "Skip Audio Packet\n");
@@ -265,7 +265,7 @@ static int demux_lmlm4_fill_buffer(demux
         }
     case FRAMETYPE_P:
 	frames=(frames+1)&(1024*1024-1); // wrap around at 4 hrs to avoid inaccurate float calculations
-        if (!video) 
+        if (!video)
         {
             stream_skip(demux->stream, frameInfo.frameSize + frameInfo.paddingSize);
             mp_msg(MSGT_DEMUX, MSGL_V, "Skip Video P Packet\n");
@@ -285,7 +285,7 @@ static int demux_lmlm4_fill_buffer(demux
     default:
 	stream_skip(demux->stream,frameInfo.frameSize);
     }
-    
+
     stream_skip(demux->stream, frameInfo.paddingSize);
 
     return 1;
@@ -300,7 +300,7 @@ static demuxer_t* demux_open_lmlm4(demux
     sh_audio_t* sh_audio;
     unsigned int htype = 0, hleng;
     int i = 0;
-    
+
     sh_video = new_sh_video(demuxer, 0);
     demuxer->video->sh = sh_video;
     sh_video->ds = demuxer->video;
@@ -319,7 +319,7 @@ static demuxer_t* demux_open_lmlm4(demux
     sh_video->bih->biBitCount = 16;
     sh_video->bih->biCompression = sh_video->format;
     sh_video->bih->biSizeImage = sh_video->disp_w*sh_video->disp_h;
-    
+
     sh_audio = new_sh_audio(demuxer, 0);
     demuxer->audio->sh = sh_audio;
     sh_audio->ds = demuxer->audio;
@@ -342,7 +342,7 @@ static demuxer_t* demux_open_lmlm4(demux
 #endif
 
     demuxer->seekable = 0;
-    
+
     if(!ds_fill_buffer(demuxer->video)){
         mp_msg(MSGT_DEMUXER,MSGL_INFO,"LMLM4: " MSGTR_MissingVideoStream);
         demuxer->video->sh=NULL;
@@ -356,8 +356,8 @@ static demuxer_t* demux_open_lmlm4(demux
         } else {
             sh_audio=demuxer->audio->sh;sh_audio->ds=demuxer->audio;
         }
-    }    
-    
+    }
+
     return demuxer;
 }
 

Modified: trunk/libmpdemux/demux_mf.c
==============================================================================
--- trunk/libmpdemux/demux_mf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_mf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -36,7 +36,7 @@ static void demux_seek_mf(demuxer_t *dem
   mf_t * mf = (mf_t *)demuxer->priv;
   sh_video_t   * sh_video = demuxer->video->sh;
   int newpos = (flags & SEEK_ABSOLUTE)?0:mf->curr_frame - 1;
-  
+
   if ( flags & SEEK_FACTOR ) newpos+=rel_seek_secs*(mf->nr_of_files - 1);
    else newpos+=rel_seek_secs * sh_video->fps;
   if ( newpos < 0 ) newpos=0;
@@ -107,7 +107,7 @@ static demuxer_t* demux_open_mf(demuxer_
   sh_video_t   *sh_video = NULL;
   mf_t         *mf = NULL;
   int i;
-  
+
   if(!demuxer->stream->url) return NULL;
   if(strncmp(demuxer->stream->url, "mf://", 5)) return NULL;
 
@@ -140,7 +140,7 @@ static demuxer_t* demux_open_mf(demuxer_
   // parent video demuxer stream (this is getting wacky), or else
   // video_read_properties() will choke
   sh_video->ds = demuxer->video;
-  
+
   for (i = 0; type2format[i].type; i++)
     if (strcasecmp(mf_type, type2format[i].type) == 0)
       break;
@@ -180,7 +180,7 @@ static void demux_close_mf(demuxer_t* de
 
   if(!mf)
     return;
-  free(mf);  
+  free(mf);
 }
 
 static int demux_control_mf(demuxer_t *demuxer, int cmd, void *arg) {

Modified: trunk/libmpdemux/demux_mkv.c
==============================================================================
--- trunk/libmpdemux/demux_mkv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_mkv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -90,13 +90,13 @@ typedef struct mkv_track
 {
   int tnum;
   char *name;
-  
+
   char *codec_id;
   int ms_compat;
   char *language;
 
   int type;
-  
+
   uint32_t v_width, v_height, v_dwidth, v_dheight;
   float v_frate;
 
@@ -187,7 +187,7 @@ typedef struct mkv_demuxer
   int v_skip_to_keyframe, a_skip_to_keyframe;
 
   int64_t stop_timecode;
-  
+
   int last_aid;
   int audio_tracks[MAX_A_STREAMS];
 } mkv_demuxer_t;
@@ -222,7 +222,7 @@ demux_mkv_find_track_by_num (mkv_demuxer
     if (d->tracks[i] != NULL && d->tracks[i]->type == type)
       if (id++ == n)
         return d->tracks[i];
-  
+
   return NULL;
 }
 
@@ -431,7 +431,7 @@ demux_mkv_read_info (demuxer_t *demuxer)
           }
 
         default:
-          ebml_read_skip (s, &l); 
+          ebml_read_skip (s, &l);
           break;
         }
       length -= l + il;
@@ -802,7 +802,7 @@ demux_mkv_read_trackentry (demuxer_t *de
                     track->name);
             break;
           }
-          
+
         case MATROSKA_ID_TRACKTYPE:
           {
             uint64_t num = ebml_read_uint (s, &l);
@@ -997,7 +997,7 @@ demux_mkv_read_cues (demuxer_t *demuxer)
         ebml_read_skip (s, NULL);
         return 0;
       }
-  mkv_d->parsed_cues = realloc (mkv_d->parsed_cues, 
+  mkv_d->parsed_cues = realloc (mkv_d->parsed_cues,
                                 (mkv_d->parsed_cues_num+1)
                                 * sizeof (off_t));
   mkv_d->parsed_cues[mkv_d->parsed_cues_num++] = off;
@@ -1084,7 +1084,7 @@ demux_mkv_read_cues (demuxer_t *demuxer)
           mkv_d->indexes[mkv_d->num_indexes].timecode = time;
           mkv_d->indexes[mkv_d->num_indexes].filepos =mkv_d->segment_start+pos;
           mp_msg (MSGT_DEMUX, MSGL_DBG2, "[mkv] |+ found cue point "
-                  "for track %"PRIu64": timecode %"PRIu64", filepos: %"PRIu64"\n", 
+                  "for track %"PRIu64": timecode %"PRIu64", filepos: %"PRIu64"\n",
                   track, time, mkv_d->segment_start + pos);
           mkv_d->num_indexes++;
         }
@@ -1189,9 +1189,9 @@ demux_mkv_read_chapters (demuxer_t *demu
 
                       if (!name)
                         name = strdup("(unnamed)");
-                      
+
                       cid = demuxer_add_chapter(demuxer, name, start, end);
-                      
+
                       mp_msg(MSGT_DEMUX, MSGL_V,
                              "[mkv] Chapter %u from %02d:%02d:%02d."
                              "%03d to %02d:%02d:%02d.%03d, %s\n",
@@ -1348,7 +1348,7 @@ demux_mkv_read_seekhead (demuxer_t *demu
         ebml_read_skip (s, NULL);
         return 0;
       }
-  mkv_d->parsed_seekhead = realloc (mkv_d->parsed_seekhead, 
+  mkv_d->parsed_seekhead = realloc (mkv_d->parsed_seekhead,
                                     (mkv_d->parsed_seekhead_num+1)
                                     * sizeof (off_t));
   mkv_d->parsed_seekhead[mkv_d->parsed_seekhead_num++] = off;
@@ -2323,7 +2323,7 @@ demux_mkv_read_block_lacing (uint8_t *bu
         case 1:  /* xiph lacing */
           for (i=0; i < *laces-1; i++)
             {
-              lace_size[i] = 0; 
+              lace_size[i] = 0;
               do
                 {
                   lace_size[i] += *buffer;
@@ -2663,9 +2663,9 @@ handle_block (demuxer_t *demuxer, uint8_
     {
       ds = demuxer->audio;
 
-      if (mkv_d->a_skip_to_keyframe) 
+      if (mkv_d->a_skip_to_keyframe)
         {
-          if (simpleblock) 
+          if (simpleblock)
             {
                if (!(flags&0x80))   /*current frame isn't a keyframe*/
                  use_this_block = 0;
@@ -3002,7 +3002,7 @@ demux_mkv_seek (demuxer_t *demuxer, floa
       else
         {
           mkv_index_t *index = NULL;
-          int seek_id = (demuxer->video->id < 0) ? demuxer->audio->id : demuxer->video->id;  
+          int seek_id = (demuxer->video->id < 0) ? demuxer->audio->id : demuxer->video->id;
 
           /* let's find the entry in the indexes with the smallest */
           /* difference to the wanted timecode. */
@@ -3093,7 +3093,7 @@ static int
 demux_mkv_control (demuxer_t *demuxer, int cmd, void *arg)
 {
   mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
-  
+
   switch (cmd)
     {
     case DEMUXER_CTRL_CORRECT_PTS:
@@ -3112,7 +3112,7 @@ demux_mkv_control (demuxer_t *demuxer, i
         }
 
       *((int *) arg) = (int) (100 * mkv_d->last_pts / mkv_d->duration);
-      return DEMUXER_CTRL_OK; 
+      return DEMUXER_CTRL_OK;
 
     case DEMUXER_CTRL_SWITCH_AUDIO:
       if (demuxer->audio && demuxer->audio->sh) {

Modified: trunk/libmpdemux/demux_mov.c
==============================================================================
--- trunk/libmpdemux/demux_mov.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_mov.c	Wed May 13 04:58:57 2009	(r29305)
@@ -140,7 +140,7 @@ typedef struct {
     unsigned int nchannels;
     unsigned int samplebytes;
     //
-    int tkdata_len;  // track data 
+    int tkdata_len;  // track data
     unsigned char* tkdata;
     int stdata_len;  // stream data
     unsigned char* stdata;
@@ -174,11 +174,11 @@ void mov_build_index(mov_track_t* trak,i
     if (trak->chunks_size <= 0)
     {
 	mp_msg(MSGT_DEMUX, MSGL_WARN, "No chunk offset table, trying to build one!\n");
-	
+
 	trak->chunks_size = trak->samples_size; /* XXX: FIXME ! */
 	// audit: this code will be vulnerable if it is reenabled (currently #if 0)
 	trak->chunks = realloc(trak->chunks, sizeof(mov_chunk_t)*trak->chunks_size);
-	
+
 	for (i=0; i < trak->chunks_size; i++)
 	    trak->chunks[i].pos = -1;
     }
@@ -241,7 +241,7 @@ void mov_build_index(mov_track_t* trak,i
 	} else mp_msg(MSGT_DEMUX, MSGL_ERR, "*** constant samplesize & variable duration not yet supported! ***\nContact the author if you have such sample file!\n");
 	return;
     }
-    
+
     if (trak->samples_size < s) {
       mp_msg(MSGT_DEMUX, MSGL_WARN,
              "MOV: durmap or chunkmap bigger than sample count (%i vs %i)\n",
@@ -261,7 +261,7 @@ void mov_build_index(mov_track_t* trak,i
 	    pts+=trak->durmap[j].dur;
 	}
     }
-    
+
     // calc sample offsets
     s=0;
     for(j=0;j<trak->chunks_size;j++){
@@ -337,12 +337,12 @@ static int mov_check_file(demuxer_t* dem
     int flags=0;
     int no=0;
     mov_priv_t* priv=malloc(sizeof(mov_priv_t));
-    
+
     mp_msg(MSGT_DEMUX,MSGL_V,"Checking for MOV\n");
-    
+
     memset(priv,0,sizeof(mov_priv_t));
     priv->current_sub = -1;
-    
+
     while(1){
 	int i;
 	int skipped=8;
@@ -372,7 +372,7 @@ static int mov_check_file(demuxer_t* dem
 	switch(id){
 	case MOV_FOURCC('f','t','y','p'): {
 	  unsigned int tmp;
-	  // File Type Box (ftyp): 
+	  // File Type Box (ftyp):
 	  // char[4]  major_brand	   (eg. 'isom')
 	  // int      minor_version	   (eg. 0x00000000)
 	  // char[4]  compatible_brands[]  (eg. 'mp41')
@@ -418,7 +418,7 @@ static int mov_check_file(demuxer_t* dem
 	      mp_msg(MSGT_DEMUX,MSGL_INFO,"ISO: File Type Major Brand: Mobile ISO/IEC 14496-1 (MPEG-4 system)\n");
      	      break;
 	    default:
-	      tmp = be2me_32(tmp);  
+	      tmp = be2me_32(tmp);
 	      mp_msg(MSGT_DEMUX,MSGL_WARN,"ISO: Unknown File Type Major Brand: %.4s\n",(char *)&tmp);
 	  }
 	  mp_msg(MSGT_DEMUX,MSGL_V,"ISO: File Type Minor Version: %d\n",
@@ -430,7 +430,7 @@ static int mov_check_file(demuxer_t* dem
 	    mp_msg(MSGT_DEMUX,MSGL_V,"ISO: File Type Compatible Brand #%d: %.4s\n",i,(char *)&tmp);
 	    skipped += 4;
 	  }
-#endif	  
+#endif
 	  } break;
 	case MOV_FOURCC('m','o','o','v'):
 //	case MOV_FOURCC('c','m','o','v'):
@@ -461,14 +461,14 @@ static int mov_check_file(demuxer_t* dem
 	              int slen=stream_read_dword(demuxer->stream);
 		      //char* s=malloc(slen+1);
 		      //stream_read(demuxer->stream,s,slen);
-		      
+
 		      //FIXME: also store type & data_rate ?
-		      ds_read_packet(demuxer->video, 
+		      ds_read_packet(demuxer->video,
 			demuxer->stream,
 			slen,
 			0,
 			stream_tell(demuxer->stream),
-			0 // no flags 
+			0 // no flags
 		      );
 		      flags|=4;
 		      mp_msg(MSGT_DEMUX,MSGL_V,"Added reference to playlist\n");
@@ -597,13 +597,13 @@ static int lschunks_intrak(demuxer_t* de
                            off_t pos, off_t len, mov_track_t* trak);
 
 static int gen_sh_audio(sh_audio_t* sh, mov_track_t* trak, int timescale) {
-#if 0				   
+#if 0
 		struct {
 		   int16_t version;		// 0 or 1 (version 1 is qt3.0+)
 		   int16_t revision;		// 0
 		   int32_t vendor_id;		// 0
 		   int16_t channels;		// 1 or 2  (Mono/Stereo)
-		   int16_t samplesize;		// 8 or 16 (8Bit/16Bit)	
+		   int16_t samplesize;		// 8 or 16 (8Bit/16Bit)
 		   int16_t compression_id;	// if version 0 then 0
 		  				// if version 1 and vbr then -2 else 0
 		   int16_t packet_size;		// 0
@@ -620,8 +620,8 @@ static int gen_sh_audio(sh_audio_t* sh, 
 		   // ---
 		   // optional additional atom-based fields
 		   // ([int32_t size,int32_t type,some data ],repeat)
-		} my_stdata;		  
-#endif		
+		} my_stdata;
+#endif
 		int version, adjust;
 		int is_vorbis = 0;
 		sh->format=trak->fourcc;
@@ -642,7 +642,7 @@ static int gen_sh_audio(sh_audio_t* sh, 
 			trak->nchannels=sh->channels=1;
 			sh->samplerate=8000;
 			break;
-			
+
 		    case 0x62776173: /* sawb */
 			/* amr wideband */
 			trak->samplebytes=sh->samplesize=1;
@@ -651,11 +651,11 @@ static int gen_sh_audio(sh_audio_t* sh, 
 			break;
 
 		    default:
-			
+
 // assumptions for below table: short is 16bit, int is 32bit, intfp is 16bit
-// XXX: 32bit fixed point numbers (intfp) are only 2 Byte!		
-// short values are usually one byte leftpadded by zero		
-//   int values are usually two byte leftpadded by zero		
+// XXX: 32bit fixed point numbers (intfp) are only 2 Byte!
+// short values are usually one byte leftpadded by zero
+//   int values are usually two byte leftpadded by zero
 //  stdata[]:
 //	8   short	version
 //	10  short	revision
@@ -672,10 +672,10 @@ static int gen_sh_audio(sh_audio_t* sh, 
 //	36  int		bytes_per_frame
 //	40  int		bytes_per_sample
 // there may be additional atoms following at 28 (version 0)
-// or 44 (version 1), eg. esds atom of .MP4 files		
+// or 44 (version 1), eg. esds atom of .MP4 files
 // esds atom:
 //      28  int		atom size (bytes of int size, int type and data)
-//      32  char[4]	atom type (fourc charater code -> esds)		
+//      32  char[4]	atom type (fourc charater code -> esds)
 //      36  char[]  	atom data (len=size-8)
 
 // TODO: fix parsing for files using version 2.
@@ -724,8 +724,8 @@ static int gen_sh_audio(sh_audio_t* sh, 
 			  "assuming 44.1kHz (got %d)\n",
 			  char2short(trak->stdata,24)/trak->durmap[0].dur);
 		      sh->samplerate = 44100;
-		  }  
-		}  
+		  }
+		}
 		}
 		mp_msg(MSGT_DEMUX, MSGL_V, "Audio bits: %d  chans: %d  rate: %d\n",
 		    sh->samplesize*8,sh->channels,sh->samplerate);
@@ -741,7 +741,7 @@ static int gen_sh_audio(sh_audio_t* sh, 
 		    int fcc=char2int(trak->stdata,48);
 		    // we have extra audio headers!!!
 		    mp_msg(MSGT_DEMUX,MSGL_V,"Audio extra header: len=%d  fcc=0x%X\n",len,fcc);
-		    if((len >= 4) && 
+		    if((len >= 4) &&
 		       (char2int(trak->stdata,52) >= 12) &&
 		       (char2int(trak->stdata,52+4) == MOV_FOURCC('f','r','m','a'))) {
 			switch(char2int(trak->stdata,52+8)) {
@@ -799,7 +799,7 @@ static int gen_sh_audio(sh_audio_t* sh, 
 		      case MOV_FOURCC('e','s','d','s'): {
 			mp_msg(MSGT_DEMUX, MSGL_V, "MOV: Found MPEG4 audio Elementary Stream Descriptor atom (%d)!\n", atom_len);
 			if(atom_len > 8) {
-			  esds_t esds; 				  
+			  esds_t esds;
 			  if(!mp4_parse_esds(&trak->stdata[36+adjust], atom_len-8, &esds)) {
 			    /* 0xdd is a "user private" id, not an official allocated id (see http://www.mp4ra.org/object.html),
 			       so perform some extra checks to be sure that this is really vorbis audio */
@@ -833,12 +833,12 @@ static int gen_sh_audio(sh_audio_t* sh, 
 					sh->codecdata_len = len + len/255 + 64;
 					sh->codecdata = malloc(sh->codecdata_len);
 					ptr = sh->codecdata;
-					
+
 					ptr[0] = 2;
 					offset = 1;
 					offset += store_ughvlc(&ptr[offset], sizes[0]);
 					offset += store_ughvlc(&ptr[offset], sizes[1]);
-					for(k = 0; k < 3; k++) 
+					for(k = 0; k < 3; k++)
 					{
 						memcpy(&ptr[offset], buf[k], sizes[k]);
 						offset += sizes[k];
@@ -851,7 +851,7 @@ static int gen_sh_audio(sh_audio_t* sh, 
 quit_vorbis_block:
 					sh->format = mmioFOURCC('v', 'r', 'b', 's');
 				}
-			    sh->i_bps = esds.avgBitrate/8; 
+			    sh->i_bps = esds.avgBitrate/8;
 
 //			    printf("######## audio format = %d ########\n",esds.objectTypeId);
 			    if(esds.objectTypeId==MP4OTI_MPEG1Audio || esds.objectTypeId==MP4OTI_MPEG2AudioPart3)
@@ -880,7 +880,7 @@ quit_vorbis_block:
 	  		  { FILE* f=fopen("esds.dat","wb");
 			  fwrite(&trak->stdata[36],atom_len-8,1,f);
 			  fclose(f); }
-#endif			  
+#endif
 			}
 		      } break;
 		      case MOV_FOURCC('a','l','a','c'): {
@@ -905,7 +905,7 @@ quit_vorbis_block:
 			    trak->stdata[32+adjust],trak->stdata[33+adjust],trak->stdata[34+adjust],trak->stdata[35+adjust],
 			    atom_len);
 		    }
-		}  
+		}
 		mp_msg(MSGT_DEMUX, MSGL_V, "Fourcc: %.4s\n",(char *)&trak->fourcc);
 #if 0
 		{ FILE* f=fopen("stdata.dat","wb");
@@ -1062,9 +1062,9 @@ static int gen_sh_video(sh_video_t* sh, 
 		      // beginning at stdata[86] to some variable to pass it
 		      // on to the decoder ::atmos
 		      if(atom_len > 8) {
-      			esds_t esds; 				  
+      			esds_t esds;
 			if(!mp4_parse_esds(trak->stdata+pos+8, atom_len-8, &esds)) {
-    
+
 			  if(esds.objectTypeId==MP4OTI_MPEG2VisualSimple || esds.objectTypeId==MP4OTI_MPEG2VisualMain ||
 			     esds.objectTypeId==MP4OTI_MPEG2VisualSNR || esds.objectTypeId==MP4OTI_MPEG2VisualSpatial ||
 			     esds.objectTypeId==MP4OTI_MPEG2VisualHigh || esds.objectTypeId==MP4OTI_MPEG2Visual422)
@@ -1078,7 +1078,7 @@ static int gen_sh_video(sh_video_t* sh, 
 			  memcpy(trak->stream_header, esds.decoderConfig, trak->stream_header_len);
 			}
 			mp4_free_esds(&esds); // freeup esds mem
-		      }	      
+		      }
 		      break;
 		    case MOV_FOURCC('a','v','c','C'):
 		      // AVC decoder configuration record
@@ -1111,7 +1111,7 @@ static int gen_sh_video(sh_video_t* sh, 
 		        trak->stream_header_len = atom_len-8;
 		        trak->stream_header = malloc(trak->stream_header_len);
 		        memcpy(trak->stream_header, trak->stdata+pos+8, trak->stream_header_len);
-		      }	      
+		      }
 		      break;
                     case MOV_FOURCC('d','2','6','3'):
                       mp_msg(MSGT_DEMUX, MSGL_V, "MOV: Found H.263 decoder atom %c%c%c%c (%d)!\n", trak->stdata[pos+4],trak->stdata[pos+5],trak->stdata[pos+6],trak->stdata[pos+7],atom_len);
@@ -1147,7 +1147,7 @@ static int gen_sh_video(sh_video_t* sh, 
 		    sh->aspect/=trak->tkdata[81]|(trak->tkdata[80]<<8);
 		  }
 		}
-		
+
 		if(depth>32+8) mp_msg(MSGT_DEMUX, MSGL_INFO,"*** depth = 0x%X\n",depth);
 
 		// palettized?
@@ -1232,7 +1232,7 @@ static int gen_sh_video(sh_video_t* sh, 
 		        palette_map[entry * 4 + 0] = trak->stdata[hdr_ptr + 4];
 		        mp_dbg(MSGT_DEMUX, MSGL_DBG2, "QT palette: added entry: %d of %d (colors: R:%x G:%x B:%x)\n",
 			    entry, palette_count,
-			    palette_map[entry * 4 + 2], 
+			    palette_map[entry * 4 + 2],
 			    palette_map[entry * 4 + 1],
 			    palette_map[entry * 4 + 0]);
 		      }
@@ -1276,7 +1276,7 @@ static int gen_sh_video(sh_video_t* sh, 
 		    trak->tkdata[77]|(trak->tkdata[76]<<8),
 		    trak->tkdata[81]|(trak->tkdata[80]<<8));
 		mp_msg(MSGT_DEMUX, MSGL_V, "Fourcc: %.4s  Codec: '%.*s'\n",(char *)&trak->fourcc,trak->stdata[42]&31,trak->stdata+43);
-		
+
 //		if(demuxer->video->id==-1 || demuxer->video->id==priv->track_db){
 //		    // (auto)selected video track:
 //		    demuxer->video->id=priv->track_db;
@@ -1371,7 +1371,7 @@ static void lschunks(demuxer_t* demuxer,
 		int i;
 		int fd;
 		char name[20];
-	
+
 		for (i=0; i<trak->samples_size; i++)
 		{
 		    char buf[trak->samples[i].size];
@@ -1395,7 +1395,7 @@ static void lschunks(demuxer_t* demuxer,
 		 if (trak->samplesize > 0)
 		 {
 		    char *buf;
-		    
+
 		    buf = malloc(trak->samplesize);
 		    stream_seek(demuxer->stream, trak->chunks[0].pos);
 		    snprintf((char *)&name[0], 20, "trak%d", trak->id);
@@ -1405,7 +1405,7 @@ static void lschunks(demuxer_t* demuxer,
 		    close(fd);
 		 }
 		 stream_seek(demuxer->stream, pos);
-	    }		
+	    }
 #endif
 		break;
 	    default:
@@ -1462,7 +1462,7 @@ static void lschunks(demuxer_t* demuxer,
 	      zstrm.avail_in        = cmov_sz;
 	      zstrm.next_out        = moov_buf;
 	      zstrm.avail_out       = moov_sz;
-	    
+
 	      zret = inflateInit(&zstrm);
 	      if (zret != Z_OK)
 		{ mp_msg(MSGT_DEMUX, MSGL_ERR, "QT cmov: inflateInit err %d\n",zret);
@@ -1484,7 +1484,7 @@ static void lschunks(demuxer_t* demuxer,
 	      if(moov_sz != zstrm.total_out)
 	        mp_msg(MSGT_DEMUX, MSGL_WARN, "Warning! moov size differs cmov: %d  zlib: %ld\n",moov_sz,zstrm.total_out);
 	      zret = inflateEnd(&zstrm);
-	      
+
 	      backup=demuxer->stream;
 	       demuxer->stream=new_memory_stream(moov_buf,moov_sz);
 	       stream_skip(demuxer->stream,8);
@@ -1492,7 +1492,7 @@ static void lschunks(demuxer_t* demuxer,
 	       //free_stream(demuxer->stream);
 	      demuxer->stream=backup;
 	      free(cmov_buf);
-	      free(moov_buf);	    
+	      free(moov_buf);
 	      break;
 	}
 #endif
@@ -1501,7 +1501,7 @@ static void lschunks(demuxer_t* demuxer,
 	    unsigned int udta_id;
 	    off_t udta_len;
 	    off_t udta_size = len;
-	
+
 	    mp_msg(MSGT_DEMUX, MSGL_DBG2, "mov: user data record found\n");
 	    mp_msg(MSGT_DEMUX, MSGL_V, "Quicktime Clip Info:\n");
 
@@ -1827,7 +1827,7 @@ static int lschunks_intrak(demuxer_t* de
       av_unused int temp = stream_read_dword(demuxer->stream);
       int len = stream_read_dword(demuxer->stream);
       int i;
-      mp_msg(MSGT_DEMUX, MSGL_V, 
+      mp_msg(MSGT_DEMUX, MSGL_V,
              "MOV: %*sChunk offset table! (%d chunks)\n", level, "",
              len);
       // extend array if needed:
@@ -1942,10 +1942,10 @@ static demuxer_t* mov_read_header(demuxe
     int t_no;
     int best_a_id=-1, best_a_len=0;
     int best_v_id=-1, best_v_len=0;
-    
+
     mp_msg(MSGT_DEMUX, MSGL_DBG3, "mov_read_header!\n");
 
-    // Parse header:    
+    // Parse header:
     stream_reset(demuxer->stream);
     if(!stream_seek(demuxer->stream,priv->moov_start))
     {
@@ -1973,7 +1973,7 @@ static demuxer_t* mov_read_header(demuxe
 	best_a_id,best_a_len,best_v_id,best_v_len);
     if(demuxer->audio->id==-1 && best_a_id>=0) demuxer->audio->id=best_a_id;
     if(demuxer->video->id==-1 && best_v_id>=0) demuxer->video->id=best_v_id;
-    
+
     // setup sh pointers:
     if(demuxer->audio->id>=0){
 	sh_audio_t* sh=demuxer->a_streams[demuxer->audio->id];
@@ -2010,7 +2010,7 @@ static demuxer_t* mov_read_header(demuxe
             if(trak->media_handler == MOV_FOURCC('M','P','E','G')) {
                 stream_t *s;
                 demuxer_t *od;
-    
+
                 demuxer->video->id = t_no;
                 s = new_ds_stream(demuxer->video);
                 od = demux_open(s, DEMUXER_TYPE_MPEG_PS, -1, -1, -1, NULL);
@@ -2045,7 +2045,7 @@ static demuxer_t* mov_read_header(demuxe
 //		    }
 		    if( //trak->media_handler==MOV_FOURCC('s','p','r','t') &&
 			trak->stdata_len>=16 &&
-			char2int(trak->stdata,12)==MOV_FOURCC('z','l','i','b') 
+			char2int(trak->stdata,12)==MOV_FOURCC('z','l','i','b')
 		    ){
 			int newlen=stream_read_dword(demuxer->stream);
 #if CONFIG_ZLIB
@@ -2069,7 +2069,7 @@ static demuxer_t* mov_read_header(demuxe
 			zret = inflate(&zstrm, Z_NO_FLUSH);
 			if(newlen != zstrm.total_out)
 	    		    mp_msg(MSGT_DEMUX, MSGL_WARN, "Warning! unzipped frame size differs hdr: %d  zlib: %ld\n",newlen,zstrm.total_out);
-			
+
 			write(fd, buf2, newlen);
 		    } else {
 #else
@@ -2113,7 +2113,7 @@ static int demux_mov_fill_buffer(demuxer
     float pts;
     int x;
     off_t pos;
-    
+
     if (ds->eof) return 0;
     trak = stream_track(priv, ds);
     if (!trak) return 0;
@@ -2196,7 +2196,7 @@ if(trak->pos==0 && trak->stream_header_l
     ds_add_packet(ds,dp);
 } else
     ds_read_packet(ds,demuxer->stream,x,pts,pos,0);
-    
+
     ++trak->pos;
 
     trak = NULL;
@@ -2223,7 +2223,7 @@ if(trak->pos==0 && trak->stream_header_l
     }
 
     return 1;
-    
+
 }
 
 static float mov_seek_track(mov_track_t* trak,float pts,int flags){
@@ -2275,7 +2275,7 @@ static void demux_seek_mov(demuxer_t *de
     mov_track_t* trak;
 
 //    printf("MOV seek called  %5.3f  flag=%d  \n",pts,flags);
-    
+
     ds=demuxer->video;
     trak = stream_track(priv, ds);
     if (trak) {

Modified: trunk/libmpdemux/demux_mpg.c
==============================================================================
--- trunk/libmpdemux/demux_mpg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_mpg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -66,11 +66,11 @@ static int parse_psm(demuxer_t *demux, i
   unsigned char c, id, type;
   unsigned int plen, prog_len, es_map_len;
   mpg_demuxer_t *priv = (mpg_demuxer_t *) demux->priv;
-  
+
   mp_dbg(MSGT_DEMUX,MSGL_V, "PARSE_PSM, len=%d\n", len);
   if(! len || len > 1018)
     return 0;
-  
+
   c = stream_read_char(demux->stream);
   if(! (c & 0x80)) {
     stream_skip(demux->stream, len - 1);  //not yet valid, discard
@@ -717,7 +717,7 @@ static int demux_mpg_probe(demuxer_t *de
              file_format=DEMUXER_TYPE_MPEG4_ES;
         } else
          // fuzzy h264-es detection. do NOT enable without heavy testing of mpeg formats detection!
-        if((num_h264_slice>3 || (num_h264_dpa>3 && num_h264_dpb>3 && num_h264_dpc>3)) && 
+        if((num_h264_slice>3 || (num_h264_dpa>3 && num_h264_dpb>3 && num_h264_dpc>3)) &&
           /* FIXME num_h264_sps>=1 && */ num_h264_pps>=1 && num_h264_idr>=1 &&
           num_elementary_packets1B6==0 && num_elementary_packetsPES==0 &&
           demuxer->synced<2) {
@@ -909,7 +909,7 @@ void demux_seek_mpg(demuxer_t *demuxer,f
     int precision = 1;
     float oldpts = 0;
     off_t oldpos = demuxer->filepos;
-    float newpts = 0; 
+    float newpts = 0;
     off_t newpos = (flags & SEEK_ABSOLUTE) ? demuxer->movi_start : oldpos;
 
     if(mpg_d)
@@ -925,7 +925,7 @@ void demux_seek_mpg(demuxer_t *demuxer,f
     } else
       newpts += rel_seek_secs;
     if (newpts < 0) newpts = 0;
-	
+
     if(flags&SEEK_FACTOR){
 	// float seek 0..1
 	newpos+=(demuxer->movi_end-demuxer->movi_start)*rel_seek_secs;
@@ -1030,7 +1030,7 @@ int demux_mpg_control(demuxer_t *demuxer
 
 	case DEMUXER_CTRL_SWITCH_AUDIO:
             if(! (mpg_d && mpg_d->num_a_streams > 1 && demuxer->audio && demuxer->audio->sh))
-	      return DEMUXER_CTRL_NOTIMPL; 
+	      return DEMUXER_CTRL_NOTIMPL;
 	    else {
               demux_stream_t *d_audio = demuxer->audio;
               sh_audio_t *sh_audio = d_audio->sh;

Modified: trunk/libmpdemux/demux_nemesi.c
==============================================================================
--- trunk/libmpdemux/demux_nemesi.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_nemesi.c	Wed May 13 04:58:57 2009	(r29305)
@@ -39,7 +39,7 @@ typedef struct {
 #define NMS_MAX_FORMATS 16
 
 MIMEto4CC supported_audio[NMS_MAX_FORMATS] = {
-    {"MPA", 0x55}, 
+    {"MPA", 0x55},
     {"vorbis", mmioFOURCC('v','r','b','s')},
     {"mpeg4-generic", mmioFOURCC('M','P','4','A')},
     {NULL, 0},
@@ -325,7 +325,7 @@ static int get_data_for_session(Nemesi_D
     }
 }
 
-static void stream_add_packet(Nemesi_DemuxerStreamData * ndsd, 
+static void stream_add_packet(Nemesi_DemuxerStreamData * ndsd,
                               Nemesi_SessionType stype,
                               demux_stream_t* ds, rtp_frame * fr)
 {

Modified: trunk/libmpdemux/demux_nsv.c
==============================================================================
--- trunk/libmpdemux/demux_nsv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_nsv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -35,11 +35,11 @@
 #include "stheader.h"
 
 typedef struct {
-    float   v_pts;  
+    float   v_pts;
     int video_pack_no;
     unsigned int a_format;
     unsigned int v_format;
-    unsigned char fps;            
+    unsigned char fps;
 } nsv_priv_t;
 
 #define HEADER_SEARCH_SIZE 256000
@@ -55,38 +55,38 @@ static void demux_seek_nsv ( demuxer_t *
 
 
 static int demux_nsv_fill_buffer ( demuxer_t *demuxer, demux_stream_t *ds )
-{  
+{
     unsigned char hdr[17];
     // for the extra data
     unsigned char aux[6];
     int i_aux = 0;
     // videolen = audio chunk length, audiolen = video chunk length
-    int videolen,audiolen; 
+    int videolen,audiolen;
 
     sh_video_t *sh_video = demuxer->video->sh;
     sh_audio_t *sh_audio = demuxer->audio->sh;
 
     nsv_priv_t * priv = demuxer->priv;
 
-    // if the audio/video chunk has no new header the first 2 bytes will be discarded 0xBEEF 
+    // if the audio/video chunk has no new header the first 2 bytes will be discarded 0xBEEF
     // or rather 0xEF 0xBE
     stream_read(demuxer->stream,hdr,7);
     if(stream_eof(demuxer->stream)) return 0;
     // sometimes instead of 0xBEEF as described for the next audio/video chunk we get
     // a whole new header
-    
+
     mp_dbg(MSGT_DEMUX,MSGL_DBG2,"demux_nsv: %08X %08X\n",hdr[0]<<8|hdr[1],stream_tell(demuxer->stream));
     switch(hdr[0]<<8|hdr[1]) {
         case 0x4E53:
             if(hdr[2]==0x56 && hdr[3]==0x73){
                 // NSVs
-                // get the header since there is no more metaheader after the first one 
+                // get the header since there is no more metaheader after the first one
                 // there is no more need to skip that
                 stream_read(demuxer->stream,hdr+7,17-7);
                 stream_read(demuxer->stream,hdr,7);
             }
             break;
-        
+
         case 0xEFBE:
             break;
 
@@ -111,22 +111,22 @@ static int demux_nsv_fill_buffer ( demux
     videolen=(hdr[2]>>4)|(hdr[3]<<4)|(hdr[4]<<0xC);
     //check if we got extra data like subtitles here
     if( (hdr[2]&0x0f) != 0x0 ) {
-        stream_read( demuxer->stream, aux, 6); 
+        stream_read( demuxer->stream, aux, 6);
 
         i_aux = aux[0]|aux[1]<<8;
-        // We skip this extra data 
+        // We skip this extra data
         stream_skip( demuxer->stream, i_aux );
         i_aux+=6;
         videolen -= i_aux;
     }
-    
 
-    // we need to return an empty packet when the 
-    // video frame is empty otherwise the stream will fasten up 
+
+    // we need to return an empty packet when the
+    // video frame is empty otherwise the stream will fasten up
     if(sh_video) {
         if( (hdr[2]&0x0f) != 0x0 )
             ds_read_packet(demuxer->video,demuxer->stream,videolen,priv->v_pts,demuxer->filepos-i_aux,0);
-        else 
+        else
             ds_read_packet(demuxer->video,demuxer->stream,videolen,priv->v_pts,demuxer->filepos,0);
     }
     else
@@ -134,8 +134,8 @@ static int demux_nsv_fill_buffer ( demux
 
     // read audio:
     audiolen=(hdr[5])|(hdr[6]<<8);
-    // we need to return an empty packet when the 
-    // audio frame is empty otherwise the stream will fasten up 
+    // we need to return an empty packet when the
+    // audio frame is empty otherwise the stream will fasten up
     if(sh_audio) {
         ds_read_packet(demuxer->audio,demuxer->stream,audiolen,priv->v_pts,demuxer->filepos+videolen,0);
     }
@@ -145,7 +145,7 @@ static int demux_nsv_fill_buffer ( demux
     ++priv->video_pack_no;
 
     return 1;
-    
+
 }
 
 
@@ -157,23 +157,23 @@ static demuxer_t* demux_open_nsv ( demux
     unsigned char buf[10];
     sh_video_t *sh_video = NULL;
     sh_audio_t *sh_audio = NULL;
-    
-    
+
+
     nsv_priv_t * priv = malloc(sizeof(nsv_priv_t));
     demuxer->priv=priv;
     priv->video_pack_no=0;
 
       /* disable seeking yet to be fixed*/
     demuxer->seekable = 0;
-        
+
     stream_read(demuxer->stream,hdr,4);
     if(stream_eof(demuxer->stream)) return 0;
-    
+
     if(hdr[0]==0x4E && hdr[1]==0x53 && hdr[2]==0x56){
         // NSV header!
         if(hdr[3]==0x73){
             // NSVs
-            stream_read(demuxer->stream,hdr+4,17-4);            
+            stream_read(demuxer->stream,hdr+4,17-4);
         }
 
         if(hdr[3]==0x66){
@@ -181,9 +181,9 @@ static demuxer_t* demux_open_nsv ( demux
             int len=stream_read_dword_le(demuxer->stream);
             // TODO: parse out metadata!!!!
             stream_skip(demuxer->stream,len-8);
-                
+
             // NSVs
-            stream_read(demuxer->stream,hdr,17);        
+            stream_read(demuxer->stream,hdr,17);
             if (stream_eof(demuxer->stream) || strncmp(hdr, "NSVs", 4))
                 return 0;
         }
@@ -202,9 +202,9 @@ static demuxer_t* demux_open_nsv ( demux
             priv->a_format=mmioFOURCC(hdr[8],hdr[9],hdr[10],hdr[11]);
         }
 
-        // store hdr fps 
+        // store hdr fps
         priv->fps=hdr[16];
-            
+
         if ((demuxer->video->id != -2) && strncmp(hdr+4,"NONE", 4)) {
             /* Create a new video stream header */
             sh_video = new_sh_video ( demuxer, 0 );
@@ -219,23 +219,23 @@ static demuxer_t* demux_open_nsv ( demux
              * video_read_properties() will choke
              */
             sh_video->ds = demuxer->video;
-        
+
             //   bytes 4-7  video codec fourcc
             priv->v_format = sh_video->format=mmioFOURCC(hdr[4],hdr[5],hdr[6],hdr[7]);
-        
+
             // new video stream! parse header
             sh_video->disp_w=hdr[12]|(hdr[13]<<8);
             sh_video->disp_h=hdr[14]|(hdr[15]<<8);
             sh_video->bih=calloc(1,sizeof(BITMAPINFOHEADER));
             sh_video->bih->biSize=sizeof(BITMAPINFOHEADER);
-            sh_video->bih->biPlanes=1; 
+            sh_video->bih->biPlanes=1;
             sh_video->bih->biBitCount=24;
             sh_video->bih->biWidth=hdr[12]|(hdr[13]<<8);
             sh_video->bih->biHeight=hdr[14]|(hdr[15]<<8);
             memcpy(&sh_video->bih->biCompression,hdr+4,4);
             sh_video->bih->biSizeImage=sh_video->bih->biWidth*sh_video->bih->biHeight*3;
 
-            // here we search for the correct keyframe 
+            // here we search for the correct keyframe
             // vp6 keyframe is when the 2nd byte of the vp6 header is
             // 0x36 for VP61 and 0x46 for VP62
             if((priv->v_format==mmioFOURCC('V','P','6','1')) ||
@@ -264,8 +264,8 @@ static demuxer_t* demux_open_nsv ( demux
                 // data starts 10 bytes before current pos but later
                 // we seek 17 backwards
                 stream_skip(demuxer->stream,7);
-            } 
-            
+            }
+
         switch(priv->fps){
         case 0x80:
             sh_video->fps=30;
@@ -287,14 +287,14 @@ static demuxer_t* demux_open_nsv ( demux
             break;
         default:
             sh_video->fps = (float)priv->fps;
-        }       
+        }
         sh_video->frametime = (float)1.0 / (float)sh_video->fps;
        }
-    }   
+    }
 
     // seek to start of NSV header
     stream_seek(demuxer->stream,stream_tell(demuxer->stream)-17);
-    
+
     return demuxer;
 }
 
@@ -304,7 +304,7 @@ static int nsv_check_file ( demuxer_t* d
     int i;
 
     mp_msg ( MSGT_DEMUX, MSGL_V, "Checking for Nullsoft Streaming Video\n" );
-   
+
     for (i = 0; i < HEADER_SEARCH_SIZE; i++) {
         uint8_t c = stream_read_char(demuxer->stream);
         if (stream_eof(demuxer->stream))

Modified: trunk/libmpdemux/demux_ogg.c
==============================================================================
--- trunk/libmpdemux/demux_ogg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_ogg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -70,7 +70,7 @@ typedef struct stream_header_video
 	ogg_int32_t	width;
 	ogg_int32_t	height;
 } stream_header_video;
-	
+
 typedef struct stream_header_audio
 {
 	ogg_int16_t	channels;
@@ -246,7 +246,7 @@ static  int demux_ogg_get_page_stream(og
     } else
       return -1;
   }
-  
+
   if(os)
     *os = &ogg_d->subs[id].stream;
 
@@ -267,7 +267,7 @@ static unsigned char* demux_ogg_read_pac
     {
        vorbis_info *vi;
        int32_t blocksize;
-       
+
        // When we dump the audio, there is no vi, but we don't care of timestamp in this case
        vi = &(os->vi);
        blocksize = vorbis_packet_blocksize(vi,pack) / samplesize;
@@ -287,7 +287,7 @@ static unsigned char* demux_ogg_read_pac
   } else if (os->theora) {
      /* we pass complete packets to theora, mustn't strip the header! */
      os->lastsize = 1;
-     
+
      /* header packets begin on 1-bit: thus check (*data&0x80).  We don't
 	have theora_state st, until all header packets were passed to the
 	decoder. */
@@ -476,7 +476,7 @@ static int demux_ogg_add_packet(demux_st
   // (PACKET_TYPE_HEADER bit doesn't even exist for theora ?!)
   // We jump nothing for FLAC. Ain't this great? Packet contents have to be
   // handled differently for each and every stream type. The joy! The joy!
-  if(!os->flac && (*pack->packet & PACKET_TYPE_HEADER) && 
+  if(!os->flac && (*pack->packet & PACKET_TYPE_HEADER) &&
      (ds != d->audio || ((sh_audio_t*)ds->sh)->format != FOURCC_VORBIS || os->hdr_packets >= NUM_VORBIS_HDR_PACKETS ) &&
      (ds != d->video || (((sh_video_t*)ds->sh)->format != FOURCC_THEORA)))
     return 0;
@@ -602,7 +602,7 @@ void demux_ogg_scan_stream(demuxer_t* de
     ogg_d->subs[np].lastpos = ogg_d->subs[np].lastsize = ogg_d->subs[np].hdr_packets = 0;
   }
 
-  
+
   // Get the first page
   while(1) {
     np = ogg_sync_pageout(sync,page);
@@ -613,7 +613,7 @@ void demux_ogg_scan_stream(demuxer_t* de
 	mp_msg(MSGT_DEMUX,MSGL_ERR,"EOF while trying to get the first page !!!!\n");
 	break;
       }
-      
+
       ogg_sync_wrote(sync,len);
       continue;
     }
@@ -621,7 +621,7 @@ void demux_ogg_scan_stream(demuxer_t* de
     ogg_stream_pagein(oss,page);
     break;
   }
-  
+
 }
 
 void print_wave_header(WAVEFORMATEX *h, int verbose_level);
@@ -729,7 +729,7 @@ static void fixup_vorbis_wf(sh_audio_t *
         nombr = 0;
     if(minbr == -1)
         minbr = 0;
-    
+
     br = maxbr / 8;
     if(!br)
       br = nombr / 8;
@@ -739,7 +739,7 @@ static void fixup_vorbis_wf(sh_audio_t *
     sh->wf->wBitsPerSample = 16;
     sh->samplesize = (sh->wf->wBitsPerSample+7)/8;
 
-    mp_msg(MSGT_DEMUX,MSGL_V,"demux_ogg, vorbis stream features are: channels: %d, srate: %d, bitrate: %d, max: %u, nominal: %u, min: %u\n", 
+    mp_msg(MSGT_DEMUX,MSGL_V,"demux_ogg, vorbis stream features are: channels: %d, srate: %d, bitrate: %d, max: %u, nominal: %u, min: %u\n",
       sh->channels, sh->samplerate, sh->wf->nAvgBytesPerSec, maxbr, nombr, minbr);
   }
   free(buf[2]);
@@ -788,7 +788,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
     if(np == 0) {
       int len;
       buf = ogg_sync_buffer(sync,BLOCK_SIZE);
-      len = stream_read(s,buf,BLOCK_SIZE);      
+      len = stream_read(s,buf,BLOCK_SIZE);
       if(len == 0 && s->eof) {
 	goto err_out;
       }
@@ -860,10 +860,10 @@ int demux_ogg_open(demuxer_t* demuxer) {
 	int errorCode = 0;
 	theora_info inf;
 	theora_comment cc;
-	
+
 	theora_info_init (&inf);
 	theora_comment_init (&cc);
-	
+
 	errorCode = theora_decode_header (&inf, &cc, &pack);
 	if (errorCode)
 	    mp_msg(MSGT_DEMUX,MSGL_ERR,"Theora header parsing failed: %i \n",
@@ -883,7 +883,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
 	    sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height;
 	    sh_v->bih->biBitCount = 24;
 	    sh_v->bih->biPlanes = 3;
-	    sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount/8) * 
+	    sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount/8) *
 				      sh_v->bih->biWidth*sh_v->bih->biHeight);
 	    ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps;
 	    ogg_d->subs[ogg_d->num_sub].theora = 1;
@@ -893,9 +893,9 @@ int demux_ogg_open(demuxer_t* demuxer) {
 	    mp_msg(MSGT_DEMUX,MSGL_INFO,
 		   "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n",
 		   ogg_d->num_sub,
-		   (int)inf.version_major, 
-		   (int)inf.version_minor, 
-		   (int)inf.version_subminor, 
+		   (int)inf.version_major,
+		   (int)inf.version_minor,
+		   (int)inf.version_subminor,
 		   n_video - 1);
 	    if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_video_header(sh_v->bih,MSGL_V);
 	}
@@ -974,7 +974,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
 	mp_msg(MSGT_DEMUX,MSGL_WARN,"Ogg stream %d contains an old header but the header type is unknown\n",ogg_d->num_sub);
 
         // Check new header
-    } else if ( (*pack.packet & PACKET_TYPE_BITS ) == PACKET_TYPE_HEADER && 
+    } else if ( (*pack.packet & PACKET_TYPE_BITS ) == PACKET_TYPE_HEADER &&
 	      pack.bytes >= (int)sizeof(stream_header)+1) {
       stream_header *st = (stream_header*)(pack.packet+1);
       /// New video header
@@ -1096,7 +1096,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
 	} while(ogg_stream_packetout(&ogg_d->subs[ogg_d->num_sub].stream,&pack) == 1);
       }
     }
-    ogg_d->num_sub++;      
+    ogg_d->num_sub++;
   }
 
   if(!n_video && !n_audio) {
@@ -1186,7 +1186,7 @@ static int demux_ogg_fill_buffer(demuxer
 	      continue;
 	    }
 	    /// We need more data
-	    buf = ogg_sync_buffer(sync,BLOCK_SIZE);	    
+	    buf = ogg_sync_buffer(sync,BLOCK_SIZE);
 	    len = stream_read(s,buf,BLOCK_SIZE);
 	    if(len == 0 && s->eof) {
 	      mp_msg(MSGT_DEMUX,MSGL_DBG2,"Ogg : Stream EOF !!!!\n");
@@ -1210,7 +1210,7 @@ static int demux_ogg_fill_buffer(demuxer
       } else /// Packet was corrupted
 	mp_msg(MSGT_DEMUX,MSGL_WARN,"Ogg : bad packet in stream %d\n",id);
     } /// Packet loop
-    
+
     /// Is the actual logical stream in use ?
     if(id == d->audio->id)
       ds = d->audio;
@@ -1281,7 +1281,7 @@ demuxer_t* init_avi_with_ogg(demuxer_t* 
       goto fallback;
     }
     // Add some data
-    plen = ds_get_packet(demuxer->audio,&p);    
+    plen = ds_get_packet(demuxer->audio,&p);
     buf = ogg_sync_buffer(&ogg_d->sync,plen);
     memcpy(buf,p,plen);
     ogg_sync_wrote(&ogg_d->sync,plen);
@@ -1491,7 +1491,7 @@ static void demux_ogg_seek(demuxer_t *de
      }
   }
 
-  mp_msg(MSGT_DEMUX,MSGL_ERR,"Can't find the good packet :(\n");  
+  mp_msg(MSGT_DEMUX,MSGL_ERR,"Can't find the good packet :(\n");
 
 }
 

Modified: trunk/libmpdemux/demux_pva.c
==============================================================================
--- trunk/libmpdemux/demux_pva.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_pva.c	Wed May 13 04:58:57 2009	(r29305)
@@ -47,7 +47,7 @@
 
 #define PVA_MAX_VIDEO_PACK_LEN 6*1024
 
-#define VIDEOSTREAM 0x01	
+#define VIDEOSTREAM 0x01
 #define MAINAUDIOSTREAM 0x02
 
 typedef struct {
@@ -79,15 +79,15 @@ int pva_sync(demuxer_t * demuxer)
 	int count;
 	pva_priv_t * priv = (pva_priv_t *) demuxer->priv;
 
-	
+
 	 /* This function is used to find the next nearest PVA packet start after a seek, since a PVA file
 	  * is not indexed.
 	  * The just_synced field is in the priv structure so that pva_get_payload knows pva_sync
 	  * has already read (part of) the PVA header. This way we can avoid to seek back and (hopefully)
 	  * be able to read from pipes and such.
 	  */
-	
-	
+
+
 	for(count=0 ; count<PVA_MAX_VIDEO_PACK_LEN && !demuxer->stream->eof && !priv->just_synced ; count++)
 	{
 		buffer[0]=buffer[1];
@@ -96,7 +96,7 @@ int pva_sync(demuxer_t * demuxer)
 		buffer[3]=buffer[4];
 		buffer[4]=stream_read_char(demuxer->stream);
 		/*
-		 * Check for a PVA packet beginning sequence: we check both the "AV" word at the 
+		 * Check for a PVA packet beginning sequence: we check both the "AV" word at the
 		 * very beginning and the "0x55" reserved byte (which is unused and set to 0x55 by spec)
 		 */
 		if(buffer[0]=='A' && buffer[1] == 'V' && buffer[4] == 0x55) priv->just_synced=1;
@@ -135,22 +135,22 @@ static demuxer_t * demux_open_pva (demux
 	sh_video_t *sh_video = new_sh_video(demuxer,0);
         sh_audio_t *sh_audio = new_sh_audio(demuxer,0);
 
-	
+
 	pva_priv_t * priv;
-	
+
 	stream_reset(demuxer->stream);
 	stream_seek(demuxer->stream,0);
-	
-	
+
+
 
 	priv=malloc(sizeof(pva_priv_t));
-	
+
 	if(demuxer->stream->type!=STREAMTYPE_FILE) demuxer->seekable=0;
 	else demuxer->seekable=1;
-	
+
 	demuxer->priv=priv;
 	memset(demuxer->priv,0,sizeof(pva_priv_t));
-			
+
 	if(!pva_sync(demuxer))
 	{
 		mp_msg(MSGT_DEMUX,MSGL_ERR,"Not a PVA file.\n");
@@ -158,37 +158,37 @@ static demuxer_t * demux_open_pva (demux
 	}
 
 	//printf("priv->just_synced %s after initial sync!\n",priv->just_synced?"set":"UNSET");
-	
+
 	demuxer->video->sh=sh_video;
-	
+
 	//printf("demuxer->stream->end_pos= %d\n",demuxer->stream->end_pos);
 
-	
+
 	mp_msg(MSGT_DEMUXER,MSGL_INFO,"Opened PVA demuxer...\n");
-	
+
 	/*
 	 * Audio and Video codecs:
 	 * the PVA spec only allows MPEG2 video and MPEG layer II audio. No need to check the formats then.
 	 * Moreover, there would be no way to do that since the PVA stream format has no fields to describe
 	 * the used codecs.
 	 */
-	
+
 	sh_video->format=0x10000002;
 	sh_video->ds=demuxer->video;
-		
+
 	/*
 	printf("demuxer->video->id==%d\n",demuxer->video->id);
 	printf("demuxer->audio->id==%d\n",demuxer->audio->id);
 	*/
-	
+
 	demuxer->audio->id = 0;
 	demuxer->audio->sh=sh_audio;
 	sh_audio->format=0x50;
 	sh_audio->ds=demuxer->audio;
-	
+
 	demuxer->movi_start=0;
 	demuxer->movi_end=demuxer->stream->end_pos;
-	
+
 	priv->last_video_pts=-1;
 	priv->last_audio_pts=-1;
 
@@ -295,7 +295,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 #endif
 	pva_priv_t * priv;
 
-	
+
 	if(d==NULL)
 	{
 		mp_msg(MSGT_DEMUX,MSGL_ERR,"demux_pva: pva_get_payload got passed a NULL pointer!\n");
@@ -304,10 +304,10 @@ int pva_get_payload(demuxer_t * d,pva_pa
 
 	priv = (pva_priv_t *)d->priv;
 	d->filepos=stream_tell(d->stream);
-	
-	
-	
-	
+
+
+
+
 	if(d->stream->eof)
 	{
 		mp_msg(MSGT_DEMUX,MSGL_V,"demux_pva: pva_get_payload() detected stream->eof!!!\n");
@@ -315,7 +315,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 	}
 
 	//printf("priv->just_synced %s\n",priv->just_synced?"SET":"UNSET");
-	
+
 #ifdef PVA_NEW_PREBYTES_CODE
 	if(priv->prebytes_delivered)
 		/* The previous call to this fn has delivered the preBytes. Then we are already inside
@@ -332,7 +332,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 		priv->prebytes_delivered = 0;
 		return 1;
 	}
-#endif	
+#endif
 	if(!priv->just_synced)
 	{
 		if(stream_read_word(d->stream) != (('A'<<8)|'V'))
@@ -389,7 +389,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 	}
 #endif
 
-	
+
 	if(!payload->is_packet_start)
 	{
 		payload->offset=stream_tell(d->stream);
@@ -402,13 +402,13 @@ int pva_get_payload(demuxer_t * d,pva_pa
 			case VIDEOSTREAM:
 				payload->pts=(float)(le2me_32(stream_read_dword(d->stream)))/90000;
 				//printf("Video PTS: %f\n",payload->pts);
-				if((flags&0x03) 
+				if((flags&0x03)
 #ifdef PVA_NEW_PREBYTES_CODE
 						&& !priv->prebytes_delivered
 #endif
 						)
 				{
-#ifndef PVA_NEW_PREBYTES_CODE					
+#ifndef PVA_NEW_PREBYTES_CODE
 					dp=new_demux_packet(flags&0x03);
 					stream_read(d->stream,dp->buffer,flags & 0x03); //read PreBytes
 					ds_add_packet(d->video,dp);
@@ -424,7 +424,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 					return 1;
 #endif
 				}
-				
+
 
 				//now we are at real beginning of payload.
 				payload->offset=stream_tell(d->stream);
@@ -435,8 +435,8 @@ int pva_get_payload(demuxer_t * d,pva_pa
 				stream_skip(d->stream,3); //FIXME properly parse PES header.
 				//printf("StreamID in audio PES header: 0x%2X\n",stream_read_char(d->stream));
 				stream_skip(d->stream,4);
-				
-				buffer[255]=stream_read_char(d->stream);			
+
+				buffer[255]=stream_read_char(d->stream);
 				pes_head_len=stream_read_char(d->stream);
 				stream_read(d->stream,buffer,pes_head_len);
 				if(!buffer[255]&0x80) //PES header does not contain PTS.
@@ -444,7 +444,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 					mp_msg(MSGT_DEMUX,MSGL_V,"Audio PES packet does not contain PTS. (pes_head_len=%d)\n",pes_head_len);
 					payload->pts=priv->last_audio_pts;
 					break;
-				}			
+				}
 				else		//PES header DOES contain PTS
 				{
 					if((buffer[0] & 0xf0)!=0x20) // PTS badly formatted
@@ -456,7 +456,7 @@ int pva_get_payload(demuxer_t * d,pva_pa
 					else
 					{
 						uint64_t temp_pts;
-					
+
 						temp_pts=0LL;
 						temp_pts|=((uint64_t)(buffer[0] & 0x0e) << 29);
 						temp_pts|=buffer[1]<<22;
@@ -482,7 +482,7 @@ static void demux_seek_pva(demuxer_t * d
 	int total_bitrate=0;
 	off_t dest_offset;
 	pva_priv_t * priv=demuxer->priv;
-	
+
 	total_bitrate=((sh_audio_t *)demuxer->audio->sh)->i_bps + ((sh_video_t *)demuxer->video->sh)->i_bps;
 
 	/*
@@ -492,10 +492,10 @@ static void demux_seek_pva(demuxer_t * d
 	 * the overhead caused by PVA and PES headers.
 	 * If the calculated absolute offset is negative, seek to the beginning of the file.
 	 */
-	
+
 	dest_offset=stream_tell(demuxer->stream)+rel_seek_secs*total_bitrate;
 	if(dest_offset<0) dest_offset=0;
-	
+
 	stream_seek(demuxer->stream,dest_offset);
 
 	if(!pva_sync(demuxer))
@@ -503,13 +503,13 @@ static void demux_seek_pva(demuxer_t * d
 		mp_msg(MSGT_DEMUX,MSGL_V,"demux_pva: Couldn't seek!\n");
 		return;
 	}
-	
+
 	/*
 	 * Reset the PTS info inside the pva_priv_t structure. This way we don't deliver
 	 * data with the wrong PTSs (the ones we had before seeking).
 	 *
 	 */
-	
+
 	priv->last_video_pts=-1;
 	priv->last_audio_pts=-1;
 }
@@ -524,7 +524,7 @@ static void demux_close_pva(demuxer_t * 
 		demuxer->priv=NULL;
 	}
 }
-			
+
 
 const demuxer_desc_t demuxer_desc_pva = {
   "PVA demuxer",

Modified: trunk/libmpdemux/demux_real.c
==============================================================================
--- trunk/libmpdemux/demux_real.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_real.c	Wed May 13 04:58:57 2009	(r29305)
@@ -73,28 +73,28 @@ typedef struct {
     /* for seeking */
     int		index_chunk_offset;
     real_index_table_t *index_table[MAX_STREAMS];
-	
+
 //    int		*index_table[MAX_STREAMS];
     int		index_table_size[MAX_STREAMS];
     int		index_malloc_size[MAX_STREAMS];
     int		data_chunk_offset;
     int		num_of_packets;
     int		current_packet;
-	
+
 // need for seek
     int		audio_need_keyframe;
     int		video_after_seek;
 
     int		current_apacket;
     int		current_vpacket;
-    
+
     // timestamp correction:
     int64_t		kf_base;// timestamp of the prev. video keyframe
     unsigned int	kf_pts;	// timestamp of next video keyframe
     unsigned int	a_pts;	// previous audio timestamp
     double	v_pts;  // previous video timestamp
     unsigned long	duration;
-    
+
     /* stream id table */
 //    int		last_a_stream;
 //    int 	a_streams[MAX_STREAMS];
@@ -135,7 +135,7 @@ typedef struct {
 static void get_str(int isbyte, demuxer_t *demuxer, char *buf, int buf_size)
 {
     int len;
-    
+
     if (isbyte)
 	len = stream_read_char(demuxer->stream);
     else
@@ -156,13 +156,13 @@ static void dump_index(demuxer_t *demuxe
 
     if (!mp_msg_test(MSGT_DEMUX,MSGL_V))
 	return;
-    
+
     if ((unsigned)stream_id >= MAX_STREAMS)
 	return;
 
     index = priv->index_table[stream_id];
     entries = priv->index_table_size[stream_id];
-    
+
     mp_msg(MSGT_DEMUX, MSGL_V, "Index table for stream %d\n", stream_id);
     for (i = 0; i < entries; i++)
     {
@@ -211,10 +211,10 @@ read_index:
 
     entries = stream_read_dword(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"entries: %d\n", entries);
-    
+
     stream_id = stream_read_word(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"stream_id: %d\n", stream_id);
-    
+
     next_header_pos = stream_read_dword(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"next_header_pos: %d\n", next_header_pos);
     if (entries <= 0 || entries > MAX_INDEX_ENTRIES)
@@ -227,7 +227,7 @@ read_index:
 
     priv->index_table_size[stream_id] = entries;
     priv->index_table[stream_id] = calloc(priv->index_table_size[stream_id], sizeof(real_index_table_t));
-    
+
     for (i = 0; i < entries; i++)
     {
 	stream_skip(demuxer->stream, 2); /* version */
@@ -238,7 +238,7 @@ read_index:
 //	printf("Index table: Stream#%d: entry: %d: pos: %d\n",
 //	    stream_id, i, priv->index_table[stream_id][i].offset);
     }
-    
+
     dump_index(demuxer, stream_id);
 
     if (next_header_pos > 0)
@@ -300,7 +300,7 @@ static void add_index_segment(demuxer_t 
   while (1)
   {
     demuxer->filepos = stream_tell(demuxer->stream);
-    
+
     tag = stream_read_dword(demuxer->stream);
     if (tag == MKTAG('A', 'T', 'A', 'D'))
     {
@@ -310,16 +310,16 @@ static void add_index_segment(demuxer_t 
     len = tag & 0xffff;
     if (tag == -256 || len < 12)
       break;
-    
+
     stream_id = stream_read_word(demuxer->stream);
     timestamp = stream_read_dword(demuxer->stream);
-    
+
     stream_skip(demuxer->stream, 1); /* reserved */
     flags = stream_read_char(demuxer->stream);
-    
+
     if (flags == -256)
       break;
-    
+
     if (flags & 2)
     {
       add_index_item(demuxer, stream_id, timestamp, demuxer->filepos);
@@ -342,7 +342,7 @@ static int generate_index(demuxer_t *dem
   int data_pos = priv->data_chunk_offset-10;
   int i;
   int tag;
-  
+
   stream_seek(demuxer->stream, data_pos);
   tag = stream_read_dword(demuxer->stream);
   if (tag != MKTAG('A', 'T', 'A', 'D'))
@@ -391,7 +391,7 @@ read_index:
     }
     stream_skip(demuxer->stream, 4); /* chunk size */
     stream_skip(demuxer->stream, 2); /* version */
-    
+
     num_of_packets = stream_read_dword(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"Generating index table from raw data (pos: 0x%x) for %d packets\n",
 	data_pos, num_of_packets);
@@ -407,10 +407,10 @@ read_index:
     }
 
     tab_pos = 0;
-    
+
 //    memset(priv->index_table_size, 0, sizeof(int)*MAX_STREAMS);
 //    memset(priv->index_table, 0, sizeof(real_index_table_t)*MAX_STREAMS);
-    
+
     while (tab_pos < num_of_packets)
     {
     i = stream_read_char(demuxer->stream);
@@ -422,7 +422,7 @@ read_index:
     len = stream_read_word(demuxer->stream);
     stream_id = stream_read_word(demuxer->stream);
     timestamp = stream_read_dword(demuxer->stream);
-    
+
     stream_skip(demuxer->stream, 1); /* reserved */
     flags = stream_read_char(demuxer->stream);
 
@@ -434,7 +434,7 @@ read_index:
 //    else
 //	priv->index_table[stream_id] = realloc(priv->index_table[stream_id],
 //	    priv->index_table_size[stream_id] * sizeof(real_index_table_t));
-    
+
     priv->index_table[stream_id][i].timestamp = timestamp;
     priv->index_table[stream_id][i].offset = stream_tell(demuxer->stream)-12;
     priv->index_table[stream_id][i].len = len;
@@ -468,7 +468,7 @@ static int real_check_file(demuxer_t* de
     int c;
 
     mp_msg(MSGT_DEMUX,MSGL_V,"Checking for REAL\n");
-    
+
     c = stream_read_dword_le(demuxer->stream);
     if (c == -256)
 	return 0; /* EOF */
@@ -620,17 +620,17 @@ static int demux_real_fill_buffer(demuxe
 	mp_msg(MSGT_DEMUX,MSGL_INFO,"demux_real: New data chunk is coming!!!\n");
     if (priv->is_multirate)
         return 0; // EOF
-	stream_skip(demuxer->stream,14); 
+	stream_skip(demuxer->stream,14);
 	demuxer->filepos = stream_tell(demuxer->stream);
         version = stream_read_word(demuxer->stream); /* version */
-	len = stream_read_word(demuxer->stream);	
+	len = stream_read_word(demuxer->stream);
     } else if ((version == 0x494e) && (len == 0x4458)) {
         mp_msg(MSGT_DEMUX,MSGL_V,"demux_real: Found INDX chunk. EOF.\n");
         demuxer->stream->eof=1;
         return 0;
     }
 
-    
+
     if (len == -256){ /* EOF */
 //	printf("len==-256!\n");
 	return 0;
@@ -676,7 +676,7 @@ static int demux_real_fill_buffer(demuxe
 	priv->current_packet, (int)demuxer->filepos, len, stream_id, timestamp, flags, reserved);
 
     priv->current_packet++;
-    len -= 12;    
+    len -= 12;
 
 //    printf("s_id=%d  aid=%d  vid=%d  \n",stream_id,demuxer->audio->id,demuxer->video->id);
 
@@ -858,19 +858,19 @@ got_audio:
 		if (priv->stream_switch)
 			priv->audio_curpos = stream_tell(demuxer->stream);
 	}
-	
+
     // If we're reordering audio packets and we need more data get it
     if (audioreorder_getnextpk)
         continue;
 
 	return 1;
     }
-    
+
     if(demuxer->video->id==stream_id){
 got_video:
 	ds=demuxer->video;
 	mp_dbg(MSGT_DEMUX,MSGL_DBG2, "packet is video (id: %d)\n", stream_id);
-	
+
 	// parse video chunk:
 	{
 	    // we need a more complicated, 2nd level demuxing, as the video
@@ -903,7 +903,7 @@ got_video:
  	    	    vpkg_offset=0;
  		    vpkg_length=len;
 		} else {
-		
+
 		    if (0==(vpkg_header&0x40)) {
 			// sub-seqnum (bits 0-6: number of fragment. bit 7: ???)
 		        vpkg_subseq=stream_read_char(demuxer->stream);
@@ -1029,7 +1029,7 @@ got_video:
 		if (vpkg_length > len) {
 		    mp_msg(MSGT_DEMUX, MSGL_WARN,"\n******** WARNING: vpkg_length=%i > len=%i ********\n", vpkg_length, len);
 		    /*
-		     * To keep the video stream rolling, we need to break 
+		     * To keep the video stream rolling, we need to break
 		     * here. We shouldn't touch len to make sure rest of the
 		     * broken packet is skipped.
 		     */
@@ -1040,14 +1040,14 @@ got_video:
 		queue_video_packet(priv, ds, dp);
 
 	    } // while(len>0)
-	    
+
 	    if(len){
 		mp_msg(MSGT_DEMUX, MSGL_WARN,"\n******** !!!!!!!! BUG!! len=%d !!!!!!!!!!! ********\n",len);
 		if(len>0) stream_skip(demuxer->stream, len);
 	    }
 	}
 	if ((unsigned)demuxer->video->id < MAX_STREAMS) {
-		while (priv->current_vpacket + 1 < priv->index_table_size[demuxer->video->id] && 
+		while (priv->current_vpacket + 1 < priv->index_table_size[demuxer->video->id] &&
 		       timestamp > priv->index_table[demuxer->video->id][priv->current_vpacket + 1].timestamp) {
 			priv->current_vpacket += 1;
 			priv->stream_switch = 1;
@@ -1117,7 +1117,7 @@ static demuxer_t* demux_open_real(demuxe
 //    for (i = 1; ; i++)
     {
 	int chunk_id, chunk_pos, chunk_size;
-	
+
 	chunk_pos = stream_tell(demuxer->stream);
 	chunk_id = stream_read_dword_le(demuxer->stream);
 	chunk_size = stream_read_dword(demuxer->stream);
@@ -1126,12 +1126,12 @@ static demuxer_t* demux_open_real(demuxe
 
 	mp_msg(MSGT_DEMUX,MSGL_V, "Chunk: %.4s (%x) (size: 0x%x, offset: 0x%x)\n",
 	    (char *)&chunk_id, chunk_id, chunk_size, chunk_pos);
-	
+
 	if (chunk_id != MKTAG('D', 'A', 'T', 'A') && chunk_size < 10){
 	    mp_msg(MSGT_DEMUX,MSGL_ERR,"demux_real: invalid chunksize! (%d)\n",chunk_size);
 	    break; //return;
 	}
-	
+
 	switch(chunk_id)
 	{
 	    case MKTAG('P', 'R', 'O', 'P'):
@@ -1154,7 +1154,7 @@ static demuxer_t* demux_open_real(demuxe
 #else
 		{
 		    int flags = stream_read_word(demuxer->stream);
-		    
+
 		    if (flags)
 		    {
 		    mp_msg(MSGT_DEMUX,MSGL_V,"Flags (%x): ", flags);
@@ -1229,7 +1229,7 @@ static demuxer_t* demux_open_real(demuxe
 
 		stream_id = stream_read_word(demuxer->stream);
 		mp_msg(MSGT_DEMUX,MSGL_V,"Found new stream (id: %d)\n", stream_id);
-		
+
 		stream_skip(demuxer->stream, 4); /* max bitrate */
 		bitrate = stream_read_dword(demuxer->stream); /* avg bitrate */
 		stream_skip(demuxer->stream, 4); /* max packet size */
@@ -1237,7 +1237,7 @@ static demuxer_t* demux_open_real(demuxe
 		stream_skip(demuxer->stream, 4); /* start time */
 		stream_skip(demuxer->stream, 4); /* preroll */
 		stream_skip(demuxer->stream, 4); /* duration */
-		
+
 		if ((len = stream_read_char(demuxer->stream)) > 0) {
 		    descr = malloc(len+1);
 	    	stream_read(demuxer->stream, descr, len);
@@ -1251,7 +1251,7 @@ static demuxer_t* demux_open_real(demuxe
 		    mimet[len] = 0;
 		    mp_msg(MSGT_DEMUX, MSGL_INFO,"Stream mimetype: %s\n", mimet);
 		}
-		
+
 		/* Type specific header */
 		codec_data_size = stream_read_dword(demuxer->stream);
 		codec_pos = stream_tell(demuxer->stream);
@@ -1349,7 +1349,7 @@ static demuxer_t* demux_open_real(demuxe
 		    sub_packet_size = stream_read_word(demuxer->stream);
 		    mp_msg(MSGT_DEMUX,MSGL_V,"sub_packet_size: %d\n", sub_packet_size);
 		    stream_skip(demuxer->stream, 2); // 0
-		    
+
 		    if (version == 5)
 			stream_skip(demuxer->stream, 6); //0,srate,0
 
@@ -1368,7 +1368,7 @@ static demuxer_t* demux_open_real(demuxe
 			buf[4] = 0;
 		    }
 		    else
-		    {		
+		    {
 			/* Interleaver id */
 			get_str(1, demuxer, buf, sizeof(buf));
 			priv->intl_id[stream_id] = MKTAG(buf[0], buf[1], buf[2], buf[3]);
@@ -1406,9 +1406,9 @@ static demuxer_t* demux_open_real(demuxe
 			case MKTAG('a', 't', 'r', 'c'):
 			case MKTAG('c', 'o', 'o', 'k'):
 			    // realaudio codec plugins - common:
-			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes 
+			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes
 			    if (version==5)
-			      stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte 
+			      stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte
 			    codecdata_length=stream_read_dword(demuxer->stream);
 			    // Check extradata len, we can't store bigger values in cbSize anyway
 			    if ((unsigned)codecdata_length > 0xffff) {
@@ -1430,9 +1430,9 @@ static demuxer_t* demux_open_real(demuxe
 			    /* This is just AAC. The two or five bytes of */
 			    /* config data needed for libfaad are stored */
 			    /* after the audio headers. */
-			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes 
+			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes
 			    if (version==5)
-				stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte 
+				stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte
 			    codecdata_length=stream_read_dword(demuxer->stream);
 			    if (codecdata_length>=1) {
 				sh->codecdata_len = codecdata_length - 1;
@@ -1453,7 +1453,7 @@ static demuxer_t* demux_open_real(demuxe
 		    priv->audiopk_size[stream_id] = frame_size;
 
 		    sh->wf->wFormatTag = sh->format;
-		    
+
 		    mp_msg(MSGT_DEMUX,MSGL_V,"audio fourcc: %.4s (%x)\n", (char *)&sh->format, sh->format);
 		    if ( mp_msg_test(MSGT_DEMUX,MSGL_V) )
 		    print_wave_header(sh->wf, MSGL_V);
@@ -1472,7 +1472,7 @@ static demuxer_t* demux_open_real(demuxe
         	priv->audio_buf = calloc(priv->sub_packet_h[demuxer->audio->id], priv->audiopk_size[demuxer->audio->id]);
         	priv->audio_timestamp = calloc(priv->sub_packet_h[demuxer->audio->id], sizeof(double));
 		    }
-		    
+
 		    ++a_streams;
 
 #ifdef stream_skip
@@ -1493,12 +1493,12 @@ static demuxer_t* demux_open_real(demuxe
 		    sh->wf->nBlockAlign = 0;//frame_size;
 		    sh->wf->cbSize = 0;
 		    sh->wf->wFormatTag = sh->format = mmioFOURCC('a','d','u',0x55);
-		    
+
 		    if(demuxer->audio->id==stream_id){
 			    sh->ds=demuxer->audio;
 			    demuxer->audio->sh=sh;
 		    }
-		    
+
 		    ++a_streams;
 	  } else if (strstr(mimet,"x-ralf-mpeg4")) {
 		 mp_msg(MSGT_DEMUX,MSGL_ERR,"Real lossless audio not supported yet\n");
@@ -1536,7 +1536,7 @@ static demuxer_t* demux_open_real(demuxe
 		    sh->fps = (float) stream_read_word(demuxer->stream);
 		    if (sh->fps<=0) sh->fps=24; // we probably won't even care about fps
 		    sh->frametime = 1.0f/sh->fps;
-		    
+
 #if 1
 		    stream_skip(demuxer->stream, 4);
 #else
@@ -1556,7 +1556,7 @@ static demuxer_t* demux_open_real(demuxe
 			mp_msg(MSGT_DEMUX, MSGL_WARN,"realvid: ignoring FPS = %d\n",fps);
 		    }
 		    stream_skip(demuxer->stream, 2);
-		    
+
 		    {
 			    // read and store codec extradata
 			    unsigned int cnt = codec_data_size - (stream_tell(demuxer->stream) - codec_pos);
@@ -1567,10 +1567,10 @@ static demuxer_t* demux_open_real(demuxe
 			        sh->bih->biSize += cnt;
 				stream_read(demuxer->stream, ((unsigned char*)(sh->bih+1)), cnt);
 			    }
-		    } 
+		    }
 		    if(sh->format == 0x30315652 && ((unsigned char*)(sh->bih+1))[6] == 0x30)
 			    sh->bih->biCompression = sh->format = mmioFOURCC('R', 'V', '1', '3');
-		    
+
 		    /* Select video stream with highest bitrate if multirate file*/
 		    if (priv->is_multirate && ((demuxer->video->id == -1) ||
 		                               ((demuxer->video->id >= 0) && priv->v_bitrate && (bitrate > priv->v_bitrate)))) {
@@ -1583,7 +1583,7 @@ static demuxer_t* demux_open_real(demuxe
 			sh->ds=demuxer->video;
 			demuxer->video->sh=sh;
 		    }
-		    
+
 		    ++v_streams;
 
 		}
@@ -1596,7 +1596,7 @@ static demuxer_t* demux_open_real(demuxe
 		 } else if (strstr(mimet,"-audio") || strstr(mimet,"-video")) {
 		    int i, stream_cnt;
 		    int stream_list[MAX_STREAMS];
-		    
+
 		    priv->is_multirate = 1;
 		    stream_skip(demuxer->stream, 4); // Length of codec data (repeated)
 		    stream_cnt = stream_read_dword(demuxer->stream); // Get number of audio or video streams
@@ -1615,7 +1615,7 @@ static demuxer_t* demux_open_real(demuxe
 		            mp_msg(MSGT_DEMUX,MSGL_V,"Stream %d with DATA offset 0x%08x\n", stream_list[i], priv->str_data_offset[stream_list[i]]);
 		        }
 		    // Skip the rest of this chunk
-		 } else 
+		 } else
 		     mp_msg(MSGT_DEMUX,MSGL_V,"Unknown logical stream\n");
 		}
 		else {
@@ -1770,7 +1770,7 @@ static void demux_close_real(demuxer_t *
 {
     int i;
     real_priv_t* priv = demuxer->priv;
- 
+
     if (priv){
     	for(i=0; i<MAX_STREAMS; i++)
 	    if(priv->index_table[i])
@@ -1836,7 +1836,7 @@ static void demux_seek_real(demuxer_t *d
 				else
 	    				break;
 	    		}
-	    	} 
+	    	}
 	    else if (rel_seek_secs < 0) {
 	    	while ((cur_timestamp - priv->index_table[vid][priv->current_vpacket].timestamp) < - rel_seek_secs * 1000){
 	    		priv->current_vpacket -= 1;
@@ -1887,22 +1887,22 @@ static int demux_real_control(demuxer_t 
 {
     real_priv_t *priv = demuxer->priv;
     unsigned int lastpts = priv->v_pts ? priv->v_pts : priv->a_pts;
-    
+
     switch (cmd) {
         case DEMUXER_CTRL_GET_TIME_LENGTH:
 	    if (priv->duration == 0)
 	        return DEMUXER_CTRL_DONTKNOW;
-	    
+
 	    *((double *)arg) = (double)priv->duration;
 	    return DEMUXER_CTRL_OK;
 
 	case DEMUXER_CTRL_GET_PERCENT_POS:
 	    if (priv->duration == 0)
 	        return DEMUXER_CTRL_DONTKNOW;
-	    
+
 	    *((int *)arg) = (int)(100 * lastpts / priv->duration);
 	    return DEMUXER_CTRL_OK;
-	
+
 	default:
 	    return DEMUXER_CTRL_NOTIMPL;
     }

Modified: trunk/libmpdemux/demux_realaud.c
==============================================================================
--- trunk/libmpdemux/demux_realaud.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_realaud.c	Wed May 13 04:58:57 2009	(r29305)
@@ -73,7 +73,7 @@ typedef struct {
 static int ra_check_file(demuxer_t* demuxer)
 {
 	unsigned int chunk_id;
-  
+
 	chunk_id = stream_read_dword_le(demuxer->stream);
 	if (chunk_id == FOURCC_DOTRA)
 		return DEMUXER_TYPE_REALAUDIO;
@@ -339,7 +339,7 @@ static demuxer_t* demux_open_ra(demuxer_
 static void demux_close_ra(demuxer_t *demuxer)
 {
 	ra_priv_t* ra_priv = demuxer->priv;
- 
+
     if (ra_priv) {
 	    if (ra_priv->audio_buf)
 	        free (ra_priv->audio_buf);

Modified: trunk/libmpdemux/demux_roq.c
==============================================================================
--- trunk/libmpdemux/demux_roq.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_roq.c	Wed May 13 04:58:57 2009	(r29305)
@@ -194,7 +194,7 @@ static demuxer_t* demux_open_roq(demuxer
       roq_data->chunks = (roq_chunk_t *)realloc(roq_data->chunks,
         (roq_data->total_chunks + 1) * sizeof (roq_chunk_t));
       roq_data->chunks[roq_data->total_chunks].chunk_type = CHUNK_TYPE_AUDIO;
-      roq_data->chunks[roq_data->total_chunks].chunk_offset = 
+      roq_data->chunks[roq_data->total_chunks].chunk_offset =
         stream_tell(demuxer->stream) - 8;
       roq_data->chunks[roq_data->total_chunks].chunk_size = chunk_size + 8;
       roq_data->chunks[roq_data->total_chunks].running_audio_sample_count =
@@ -203,7 +203,7 @@ static demuxer_t* demux_open_roq(demuxer
       // audio housekeeping
       if (chunk_size > largest_audio_chunk)
         largest_audio_chunk = chunk_size;
-      roq_data->total_audio_sample_count += 
+      roq_data->total_audio_sample_count +=
         (chunk_size / sh_audio->wf->nChannels);
 
       stream_skip(demuxer->stream, chunk_size);
@@ -217,10 +217,10 @@ static demuxer_t* demux_open_roq(demuxer
       roq_data->chunks = (roq_chunk_t *)realloc(roq_data->chunks,
         (roq_data->total_chunks + 1) * sizeof (roq_chunk_t));
       roq_data->chunks[roq_data->total_chunks].chunk_type = CHUNK_TYPE_VIDEO;
-      roq_data->chunks[roq_data->total_chunks].chunk_offset = 
+      roq_data->chunks[roq_data->total_chunks].chunk_offset =
         stream_tell(demuxer->stream) - 8;
       roq_data->chunks[roq_data->total_chunks].chunk_size = chunk_size + 8;
-      roq_data->chunks[roq_data->total_chunks].video_chunk_number = 
+      roq_data->chunks[roq_data->total_chunks].video_chunk_number =
         roq_data->total_video_chunks++;
 
       stream_skip(demuxer->stream, chunk_size);
@@ -264,7 +264,7 @@ static void demux_close_roq(demuxer_t* d
     return;
   free(roq_data);
 }
-  
+
 
 const demuxer_desc_t demuxer_desc_roq = {
   "RoQ demuxer",

Modified: trunk/libmpdemux/demux_rtp.cpp
==============================================================================
--- trunk/libmpdemux/demux_rtp.cpp	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_rtp.cpp	Wed May 13 04:58:57 2009	(r29305)
@@ -91,7 +91,7 @@ typedef struct RTPState {
 extern "C" char* network_username;
 extern "C" char* network_password;
 static char* openURL_rtsp(RTSPClient* client, char const* url) {
-  // If we were given a user name (and optional password), then use them: 
+  // If we were given a user name (and optional password), then use them:
   if (network_username != NULL) {
     char const* password = network_password == NULL ? "" : network_password;
     return client->describeWithPassword(url, network_username, password);
@@ -101,7 +101,7 @@ static char* openURL_rtsp(RTSPClient* cl
 }
 
 static char* openURL_sip(SIPClient* client, char const* url) {
-  // If we were given a user name (and optional password), then use them: 
+  // If we were given a user name (and optional password), then use them:
   if (network_username != NULL) {
     char const* password = network_password == NULL ? "" : network_password;
     return client->inviteWithPassword(url, network_username, password);
@@ -110,7 +110,7 @@ static char* openURL_sip(SIPClient* clie
   }
 }
 
-int rtspStreamOverTCP = 0; 
+int rtspStreamOverTCP = 0;
 extern int rtsp_port;
 
 extern "C" int audio_id, video_id, dvdsub_id;
@@ -126,7 +126,7 @@ extern "C" demuxer_t* demux_open_rtp(dem
     SIPClient* sipClient = NULL;
 
     if (demuxer == NULL || demuxer->stream == NULL) break;  // shouldn't happen
-    demuxer->stream->eof = 0; // just in case 
+    demuxer->stream->eof = 0; // just in case
 
     // Look at the stream's 'priv' field to see if we were initiated
     // via a SDP description:
@@ -207,7 +207,7 @@ extern "C" demuxer_t* demux_open_rtp(dem
 
       if (rtsp_port)
           subsession->setClientPortNum (rtsp_port);
-      
+
       if (!subsession->initiate()) {
 	fprintf(stderr, "Failed to initiate \"%s/%s\" RTP subsession: %s\n", subsession->mediumName(), subsession->codecName(), env->getResultMsg());
       } else {
@@ -312,7 +312,7 @@ extern "C" int demux_rtp_fill_buffer(dem
     if (dp == NULL) return 0;
 
     if (demuxer->stream->eof) return 0; // source stream has closed down
-  
+
     // Before using this packet, check to make sure that its presentation
     // time is not far behind the other stream (if any).  If it is,
     // then we discard this packet, and get another instead.  (The rest of
@@ -331,7 +331,7 @@ extern "C" int demux_rtp_fill_buffer(dem
       ds_add_packet(ds, dp);
       break;
     }
-    
+
 #ifdef DEBUG_PRINT_DISCARDED_PACKETS
     RTPState* rtpState = (RTPState*)(demuxer->priv);
     ReadBufferQueue* bufferQueue = ds == demuxer->video ? rtpState->videoBufferQueue : rtpState->audioBufferQueue;
@@ -422,7 +422,7 @@ static void afterReading(void* clientDat
   resize_demux_packet(dp, frameSize + headersize);
 
   // Set the packet's presentation time stamp, depending on whether or
-  // not our RTP source's timestamps have been synchronized yet: 
+  // not our RTP source's timestamps have been synchronized yet:
   Boolean hasBeenSynchronized
     = bufferQueue->rtpSource()->hasBeenSynchronizedUsingRTCP();
   if (hasBeenSynchronized) {
@@ -435,7 +435,7 @@ static void afterReading(void* clientDat
     if (fst->tv_sec == 0 && fst->tv_usec == 0) {
       *fst = presentationTime;
     }
-    
+
     // For the "pts" field, use the time differential from the first
     // synchronized time, rather than absolute time, in order to avoid
     // round-off errors when converting to a float:
@@ -500,7 +500,7 @@ static demux_packet_t* getBuffer(demuxer
     fprintf(stderr, "(demux_rtp)getBuffer failed: no appropriate RTP subsession has been set up\n");
     return NULL;
   }
-  
+
   demux_packet_t* dp = NULL;
   if (!mustGetNewData) {
     // Check whether we have a previously-saved buffer that we can use:
@@ -617,7 +617,7 @@ ReadBufferQueue::ReadBufferQueue(MediaSu
     fReadSource(subsession == NULL ? NULL : subsession->readSource()),
     fRTPSource(subsession == NULL ? NULL : subsession->rtpSource()),
     fOurDemuxer(demuxer), fTag(strdup(tag)) {
-} 
+}
 
 ReadBufferQueue::~ReadBufferQueue() {
   delete fTag;
@@ -647,7 +647,7 @@ demux_packet_t* ReadBufferQueue::getPend
   demux_packet_t* dp = pendingDPHead;
   if (dp != NULL) {
     pendingDPHead = dp->next;
-    if (pendingDPHead == NULL) pendingDPTail = NULL; 
+    if (pendingDPHead == NULL) pendingDPTail = NULL;
 
     dp->next = NULL;
   }

Modified: trunk/libmpdemux/demux_rtp_codec.cpp
==============================================================================
--- trunk/libmpdemux/demux_rtp_codec.cpp	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_rtp_codec.cpp	Wed May 13 04:58:57 2009	(r29305)
@@ -82,7 +82,7 @@ parseQTState_video(QuickTimeGenericRTPSo
 static Boolean
 parseQTState_audio(QuickTimeGenericRTPSource::QTState const& qtState,
 		   unsigned& fourcc, unsigned& numChannels); // forward
-		       
+
 static BITMAPINFOHEADER * insertVideoExtradata(BITMAPINFOHEADER *bih,
                                                unsigned char * extraData,
                                                unsigned size)
@@ -111,7 +111,7 @@ void rtpCodecInitialize_video(demuxer_t*
   sh_video->bih = bih;
   demux_stream_t* d_video = demuxer->video;
   d_video->sh = sh_video; sh_video->ds = d_video;
-  
+
   // Map known video MIME types to the BITMAPINFOHEADER parameters
   // that this program uses.  (Note that not all types need all
   // of the parameters to be set.)
@@ -187,11 +187,11 @@ void rtpCodecInitialize_video(demuxer_t*
       while (pos+8 < endpos) {
         unsigned atomLength = pos[0]<<24 | pos[1]<<16 | pos[2]<<8 | pos[3];
         if (atomLength == 0 || atomLength > endpos-pos) break;
-        if ((!memcmp(pos+4, "avcC", 4) && fourcc==mmioFOURCC('a','v','c','1') || 
-             !memcmp(pos+4, "esds", 4) || 
+        if ((!memcmp(pos+4, "avcC", 4) && fourcc==mmioFOURCC('a','v','c','1') ||
+             !memcmp(pos+4, "esds", 4) ||
              !memcmp(pos+4, "SMI ", 4) && fourcc==mmioFOURCC('S','V','Q','3')) &&
             atomLength > 8) {
-          sh_video->bih = bih = 
+          sh_video->bih = bih =
               insertVideoExtradata(bih, pos+8, atomLength-8);
           break;
         }
@@ -217,7 +217,7 @@ void rtpCodecInitialize_audio(demuxer_t*
   demux_stream_t* d_audio = demuxer->audio;
   d_audio->sh = sh_audio; sh_audio->ds = d_audio;
   d_audio->id = sh_audio->aid;
-  
+
   wf->nChannels = subsession->numChannels();
 
   // Map known audio MIME types to the WAVEFORMATEX parameters
@@ -358,7 +358,7 @@ static void needVideoFrameRate(demuxer_t
     sh_video->frametime = 1.0f/fps;
     return;
   }
-  
+
   // Keep looking at incoming frames until we see two with different,
   // non-zero "pts" timestamps:
   unsigned char* packetData; unsigned packetDataLen;

Modified: trunk/libmpdemux/demux_smjpeg.c
==============================================================================
--- trunk/libmpdemux/demux_smjpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_smjpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,14 +38,14 @@ static int smjpeg_check_file(demuxer_t* 
     int orig_pos = stream_tell(demuxer->stream);
     char buf[8];
     int version;
-    
+
     mp_msg(MSGT_DEMUX, MSGL_V, "Checking for SMJPEG\n");
-    
+
     if (stream_read_word(demuxer->stream) == 0xA)
     {
 	stream_read(demuxer->stream, buf, 6);
 	buf[7] = 0;
-    
+
 	if (strncmp("SMJPEG", buf, 6)) {
 	    mp_msg(MSGT_DEMUX, MSGL_DBG2, "Failed: SMJPEG\n");
 	    return 0;
@@ -61,7 +61,7 @@ static int smjpeg_check_file(demuxer_t* 
 	    version);
 	return 0;
     }
-    
+
     stream_seek(demuxer->stream, orig_pos);
 
     return DEMUXER_TYPE_SMJPEG;
@@ -76,11 +76,11 @@ static int demux_smjpeg_fill_buffer(demu
     int dtype, dsize, dpts;
 
     demux->filepos = stream_tell(demux->stream);
-    
+
     dtype = stream_read_dword_le(demux->stream);
     dpts = stream_read_dword(demux->stream);
     dsize = stream_read_dword(demux->stream);
-    
+
     switch(dtype)
     {
 	case mmioFOURCC('s','n','d','D'):
@@ -110,10 +110,10 @@ static demuxer_t* demux_open_smjpeg(demu
     /* file header */
     stream_skip(demuxer->stream, 8); /* \x00\x0aSMJPEG */
     stream_skip(demuxer->stream, 4);
-    
+
     mp_msg(MSGT_DEMUX, MSGL_INFO, "This clip is %d seconds\n",
 	stream_read_dword(demuxer->stream));
-    
+
     /* stream header */
     while (i < 3)
     {
@@ -128,7 +128,7 @@ static demuxer_t* demux_open_smjpeg(demu
 	    sh_video = new_sh_video(demuxer, 0);
 	    demuxer->video->sh = sh_video;
 	    sh_video->ds = demuxer->video;
-	    
+
 	    sh_video->bih = malloc(sizeof(BITMAPINFOHEADER));
 	    memset(sh_video->bih, 0, sizeof(BITMAPINFOHEADER));
 
@@ -156,7 +156,7 @@ static demuxer_t* demux_open_smjpeg(demu
 
 	    sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
 	    memset(sh_audio->wf, 0, sizeof(WAVEFORMATEX));
-	    
+
 	    sh_audio->samplerate = stream_read_word(demuxer->stream);
 	    sh_audio->wf->wBitsPerSample = stream_read_char(demuxer->stream);
 	    sh_audio->channels = stream_read_char(demuxer->stream);
@@ -176,7 +176,7 @@ static demuxer_t* demux_open_smjpeg(demu
     }
 
     demuxer->seekable = 0;
-    
+
     return demuxer;
 }
 

Modified: trunk/libmpdemux/demux_ts.c
==============================================================================
--- trunk/libmpdemux/demux_ts.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_ts.c	Wed May 13 04:58:57 2009	(r29305)
@@ -147,7 +147,7 @@ typedef struct {
 	uint8_t use_ts;
 	uint8_t idle;
 	uint8_t duration;
-	
+
 	uint32_t ts_resolution, ocr_resolution;
 	uint8_t ts_len, ocr_len, au_len, instant_bitrate_len, degr_len, au_seqnum_len, packet_seqnum_len;
 	uint32_t timescale;
@@ -569,22 +569,22 @@ int mp_a52_framesize(uint8_t * buf, int 
 	};
 	uint8_t halfrate[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3};
 	int frmsizecod, bitrate, half;
-	
+
 	if((buf[0] != 0x0b) || (buf[1] != 0x77))	/* syncword */
 		return 0;
-	
+
 	if(buf[5] >= 0x60)		/* bsid >= 12 */
 		return 0;
 
 	half = halfrate[buf[5] >> 3];
-	
+
 	frmsizecod = buf[4] & 63;
 	if(frmsizecod >= 38)
 		return 0;
 
 	bitrate = rate[frmsizecod >> 1];
-	
-	switch(buf[4] & 0xc0) 
+
+	switch(buf[4] & 0xc0)
 	{
 		case 0:	/* 48 KHz */
 			*srate = 48000 >> half;
@@ -596,7 +596,7 @@ int mp_a52_framesize(uint8_t * buf, int 
 			*srate = 32000 >> half;
 			return 6 * bitrate;
 	}
-	
+
 	return 0;
 }
 
@@ -604,12 +604,12 @@ int mp_a52_framesize(uint8_t * buf, int 
 static int a52_check(char *buf, int len)
 {
 	int cnt, frame_length, ok, srate;
-	
+
 	cnt = ok = 0;
 	if(len < 8)
 		return 0;
-		
-	while(cnt < len - 7)	
+
+	while(cnt < len - 7)
 	{
 		if(buf[cnt] == 0x0B && buf[cnt+1] == 0x77)
 		{
@@ -626,7 +626,7 @@ static int a52_check(char *buf, int len)
 			cnt++;
 	}
 
-	mp_msg(MSGT_DEMUXER, MSGL_V, "A52_CHECK(%d input bytes), found %d frame syncwords of %d bytes length\n", len, ok, frame_length);	
+	mp_msg(MSGT_DEMUXER, MSGL_V, "A52_CHECK(%d input bytes), found %d frame syncwords of %d bytes length\n", len, ok, frame_length);
 	return ok;
 }
 
@@ -687,7 +687,7 @@ static off_t ts_detect_streams(demuxer_t
 				}
 				}
 			}
-			
+
 			is_audio = IS_AUDIO(es.type) || ((es.type==SL_PES_STREAM) && IS_AUDIO(es.subtype));
 			is_video = IS_VIDEO(es.type) || ((es.type==SL_PES_STREAM) && IS_VIDEO(es.subtype));
 			is_sub   = ((es.type == SPU_DVD) || (es.type == SPU_DVB));
@@ -838,7 +838,7 @@ static off_t ts_detect_streams(demuxer_t
 			pes_priv1[i].pos = 0;
 		}
 	}
-						
+
 	if(video_found)
 	{
 		if(param->vtype == VIDEO_MPEG1)
@@ -921,7 +921,7 @@ static off_t ts_detect_streams(demuxer_t
 static int parse_avc_sps(uint8_t *buf, int len, int *w, int *h)
 {
 	int sps, sps_len;
-	unsigned char *ptr; 
+	unsigned char *ptr;
 	mp_mpeg_header_t picture;
 	if(len < 6)
 		return 0;
@@ -1035,8 +1035,8 @@ static demuxer_t *demux_open_ts(demuxer_
 
 	if(params.atype != UNKNOWN)
 	{
-		ES_stream_t *es = priv->ts.pids[params.apid]; 
-		
+		ES_stream_t *es = priv->ts.pids[params.apid];
+
 		if(!IS_AUDIO(es->type) && !IS_AUDIO(es->subtype) && IS_AUDIO(params.atype)) es->subtype = params.atype;
 		ts_add_stream(demuxer, priv->ts.pids[params.apid]);
 		sh_audio = priv->ts.streams[params.apid].sh;
@@ -1075,7 +1075,7 @@ static demuxer_t *demux_open_ts(demuxer_
 	priv->pat.section.buffer_len = 0;
 	for(i = 0; i < priv->pmt_cnt; i++)
 		priv->pmt[i].section.buffer_len = 0;
-	
+
 	demuxer->filepos = stream_tell(demuxer->stream);
 	return demuxer;
 }
@@ -1084,16 +1084,16 @@ static void demux_close_ts(demuxer_t * d
 {
 	uint16_t i;
 	ts_priv_t *priv = (ts_priv_t*) demuxer->priv;
-	
+
 	if(priv)
 	{
 		if(priv->pat.section.buffer)
 			free(priv->pat.section.buffer);
 		if(priv->pat.progs)
 			free(priv->pat.progs);
-	
+
 		if(priv->pmt)
-		{	
+		{
 			for(i = 0; i < priv->pmt_cnt; i++)
 			{
 				if(priv->pmt[i].section.buffer)
@@ -1116,17 +1116,17 @@ static int mp4_parse_sl_packet(pmt_t *pm
 {
 	int i, n, m, mp4_es_id = -1;
 	uint64_t v = 0;
-	uint32_t pl_size = 0; 
+	uint32_t pl_size = 0;
 	int deg_flag = 0;
 	mp4_es_descr_t *es = NULL;
 	mp4_sl_config_t *sl = NULL;
 	uint8_t au_start = 0, au_end = 0, rap_flag = 0, ocr_flag = 0, padding = 0,  padding_bits = 0, idle = 0;
-	
+
 	pes_es->is_synced = 0;
-	mp_msg(MSGT_DEMUXER,MSGL_V, "mp4_parse_sl_packet, pid: %d, pmt: %pm, packet_len: %d\n", pid, pmt, packet_len);	
+	mp_msg(MSGT_DEMUXER,MSGL_V, "mp4_parse_sl_packet, pid: %d, pmt: %pm, packet_len: %d\n", pid, pmt, packet_len);
 	if(! pmt || !packet_len)
 		return 0;
-	
+
 	for(i = 0; i < pmt->es_cnt; i++)
 	{
 		if(pmt->es[i].pid == pid)
@@ -1134,7 +1134,7 @@ static int mp4_parse_sl_packet(pmt_t *pm
 	}
 	if(mp4_es_id < 0)
 		return -1;
-	
+
 	for(i = 0; i < pmt->mp4es_cnt; i++)
 	{
 		if(pmt->mp4es[i].id == mp4_es_id)
@@ -1142,16 +1142,16 @@ static int mp4_parse_sl_packet(pmt_t *pm
 	}
 	if(! es)
 		return -1;
-	
+
 	pes_es->subtype = es->decoder.object_type;
-	
+
 	sl = &(es->sl);
 	if(!sl)
 		return -1;
-		
+
 	//now es is the complete es_descriptor of out mp4 ES stream
 	mp_msg(MSGT_DEMUXER,MSGL_DBG2, "ID: %d, FLAGS: 0x%x, subtype: %x\n", es->id, sl->flags, pes_es->subtype);
-	
+
 	n = 0;
 	if(sl->au_start)
 		pes_es->sl.au_start = au_start = getbits(buf, n++, 1);
@@ -1159,14 +1159,14 @@ static int mp4_parse_sl_packet(pmt_t *pm
 		pes_es->sl.au_start = (pes_es->sl.last_au_end ? 1 : 0);
 	if(sl->au_end)
 		pes_es->sl.au_end = au_end = getbits(buf, n++, 1);
-	
+
 	if(!sl->au_start && !sl->au_end)
 	{
 		pes_es->sl.au_start = pes_es->sl.au_end = au_start = au_end = 1;
 	}
 	pes_es->sl.last_au_end = pes_es->sl.au_end;
-	
-	
+
+
 	if(sl->ocr_len > 0)
 		ocr_flag = getbits(buf, n++, 1);
 	if(sl->idle)
@@ -1178,34 +1178,34 @@ static int mp4_parse_sl_packet(pmt_t *pm
 		padding_bits = getbits(buf, n, 3);
 		n += 3;
 	}
-	
+
 	if(idle || (padding && !padding_bits))
 	{
 		pes_es->payload_size = 0;
 		return -1;
 	}
-	
+
 	//(! idle && (!padding || padding_bits != 0)) is true
 	n += sl->packet_seqnum_len;
 	if(sl->degr_len)
 		deg_flag = getbits(buf, n++, 1);
 	if(deg_flag)
 		n += sl->degr_len;
-	
+
 	if(ocr_flag)
 	{
 		n += sl->ocr_len;
 		mp_msg(MSGT_DEMUXER,MSGL_DBG2, "OCR: %d bits\n", sl->ocr_len);
 	}
-	
+
 	if(packet_len * 8 <= n)
 		return -1;
-	
+
 	mp_msg(MSGT_DEMUXER,MSGL_DBG2, "\nAU_START: %d, AU_END: %d\n", au_start, au_end);
 	if(au_start)
 	{
 		int dts_flag = 0, cts_flag = 0, ib_flag = 0;
-		
+
 		if(sl->random_accesspoint)
 			rap_flag = getbits(buf, n++, 1);
 
@@ -1213,7 +1213,7 @@ static int mp4_parse_sl_packet(pmt_t *pm
 		//the decoder will eventually discard the payload if it can't decode it
 		//if(rap_flag || sl->random_accesspoint_only)
 			pes_es->is_synced = 1;
-		
+
 		n += sl->au_seqnum_len;
 		if(packet_len * 8 <= n+8)
 			return -1;
@@ -1236,7 +1236,7 @@ static int mp4_parse_sl_packet(pmt_t *pm
 		if(cts_flag && (sl->ts_len > 0))
 		{
 			int i = 0, m;
-			
+
 			while(i < sl->ts_len)
 			{
 				m = FFMIN(8, sl->ts_len - i);
@@ -1248,12 +1248,12 @@ static int mp4_parse_sl_packet(pmt_t *pm
 				if(packet_len * 8 <= n+8)
 					return -1;
 			}
-			
+
 			pes_es->pts = (float) v / (float) sl->ts_resolution;
 			mp_msg(MSGT_DEMUXER,MSGL_DBG2, "CTS: %d bits, value: %"PRIu64"/%d = %.3f\n", sl->ts_len, v, sl->ts_resolution, pes_es->pts);
 		}
-		
-		
+
+
 		i = 0;
 		pl_size = 0;
 		while(i < sl->au_len)
@@ -1271,14 +1271,14 @@ static int mp4_parse_sl_packet(pmt_t *pm
 		if(ib_flag)
 			n += sl->instant_bitrate_len;
 	}
-	
+
 	m = (n+7)/8;
 	if(0 < pl_size && pl_size < pes_es->payload_size)
 		pes_es->payload_size = pl_size;
-	
-	mp_msg(MSGT_DEMUXER,MSGL_V, "mp4_parse_sl_packet, n=%d, m=%d, size from pes hdr: %u, sl hdr size: %u, RAP FLAGS: %d/%d\n", 
+
+	mp_msg(MSGT_DEMUXER,MSGL_V, "mp4_parse_sl_packet, n=%d, m=%d, size from pes hdr: %u, sl hdr size: %u, RAP FLAGS: %d/%d\n",
 		n, m, pes_es->payload_size, pl_size, (int) rap_flag, (int) sl->random_accesspoint_only);
-	
+
 	return m;
 }
 
@@ -1287,7 +1287,7 @@ static int parse_pes_extension_fields(un
 {
 	int skip;
 	unsigned char flags;
-	
+
 	if(!(p[7] & 0x1))	//no extension_field
 		return -1;
 	skip = 9;
@@ -1339,7 +1339,7 @@ static int parse_pes_extension_fields(un
 			return ssid;
 		}
 	}
-	
+
 	return -1;
 }
 
@@ -1406,7 +1406,7 @@ static int pes_parse2(unsigned char *buf
 		mp_msg(MSGT_DEMUX, MSGL_DBG2, "demux_ts: illegal value for PES_header_data_length (0x%02x)\n", header_len);
 		return 0;
 	}
-	
+
 	if(stream_id==0xfd)
 	{
 		int ssid = parse_pes_extension_fields(p, pkt_len);
@@ -1527,14 +1527,14 @@ static int pes_parse2(unsigned char *buf
 	else if ((stream_id == 0xfa))
 	{
 		int l;
-		
+
 		es->is_synced = 0;
 		if(type_from_pmt != UNKNOWN)	//MP4 A/V or SL
 		{
 			es->start   = p;
 			es->size    = packet_len;
 			es->type    = type_from_pmt;
-				
+
 			if(type_from_pmt == SL_PES_STREAM)
 			{
 				//if(pes_is_aligned)
@@ -1547,7 +1547,7 @@ static int pes_parse2(unsigned char *buf
 						l = 0;
 					}
 				//}
-			
+
 				es->start   += l;
 				es->size    -= l;
 			}
@@ -1662,11 +1662,11 @@ static int collect_section(ts_section_t 
 	uint8_t *ptr;
 	uint16_t tlen;
 	int skip, tid;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "COLLECT_SECTION, start: %d, size: %d, collected: %d\n", is_start, size, section->buffer_len);
 	if(! is_start && !section->buffer_len)
 		return 0;
-	
+
 	if(is_start)
 	{
 		if(! section->buffer)
@@ -1677,7 +1677,7 @@ static int collect_section(ts_section_t 
 		}
 		section->buffer_len = 0;
 	}
-	
+
 	if(size + section->buffer_len > 4096+256)
 	{
 		mp_msg(MSGT_DEMUX, MSGL_V, "COLLECT_SECTION, excessive len: %d + %d\n", section->buffer_len, size);
@@ -1686,14 +1686,14 @@ static int collect_section(ts_section_t 
 
 	memcpy(&(section->buffer[section->buffer_len]), buff, size);
 	section->buffer_len += size;
-	
+
 	if(section->buffer_len < 3)
 		return 0;
-		
+
 	skip = section->buffer[0];
 	if(skip + 4 > section->buffer_len)
 		return 0;
-	
+
 	ptr = &(section->buffer[skip + 1]);
 	tid = ptr[0];
 	tlen = ((ptr[1] & 0x0f) << 8) | ptr[2];
@@ -1703,7 +1703,7 @@ static int collect_section(ts_section_t 
 		mp_msg(MSGT_DEMUX, MSGL_DBG2, "DATA IS NOT ENOUGH, NEXT TIME\n");
 		return 0;
 	}
-	
+
 	return skip+1;
 }
 
@@ -1721,7 +1721,7 @@ static int parse_pat(ts_priv_t * priv, i
 	skip = collect_section(section, is_start, buff, size);
 	if(! skip)
 		return 0;
-	
+
 	ptr = &(section->buffer[skip]);
 	//PARSING
 	priv->pat.table_id = ptr[0];
@@ -1795,7 +1795,7 @@ static uint16_t get_mp4_desc_len(uint8_t
 {
 	//uint16_t i = 0, size = 0;
 	int i = 0, j, size = 0;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_DBG2, "PARSE_MP4_DESC_LEN(%d), bytes: ", *len);
 	j = FFMIN(*len, 4);
 	while(i < j)
@@ -1808,7 +1808,7 @@ static uint16_t get_mp4_desc_len(uint8_t
 		i++;
 	}
 	mp_msg(MSGT_DEMUX, MSGL_DBG2, ", SIZE=%d\n", size);
-	
+
 	*len = i+1;
 	return size;
 }
@@ -1819,7 +1819,7 @@ static uint16_t parse_mp4_slconfig_descr
 	int i = 0;
 	mp4_es_descr_t *es;
 	mp4_sl_config_t *sl;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4_SLCONFIG_DESCRIPTOR(%d)\n", len);
 	es = (mp4_es_descr_t *) elem;
 	if(!es)
@@ -1831,7 +1831,7 @@ static uint16_t parse_mp4_slconfig_descr
 
 	sl->ts_len = sl->ocr_len = sl->au_len = sl->instant_bitrate_len = sl->degr_len = sl->au_seqnum_len = sl->packet_seqnum_len = 0;
 	sl->ocr = sl->dts = sl->cts = 0;
-	
+
 	if(buf[0] == 0)
 	{
 		i++;
@@ -1854,7 +1854,7 @@ static uint16_t parse_mp4_slconfig_descr
 		i++;
 		sl->packet_seqnum_len = ((buf[i] >> 2) & 0x1f);
 		i++;
-		
+
 	}
 	else if(buf[0] == 1)
 	{
@@ -1868,12 +1868,12 @@ static uint16_t parse_mp4_slconfig_descr
 		sl->flags = 4;
 		i++;
 	}
-	else 
+	else
 	{
 		sl->flags = 0;
 		i++;
 	}
-	
+
 	sl->au_start = (sl->flags >> 7) & 0x1;
 	sl->au_end = (sl->flags >> 6) & 0x1;
 	sl->random_accesspoint = (sl->flags >> 5) & 0x1;
@@ -1882,7 +1882,7 @@ static uint16_t parse_mp4_slconfig_descr
 	sl->use_ts = (sl->flags >> 2) & 0x1;
 	sl->idle = (sl->flags >> 1) & 0x1;
 	sl->duration = sl->flags & 0x1;
-	
+
 	if(sl->duration)
 	{
 		sl->timescale = (buf[i] << 24) | (buf[i+1] << 16) | (buf[i+2] << 8) | buf[i+3];
@@ -1890,14 +1890,14 @@ static uint16_t parse_mp4_slconfig_descr
 		sl->au_duration = (buf[i] << 8) | buf[i+1];
 		i += 2;
 		sl->cts_duration = (buf[i] << 8) | buf[i+1];
-		i += 2; 
+		i += 2;
 	}
 	else	//no support for fixed durations atm
 		sl->timescale = sl->au_duration = sl->cts_duration = 0;
-	
-	mp_msg(MSGT_DEMUX, MSGL_V, "MP4SLCONFIG(len=0x%x), predef: %d, flags: %x, use_ts: %d, tslen: %d, timescale: %d, dts: %"PRIu64", cts: %"PRIu64"\n", 
+
+	mp_msg(MSGT_DEMUX, MSGL_V, "MP4SLCONFIG(len=0x%x), predef: %d, flags: %x, use_ts: %d, tslen: %d, timescale: %d, dts: %"PRIu64", cts: %"PRIu64"\n",
 		len, buf[0], sl->flags, sl->use_ts, sl->ts_len, sl->timescale, (uint64_t) sl->dts, (uint64_t) sl->cts);
-	
+
 	return len;
 }
 
@@ -1908,7 +1908,7 @@ static uint16_t parse_mp4_decoder_config
 	int i = 0, j;
 	mp4_es_descr_t *es;
 	mp4_decoder_config_t *dec;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4_DECODER_CONFIG_DESCRIPTOR(%d)\n", len);
 	es = (mp4_es_descr_t *) elem;
 	if(!es)
@@ -1917,10 +1917,10 @@ static uint16_t parse_mp4_decoder_config
 		return len;
 	}
 	dec = (mp4_decoder_config_t*) &(es->decoder);
-	
+
 	dec->object_type = buf[i];
 	dec->stream_type =  (buf[i+1]>>2) & 0x3f;
-	
+
 	if(dec->object_type == 1 && dec->stream_type == 1)
 	{
 		 dec->object_type = MP4_OD;
@@ -1953,7 +1953,7 @@ static uint16_t parse_mp4_decoder_config
 	}
 	else
 		dec->object_type = dec->stream_type = UNKNOWN;
-	
+
 	if(dec->object_type != UNKNOWN)
 	{
 		//update the type of the current stream
@@ -1965,12 +1965,12 @@ static uint16_t parse_mp4_decoder_config
 			}
 		}
 	}
-	
+
 	if(len > 13)
 		parse_mp4_descriptors(pmt, &buf[13], len-13, dec);
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "MP4DECODER(0x%x), object_type: 0x%x, stream_type: 0x%x\n", len, dec->object_type, dec->stream_type);
-	
+
 	return len;
 }
 
@@ -1978,7 +1978,7 @@ static uint16_t parse_mp4_decoder_specif
 {
 	int i;
 	mp4_decoder_config_t *dec;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4_DECODER_SPECIFIC_DESCRIPTOR(%d)\n", len);
 	dec = (mp4_decoder_config_t *) elem;
 	if(!dec)
@@ -1986,7 +1986,7 @@ static uint16_t parse_mp4_decoder_specif
 		mp_msg(MSGT_DEMUX, MSGL_V, "argh! NULL elem passed, skip\n");
 		return len;
 	}
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_DBG2, "MP4 SPECIFIC INFO BYTES: \n");
 	for(i=0; i<len; i++)
 		mp_msg(MSGT_DEMUX, MSGL_DBG2, "%02x ", buf[i]);
@@ -1999,7 +1999,7 @@ static uint16_t parse_mp4_decoder_specif
 	}
 	memcpy(dec->buf, buf, len);
 	dec->buf_size = len;
-	
+
 	return len;
 }
 
@@ -2008,7 +2008,7 @@ static uint16_t parse_mp4_es_descriptor(
 	int i = 0, j = 0, k, found;
 	uint8_t flag;
 	mp4_es_descr_t es, *target_es = NULL, *tmp;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4ES: len=%d\n", len);
 	memset(&es, 0, sizeof(mp4_es_descr_t));
 	while(i < len)
@@ -2024,7 +2024,7 @@ static uint16_t parse_mp4_es_descriptor(
 			i += buf[i]+1;
 		if(flag & 0x20)		//OCR, maybe we need it
 			i += 2;
-		
+
 		j = parse_mp4_descriptors(pmt, &buf[i], len-i, &es);
 		mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4ES, types after parse_mp4_descriptors: 0x%x, 0x%x\n", es.decoder.object_type, es.decoder.stream_type);
 		if(es.decoder.object_type != UNKNOWN && es.decoder.stream_type != UNKNOWN)
@@ -2039,7 +2039,7 @@ static uint16_t parse_mp4_es_descriptor(
 					found = 1;
 				}
 			}
-			
+
 			if(! found)
 			{
 				tmp = realloc_struct(pmt->mp4es, pmt->mp4es_cnt+1, sizeof(mp4_es_descr_t));
@@ -2058,14 +2058,14 @@ static uint16_t parse_mp4_es_descriptor(
 
 		i += j;
 	}
-	
+
 	return len;
 }
 
 static void parse_mp4_object_descriptor(pmt_t *pmt, uint8_t *buf, int len, void *elem)
 {
 	int i, j = 0, id;
-	
+
 	i=0;
 	id = (buf[0] << 2) | ((buf[1] & 0xc0) >> 6);
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4_OBJECT_DESCRIPTOR: len=%d, OD_ID=%d\n", len, id);
@@ -2077,7 +2077,7 @@ static void parse_mp4_object_descriptor(
 	else
 	{
 		i = 2;
-		
+
 		while(i < len)
 		{
 			j = parse_mp4_descriptors(pmt, &(buf[i]), len-i, elem);
@@ -2092,7 +2092,7 @@ static void parse_mp4_iod(pmt_t *pmt, ui
 {
 	int i, j = 0;
 	mp4_od_t *iod = &(pmt->iod);
-	
+
 	iod->id = (buf[0] << 2) | ((buf[1] & 0xc0) >> 6);
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4_IOD: len=%d, IOD_ID=%d\n", len, iod->id);
 	i = 2;
@@ -2116,11 +2116,11 @@ static void parse_mp4_iod(pmt_t *pmt, ui
 static int parse_mp4_descriptors(pmt_t *pmt, uint8_t *buf, int len, void *elem)
 {
 	int tag, descr_len, i = 0, j = 0;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "PARSE_MP4_DESCRIPTORS, len=%d\n", len);
 	if(! len)
 		return len;
-	
+
 	while(i < len)
 	{
 		tag = buf[i];
@@ -2133,7 +2133,7 @@ static int parse_mp4_descriptors(pmt_t *
 			return len;
 		}
 		i += j+1;
-		
+
 		switch(tag)
 		{
 			case 0x1:
@@ -2159,14 +2159,14 @@ static int parse_mp4_descriptors(pmt_t *
 		}
 		i += descr_len;
 	}
-	
+
 	return len;
 }
 
 static ES_stream_t *new_pid(ts_priv_t *priv, int pid)
 {
 	ES_stream_t *tss;
-	
+
 	tss = malloc(sizeof(ES_stream_t));
 	if(! tss)
 		return NULL;
@@ -2179,7 +2179,7 @@ static ES_stream_t *new_pid(ts_priv_t *p
 	tss->extradata = NULL;
 	tss->extradata_alloc = tss->extradata_len = 0;
 	priv->ts.pids[pid] = tss;
-	
+
 	return tss;
 }
 
@@ -2208,7 +2208,7 @@ static int parse_program_descriptors(pmt
 
 		len -= 2 + buf[i+1];
 	}
-	
+
 	return olen;
 }
 
@@ -2340,7 +2340,7 @@ static int parse_sl_section(pmt_t *pmt, 
 	skip = collect_section(section, is_start, buff, size);
 	if(! skip)
 		return 0;
-		
+
 	ptr = &(section->buffer[skip]);
 	tid = ptr[0];
 	len = ((ptr[1] & 0x0f) << 8) | ptr[2];
@@ -2350,13 +2350,13 @@ static int parse_sl_section(pmt_t *pmt, 
 		mp_msg(MSGT_DEMUX, MSGL_V, "SECTION TOO LARGE or wrong section type, EXIT\n");
 		return 0;
 	}
-	
+
 	if(! (ptr[5] & 1))
 		return 0;
-	
+
 	//8 is the current position, len - 9 is the amount of data available
 	parse_mp4_descriptors(pmt, &ptr[8], len - 9, NULL);
-	
+
 	return 1;
 }
 
@@ -2371,7 +2371,7 @@ static int parse_pmt(ts_priv_t * priv, u
 	struct pmt_es_t *tmp_es;
 	ts_section_t *section;
 	ES_stream_t *tss;
-	
+
 	idx = progid_idx_in_pmt(priv, progid);
 
 	if(idx == -1)
@@ -2396,7 +2396,7 @@ static int parse_pmt(ts_priv_t * priv, u
 	skip = collect_section(section, is_start, buff, size);
 	if(! skip)
 		return 0;
-		
+
 	base = &(section->buffer[skip]);
 
 	mp_msg(MSGT_DEMUX, MSGL_V, "FILL_PMT(prog=%d), PMT_len: %d, IS_START: %d, TS_PID: %d, SIZE=%d, M=%d, ES_CNT=%d, IDX=%d, PMT_PTR=%p\n",
@@ -2466,7 +2466,7 @@ static int parse_pmt(ts_priv_t * priv, u
 			pmt->es[idx].type = UNKNOWN;
 		else
 			pmt->es[idx].type = es_type;
-		
+
 		parse_descriptors(&pmt->es[idx], &es_base[5]);
 
 		switch(es_type)
@@ -2516,7 +2516,7 @@ static int parse_pmt(ts_priv_t * priv, u
 				mp_msg(MSGT_DEMUX, MSGL_DBG2, "UNKNOWN ES TYPE=0x%x\n", es_type);
 				pmt->es[idx].type = UNKNOWN;
 		}
-		
+
 		tss = priv->ts.pids[es_pid];			//an ES stream
 		if(tss == NULL)
 		{
@@ -2565,14 +2565,14 @@ static pmt_t* pmt_of_pid(ts_priv_t *priv
 								}
 							}
 						}
-						
+
 						return &(priv->pmt[i]);
 					}
 				}
 			}
 		}
 	}
-	
+
 	return NULL;
 }
 
@@ -2676,9 +2676,9 @@ static int fill_packet(demuxer_t *demuxe
 static int fill_extradata(mp4_decoder_config_t * mp4_dec, ES_stream_t *tss)
 {
 	uint8_t *tmp;
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_DBG2, "MP4_dec: %p, pid: %d\n", mp4_dec, tss->pid);
-		
+
 	if(mp4_dec->buf_size > tss->extradata_alloc)
 	{
 		tmp = (uint8_t *) realloc(tss->extradata, mp4_dec->buf_size);
@@ -2690,7 +2690,7 @@ static int fill_extradata(mp4_decoder_co
 	memcpy(tss->extradata, mp4_dec->buf, mp4_dec->buf_size);
 	tss->extradata_len = mp4_dec->buf_size;
 	mp_msg(MSGT_DEMUX, MSGL_V, "EXTRADATA: %p, alloc=%d, len=%d\n", tss->extradata, tss->extradata_alloc, tss->extradata_len);
-	
+
 	return tss->extradata_len;
 }
 
@@ -2770,7 +2770,7 @@ static int ts_parse(demuxer_t *demuxer ,
 		cc = (packet[3] & 0xf);
 		cc_ok = (tss->last_cc < 0) || ((((tss->last_cc + 1) & 0x0f) == cc));
 		tss->last_cc = cc;
-		    
+
 		bad = ts_error; // || (! cc_ok);
 		if(bad)
 		{
@@ -2779,7 +2779,7 @@ static int ts_parse(demuxer_t *demuxer ,
 				stream_skip(stream, buf_size-1+junk);
 				continue;
 			}
-			
+
 			is_start = 0;	//queued to the packet data
 		}
 
@@ -2792,14 +2792,14 @@ static int ts_parse(demuxer_t *demuxer ,
 			continue;
 		}
 
-    
+
 		afc = (packet[3] >> 4) & 3;
 		if(! (afc % 2))	//no payload in this TS packet
 		{
 			stream_skip(stream, buf_size-1+junk);
 			continue;
 		}
-		
+
 		if(afc > 1)
 		{
 			int c;
@@ -2810,7 +2810,7 @@ static int ts_parse(demuxer_t *demuxer ,
 				stream_skip(stream, buf_size-1+junk);
 				continue;
 			}
-			
+
 			//c==0 is allowed!
 			if(c > 0)
 			{
@@ -2819,7 +2819,7 @@ static int ts_parse(demuxer_t *demuxer ,
 				int has_pcr;
 				rap_flag = (flags & 0x40) >> 6;
 				has_pcr = flags & 0x10;
-				
+
 				buf_size--;
 				c--;
 				stream_read(stream, pcrbuf, c);
@@ -2830,22 +2830,22 @@ static int ts_parse(demuxer_t *demuxer ,
 					if(pcr_pid == pid)
 					{
 						uint64_t pcr, pcr_ext;
-	
+
 						pcr  = (int64_t)(pcrbuf[0]) << 25;
 						pcr |=  pcrbuf[1]         << 17 ;
 						pcr |= (pcrbuf[2]) << 9;
 						pcr |=  pcrbuf[3]  <<  1 ;
 						pcr |= (pcrbuf[4] & 0x80) >>  7;
-	
+
 						pcr_ext = (pcrbuf[4] & 0x01) << 8;
 						pcr_ext |= pcrbuf[5];
-	
+
 						pcr = pcr * 300 + pcr_ext;
-						
+
 						demuxer->reference_clock = (double)pcr/(double)27000000.0;
 					}
 				}
-				
+
 				buf_size -= c;
 				if(buf_size == 0)
 					continue;
@@ -2864,8 +2864,8 @@ static int ts_parse(demuxer_t *demuxer ,
 				tss->subtype = mp4_dec->object_type;
 			}
 		}
-		
-		
+
+
 		//TABLE PARSING
 
 		base = priv->ts.packet_size - buf_size;
@@ -3063,15 +3063,15 @@ static int ts_parse(demuxer_t *demuxer ,
 			}
 			else
 				es->lang[0] = 0;
-			
+
 			if(probe)
 			{
 				if(es->type == UNKNOWN)
 					return 0;
-				
+
 				tss->type = es->type;
 				tss->subtype = es->subtype;
-				
+
 				return 1;
 			}
 			else
@@ -3292,7 +3292,7 @@ static int demux_ts_fill_buffer(demuxer_
 {
 	ES_stream_t es;
 	ts_priv_t *priv = (ts_priv_t *)demuxer->priv;
-	
+
 	return -ts_parse(demuxer, &es, priv->packet, 0);
 }
 
@@ -3333,7 +3333,7 @@ static int demux_ts_control(demuxer_t *d
 			int i, n;
 			int reftype, areset = 0, vreset = 0;
 			demux_stream_t *ds;
-			
+
 			if(cmd == DEMUXER_CTRL_SWITCH_VIDEO)
 			{
 				reftype = TYPE_VIDEO;

Modified: trunk/libmpdemux/demux_ty_osd.c
==============================================================================
--- trunk/libmpdemux/demux_ty_osd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_ty_osd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,10 +1,10 @@
 // Most of this was written by Mike Baker <mbm at linux.com>
 // and released under the GPL v2+ license.
 //
-// Modifications and SEVERE cleanup of the code was done by 
-// Christopher Wingert 
+// Modifications and SEVERE cleanup of the code was done by
+// Christopher Wingert
 // Copyright 2003
-// 
+//
 // Released under GPL2 License.
 
 #include <stdio.h>
@@ -148,12 +148,12 @@ static void ty_RollupBuf( int dest, int 
 static void ty_drawchar( char c )
 {
    if ( c < 2 ) return;
-  
-   if ( TY_OSD_flags & TY_OSD_MODE && TY_CC_stat != TY_CCNONE && 
+
+   if ( TY_OSD_flags & TY_OSD_MODE && TY_CC_stat != TY_CCNONE &&
       TY_CC_CUR_Y != -1 )
       ty_DrawChar( &TY_CC_CUR_X, &TY_CC_CUR_Y, c, 4, 13 );
 
-   if ( TY_CC_ptr - TY_CC_buf > sizeof( TY_CC_buf ) - 1 ) 
+   if ( TY_CC_ptr - TY_CC_buf > sizeof( TY_CC_buf ) - 1 )
    {        // buffer overflow
       TY_CC_ptr = TY_CC_buf;
       memset( TY_CC_buf, 0, sizeof( TY_CC_buf ) );
@@ -163,10 +163,10 @@ static void ty_drawchar( char c )
 
 static void ty_draw(void)
 {
-   if ( TY_CC_ptr != TY_CC_buf && TY_OSD_flags & TY_TEXT_MODE ) 
+   if ( TY_CC_ptr != TY_CC_buf && TY_OSD_flags & TY_TEXT_MODE )
    {
       if ( *( TY_CC_ptr - 1 ) == '\n' ) *( TY_CC_ptr - 1 ) = 0;
-    
+
       mp_msg( MSGT_DEMUX, MSGL_V, "CC: %s\n", TY_CC_buf );
   }
   TY_CC_lastcap = time( NULL );
@@ -181,9 +181,9 @@ static void ty_draw(void)
 
 static int CC_last = 0;
 static char CC_mode = 0;
-static int CC_row[] = 
-{ 
-   11, -1, 1, 2, 3, 4, 12, 13, 14, 15, 5, 6, 7, 8, 9, 10 
+static int CC_row[] =
+{
+   11, -1, 1, 2, 3, 4, 12, 13, 14, 15, 5, 6, 7, 8, 9, 10
 };
 
 // char specialchar[] = { '®', '°', '½', '¿', '*', '¢', '£', 14, 'à', ' ', 'è', 'â', 'ê', 'î', 'ô', 'û' };
@@ -196,7 +196,7 @@ static int ty_CCdecode( char b1, char b2
    if ( b1 & 0x60 )                // text
    {
        if ( !TY_OSD_debug && TY_CC_stat == TY_CCNONE ) return 0;
-       if ( TY_OSD_debug > 3 ) 
+       if ( TY_OSD_debug > 3 )
        {
           mp_msg( MSGT_DEMUX, MSGL_DBG3, "%c %c", b1, b2 );
        }
@@ -204,24 +204,24 @@ static int ty_CCdecode( char b1, char b2
        ty_drawchar( b2 );
 
        if ( TY_CC_stat > 0 && TY_OSD_flags & TY_OSD_MODE ) ty_DrawOSD();
-   } 
-   else if ( ( b1 & 0x10 ) && ( b2 > 0x1F ) && ( data != CC_last ) ) 
+   }
+   else if ( ( b1 & 0x10 ) && ( b2 > 0x1F ) && ( data != CC_last ) )
    {
       #define CURRENT ( ( b1 & 0x08 ) >> 3 )
 
-      if ( CC_mode != CURRENT && TY_CC_stat != TY_CCNONE ) 
+      if ( CC_mode != CURRENT && TY_CC_stat != TY_CCNONE )
       {
          if ( TY_OSD_debug && TY_CC_ptr != TY_CC_buf ) ty_draw();
          TY_CC_stat = TY_CCNONE;
          return 0;
       }
 
-      if ( TY_CC_stat == TY_CCNONE || TY_CC_CUR_Y == -1 ) 
+      if ( TY_CC_stat == TY_CCNONE || TY_CC_CUR_Y == -1 )
       {
-         if ( TY_CC_ptr != TY_CC_buf ) 
+         if ( TY_CC_ptr != TY_CC_buf )
          {
-            if ( TY_OSD_debug ) 
-               mp_msg( MSGT_DEMUX, MSGL_DBG3, "(TY_OSD_debug) %s\n", 
+            if ( TY_OSD_debug )
+               mp_msg( MSGT_DEMUX, MSGL_DBG3, "(TY_OSD_debug) %s\n",
                   TY_CC_buf );
             TY_CC_ptr = TY_CC_buf;
             memset(TY_CC_buf, 0, sizeof(TY_CC_buf));
@@ -229,9 +229,9 @@ static int ty_CCdecode( char b1, char b2
 
          if ( CC_mode != CURRENT ) return 0;
       }
-    
+
       // preamble address code (row & indent)
-      if ( b2 & 0x40 ) 
+      if ( b2 & 0x40 )
       {
          TY_CC_CUR_Y = CC_row[ ( ( b1 << 1 ) & 14 ) | ( ( b2 >> 5 ) & 1 ) ];
 
@@ -249,14 +249,14 @@ static int ty_CCdecode( char b1, char b2
 				TY_CC_Y_Offset = SUB_MAX_TEXT - 5 - 12;
 			}
 
-         if ( TY_OSD_debug > 3 ) 
+         if ( TY_OSD_debug > 3 )
             mp_msg( MSGT_DEMUX, MSGL_DBG3, "<< preamble %d >>\n", TY_CC_CUR_Y );
 
          // we still have something in the text buffer
-         if (TY_CC_ptr != TY_CC_buf) 
+         if (TY_CC_ptr != TY_CC_buf)
          {
             *(TY_CC_ptr++) = '\n';
-            if ( TY_CC_TextItalic ) 
+            if ( TY_CC_TextItalic )
             {
                TY_CC_TextItalic = 0;
             }
@@ -266,33 +266,33 @@ static int ty_CCdecode( char b1, char b2
          // row contains indent flag
          if ( b2 & 0x10 )
          {
-            for ( x = 0 ; x < ( ( b2 & 0x0F ) << 1 ) ; x++ ) 
+            for ( x = 0 ; x < ( ( b2 & 0x0F ) << 1 ) ; x++ )
             {
                TY_CC_CUR_X++;
                *(TY_CC_ptr++) = ' ';
             }
          }
-      } 
-      else 
+      }
+      else
       // !(b2 & 0x40)
       {
-         if ( TY_OSD_debug > 3 ) 
+         if ( TY_OSD_debug > 3 )
             mp_msg( MSGT_DEMUX, MSGL_DBG3, "<< %02x >>\n", b1 & 0x7 );
-         switch (b1 & 0x07) 
+         switch (b1 & 0x07)
          {
             case 0x00:                      // attribute
 				{
-               if ( TY_OSD_debug > 1 ) 
+               if ( TY_OSD_debug > 1 )
                   mp_msg( MSGT_DEMUX, MSGL_DBG3, "<<A: %d>>\n", b2 );
                break;
 				}
             case 0x01:                      // midrow or char
 				{
-               switch (b2 & 0x70) 
+               switch (b2 & 0x70)
                {
                   case 0x20:                // midrow attribute change
                   {
-                     switch (b2 & 0x0e) 
+                     switch (b2 & 0x0e)
                      {
                         case 0x00:          // italics off
                         {
@@ -308,16 +308,16 @@ static int ty_CCdecode( char b1, char b2
                         }
                         default:
                         {
-                           if ( TY_OSD_debug > 1 ) 
-                              mp_msg( MSGT_DEMUX, MSGL_DBG3, "<<D: %d>>\n", 
+                           if ( TY_OSD_debug > 1 )
+                              mp_msg( MSGT_DEMUX, MSGL_DBG3, "<<D: %d>>\n",
                                  b2 & 0x0e );
                         }
                      }
-                     if ( b2 & 0x01 ) 
-                     {       
+                     if ( b2 & 0x01 )
+                     {
                         // TextUnderline = 1;
-                     } 
-                     else 
+                     }
+                     else
                      {
                         // TextUnderline = 0;
                      }
@@ -326,12 +326,12 @@ static int ty_CCdecode( char b1, char b2
                   case 0x30:                // special character..
                   {
                      // transparent space
-                     if ( ( b2 & 0x0f ) == 9 ) 
+                     if ( ( b2 & 0x0f ) == 9 )
                      {
                         TY_CC_CUR_X++;
                         *(TY_CC_ptr++) = ' ';
-                     } 
-                     else 
+                     }
+                     else
                      {
                         // ty_drawchar(specialchar[ b2 & 0x0f ] );
                         ty_drawchar( ' ' );
@@ -345,14 +345,14 @@ static int ty_CCdecode( char b1, char b2
             case 0x04:                      // misc
             case 0x05:                      // misc + F
 				{
-               if ( TY_OSD_debug > 3 ) 
+               if ( TY_OSD_debug > 3 )
                   mp_msg( MSGT_DEMUX, MSGL_DBG3, "<< misc %02x >>\n", b2 );
-               switch ( b2 ) 
+               switch ( b2 )
                {
                   case 0x20:                // resume caption (new caption)
                   {
-                     if ( TY_OSD_flags & TY_OSD_MODE && 
-                        TY_CC_stat != TY_CCPOPUP ) 
+                     if ( TY_OSD_flags & TY_OSD_MODE &&
+                        TY_CC_stat != TY_CCPOPUP )
 								ty_ClearOSD( 1 );
                      TY_CC_stat = TY_CCPOPUP;
                      break;
@@ -363,7 +363,7 @@ static int ty_CCdecode( char b1, char b2
                      TY_CC_CUR_X--;
                      break;
                   }
-              
+
                   case 0x25:       // 2-4 row captions
                   case 0x26:
                   case 0x27:
@@ -395,18 +395,18 @@ static int ty_CCdecode( char b1, char b2
                   case 0x2C:                // erase displayed memory
                   {
                      TY_CC_lastcap = 0;
-                     if ( TY_OSD_flags & TY_OSD_MODE ) 
+                     if ( TY_OSD_flags & TY_OSD_MODE )
                      {
-                        if ( TY_CC_stat > TY_CCPOPUP || TY_CC_ptr == TY_CC_buf ) 
+                        if ( TY_CC_stat > TY_CCPOPUP || TY_CC_ptr == TY_CC_buf )
                         {
                            ty_ClearOSD( 1 );
                            ty_draw();
-                        } 
-                        else 
-                        { 
+                        }
+                        else
+                        {
                            ty_ClearOSD( 1 );
 
-                           // CRW - 
+                           // CRW -
                            // new buffer
                            // Used to be a buffer swap here, dunno why
                         }
@@ -418,13 +418,13 @@ static int ty_CCdecode( char b1, char b2
                   {
                      ty_draw();
                      TY_CC_CUR_X = 1;
-                     if ( TY_OSD_flags & TY_OSD_MODE ) 
+                     if ( TY_OSD_flags & TY_OSD_MODE )
                      {
                         if ( TY_CC_stat > TY_CCPAINTON )
                            ty_RollupBuf
                            (
-                              TY_CC_CUR_Y - TY_CC_stat + 1 , 
-                              TY_CC_CUR_Y - TY_CC_stat + 2, 
+                              TY_CC_CUR_Y - TY_CC_stat + 1 ,
+                              TY_CC_CUR_Y - TY_CC_stat + 2,
                               TY_CC_stat - 1
                             );
                         else
@@ -442,13 +442,13 @@ static int ty_CCdecode( char b1, char b2
                   case 0x2E:                // erase non-displayed memory
                   {
                      if ( TY_OSD_debug && TY_CC_ptr != TY_CC_buf )
-                        mp_msg( MSGT_DEMUX, MSGL_DBG3, "(TY_OSD_debug) %s\n", 
+                        mp_msg( MSGT_DEMUX, MSGL_DBG3, "(TY_OSD_debug) %s\n",
                            TY_CC_buf );
                      if ( TY_OSD_flags & TY_OSD_MODE ) ty_ClearOSD( 1 );
 
                      TY_CC_CUR_X = 1;
                      TY_CC_CUR_Y = -1;
-              
+
                      TY_CC_ptr = TY_CC_buf;
                      memset( TY_CC_buf, 0, sizeof( TY_CC_buf ) );
                   }
@@ -534,7 +534,7 @@ static void ty_DisplayXDSInfo(void)
          size =  strlen( ty_XDS_Display[ index ] );
 
          // Right Justify the XDS Stuff
-         memcpy( &( ty_OSD1.text[ 0 ][ TY_CC_MAX_X - size - 1 ] ), 
+         memcpy( &( ty_OSD1.text[ 0 ][ TY_CC_MAX_X - size - 1 ] ),
             ty_XDS_Display[ index ], size );
          free( ty_XDS_Display[ index ] );
          ty_XDS_Display[ index ] = 0;
@@ -574,14 +574,14 @@ static char TY_XDS    [ 8 ][ 25 ][ 34 ];
 static char TY_XDS_new[ 8 ][ 25 ][ 34 ];
 
 // Array of [ MPAARating|TVRating ][ NumberRatings ]
-static const char * const TY_XDS_CHIP[ 2 ][ 8 ] = 
+static const char * const TY_XDS_CHIP[ 2 ][ 8 ] =
 {
    { "(NOT APPLICABLE)", "G", "PG", "PG-13", "R", "NC-17", "X", "(NOT RATED)" },
-   { "(NOT RATED)", "TV-Y", "TV-Y7", "TV-G", "TV-PG", "TV-14", "TV-MA", 
+   { "(NOT RATED)", "TV-Y", "TV-Y7", "TV-G", "TV-PG", "TV-14", "TV-MA",
       "(NOT RATED)" }
 };
 
-static const char * const TY_XDS_modes[] = 
+static const char * const TY_XDS_modes[] =
 {
   "CURRENT",                        // 01h-02h current program
   "FUTURE ",                        // 03h-04h future program
@@ -599,8 +599,8 @@ static int ty_XDSdecode( char b1, char b
 {
    char line[ 80 ];
 
-   if ( b1 < 0x0F ) 
-   {                                        // start packet 
+   if ( b1 < 0x0F )
+   {                                        // start packet
       TY_XDS_length = 0;
       TY_XDS_mode = b1 >> 1;                // every other mode is a resume
       TY_XDS_type = b2;
@@ -609,19 +609,19 @@ static int ty_XDSdecode( char b1, char b
    }
 
    TY_XDS_checksum += b1 + b2;
-  
+
    // eof (next byte is checksum)
-   if ( b1 == 0x0F ) 
-   {        
+   if ( b1 == 0x0F )
+   {
       // validity check
-      if ( !TY_XDS_length || TY_XDS_checksum & 0x7F )  
+      if ( !TY_XDS_length || TY_XDS_checksum & 0x7F )
       {
-         if ( TY_OSD_debug > 3 && !TY_XDS_length ) 
+         if ( TY_OSD_debug > 3 && !TY_XDS_length )
          {
-            mp_msg( MSGT_DEMUX, MSGL_DBG3, 
+            mp_msg( MSGT_DEMUX, MSGL_DBG3,
                "%% TY_XDS CHECKSUM ERROR (ignoring)\n" );
-         } 
-         else 
+         }
+         else
          {
             TY_XDS_mode = 0;
             TY_XDS_type = 0;
@@ -631,22 +631,22 @@ static int ty_XDSdecode( char b1, char b
 
       // check to see if the data has changed.
       if ( strncmp( TY_XDS[ TY_XDS_mode ][ TY_XDS_type ],
-         TY_XDS_new[ TY_XDS_mode ][ TY_XDS_type ], TY_XDS_length - 1 ) ) 
+         TY_XDS_new[ TY_XDS_mode ][ TY_XDS_type ], TY_XDS_length - 1 ) )
       {
          char *TY_XDS_ptr = TY_XDS[ TY_XDS_mode ][ TY_XDS_type ];
 
          TY_XDS_ptr[ TY_XDS_length ] = 0;
-         memcpy( TY_XDS[ TY_XDS_mode ][ TY_XDS_type ], 
+         memcpy( TY_XDS[ TY_XDS_mode ][ TY_XDS_type ],
             TY_XDS_new[ TY_XDS_mode ][ TY_XDS_type ], TY_XDS_length );
 
          // nasty hack: only print time codes if seconds are 0
-         if ( TY_XDS_mode == 3 && TY_XDS_type == 1 && 
-            !( TY_XDS_new[ 3 ][ 1 ][ 3 ] & 0x20 ) ) 
+         if ( TY_XDS_mode == 3 && TY_XDS_type == 1 &&
+            !( TY_XDS_new[ 3 ][ 1 ][ 3 ] & 0x20 ) )
 			{
             return 0;
 			}
-         if ( TY_XDS_mode == 0 && TY_XDS_type == 2 &&  
-            ( TY_XDS_new[ 0 ][ 2 ][ 4 ] & 0x3f ) > 1 ) 
+         if ( TY_XDS_mode == 0 && TY_XDS_type == 2 &&
+            ( TY_XDS_new[ 0 ][ 2 ][ 4 ] & 0x3f ) > 1 )
 			{
             return 0;
 			}
@@ -654,24 +654,24 @@ static int ty_XDSdecode( char b1, char b
          mp_msg( MSGT_DEMUX, MSGL_DBG3, "%% %s ", TY_XDS_modes[ TY_XDS_mode ] );
 
          line[ 0 ] = 0;
-         // printf( "XDS Code %x\n", 
+         // printf( "XDS Code %x\n",
 			//    ( TY_XDS_mode << 9 ) + TY_XDS_type + 0x100 );
-         switch ( ( TY_XDS_mode << 9 ) + TY_XDS_type + 0x100 ) 
+         switch ( ( TY_XDS_mode << 9 ) + TY_XDS_type + 0x100 )
          {
             // cases are specified in 2 bytes hex representing mode, type.
             // TY_XDS_ptr will point to the current class buffer
             case 0x0101:                    // current
             case 0x0301:                    // future
             {
-               char *mon[] = 
-               { 
+               char *mon[] =
+               {
                   "0", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
                   "Aug", "Sep", "Oct", "Nov", "Dec", "13", "14", "15"
                };
                ty_AddXDSToDisplay( "AIR DATE: %s %2d %d:%02d:00",
-                 mon[ TY_XDS_ptr[ 3 ] & 0x0f ], 
+                 mon[ TY_XDS_ptr[ 3 ] & 0x0f ],
                  TY_XDS_ptr[ 2 ] & 0x1f,
-                 TY_XDS_ptr[ 1 ] & 0x1f, 
+                 TY_XDS_ptr[ 1 ] & 0x1f,
                  TY_XDS_ptr[ 0 ] & 0x3f
                  );
 
@@ -685,9 +685,9 @@ static int ty_XDSdecode( char b1, char b
             {
                ty_AddXDSToDisplay(
                   "DURATION: %d:%02d:%02d of %d:%02d:%02d",
-                  TY_XDS_ptr[ 3 ] & 0x3f, 
+                  TY_XDS_ptr[ 3 ] & 0x3f,
                   TY_XDS_ptr[ 2 ] & 0x3f,
-                  TY_XDS_ptr[ 4 ] & 0x3f, 
+                  TY_XDS_ptr[ 4 ] & 0x3f,
                   TY_XDS_ptr[ 1 ] & 0x3f,
                   TY_XDS_ptr[ 0 ] & 0x3f, 0);
                break;
@@ -696,7 +696,7 @@ static int ty_XDSdecode( char b1, char b
             case 0x0103:                    // current program name
             case 0x0303:                    // future
             {
-               ty_AddXDSToDisplay( "TITLE: %s", TY_XDS_ptr ); 
+               ty_AddXDSToDisplay( "TITLE: %s", TY_XDS_ptr );
                break;
             }
 
@@ -722,19 +722,19 @@ static int ty_XDSdecode( char b1, char b
                sprintf( line, "%sRATING: %s", line,
                   TY_XDS_CHIP[ ( TY_XDS_ptr[ 0 ] & 0x08 ) >> 3 ]
                   [ TY_XDS_ptr[ 1 ] & 0x07 ] );
-               if ( TY_XDS_ptr[ 0 ] & 0x20 ) 
+               if ( TY_XDS_ptr[ 0 ] & 0x20 )
                   sprintf( line, "%s DIALOGUE", line );
-               if ( TY_XDS_ptr[ 1 ] & 0x08 ) 
+               if ( TY_XDS_ptr[ 1 ] & 0x08 )
                   sprintf( line, "%s LANGUAGE", line );
-               if ( TY_XDS_ptr[ 1 ] & 0x10 ) 
+               if ( TY_XDS_ptr[ 1 ] & 0x10 )
                   sprintf( line, "%s SEXUAL", line );
-               if ( TY_XDS_ptr[ 1 ] & 0x20 ) 
+               if ( TY_XDS_ptr[ 1 ] & 0x20 )
                   sprintf( line, "%s VIOLENCE", line );
                ty_AddXDSToDisplay( line );
 
                // raw output for verification.
                if ( TY_OSD_debug > 1 )
-                  mp_msg( MSGT_DEMUX, MSGL_DBG3, " (%02x %02x)", 
+                  mp_msg( MSGT_DEMUX, MSGL_DBG3, " (%02x %02x)",
                      TY_XDS_ptr[ 0 ], TY_XDS_ptr[ 1 ] );
                break;
             }
@@ -743,7 +743,7 @@ static int ty_XDSdecode( char b1, char b
             case 0x0306:                    // future
             {
                // requires table, never actually seen it used either
-               ty_AddXDSToDisplay( "AUDIO: %02x %02x", TY_XDS_ptr[ 0 ], 
+               ty_AddXDSToDisplay( "AUDIO: %02x %02x", TY_XDS_ptr[ 0 ],
                   TY_XDS_ptr[ 1 ] );
                break;
             }
@@ -752,7 +752,7 @@ static int ty_XDSdecode( char b1, char b
             case 0x0309:                    // future
             {
                // requires table, rare
-               ty_AddXDSToDisplay( "ASPECT: %02x %02x", 
+               ty_AddXDSToDisplay( "ASPECT: %02x %02x",
                   TY_XDS_ptr[ 0 ], TY_XDS_ptr[ 1 ] );
                break;
             }
@@ -766,19 +766,19 @@ static int ty_XDSdecode( char b1, char b
             case 0x0116:
             case 0x0117:
             {
-               ty_AddXDSToDisplay( "DESCRIP: %s", TY_XDS_ptr ); 
+               ty_AddXDSToDisplay( "DESCRIP: %s", TY_XDS_ptr );
                break;
             }
 
             case 0x0501:                    // channel network name
             {
-               ty_AddXDSToDisplay( "NETWORK: %s", TY_XDS_ptr ); 
+               ty_AddXDSToDisplay( "NETWORK: %s", TY_XDS_ptr );
                break;
             }
 
             case 0x0502:                    // channel network call letters
             {
-               ty_AddXDSToDisplay( "CALLSIGN: %s", TY_XDS_ptr ); 
+               ty_AddXDSToDisplay( "CALLSIGN: %s", TY_XDS_ptr );
                break;
             }
 
@@ -786,7 +786,7 @@ static int ty_XDSdecode( char b1, char b
             {
 #define TIMEZONE          ( TY_XDS[ 3 ][ 4 ][ 0 ] & 0x1f )
 #define DST               ( ( TY_XDS[ 3 ][ 4 ][ 0 ] & 0x20 ) >> 5 )
-               struct tm tm = 
+               struct tm tm =
                {
                   .tm_sec = 0,                                // sec
                   .tm_min = ( TY_XDS_ptr[ 0 ] & 0x3F ),       // min
@@ -801,17 +801,17 @@ static int ty_XDSdecode( char b1, char b
 
                time_t time_t = mktime( &tm );
                char *timestr;
-    
+
                time_t -= ( ( TIMEZONE - DST ) * 60 * 60 );
                timestr = ctime( &time_t );
                timestr[ strlen( timestr ) - 1 ] = 0;
-    
+
                sprintf( line, "%sCUR.TIME: %s ", line, timestr );
-               if ( TY_XDS[ 3 ][ 4 ][ 0 ] ) 
+               if ( TY_XDS[ 3 ][ 4 ][ 0 ] )
                {
                   sprintf( line, "%sUTC-%d", line, TIMEZONE );
                   if (DST) sprintf( line, "%s DST", line );
-               } 
+               }
                else
                   sprintf( line, "%sUTC", line );
 
@@ -822,7 +822,7 @@ static int ty_XDSdecode( char b1, char b
 
             case 0x0704:                    //misc. local time zone
             {
-               sprintf( line, "%sTIMEZONE: UTC-%d", 
+               sprintf( line, "%sTIMEZONE: UTC-%d",
                   line, TY_XDS_ptr[ 0 ] & 0x1f );
                if ( TY_XDS_ptr[ 0 ] & 0x20 ) sprintf( line, "%s DST", line );
                ty_AddXDSToDisplay( line );
@@ -831,26 +831,26 @@ static int ty_XDSdecode( char b1, char b
 
             default:
             {
-               mp_msg( MSGT_DEMUX, MSGL_DBG3, "UNKNOWN CLASS %d TYPE %d", 
+               mp_msg( MSGT_DEMUX, MSGL_DBG3, "UNKNOWN CLASS %d TYPE %d",
                   ( TY_XDS_mode << 1 ) + 1, TY_XDS_type );
-              if ( TY_OSD_debug > 1 ) 
+              if ( TY_OSD_debug > 1 )
               {
                   int x;
                   mp_msg( MSGT_DEMUX, MSGL_DBG3, "\nDUMP:\n" );
                   for ( x = 0 ; x < TY_XDS_length ; x++ )
-                    mp_msg( MSGT_DEMUX, MSGL_DBG3, " %02x %c", 
+                    mp_msg( MSGT_DEMUX, MSGL_DBG3, " %02x %c",
                        TY_XDS_ptr[ x ], TY_XDS_ptr[ x ] );
                   mp_msg( MSGT_DEMUX, MSGL_DBG3, "\n" );
-               } 
+               }
             }
          }
-         if ( TY_OSD_debug > 1 ) 
+         if ( TY_OSD_debug > 1 )
             mp_msg( MSGT_DEMUX, MSGL_DBG3, " (%d)", TY_XDS_length );
       }
       TY_XDS_mode = 0;
       TY_XDS_type = 0;
-   } 
-   else if ( TY_XDS_length < 34 ) 
+   }
+   else if ( TY_XDS_length < 34 )
    {
       TY_XDS_new[ TY_XDS_mode ][ TY_XDS_type ][ TY_XDS_length++ ] = b1;
       TY_XDS_new[ TY_XDS_mode ][ TY_XDS_type ][ TY_XDS_length++ ] = b2;

Modified: trunk/libmpdemux/demux_viv.c
==============================================================================
--- trunk/libmpdemux/demux_viv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_viv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -116,7 +116,7 @@ static void vivo_parse_text_header(demux
     stream_read(demux->stream, buf, header_len);
     i=0;
     while(i<header_len && buf[i]==0x0D && buf[i+1]==0x0A) i+=2; // skip empty lines
-    
+
     token = strtok(buf, (char *)&("\x0d\x0a"));
     while (token && (header_len>2))
     {
@@ -144,7 +144,7 @@ static void vivo_parse_text_header(demux
 	    }
 	}
 
-	/* video specific */	
+	/* video specific */
 	if (!strcmp(opt, "FPS"))
 	{
 	    mp_msg(MSGT_DEMUX, MSGL_DBG2, "FPS: %f\n", atof(param));
@@ -204,7 +204,7 @@ static void vivo_parse_text_header(demux
 	    if (priv->audio_bytesperblock == 24)
 		priv->audio_codec = VIVO_AUDIO_G723;
 	}
-	
+
 	/* only for displaying some informations about movie*/
 	if (!strcmp(opt, "Title"))
 	{
@@ -230,7 +230,7 @@ static void vivo_parse_text_header(demux
 	/* get next token */
 	token = strtok(NULL, (char *)&("\x0d\x0a"));
     }
-    
+
     if (buf)
 	free(buf);
     if (opt)
@@ -246,9 +246,9 @@ static int vivo_check_file(demuxer_t* de
     unsigned char buf[2048+256];
     vivo_priv_t* priv;
     int orig_pos = stream_tell(demuxer->stream);
-    
+
     mp_msg(MSGT_DEMUX,MSGL_V,"Checking for VIVO\n");
-    
+
     c=stream_read_char(demuxer->stream);
     if(c==-256) return 0;
     len=0;
@@ -293,7 +293,7 @@ static int vivo_check_file(demuxer_t* de
     stream_skip(demuxer->stream,len2);
 //    stream_read(demuxer->stream,buf+len,len2);
 #endif
-    
+
 //    c=stream_read_char(demuxer->stream);
 //    printf("first packet: %02X\n",c);
 
@@ -315,7 +315,7 @@ static int demux_vivo_fill_buffer(demuxe
   int seq;
   int prefix=0;
   demux->filepos=stream_tell(demux->stream);
-  
+
   c=stream_read_char(demux->stream);
   if (c == -256) /* EOF */
     return 0;
@@ -380,12 +380,12 @@ static int demux_vivo_fill_buffer(demuxe
   }
 
 //  printf("chunk=%x, len=%d\n", c, len);
-  
+
   if(!ds || ds->id<-1){
       if(len) stream_skip(demux->stream,len);
       return 1;
   }
-  
+
   seq=c&0x0F;
 
     if(ds->asf_packet){
@@ -467,9 +467,9 @@ static unsigned int x_get_bits(int n){
 static int h263_decode_picture_header(unsigned char *b_ptr)
 {
 //    int i;
-        
+
 //    for(i=0;i<16;i++) printf(" %02X",b_ptr[i]); printf("\n");
-    
+
     buffer=b_ptr;
     bufptr=bitcnt=buf=0;
 
@@ -567,15 +567,15 @@ static demuxer_t* demux_open_vivo(demuxe
   }
 
     audio_pos=0;
-  
+
   h263_decode_picture_header(demuxer->video->buffer);
-  
+
   if (vivo_param_version != -1)
     priv->version = '0' + vivo_param_version;
 
 {		sh_video_t* sh=new_sh_video(demuxer,0);
 
-		/* viv1, viv2 (for better codecs.conf) */    
+		/* viv1, viv2 (for better codecs.conf) */
 		sh->format = mmioFOURCC('v', 'i', 'v', priv->version);
 		if(!sh->fps)
 		{
@@ -596,7 +596,7 @@ static demuxer_t* demux_open_vivo(demuxe
 
 		if (vivo_param_height != -1)
 		    priv->disp_height = priv->height = vivo_param_height;
-		
+
 		if (vivo_param_vformat != -1)
 		{
 		    priv->disp_width = priv->width = h263_format[vivo_param_vformat][0];
@@ -633,7 +633,7 @@ static demuxer_t* demux_open_vivo(demuxe
 		demuxer->video->sh=sh;
 		sh->ds=demuxer->video;
 		demuxer->video->id=0;
-		
+
 		/* disable seeking */
 		demuxer->seekable = 0;
 
@@ -728,7 +728,7 @@ if (demuxer->audio->id >= -1){
 		    sh->wf->nBlockAlign = priv->audio_bytesperblock;
 		if (vivo_param_bytesperblock != -1)
 		    sh->wf->nBlockAlign = vivo_param_bytesperblock;
-		
+
 /*sound_ok:*/
 		/* insert as stream */
 		demuxer->audio->sh=sh;
@@ -744,7 +744,7 @@ nosound:
 static void demux_close_vivo(demuxer_t *demuxer)
 {
     vivo_priv_t* priv=demuxer->priv;
- 
+
     if (priv) {
 	if (priv->title)
 	    free(priv->title);

Modified: trunk/libmpdemux/demux_vqf.c
==============================================================================
--- trunk/libmpdemux/demux_vqf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_vqf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -29,7 +29,7 @@
 #include "stheader.h"
 #include "libmpcodecs/vqf.h"
 
-static int demux_probe_vqf(demuxer_t* demuxer) 
+static int demux_probe_vqf(demuxer_t* demuxer)
 {
   char buf[KEYWORD_BYTES];
   stream_t *s;

Modified: trunk/libmpdemux/demux_xmms_plugin.h
==============================================================================
--- trunk/libmpdemux/demux_xmms_plugin.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_xmms_plugin.h	Wed May 13 04:58:57 2009	(r29305)
@@ -40,10 +40,10 @@ typedef struct
 	void (*configure) (void);	/* Show the configuration dialog */
 	void (*get_volume) (int *l, int *r);
 	void (*set_volume) (int l, int r);	/* Set the volume */
-	int (*open_audio) (AFormat fmt, int rate, int nch);	/* Open the device, if the device can't handle the given 
+	int (*open_audio) (AFormat fmt, int rate, int nch);	/* Open the device, if the device can't handle the given
 								   parameters the plugin is responsible for downmixing
 								   the data to the right format before outputting it */
-	void (*write_audio) (void *ptr, int length);	/* The input plugin calls this to write data to the output 
+	void (*write_audio) (void *ptr, int length);	/* The input plugin calls this to write data to the output
 							   buffer */
 	void (*close_audio) (void);	/* No comment... */
 	void (*flush) (int time);	/* Flush the buffer and set the plugins internal timers to time */
@@ -100,7 +100,7 @@ typedef struct
 	void (*set_volume) (int l, int r);	/*  you want the output plugin to handle it */
 	void (*cleanup) (void);			/* Called when xmms exit */
 	InputVisType (*get_vis_type) (void); /* OBSOLETE, DO NOT USE! */
-	void (*add_vis_pcm) (int time, AFormat fmt, int nch, int length, void *ptr); /* Send data to the visualization plugins 
+	void (*add_vis_pcm) (int time, AFormat fmt, int nch, int length, void *ptr); /* Send data to the visualization plugins
 											Preferably 512 samples/block */
 	void (*set_info) (char *title, int length, int rate, int freq, int nch);	/* Fill in the stuff that is shown in the player window
 											   set length to -1 if it's unknown. Filled in by xmms */

Modified: trunk/libmpdemux/demux_y4m.c
==============================================================================
--- trunk/libmpdemux/demux_y4m.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demux_y4m.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,7 +37,7 @@
 #include "stheader.h"
 
 typedef struct {
-    int framenum; 
+    int framenum;
     y4m_stream_info_t* si;
     int is_older;
 } y4m_priv_t;
@@ -46,14 +46,14 @@ static int y4m_check_file(demuxer_t* dem
     int orig_pos = stream_tell(demuxer->stream);
     char buf[10];
     y4m_priv_t* priv;
-    
+
     mp_msg(MSGT_DEMUX, MSGL_V, "Checking for YUV4MPEG2\n");
-    
+
     if(stream_read(demuxer->stream, buf, 9)!=9)
         return 0;
 
     buf[9] = 0;
-    
+
     if (strncmp("YUV4MPEG2", buf, 9) && strncmp("YUV4MPEG ", buf, 9)) {
 	    return 0;
     }
@@ -104,7 +104,7 @@ static int demux_y4m_fill_buffer(demuxer
   if (priv->is_older)
   {
     int c;
-    
+
     c = stream_read_char(demux->stream); /* F */
     if (c == -256)
 	return 0; /* EOF */
@@ -164,7 +164,7 @@ static demuxer_t* demux_open_y4m(demuxer
 	buf[1] = 0;
 	frame_rate_code = atoi(buf);
 	stream_skip(demuxer->stream, 1); /* new-line */
-	
+
 	if (!sh->fps)
 	{
 	    /* values from xawtv */
@@ -203,9 +203,9 @@ static demuxer_t* demux_open_y4m(demuxer
     else
     {
 	y4m_init_stream_info(priv->si);
-	if ((err=y4m_read_stream_header(demuxer->stream, priv->si)) != Y4M_OK) 
+	if ((err=y4m_read_stream_header(demuxer->stream, priv->si)) != Y4M_OK)
 	    mp_msg(MSGT_DEMUXER, MSGL_FATAL, "error parsing YUV4MPEG header: %s\n", y4m_strerr(err));
-	
+
 	if(!sh->fps) {
     	    ratio = y4m_si_get_framerate(priv->si);
     	    if (ratio.d != 0)
@@ -214,7 +214,7 @@ static demuxer_t* demux_open_y4m(demuxer
         	sh->fps=15.0f;
 	}
 	sh->frametime=1.0f/sh->fps;
-	
+
 	ratio = y4m_si_get_sampleaspect(priv->si);
 
 	sh->disp_w = y4m_si_get_width(priv->si);
@@ -241,7 +241,7 @@ static demuxer_t* demux_open_y4m(demuxer
     demuxer->video->sh=sh;
     sh->ds=demuxer->video;
     demuxer->video->id=0;
-		
+
 
     mp_msg(MSGT_DEMUX, MSGL_INFO, "YUV4MPEG2 Video stream %d size: display: %dx%d, codec: %ux%u\n",
             demuxer->video->id, sh->disp_w, sh->disp_h, sh->bih->biWidth,
@@ -271,7 +271,7 @@ static void demux_seek_y4m(demuxer_t *de
          * demuxed (counting from ONE (see demux_open_y4m)) */
         stream_seek(demuxer->stream, curr_pos + rel_seek_frames*(size+6));
     } else {
-	    /* should never come here, because seeking for YUV4MPEG2 
+	    /* should never come here, because seeking for YUV4MPEG2
 	     * is disabled. */
 	    mp_msg(MSGT_DEMUX, MSGL_WARN, "Seeking for YUV4MPEG2 not yet implemented!\n");
     }

Modified: trunk/libmpdemux/demuxer.h
==============================================================================
--- trunk/libmpdemux/demuxer.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/demuxer.h	Wed May 13 04:58:57 2009	(r29305)
@@ -190,7 +190,7 @@ typedef struct demuxers_desc_st {
   int safe_check; ///< If 1 detection is safe and fast, do it before file extension check
 
   /// Check if can demux the file, return DEMUXER_TYPE_xxx on success
-  int (*check_file)(struct demuxer_st *demuxer); ///< Mandatory if safe_check == 1, else optional 
+  int (*check_file)(struct demuxer_st *demuxer); ///< Mandatory if safe_check == 1, else optional
   /// Get packets from file, return 0 on eof
   int (*fill_buffer)(struct demuxer_st *demuxer, demux_stream_t *ds); ///< Mandatory
   /// Open the demuxer, return demuxer on success, NULL on failure
@@ -242,7 +242,7 @@ typedef struct demuxer_st {
 
   demux_chapter_t* chapters;
   int num_chapters;
-  
+
   demux_attachment_t* attachments;
   int num_attachments;
 

Modified: trunk/libmpdemux/genres.h
==============================================================================
--- trunk/libmpdemux/genres.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/genres.h	Wed May 13 04:58:57 2009	(r29305)
@@ -18,7 +18,7 @@
  ***********************************
  * FILE: GENRES.H
  * NAME: ID3EDIT - ID3 tag v 1.1 editor
- * DESCRIPTION: Genres character array 
+ * DESCRIPTION: Genres character array
  * AUTHOR: Jason Carter
  ***********************************
  *

Modified: trunk/libmpdemux/mf.c
==============================================================================
--- trunk/libmpdemux/mf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/mf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -58,17 +58,17 @@ mf_t* open_mf(char * filename){
  mf=calloc( 1,sizeof( mf_t ) );
 
  if( filename[0] == '@' )
-  { 
+  {
    FILE *lst_f=fopen(filename + 1,"r");
-   if ( lst_f ) 
+   if ( lst_f )
     {
      fname=malloc( 255 );
-     while ( fgets( fname,255,lst_f ) ) 
+     while ( fgets( fname,255,lst_f ) )
       {
        /* remove spaces from end of fname */
        char *t=fname + strlen( fname ) - 1;
        while ( t > fname && isspace( *t ) ) *(t--)=0;
-       if ( stat( fname,&fs ) ) 
+       if ( stat( fname,&fs ) )
         {
          mp_msg( MSGT_STREAM,MSGL_V,"[mf] file not found: '%s'\n",fname );
         }
@@ -80,7 +80,7 @@ mf_t* open_mf(char * filename){
         }
       }
       fclose( lst_f );
-	     
+
       mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] number of files: %d\n",mf->nr_of_files );
       goto exit_mf;
     }
@@ -88,12 +88,12 @@ mf_t* open_mf(char * filename){
   }
 
  if( strchr( filename,',') )
-  { 
+  {
    mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] filelist: %s\n",filename );
- 
+
    while ( ( fname=strsep( &filename,"," ) ) )
     {
-     if ( stat( fname,&fs ) ) 
+     if ( stat( fname,&fs ) )
       {
        mp_msg( MSGT_STREAM,MSGL_V,"[mf] file not found: '%s'\n",fname );
       }
@@ -106,15 +106,15 @@ mf_t* open_mf(char * filename){
       }
     }
    mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] number of files: %d\n",mf->nr_of_files );
- 
+
    goto exit_mf;
-  } 
+  }
 
  fname=malloc( strlen( filename ) + 32 );
 
  if ( !strchr( filename,'%' ) )
   {
-   strcpy( fname,filename ); 
+   strcpy( fname,filename );
    if ( !strchr( filename,'*' ) ) strcat( fname,"*" );
 
    mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] search expr: %s\n",fname );
@@ -139,11 +139,11 @@ mf_t* open_mf(char * filename){
   }
 
  mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] search expr: %s\n",filename );
- 
+
  while ( error_count < 5 )
   {
    sprintf( fname,filename,count++ );
-   if ( stat( fname,&fs ) ) 
+   if ( stat( fname,&fs ) )
     {
      error_count++;
      mp_msg( MSGT_STREAM,MSGL_V,"[mf] file not found: '%s'\n",fname );

Modified: trunk/libmpdemux/mp3_hdr.c
==============================================================================
--- trunk/libmpdemux/mp3_hdr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/mp3_hdr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@ static long freqs[9] = { 44100, 48000, 3
 			 11025, 12000,  8000};  // MPEG 2.5
 
 int mp_mp3_get_lsf(unsigned char* hbuf){
-    unsigned long newhead = 
+    unsigned long newhead =
       hbuf[0] << 24 |
       hbuf[1] << 16 |
       hbuf[2] <<  8 |
@@ -56,7 +56,7 @@ int mp_get_mp3_header(unsigned char* hbu
     int stereo,ssize,lsf,framesize,padding,bitrate_index,sampling_frequency, divisor;
     int bitrate;
     int layer, mult[3] = { 12000, 144000, 144000 };
-    unsigned long newhead = 
+    unsigned long newhead =
       hbuf[0] << 24 |
       hbuf[1] << 16 |
       hbuf[2] <<  8 |
@@ -73,8 +73,8 @@ int mp_get_mp3_header(unsigned char* hbu
 #endif
 
     layer = 4-((newhead>>17)&3);
-    if(layer==4){ 
-      mp_msg(MSGT_DEMUXER,MSGL_DBG2,"not layer-1/2/3\n"); 
+    if(layer==4){
+      mp_msg(MSGT_DEMUXER,MSGL_DBG2,"not layer-1/2/3\n");
       return -1;
     }
 
@@ -121,14 +121,14 @@ int mp_get_mp3_header(unsigned char* hbu
     bitrate = tabsel_123[lsf][layer-1][bitrate_index];
     framesize = bitrate * mult[layer-1];
 
-    mp_msg(MSGT_DEMUXER,MSGL_DBG2,"FRAMESIZE: %d, layer: %d, bitrate: %d, mult: %d\n", 
+    mp_msg(MSGT_DEMUXER,MSGL_DBG2,"FRAMESIZE: %d, layer: %d, bitrate: %d, mult: %d\n",
     	framesize, layer, tabsel_123[lsf][layer-1][bitrate_index], mult[layer-1]);
     if(!framesize){
 	mp_msg(MSGT_DEMUXER,MSGL_DBG2,"invalid framesize/bitrate_index\n");
 	return -1;
     }
 
-    divisor = (layer == 3 ? (freqs[sampling_frequency] << lsf) : freqs[sampling_frequency]); 
+    divisor = (layer == 3 ? (freqs[sampling_frequency] << lsf) : freqs[sampling_frequency]);
     framesize /= divisor;
     if(layer==1)
       framesize = (framesize+padding)*4;

Modified: trunk/libmpdemux/mp3_hdr.h
==============================================================================
--- trunk/libmpdemux/mp3_hdr.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/mp3_hdr.h	Wed May 13 04:58:57 2009	(r29305)
@@ -26,7 +26,7 @@ int mp_get_mp3_header(unsigned char* hbu
 #define mp_decode_mp3_header(hbuf)  mp_get_mp3_header(hbuf,NULL,NULL,NULL,NULL,NULL)
 
 static inline int mp_check_mp3_header(unsigned int head){
-    if( (head & 0x0000e0ff) != 0x0000e0ff ||  
+    if( (head & 0x0000e0ff) != 0x0000e0ff ||
         (head & 0x00fc0000) == 0x00fc0000) return 0;
     if(mp_decode_mp3_header((unsigned char*)(&head))<=0) return 0;
     return 1;

Modified: trunk/libmpdemux/mpeg_hdr.c
==============================================================================
--- trunk/libmpdemux/mpeg_hdr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/mpeg_hdr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -74,7 +74,7 @@ static int header_process_sequence_exten
 					      unsigned char * buffer)
 {
     /* check chroma format, size extensions, marker bit */
-	    
+
     if ( ((buffer[1] & 0x06) == 0x00) ||
          ((buffer[1] & 0x01) != 0x00) || (buffer[2] & 0xe0) ||
          ((buffer[3] & 0x01) != 0x01) )
@@ -125,7 +125,7 @@ int mp_header_process_extension (mp_mpeg
 float mpeg12_aspect_info(mp_mpeg_header_t *picture)
 {
     float aspect = 0.0;
-    
+
     switch(picture->aspect_ratio_information) {
       case 2:  // PAL/NTSC SVCD/DVD 4:3
       case 8:  // PAL VCD 4:3
@@ -150,7 +150,7 @@ float mpeg12_aspect_info(mp_mpeg_header_
                " developers, so that we can add support for it!\nAssuming 1:1 aspect for now.\n",
                picture->aspect_ratio_information);
     }
-    
+
     return aspect;
 }
 
@@ -159,19 +159,19 @@ unsigned char mp_getbits(unsigned char *
 {
     unsigned int n;
     unsigned char m, u, l, y;
-    
+
     n = from / 8;
     m = from % 8;
     u = 8 - m;
     l = (len > u ? len - u : 0);
-    
+
     y = (buffer[n] << m);
     if(8 > len)
     	y  >>= (8-len);
     if(l)
     	y |= (buffer[n+1] >> (8-l));
-	
-    //fprintf(stderr, "GETBITS(%d -> %d): bytes=0x%x 0x%x, n=%d, m=%d, l=%d, u=%d, Y=%d\n", 
+
+    //fprintf(stderr, "GETBITS(%d -> %d): bytes=0x%x 0x%x, n=%d, m=%d, l=%d, u=%d, Y=%d\n",
     //	from, (int) len, (int) buffer[n],(int) buffer[n+1], n, (int) m, (int) l, (int) u, (int) y);
     return  y;
 }
@@ -205,7 +205,7 @@ static int read_timeinc(mp_mpeg_header_t
 int mp4_header_process_vol(mp_mpeg_header_t * picture, unsigned char * buffer)
 {
     unsigned int n, aspect=0, aspectw=0, aspecth=0,  x=1, v;
-    
+
     //begins with 0x0000012x
     picture->fps = 0;
     picture->timeinc_bits = picture->timeinc_resolution = picture->timeinc_unit = 0;
@@ -221,21 +221,21 @@ int mp4_header_process_vol(mp_mpeg_heade
       aspecth = getbits(buffer, n, 8);
       n += 8;
     }
-    
+
     if(getbits(buffer, n, 1)) {
       n += 4;
       if(getbits(buffer, n, 1))
         n += 79;
       n++;
     } else n++;
-    
+
     n+=3;
-    
+
     picture->timeinc_resolution = getbits(buffer, n, 8) << 8;
     n += 8;
     picture->timeinc_resolution |= getbits(buffer, n, 8);
     n += 8;
-    
+
     picture->timeinc_bits = 0;
     v = picture->timeinc_resolution - 1;
     while(v && (x<16)) {
@@ -243,20 +243,20 @@ int mp4_header_process_vol(mp_mpeg_heade
       picture->timeinc_bits++;
     }
     picture->timeinc_bits = (picture->timeinc_bits > 1 ? picture->timeinc_bits : 1);
-    
+
     n++; //marker bit
-    
+
     if(getbits(buffer, n, 1)) {	//fixed_vop_timeinc
       n++;
       n = read_timeinc(picture, buffer, n);
-      
+
       if(picture->timeinc_unit)
         picture->fps = (float) picture->timeinc_resolution / (float) picture->timeinc_unit;
     }
-    
-    //fprintf(stderr, "ASPECT: %d, PARW=%d, PARH=%d, TIMEINCRESOLUTION: %d, FIXED_TIMEINC: %d (number of bits: %d), FPS: %u\n", 
+
+    //fprintf(stderr, "ASPECT: %d, PARW=%d, PARH=%d, TIMEINCRESOLUTION: %d, FIXED_TIMEINC: %d (number of bits: %d), FPS: %u\n",
     //	aspect, aspectw, aspecth, picture->timeinc_resolution, picture->timeinc_unit, picture->timeinc_bits, picture->fps);
-    
+
     return 0;
 }
 
@@ -279,10 +279,10 @@ void mp4_header_process_vop(mp_mpeg_head
 static unsigned int read_golomb(unsigned char *buffer, unsigned int *init)
 {
   unsigned int x, v = 0, v2 = 0, m, len = 0, n = *init;
-  
+
   while(getbits(buffer, n++, 1) == 0)
     len++;
-  
+
   x = len + n;
   while(n < x)
   {
@@ -292,12 +292,12 @@ static unsigned int read_golomb(unsigned
     if(x - n > 8)
       v <<= 8;
   }
-  
+
   v2 = 1;
   for(n = 0; n < len; n++)
     v2 <<= 1;
   v2 = (v2 - 1) + v;
-  
+
   //fprintf(stderr, "READ_GOLOMB(%u), V=2^%u + %u-1 = %u\n", *init, len, v, v2);
   *init = x;
   return v2;
@@ -307,7 +307,7 @@ static unsigned int read_golomb(unsigned
 static int h264_parse_vui(mp_mpeg_header_t * picture, unsigned char * buf, unsigned int n)
 {
   unsigned int overscan, vsp_color, chroma, timing, fixed_fps;
-  
+
   if(getbits(buf, n++, 1))
   {
     picture->aspect_ratio_information = getbits(buf, n, 8);
@@ -316,12 +316,12 @@ static int h264_parse_vui(mp_mpeg_header
     {
       picture->display_picture_width = (getbits(buf, n, 8) << 8) | getbits(buf, n + 8, 8);
       n += 16;
-      
+
       picture->display_picture_height = (getbits(buf, n, 8) << 8) | getbits(buf, n + 8, 8);
       n += 16;
     }
   }
-  
+
   if((overscan=getbits(buf, n++, 1)))
     n++;
   if((vsp_color=getbits(buf, n++, 1)))
@@ -339,21 +339,21 @@ static int h264_parse_vui(mp_mpeg_header
   {
     picture->timeinc_unit = (getbits(buf, n, 8) << 24) | (getbits(buf, n+8, 8) << 16) | (getbits(buf, n+16, 8) << 8) | getbits(buf, n+24, 8);
     n += 32;
-    
+
     picture->timeinc_resolution = (getbits(buf, n, 8) << 24) | (getbits(buf, n+8, 8) << 16) | (getbits(buf, n+16, 8) << 8) | getbits(buf, n+24, 8);
     n += 32;
-    
+
     fixed_fps = getbits(buf, n, 1);
-    
+
     if(picture->timeinc_unit > 0 && picture->timeinc_resolution > 0)
       picture->fps = (float) picture->timeinc_resolution / (float) picture->timeinc_unit;
     if(fixed_fps)
       picture->fps /= 2;
   }
-  
+
   //fprintf(stderr, "H264_PARSE_VUI, OVESCAN=%u, VSP_COLOR=%u, CHROMA=%u, TIMING=%u, DISPW=%u, DISPH=%u, TIMERES=%u, TIMEINC=%u, FIXED_FPS=%u\n", overscan, vsp_color, chroma, timing, picture->display_picture_width, picture->display_picture_height,
   //	picture->timeinc_resolution, picture->timeinc_unit, picture->timeinc_unit, fixed_fps);
-  
+
   return n;
 }
 
@@ -365,7 +365,7 @@ int h264_parse_sps(mp_mpeg_header_t * pi
   int frame_mbs_only;
 
   len = mp_unescape03(buf, len);
-  
+
   picture->fps = picture->timeinc_unit = picture->timeinc_resolution = 0;
   n = 24;
   read_golomb(buf, &n);
@@ -498,7 +498,7 @@ int mp_vc1_decode_sequence_header(mp_mpe
       {
         frexp = getbits16(buf, n, 16);
         n += 16;
-        picture->fps = (double) (frexp+1) / 32.0; 
+        picture->fps = (double) (frexp+1) / 32.0;
       }
       else
       {

Modified: trunk/libmpdemux/mpeg_packetizer.c
==============================================================================
--- trunk/libmpdemux/mpeg_packetizer.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/mpeg_packetizer.c	Wed May 13 04:58:57 2009	(r29305)
@@ -60,7 +60,7 @@ send_mpeg_pes_packet_ll(unsigned char *d
   mp_msg (MSGT_HEADER, MSGL_DBG2,
           "MPEG%d PES packet: 0x%x => %"PRIu64"   \n", type, id, pts);
   memset (pes_header, '\0', PES_MAX_SIZE);
-  
+
   /* startcode */
   pes_header[0] = 0;
   pes_header[1] = 0;
@@ -84,26 +84,26 @@ send_mpeg_pes_packet_ll(unsigned char *d
     pes_header[4] = plen >> 8;
     pes_header[5] = plen & 255;
     idx = 6;
-    
+
     if (ptslen)
     {
       int x;
-      
+
       if(type == 2)
       {
         pes_header[idx++] = 0x81;
         pes_header[idx++] = 0x80;
         pes_header[idx++] = ptslen;
       }
-      
+
       /* presentation time stamp */
       x = (0x02 << 4) | (((pts >> 30) & 0x07) << 1) | 1;
       pes_header[idx++] = x;
-      
+
       x = ((((pts >> 15) & 0x7fff) << 1) | 1);
       pes_header[idx++] = x >>8;
       pes_header[idx++] = x & 255;
-      
+
       x = (((pts & 0x7fff) << 1) | 1);
       pes_header[idx++] = x >> 8;
       pes_header[idx++] = x & 255;
@@ -125,7 +125,7 @@ send_mpeg_pes_packet_ll(unsigned char *d
         memcpy(&pes_header[idx], header, header_len);
         idx += header_len;
     }
-    
+
     my_write (pes_header, idx);
     n = my_write (data, payload_size);
 

Modified: trunk/libmpdemux/mpeg_packetizer.h
==============================================================================
--- trunk/libmpdemux/mpeg_packetizer.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/mpeg_packetizer.h	Wed May 13 04:58:57 2009	(r29305)
@@ -31,11 +31,11 @@
 #include <stdint.h>
 
 /* Send MPEG <type> PES packet */
-int send_mpeg_pes_packet (unsigned char *data, int len, int id, uint64_t pts, 
+int send_mpeg_pes_packet (unsigned char *data, int len, int id, uint64_t pts,
                           int type, int my_write (const unsigned char *data, int len));
 
 /* Send MPEG <type> PS packet */
-int send_mpeg_ps_packet (unsigned char *data, int len, int id, uint64_t pts, 
+int send_mpeg_ps_packet (unsigned char *data, int len, int id, uint64_t pts,
                          int type,int my_write (const unsigned char *data, int len));
 
 /* Send MPEG 2 LPCM packet */

Modified: trunk/libmpdemux/muxer.c
==============================================================================
--- trunk/libmpdemux/muxer.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/muxer.c	Wed May 13 04:58:57 2009	(r29305)
@@ -82,7 +82,7 @@ void muxer_write_chunk(muxer_stream_t *s
     else {
       int num = s->muxer->muxbuf_num++;
       muxbuf_t *buf, *tmp;
-      
+
       tmp = realloc_struct(s->muxer->muxbuf, (num+1), sizeof(muxbuf_t));
       if(!tmp) {
         mp_msg(MSGT_MUXER, MSGL_FATAL, MSGTR_MuxbufReallocErr);
@@ -90,7 +90,7 @@ void muxer_write_chunk(muxer_stream_t *s
       }
       s->muxer->muxbuf = tmp;
       buf = s->muxer->muxbuf + num;
-      
+
       /* buffer this frame */
       buf->stream = s;
       buf->dts= dts;
@@ -110,47 +110,47 @@ void muxer_write_chunk(muxer_stream_t *s
       for (num = 0; s->muxer->streams[num]; ++num)
         if (!s->muxer->streams[num]->muxbuf_seen)
           s->muxer->muxbuf_skip_buffer = 0;
-      
+
       /* see if we can flush buffer now */
       if (s->muxer->muxbuf_skip_buffer) {
         mp_msg(MSGT_MUXER, MSGL_V, MSGTR_MuxbufSending, s->muxer->muxbuf_num);
-        
+
         /* fix parameters for all streams */
         for (num = 0; s->muxer->streams[num]; ++num) {
           muxer_stream_t *str = s->muxer->streams[num];
           if(str->muxer->fix_stream_parameters)
             muxer_stream_fix_parameters(str->muxer, str);
         }
-        
+
         /* write header */
         if (s->muxer->cont_write_header)
           muxer_write_header(s->muxer);
-        
+
         /* send all buffered frames to muxer */
         for (num = 0; num < s->muxer->muxbuf_num; ++num) {
           muxbuf_t tmp_buf;
           buf = s->muxer->muxbuf + num;
           s = buf->stream;
-          
+
           /* 1. save timer and buffer (might have changed by now) */
           tmp_buf.dts = s->timer;
           tmp_buf.buffer = s->buffer;
-          
+
           /* 2. move stored timer and buffer into stream and mux it */
           s->timer = buf->dts;
           s->buffer = buf->buffer;
           s->muxer->cont_write_chunk(s, buf->len, buf->flags, buf->dts, buf->pts);
-          
+
           /* 3. restore saved timer and buffer */
           s->timer = tmp_buf.dts;
           s->buffer = tmp_buf.buffer;
         }
-        
+
         free(s->muxer->muxbuf);
         s->muxer->muxbuf_num = 0;
       }
     }
-    
+
     /* this code moved directly from muxer_avi.c */
     // alter counters:
     if(s->h.dwSampleSize){
@@ -163,7 +163,7 @@ void muxer_write_chunk(muxer_stream_t *s
     }
     s->timer=(double)s->h.dwLength*s->h.dwScale/s->h.dwRate;
     s->size+=len;
-    
+
     return;
 }
 

Modified: trunk/libmpdemux/muxer_avi.c
==============================================================================
--- trunk/libmpdemux/muxer_avi.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/muxer_avi.c	Wed May 13 04:58:57 2009	(r29305)
@@ -310,7 +310,7 @@ static void avifile_write_header(muxer_t
           mp_msg(MSGT_MUXER, MSGL_INFO, MSGTR_SettingVideoDelay, (float)s->h.dwStart * s->h.dwScale/s->h.dwRate);
       }
   }
-  
+
   if (isodml) {
       unsigned int rifflen, movilen;
       int i;
@@ -387,7 +387,7 @@ static void avifile_write_header(muxer_t
       }
   }
   write_avi_list(muxer->stream,listtypeAVIHEADER,hdrsize);
-  
+
   le2me_MainAVIHeader(&muxer->avih);
   write_avi_chunk(muxer->stream,ckidAVIMAINHDR,sizeof(muxer->avih),&muxer->avih); /* MainAVIHeader */
   le2me_MainAVIHeader(&muxer->avih);
@@ -463,7 +463,7 @@ static void avifile_write_header(muxer_t
           le2me_WAVEFORMATEX(s->wf);
           write_avi_chunk(muxer->stream,ckidSTREAMFORMAT,wfsize,s->wf); /* WAVEFORMATEX */
           le2me_WAVEFORMATEX(s->wf);
-}	  
+}
 	  break;
       }
       if (isodml && si && si->superidx && si->superidxsize) {

Modified: trunk/libmpdemux/muxer_lavf.c
==============================================================================
--- trunk/libmpdemux/muxer_lavf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/muxer_lavf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -127,7 +127,7 @@ static muxer_stream_t* lavf_new_stream(m
 		mp_msg(MSGT_MUXER, MSGL_ERR, "UNKNOWN TYPE %d\n", type);
 		return NULL;
 	}
-	
+
 	stream = calloc(1, sizeof(muxer_stream_t));
 	if(!stream)
 	{
@@ -145,26 +145,26 @@ static muxer_stream_t* lavf_new_stream(m
 	stream->b_buffer_size = 2048;
 	stream->b_buffer_ptr = 0;
 	stream->b_buffer_len = 0;
-	
+
 	spriv = calloc(1, sizeof(muxer_stream_priv_t));
-	if(!spriv) 
+	if(!spriv)
 	{
 		free(stream);
 		return NULL;
 	}
 	stream->priv = spriv;
-	
+
 	spriv->avstream = av_new_stream(priv->oc, 1);
-	if(!spriv->avstream) 
+	if(!spriv->avstream)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR, "Could not allocate avstream, EXIT.\n");
 		return NULL;
 	}
 	spriv->avstream->stream_copy = 1;
-	
+
 	ctx = spriv->avstream->codec;
 	ctx->codec_id = muxer->avih.dwStreams;
-	switch(type) 
+	switch(type)
 	{
 		case MUXER_TYPE_VIDEO:
 			ctx->codec_type = CODEC_TYPE_VIDEO;
@@ -186,7 +186,7 @@ static void fix_parameters(muxer_stream_
 {
 	muxer_stream_priv_t *spriv = (muxer_stream_priv_t *) stream->priv;
 	AVCodecContext *ctx;
-	
+
 	ctx = spriv->avstream->codec;
 
         ctx->bit_rate= stream->avg_rate;
@@ -197,7 +197,7 @@ static void fix_parameters(muxer_stream_
 
 	if(stream->type == MUXER_TYPE_AUDIO)
 	{
-		ctx->codec_id = av_codec_get_id(mp_wav_taglists, stream->wf->wFormatTag); 
+		ctx->codec_id = av_codec_get_id(mp_wav_taglists, stream->wf->wFormatTag);
 #if 0 //breaks aac in mov at least
 		ctx->codec_tag = codec_get_wav_tag(ctx->codec_id);
 #endif
@@ -207,7 +207,7 @@ static void fix_parameters(muxer_stream_
 		ctx->channels = stream->wf->nChannels;
                 if(stream->h.dwRate && (stream->h.dwScale * (int64_t)ctx->sample_rate) % stream->h.dwRate == 0)
                     ctx->frame_size= (stream->h.dwScale * (int64_t)ctx->sample_rate) / stream->h.dwRate;
-                mp_msg(MSGT_MUXER, MSGL_V, "MUXER_LAVF(audio stream) frame_size: %d, scale: %u, sps: %u, rate: %u, ctx->block_align = stream->wf->nBlockAlign; %d=%d stream->wf->nAvgBytesPerSec:%d\n", 
+                mp_msg(MSGT_MUXER, MSGL_V, "MUXER_LAVF(audio stream) frame_size: %d, scale: %u, sps: %u, rate: %u, ctx->block_align = stream->wf->nBlockAlign; %d=%d stream->wf->nAvgBytesPerSec:%d\n",
 			ctx->frame_size, stream->h.dwScale, ctx->sample_rate, stream->h.dwRate,
 			ctx->block_align, stream->wf->nBlockAlign, stream->wf->nAvgBytesPerSec);
 		ctx->block_align = stream->h.dwSampleSize;
@@ -259,14 +259,14 @@ static void write_chunk(muxer_stream_t *
 	muxer_priv_t *priv = (muxer_priv_t *) muxer->priv;
 	muxer_stream_priv_t *spriv = (muxer_stream_priv_t *) stream->priv;
 	AVPacket pkt;
-	
+
 	if(len)
 	{
 	av_init_packet(&pkt);
 	pkt.size = len;
 	pkt.stream_index= spriv->avstream->index;
 	pkt.data = stream->buffer;
-	
+
 	if(flags & AVIIF_KEYFRAME)
 		pkt.flags |= PKT_FLAG_KEY;
 	else
@@ -275,13 +275,13 @@ static void write_chunk(muxer_stream_t *
 	pkt.dts = (dts / av_q2d(priv->oc->streams[pkt.stream_index]->time_base) + 0.5);
 	pkt.pts = (pts / av_q2d(priv->oc->streams[pkt.stream_index]->time_base) + 0.5);
 //fprintf(stderr, "%Ld %Ld id:%d tb:%f %f\n", pkt.dts, pkt.pts, pkt.stream_index, av_q2d(priv->oc->streams[pkt.stream_index]->time_base), stream->timer);
-	
+
 	if(av_interleaved_write_frame(priv->oc, &pkt) != 0) //av_write_frame(priv->oc, &pkt)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR, "Error while writing frame.\n");
 	}
 	}
-	
+
 	return;
 }
 
@@ -289,7 +289,7 @@ static void write_chunk(muxer_stream_t *
 static void write_header(muxer_t *muxer)
 {
 	muxer_priv_t *priv = (muxer_priv_t *) muxer->priv;
-	
+
 	mp_msg(MSGT_MUXER, MSGL_INFO, MSGTR_WritingHeader);
 	av_write_header(priv->oc);
 	muxer->cont_write_header = NULL;
@@ -300,10 +300,10 @@ static void write_trailer(muxer_t *muxer
 {
 	int i;
 	muxer_priv_t *priv = (muxer_priv_t *) muxer->priv;
-	
+
 	mp_msg(MSGT_MUXER, MSGL_INFO, MSGTR_WritingTrailer);
 	av_write_trailer(priv->oc);
-	for(i = 0; i < priv->oc->nb_streams; i++) 
+	for(i = 0; i < priv->oc->nb_streams; i++)
 	{
 		av_freep(&(priv->oc->streams[i]));
 	}
@@ -339,19 +339,19 @@ int muxer_init_muxer_lavf(muxer_t *muxer
 "INCORRECT files in the presence of B-frames. Moreover, due to bugs MPlayer\n"
 "will play these INCORRECT files as if nothing were wrong!\n"
 "*******************************************************************************\n");
-	
+
 	priv = (muxer_priv_t *) calloc(1, sizeof(muxer_priv_t));
 	if(priv == NULL)
 		return 0;
 
 	priv->oc = av_alloc_format_context();
-	if(!priv->oc) 
+	if(!priv->oc)
 	{
 		mp_msg(MSGT_MUXER, MSGL_FATAL, "Could not get format context.\n");
 		goto fail;
 	}
 
-	if(conf_format)		
+	if(conf_format)
 		fmt = guess_format(conf_format, NULL, NULL);
 	if(! fmt)
 		fmt = guess_format(NULL, out_filename, NULL);
@@ -362,8 +362,8 @@ int muxer_init_muxer_lavf(muxer_t *muxer
 	}
 	priv->oc->oformat = fmt;
 
-	
-	if(av_set_parameters(priv->oc, NULL) < 0) 
+
+	if(av_set_parameters(priv->oc, NULL) < 0)
 	{
 		mp_msg(MSGT_MUXER, MSGL_FATAL, "invalid output format parameters\n");
 		goto fail;
@@ -393,7 +393,7 @@ int muxer_init_muxer_lavf(muxer_t *muxer
 	priv->oc->pb = av_alloc_put_byte(priv->buffer, BIO_BUFFER_SIZE, 1, muxer, NULL, mp_write, mp_seek);
 	if ((muxer->stream->flags & STREAM_SEEK) != STREAM_SEEK)
             priv->oc->pb->is_streamed = 1;
-	
+
 	muxer->priv = (void *) priv;
 	muxer->cont_new_stream = &lavf_new_stream;
 	muxer->cont_write_chunk = &write_chunk;
@@ -402,7 +402,7 @@ int muxer_init_muxer_lavf(muxer_t *muxer
 	muxer->fix_stream_parameters = &fix_parameters;
 	mp_msg(MSGT_MUXER, MSGL_INFO, "OK, exit.\n");
 	return 1;
-	
+
 fail:
 	free(priv);
 	return 0;

Modified: trunk/libmpdemux/muxer_mpeg.c
==============================================================================
--- trunk/libmpdemux/muxer_mpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/muxer_mpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -72,7 +72,7 @@
 #define FRAMERATE_5994 7
 #define FRAMERATE_60 8
 
-static char ftypes[] = {'?', 'I', 'P', 'B'}; 
+static char ftypes[] = {'?', 'I', 'P', 'B'};
 #define FTYPE(x) (ftypes[(x)])
 
 static const char *framerates[] = {
@@ -86,7 +86,7 @@ static const char *aspect_ratios[] = {
 static char *conf_mux = "mpeg2";
 static uint16_t conf_packet_size = 0;		//dvd
 static uint32_t conf_muxrate = 0;		//kb/s
-static float conf_vaspect = 0; 
+static float conf_vaspect = 0;
 static float conf_vframerate = 0;
 static uint32_t conf_vwidth = 0, conf_vheight = 0, conf_panscan_width = 0, conf_panscan_height = 0;
 static uint32_t conf_vbitrate = 0;
@@ -161,7 +161,7 @@ typedef struct {
 	uint32_t headers_cnt;
 	double init_adelay;
 	int drop;
-	
+
 	//video patching parameters
 	uint8_t vaspect, vframerate;
 	uint16_t vwidth, vheight, panscan_width, panscan_height;
@@ -236,7 +236,7 @@ int mp_a52_framesize(uint8_t *buf, int *
 static void fix_audio_sys_header(muxer_priv_t *priv, uint8_t id, uint8_t newid, uint32_t size)
 {
 	uint8_t i;
-	
+
 	for(i = 0; i < priv->sys_info.cnt; i++)
 	{
 		if(priv->sys_info.streams[i].id == id)
@@ -289,7 +289,7 @@ static inline int is_mpeg4(uint32_t x)
 static uint32_t CalcCRC32(uint8_t *buff, uint32_t size)
 {
 	uint32_t i, j, CRCTab[256], crc;
-	
+
 	for(i = 0;i < 256; i++)
 	{
 		for(crc = i, j = 0; j < 8; j++)
@@ -297,11 +297,11 @@ static uint32_t CalcCRC32(uint8_t *buff,
 		CRCTab[i] = crc;
 	}
 
-	
+
 	crc = 0xffffffff;
 	for(i = 0; i < size; i++)
 		crc = (crc << 8) ^ CRCTab[((crc >> 24) ^ buff[i]) & 0xff];
-	
+
 	return crc;
 }
 
@@ -309,11 +309,11 @@ static uint32_t CalcCRC32(uint8_t *buff,
 static void add_to_psm(muxer_priv_t *priv, uint8_t id, uint32_t format)
 {
 	uint8_t i;
-	
+
 	i = priv->psm_info.cnt;
 	priv->psm_info.streams[i].id = id;
 	priv->psm_info.streams[i].format = format;
-	
+
 	if(is_mpeg1(format))
 		priv->psm_info.streams[i].type = 0x01;
 	else if(is_mpeg2(format))
@@ -326,10 +326,10 @@ static void add_to_psm(muxer_priv_t *pri
 		priv->psm_info.streams[i].type = 0x0f;
 	else
 		priv->psm_info.streams[i].type = 0x81;
-	
+
 	if(format == AUDIO_A52)
 		memcpy((char*) &(priv->psm_info.streams[i].format), "AC-3", 4);
-	
+
 	priv->psm_info.cnt++;
 }
 
@@ -338,11 +338,11 @@ static mpeg_frame_t *init_frames(uint16_
 {
 	mpeg_frame_t *tmp;
 	uint16_t i;
-	
+
 	tmp = (mpeg_frame_t *) calloc(num, sizeof(mpeg_frame_t));
 	if(tmp == NULL)
 		return NULL;
-		
+
 	for(i=0; i < num; i++)
 	{
 		tmp[i].buffer = (uint8_t *) calloc(1, size);
@@ -353,7 +353,7 @@ static mpeg_frame_t *init_frames(uint16_
 		tmp[i].alloc_size = size;
 		tmp[i].pts = 0;
 	}
-	
+
 	return tmp;
 }
 
@@ -517,10 +517,10 @@ static void write_mpeg_ts(unsigned char 
 }
 
 
-static void write_mpeg_rate(int type, unsigned char *b, unsigned int rate) 
+static void write_mpeg_rate(int type, unsigned char *b, unsigned int rate)
 {
 	rate = ((rate*8)+399) / 400;
-	
+
 	if(type == MUX_MPEG1)
 	{
 		b[0] = ((rate >> 15) & 0x7f) | 0x80;
@@ -531,12 +531,12 @@ static void write_mpeg_rate(int type, un
 	{
 		b[0] = (rate >> 14);
 		b[1] = (rate >> 6) & 0xff;
-		b[2] = ((rate & 0x3f) << 2) | 0x03;	
+		b[2] = ((rate & 0x3f) << 2) | 0x03;
 	}
 }
 
 
-static void write_mpeg_std(unsigned char *b, unsigned int size, unsigned int type, uint8_t mod) 
+static void write_mpeg_std(unsigned char *b, unsigned int size, unsigned int type, uint8_t mod)
 {
 	//type = 0:mpeg audio/128, 1:video and pes private streams (including ac3/dts/lpcm)/1024
 	if(type == 0)	//audio
@@ -551,7 +551,7 @@ static void write_mpeg_std(unsigned char
 	b[1] = size & 0xff;
 }
 
-static void write_mpeg2_scr(unsigned char *b, uint64_t ts) 
+static void write_mpeg2_scr(unsigned char *b, uint64_t ts)
 {
 	uint16_t t1, t2, t3, scr_ext;
 	scr_ext = ts % 300ULL;
@@ -560,7 +560,7 @@ static void write_mpeg2_scr(unsigned cha
 	t1 = (ts >> 30) & 0x7;
 	t2 = (ts >> 15) & 0x7fff;
 	t3 = ts & 0x7fff;
-	
+
 	b[0] = (t1 << 3 ) | 0x44 | ((t2 >> 13) & 0x3);
 	b[1] = (t2 >> 5);
 	b[2] = (t2 & 0x1f) << 3 | 0x4 | ((t3 >> 13) & 0x3);
@@ -574,7 +574,7 @@ static int write_mpeg_pack_header(muxer_
 {
 	int len;
 	muxer_priv_t *priv;
-	
+
 	priv = (muxer_priv_t *) muxer->priv;
 	*(uint32_t *)buff = be2me_32(PACK_HEADER_START_CODE);
 	if(priv->mux==MUX_MPEG1)
@@ -587,7 +587,7 @@ static int write_mpeg_pack_header(muxer_
 	{
 		write_mpeg2_scr(&buff[4], priv->scr); // 0010 and SCR
 		write_mpeg_rate(priv->mux, &buff[10], muxer->sysrate);
-		buff[13] = 0xf8; //5 bits reserved + 3 set to 0 to indicate 0 stuffing bytes 
+		buff[13] = 0xf8; //5 bits reserved + 3 set to 0 to indicate 0 stuffing bytes
 		len = 14;
 	}
 
@@ -601,7 +601,7 @@ static int write_mpeg_system_header(muxe
 	uint8_t i;
 	muxer_priv_t *priv;
 	priv = (muxer_priv_t *) muxer->priv;
-	
+
 	len = 0;
 	*(uint32_t *)(&buff[len]) = be2me_32(SYSTEM_HEADER_START_CODE);
 	len += 4;
@@ -609,26 +609,26 @@ static int write_mpeg_system_header(muxe
 	len += 2;
 	write_mpeg_rate(MUX_MPEG1, &buff[len], muxer->sysrate);
 	len += 3;
-		
+
 	buff[len++] = 0x4 | (priv->is_xvcd ? 1 : 0); 	//1 audio stream bound, no fixed, CSPS only for xvcd
 	//stolen from libavformat
 	if(priv->is_xvcd || priv->is_dvd)
 		buff[len++] = 0xe1;	//system_audio_lock, system_video_lock, marker, 1 video stream bound
 	else
 		buff[len++] = 0x21;	//marker, 1 video stream bound
-	
+
 	buff[len++] = ((priv->mux == MUX_MPEG1) ? 0xff : 0x7f);	//in mpeg2 there's the packet rate restriction
-	
+
 	for(i = 0; i < priv->sys_info.cnt; i++)
 	{
 		buff[len++] = priv->sys_info.streams[i].id;
-		write_mpeg_std(&buff[len], priv->sys_info.streams[i].bufsize, priv->sys_info.streams[i].type, 
+		write_mpeg_std(&buff[len], priv->sys_info.streams[i].bufsize, priv->sys_info.streams[i].type,
 			(priv->sys_info.streams[i].type == 1 ? 0xe0: 0xc0));
 		len += 2;
 	}
-	
+
 	*(uint16_t *)(&buff[4]) = be2me_16(len - 6);	// length field fixed
-	
+
 	return len;
 }
 
@@ -639,7 +639,7 @@ static int write_mpeg_psm(muxer_t *muxer
 	uint16_t dlen;
 	muxer_priv_t *priv;
 	priv = (muxer_priv_t *) muxer->priv;
-	
+
 	len = 0;
 	*(uint32_t *)(&buff[len]) = be2me_32(PSM_START_CODE);
 	len += 4;
@@ -651,13 +651,13 @@ static int write_mpeg_psm(muxer_t *muxer
 	len += 2;
 	*(uint16_t *)(&buff[len]) = 0; //length of the es descriptors
 	len += 2;
-	
+
 	dlen = 0;
 	for(i = 0; i < priv->psm_info.cnt; i++)
 	{
 		if(
-			(priv->psm_info.streams[i].id == 0xbd) || 
-			(priv->psm_info.streams[i].id >= 0xe0 && priv->psm_info.streams[i].id <= 0xef) || 
+			(priv->psm_info.streams[i].id == 0xbd) ||
+			(priv->psm_info.streams[i].id >= 0xe0 && priv->psm_info.streams[i].id <= 0xef) ||
 			(priv->psm_info.streams[i].id >= 0xc0 && priv->psm_info.streams[i].id <= 0xcf)
 		)
 		{
@@ -665,18 +665,18 @@ static int write_mpeg_psm(muxer_t *muxer
 			buff[len++] = priv->psm_info.streams[i].id;
 			buff[len++] = 0;	//len of descriptor upper ...
 			buff[len++] = 0;	//... lower
-			
+
 			dlen += 4;
 		}
 	}
 	*(uint16_t *)(&buff[10]) = be2me_16(dlen);	//length of the es descriptors
-	
+
 	*(uint16_t *)(&buff[4]) = be2me_16(len - 6 + 4);	// length field fixed, including size of CRC32
-	
+
 	*(uint32_t *)(&buff[len]) = be2me_32(CalcCRC32(buff, len));
-	
+
 	len += 4;	//for crc
-	
+
 	return len;
 }
 
@@ -688,7 +688,7 @@ static int psm_is_late(muxer_priv_t *pri
 static int write_mpeg_pes_header(muxer_headers_t *h, uint8_t *pes_id, uint8_t *buff, uint16_t plen, int stuffing_len, int mux_type)
 {
 	int len;
-	
+
 	len = 0;
 	memcpy(&buff[len], pes_id, 4);
 	len += 4;
@@ -703,29 +703,29 @@ static int write_mpeg_pes_header(muxer_h
 			memset(&buff[len], 0xff, stuffing_len);
 			len += stuffing_len;
 		}
-		
+
 		if(h->buffer_size > 0)
 		{
-			write_mpeg_std(&buff[len], h->buffer_size, h->type, 0x40); // 01 is pes1 format	
+			write_mpeg_std(&buff[len], h->buffer_size, h->type, 0x40); // 01 is pes1 format
 			len += 2;
 		}
 	}
 	else	//MPEG2
 	{
-		buff[len] = (h->pes_is_aligned ? 0x84 : 0x80);	//0x10... 
+		buff[len] = (h->pes_is_aligned ? 0x84 : 0x80);	//0x10...
 		len++;
 		buff[len] = ((h->buffer_size > 0) ?  1 : 0) | (h->pts ? (h->dts ? 0xC0 : 0x80) : 0);	//pes extension + pts/dts flags
 		len++;
 		buff[len] = (h->pts ? (h->dts ? 10 : 5) : 0) + ((h->buffer_size > 0) ?  3 : 0) + stuffing_len;//pts + std + stuffing
 		len++;
 	}
-	
-	
+
+
 	if(h->pts)
 	{
 		write_mpeg_ts(&buff[len], h->pts, (h->dts ? 0x30 : 0x20)); // 001x and both PTS/DTS
 		len += 5;
-		
+
 		if(h->dts)
 		{
 			write_mpeg_ts(&buff[len], h->dts, 0x10); // 0001 before DTS
@@ -741,18 +741,18 @@ static int write_mpeg_pes_header(muxer_h
 		}
 	}
 
-	
+
 	if(mux_type == MUX_MPEG2)
 	{
 		if(h->buffer_size > 0)
 		{
 			buff[len] = 0x1e;	//std flag
 			len++;
-			
+
 			write_mpeg_std(&buff[len], h->buffer_size, h->type, 0x40);
 			len += 2;
 		}
-		
+
 		if(stuffing_len > 0)
 		{
 			memset(&buff[len], 0xff, stuffing_len);
@@ -760,7 +760,7 @@ static int write_mpeg_pes_header(muxer_h
 		}
 	}
 
-	*((uint16_t*) &buff[4]) = be2me_16(len + plen - 6);	//fix pes packet size	
+	*((uint16_t*) &buff[4]) = be2me_16(len + plen - 6);	//fix pes packet size
 	return len;
 }
 
@@ -808,12 +808,12 @@ static unsigned int calc_psm_len(muxer_p
 static uint32_t calc_pes_hlen(int format, muxer_headers_t *h, muxer_priv_t *priv)
 {
 	uint32_t len;
-	
+
 	if(format == MUX_MPEG1)
 		len = 6;
 	else
 		len = 9;
-	
+
 	if(h->pts)
 	{
 		len += 5;
@@ -822,7 +822,7 @@ static uint32_t calc_pes_hlen(int format
 	}
 	else if(format == MUX_MPEG1)
 		len += 1;
-	
+
 	if(h->buffer_size > 0)
 	{
 		if(format == MUX_MPEG2)
@@ -832,11 +832,11 @@ static uint32_t calc_pes_hlen(int format
 	}
 
 	//len = max(h->min_pes_hlen, len);
-	
+
 	return len;
 }
 
-	
+
 static int write_mpeg_pack(muxer_t *muxer, muxer_stream_t *s, stream_t *stream, int isoend)
 {
 	size_t tot, offset;
@@ -854,7 +854,7 @@ static int write_mpeg_pack(muxer_t *muxe
 		buff[offset + 0] = buff[offset + 1] = 0;
 		buff[offset + 2] = 1;
 		buff[offset + 3] = 0xb9;
-		
+
 		stream_write_buffer(stream, buff, priv->packet_size);
 		return 1;
 	}
@@ -862,12 +862,12 @@ static int write_mpeg_pack(muxer_t *muxe
 	{
 		offset = write_mpeg_pack_header(muxer, buff);
 		offset += write_mpeg_system_header(muxer, &buff[offset]);
-		
+
 		//priv->update_system_header = 0;
-		
+
 		if(priv->is_dvd)
 			offset += write_nav_pack(&buff[offset]);
-			
+
 		stuffing_len = priv->packet_size - offset;
 		if(stuffing_len > 0)
 		{
@@ -875,12 +875,12 @@ static int write_mpeg_pack(muxer_t *muxe
 			write_pes_padding(&buff[offset], stuffing_len);
 			offset += stuffing_len;
 		}
-			
+
 		stream_write_buffer(stream, buff, offset);
 		priv->headers_size += offset;
 		tot = offset;
 		muxer->movi_end += tot;
-		
+
 		return tot;
 	}
 }
@@ -983,7 +983,7 @@ static int find_packet_timestamps(muxer_
 	{
 		pes_hlen = calc_pes_hlen(priv->mux, spriv, priv);
 
-		if(pes_hlen < spriv->min_pes_hlen) 
+		if(pes_hlen < spriv->min_pes_hlen)
 			pes_hlen = spriv->min_pes_hlen;
 
 		m = spriv->framebuf[0].size - spriv->framebuf[0].pos;
@@ -994,13 +994,13 @@ static int find_packet_timestamps(muxer_
 		{
 			if(spriv->framebuf_used < 2)
 				goto fail;
-			
+
 			if(spriv->framebuf[1].pts == spriv->framebuf[1].dts)
 				threshold = 5;
 			else
 				threshold = 10;
 
-			//headers+frame 0 < space available including timestamps	
+			//headers+frame 0 < space available including timestamps
 			if(start + pes_hlen + m  < priv->packet_size - threshold)
 				i = 1;
 			else
@@ -1010,7 +1010,7 @@ static int find_packet_timestamps(muxer_
 
 	if(i > -1)
 	{
-		dpts = FFMAX(spriv->last_saved_pts, spriv->framebuf[i].pts) - 
+		dpts = FFMAX(spriv->last_saved_pts, spriv->framebuf[i].pts) -
 			FFMIN(spriv->last_saved_pts, spriv->framebuf[i].pts) +
 			spriv->framebuf[0].idur;
 
@@ -1073,7 +1073,7 @@ static int get_packet_stats(muxer_priv_t
 
 	len -= hlen;
 	target -= hlen;
-	
+
 	len2 = calc_packet_len(s, target, finalize);
 	if(!len2 || (len2 < target && s->type == MUXER_TYPE_AUDIO && !finalize))
 	{
@@ -1114,9 +1114,9 @@ static int get_packet_stats(muxer_priv_t
 			}
 		}
 	}
-	
+
 	len += hlen;
-	
+
 	p->len = len;
 	p->stflen = stflen;
 
@@ -1184,7 +1184,7 @@ static int fill_packet(muxer_t *muxer, m
 			spriv->buffer_size = bufsize*1024;
 		}
 
-		if(priv->is_dvd && s->type == MUXER_TYPE_VIDEO 
+		if(priv->is_dvd && s->type == MUXER_TYPE_VIDEO
 			&& spriv->framebuf[0].type==I_FRAME && spriv->framebuf[0].pos==0)
 			dvd_pack = 1;
 
@@ -1197,8 +1197,8 @@ static int fill_packet(muxer_t *muxer, m
 		spriv->pts = p.pts;
 		if(spriv->pts)
 			spriv->last_saved_pts = p.pts;
-		
-		spriv->pack_offset += write_mpeg_pes_header(spriv, (uint8_t *) &s->ckid, &(spriv->pack[spriv->pack_offset]), 
+
+		spriv->pack_offset += write_mpeg_pes_header(spriv, (uint8_t *) &s->ckid, &(spriv->pack[spriv->pack_offset]),
 			p.len, p.stflen, priv->mux);
 
 		if(s->type == MUXER_TYPE_AUDIO && s->wf->wFormatTag == AUDIO_A52)
@@ -1231,7 +1231,7 @@ static int fill_packet(muxer_t *muxer, m
 	{
 		if(!frm->pos)
 		{
-			//since iframes must always be aligned at block boundaries exit when we find the 
+			//since iframes must always be aligned at block boundaries exit when we find the
 			//beginning of one in the middle of the flush
 			if(len > 0 && s->type == MUXER_TYPE_VIDEO && frm->type == I_FRAME)
 			{
@@ -1247,7 +1247,7 @@ static int fill_packet(muxer_t *muxer, m
 		len += m;
 		spriv->pack_offset += m;
 		frm->pos += m;
-		
+
 		if(frm->pos == frm->size)	//end of frame
 		{
 			frm->pos = frm->size = 0;
@@ -1274,14 +1274,14 @@ static int fill_packet(muxer_t *muxer, m
 
 	if(s->type == MUXER_TYPE_AUDIO && s->wf->wFormatTag == AUDIO_A52)
 		fix_a52_headers(s);
-	
+
 	if(spriv->pack_offset < priv->packet_size && !priv->rawpes)	//here finalize is set
 	{
 		int diff = priv->packet_size - spriv->pack_offset;
 		write_pes_padding(&(spriv->pack[spriv->pack_offset]), diff);
 		spriv->pack_offset += diff;
 	}
-	
+
 	stream_write_buffer(muxer->stream, spriv->pack, spriv->pack_offset);
 
 	priv->headers_size += spriv->pack_offset - len;
@@ -1293,7 +1293,7 @@ static int fill_packet(muxer_t *muxer, m
 	spriv->frames = 0;
 	if(write_psm)
 		priv->last_psm_scr = priv->scr;
-	
+
 	return len;
 }
 
@@ -1308,7 +1308,7 @@ static inline int find_best_stream(muxer
 
 	ndts = -1;
 	perc = -1;
-	
+
 	//THIS RULE MUST ALWAYS apply: dts  <= SCR + 0.7 seconds
 	for(i = 0; i < muxer->avih.dwStreams; i++)
 	{
@@ -1316,7 +1316,7 @@ static inline int find_best_stream(muxer
 
 		p.len = 0;
 		get_packet_stats(priv, muxer->streams[i], &p, 0);
-		
+
 		if(spriv->track_bufsize + p.len > spriv->max_buffer_size)
 			continue;
 		if(p.frame_pts && p.frame_dts > priv->scr + 63000*300)
@@ -1350,20 +1350,20 @@ static void patch_seq(muxer_priv_t *priv
 		buf[5] &= 0x0f;
 		buf[5] |= (priv->vwidth & 0x0f) << 4;
 	}
-	
+
 	if(priv->vheight > 0)
 	{
 		buf[5] &= 0xf0;
 		buf[5] |= (priv->vheight >> 8) & 0x0f;
 		buf[6] = priv->vheight & 0xff;
 	}
-	
+
 	if(priv->vaspect > 0)
 		buf[7] = (buf[7] & 0x0f) | (priv->vaspect << 4);
-	
+
 	if(priv->vframerate > 0)
 		buf[7] = (buf[7] & 0xf0) | priv->vframerate;
-		
+
 	if(priv->vbitrate > 0)
 	{
 		buf[8] = (priv->vbitrate >> 10);
@@ -1374,20 +1374,20 @@ static void patch_seq(muxer_priv_t *priv
 
 static void patch_panscan(muxer_priv_t *priv, unsigned char *buf)
 {	//patches sequence display extension (display_horizontal_size and display_vertical_size)
-	//1: 
+	//1:
 	int offset = 1;
-	
+
 	if(buf[0] & 0x01)
 		offset += 3;
-	
+
 	if(priv->panscan_width > 0)
 	{
 		buf[offset] = (priv->panscan_width >> 6);
 		buf[offset+1] = ((priv->panscan_width & 0x3F) << 2) | (buf[offset + 1] & 0x03);
 	}
-	
+
 	offset++;
-	
+
 	if(priv->panscan_height > 0)
 	{
 		buf[offset] = (priv->panscan_height >> 13) << 7;
@@ -1416,7 +1416,7 @@ static void update_scr(muxer_t *muxer)
 	}
 
 	mp_msg(MSGT_MUXER, MSGL_DBG2, "UPDATE SCR TO %"PRIu64" (%.3lf)\n", priv->scr, (double) (priv->scr/27000000.0));
-	
+
 	for(i = 0; i < muxer->avih.dwStreams; i++)
 	{
 		stream = muxer->streams[i];
@@ -1455,7 +1455,7 @@ static void update_scr(muxer_t *muxer)
 static int calc_frames_to_flush(muxer_headers_t *vpriv)
 {
 	int n, found = 0;
-	
+
 	if(vpriv->framebuf_used > 0)
 	{
 		n = 0;
@@ -1466,7 +1466,7 @@ static int calc_frames_to_flush(muxer_he
 			mp_msg(MSGT_MUXER, MSGL_DBG2, "CALC_FRAMES, n=%d, type=%c, pts=%.3lf\n", n, FTYPE(vpriv->framebuf[n].type), (double)vpriv->framebuf[n].pts/27000000.0f);
 			if(n+1 < vpriv->framebuf_used)
 				mp_msg(MSGT_MUXER, MSGL_DBG2, "n+1=%d, type=%c, pts=%.3lf\n", n+1, FTYPE(vpriv->framebuf[n+1].type), (double)vpriv->framebuf[n+1].pts/27000000.0f);
-				
+
 			if(vpriv->framebuf[n].type == I_FRAME)
 			{
 				if(n > 0)
@@ -1479,7 +1479,7 @@ static int calc_frames_to_flush(muxer_he
 			n++;
 		}
 	}
-	
+
 	if(found && (n < vpriv->framebuf_used+1))
 		return n;
 	else
@@ -1496,8 +1496,8 @@ static int flush_buffers(muxer_t *muxer,
 	muxer_priv_t *priv = (muxer_priv_t *) muxer->priv;
 	double duration;
 	uint64_t iduration, iaduration;
-	
-	/* 
+
+	/*
 		analyzes all streams and decides what to flush
 		trying to respect an interleaving distribution
 		equal to the v_bitrate/a_bitrate proportion
@@ -1519,7 +1519,7 @@ static int flush_buffers(muxer_t *muxer,
 		else if(s->type == MUXER_TYPE_AUDIO)
 			as = s;
 	}
-	
+
 	if((! found) && finalize)
 	{
 		if(vpriv != NULL)
@@ -1531,13 +1531,13 @@ static int flush_buffers(muxer_t *muxer,
 		mp_msg(MSGT_MUXER, MSGL_DBG2, "\nVIDEO, FLUSH %d frames (of %d), 0 to %d\n", n, vpriv->framebuf_used, n-1);
 
 		vpriv = (muxer_headers_t*) vs->priv;
-		
+
 		duration = 0;
 		iduration = 0;
 		for(i = 0; i < n; i++)
 			iduration += vpriv->framebuf[i].idur;
 		duration = (double) (iduration / 27000000.0);
-		
+
 		if(as != NULL)
 		{
 			apriv = (muxer_headers_t*) as->priv;
@@ -1552,11 +1552,11 @@ static int flush_buffers(muxer_t *muxer,
 				return 0;
 			}
 		}
-		
+
 		if(as != NULL && (apriv->size == 0))
 		{
 			init_delay = vpriv->framebuf[0].pts - vpriv->framebuf[0].dts;
-		
+
 			for(i = 0; i < apriv->framebuf_cnt; i++)
 			{
 				apriv->framebuf[i].pts += init_delay;
@@ -1565,13 +1565,13 @@ static int flush_buffers(muxer_t *muxer,
 			apriv->last_pts += init_delay;
 			mp_msg(MSGT_MUXER, MSGL_DBG2, "\r\nINITIAL VIDEO DELAY: %.3lf, currAPTS: %.3lf\r\n", (double) init_delay/27000000.0f, (double) apriv->last_pts/27000000.0f);
 		}
-		
+
 		if((priv->is_xvcd || priv->is_xsvcd) && (vpriv->size == 0))
 			vpriv->buffer_size = (conf_vbuf_size ? conf_vbuf_size : (priv->is_xvcd ? 46 : 230))*1024;
-			
+
 		i = 0;
 		skip_cnt = 0;
-			
+
 		while(1)
 		{
 			update_scr(muxer);
@@ -1588,7 +1588,7 @@ static int flush_buffers(muxer_t *muxer,
 			}
 		}
 	}
-		
+
 	muxer->file_end = priv->scr;
 	return found;
 }
@@ -1598,7 +1598,7 @@ static inline uint64_t parse_fps(float f
 {
 	// 90000 * 300 * 1001 / d , there's no rounding error with any of the admitted framerates
 	int d = (int)(fps*1001+0.5);
-	
+
 	return 27027000000ULL / d;
 }
 
@@ -1612,8 +1612,8 @@ static int soft_telecine(muxer_priv_t *p
 		*fps_ptr = (*fps_ptr & 0xf0) | priv->vframerate;
 		vpriv->nom_delta_pts = parse_fps(conf_vframerate);
 	}
-	
-	//in pce_ptr starting from bit 0 bit 24 is tff, bit 30 is rff, 
+
+	//in pce_ptr starting from bit 0 bit 24 is tff, bit 30 is rff,
 	if(pce_ptr[3] & 0x2)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR, "\nERROR! RFF bit is already set, disabling telecining\n");
@@ -1625,15 +1625,15 @@ static int soft_telecine(muxer_priv_t *p
 	vpriv->picture.progressive_frame = 1;
 	if(se_ptr)
 		se_ptr[1] &= 0xf7;
-	
+
 	//disable tff and rff and overwrite them with the value in bff_mask
 	pce_ptr[3] = (pce_ptr[3] & 0x7d) | priv->bff_mask[vpriv->display_frame % MAX_PATTERN_LENGTH];
 	pce_ptr[4] |= 0x80;	//sets progressive frame
-	
+
 	vpriv->display_frame += n;
 	if(! vpriv->vframes)
 		mp_msg(MSGT_MUXER, MSGL_INFO, "\nENABLED SOFT TELECINING, FPS=%.3f\n",conf_vframerate);
-	
+
 	return 1;
 }
 
@@ -1647,9 +1647,9 @@ static size_t parse_mpeg12_video(muxer_s
 	int i, err;
 	uint32_t temp_ref;
 	int pt;
-	
+
 	mp_msg(MSGT_MUXER, MSGL_DBG2,"parse_mpeg12_video, len=%u\n", (uint32_t) len);
-	if(s->buffer[0] != 0 || s->buffer[1] != 0 || s->buffer[2] != 1 || len<6) 
+	if(s->buffer[0] != 0 || s->buffer[1] != 0 || s->buffer[2] != 1 || len<6)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR,"Unknown video format, possibly non-MPEG1/2 stream, len=%d!\n", len);
 		return 0;
@@ -1675,7 +1675,7 @@ static size_t parse_mpeg12_video(muxer_s
 					fps_ptr = &(s->buffer[i+7]);
 					mp_header_process_sequence_header(&(spriv->picture), &(s->buffer[i+4]));
 					spriv->delta_pts = spriv->nom_delta_pts = parse_fps(spriv->picture.fps);
-					
+
 					spriv->delta_clock = (double) 1/fps;
 					//the 2 lines below are needed to handle non-standard frame rates (such as 18)
 					if(! spriv->delta_pts)
@@ -1705,11 +1705,11 @@ static size_t parse_mpeg12_video(muxer_s
 						pce_ptr = &(s->buffer[i+4]);
 					}
 					break;
-		
+
 				case 0xb8:
 					gop_reset = 1;
 					break;
-		
+
 				case 0x00:
 					if(i + 5 > len)
 					{
@@ -1727,9 +1727,9 @@ static size_t parse_mpeg12_video(muxer_s
 	}
 	if(err)
 		mp_msg(MSGT_MUXER, MSGL_ERR,"Warning: picture too short or broken!\n");
-	
+
 	//following 2 lines are workaround: lavf doesn't sync to sequence headers before passing demux_packets
-	if(!spriv->nom_delta_pts)	
+	if(!spriv->nom_delta_pts)
 		spriv->delta_pts = spriv->nom_delta_pts = parse_fps(fps);
 	if(!spriv->vframes)
 		spriv->last_tr = spriv->max_tr = temp_ref;
@@ -1744,28 +1744,28 @@ static size_t parse_mpeg12_video(muxer_s
 			frames_diff = spriv->max_tr + 1 + spriv->last_tr - temp_ref;
 		else if(!d1)	//pre-emptive fix against broken sequences
 			frames_diff = 1;
-		else	
+		else
 			frames_diff = d1;
 	}
-	mp_msg(MSGT_MUXER, MSGL_DBG2, "\nLAST: %d, TR: %d, GOP: %d, DIFF: %d, MAX: %d, d1: %d\n", 
+	mp_msg(MSGT_MUXER, MSGL_DBG2, "\nLAST: %d, TR: %d, GOP: %d, DIFF: %d, MAX: %d, d1: %d\n",
 	spriv->last_tr, temp_ref, gop_reset, frames_diff, spriv->max_tr, d1);
 
 	if(temp_ref > spriv->max_tr || gop_reset)
 		spriv->max_tr = temp_ref;
-	
+
 	spriv->last_tr = temp_ref;
-	if(spriv->picture.mpeg1 == 0) 
+	if(spriv->picture.mpeg1 == 0)
 	{
 		if(spriv->telecine && pce_ptr)
 		{
 			soft_telecine(priv, spriv, fps_ptr, se_ptr, pce_ptr, frames_diff);
 			spriv->picture.display_time = 100;
 			mp_header_process_extension(&(spriv->picture), pce_ptr);
-			if(spriv->picture.display_time >= 50 && spriv->picture.display_time <= 300) 
+			if(spriv->picture.display_time >= 50 && spriv->picture.display_time <= 300)
 				spriv->delta_pts = (spriv->nom_delta_pts * spriv->picture.display_time) / 100;
 		}
 	}
-	
+
 	if(! spriv->vframes)
 		frames_diff = 1;
 
@@ -1779,18 +1779,18 @@ static size_t parse_mpeg12_video(muxer_s
 		return 0;
 	}
 	mp_msg(MSGT_MUXER, MSGL_DBG2, "\r\nVIDEO FRAME, PT: %C, tr: %d, diff: %d, dts: %.3lf, pts: %.3lf, pdt: %u, gop_reset: %d\r\n",
-		ftypes[pt], temp_ref, frames_diff, ((double) spriv->last_dts/27000000.0f), 
+		ftypes[pt], temp_ref, frames_diff, ((double) spriv->last_dts/27000000.0f),
 		((double) spriv->last_pts/27000000.0f), spriv->picture.display_time, gop_reset);
 
 	if(pt == B_FRAME)
 	{
 		int j, n, adj = 0;
 		int64_t diff = spriv->last_dts - spriv->last_pts;
-		
+
 		if(diff != 0)
 		{
 			n = spriv->framebuf_used - 1;
-			
+
 			for(j = n; j >= 0; j--)
 			{
 				if(spriv->framebuf[j].pts >= spriv->last_pts)
@@ -1805,7 +1805,7 @@ static size_t parse_mpeg12_video(muxer_s
 		}
 	}
 	spriv->vframes++;
-	
+
 	mp_msg(MSGT_MUXER, MSGL_DBG2,"parse_mpeg12_video, return %u\n", (uint32_t) len);
 	return len;
 }
@@ -1817,7 +1817,7 @@ static uint64_t fix_mp4_frame_duration(m
 	uint32_t i;
 
 	mn = mx = vpriv->framebuf[0].pts;
-	for(i = 0; i < 3; i++) 
+	for(i = 0; i < 3; i++)
 	{
 		mp_msg(MSGT_DECVIDEO,MSGL_DBG2, "PTS: %"PRIu64"\n", vpriv->framebuf[i].pts);
 		if(vpriv->framebuf[i].pts < mn)
@@ -1826,12 +1826,12 @@ static uint64_t fix_mp4_frame_duration(m
 			mx = vpriv->framebuf[i].pts;
 	}
 	md = mn;
-	for(i=0; i<3; i++) 
+	for(i=0; i<3; i++)
 	{
 		if((vpriv->framebuf[i].pts > mn) && (vpriv->framebuf[i].pts < mx))
 		md = vpriv->framebuf[i].pts;
 	}
-	
+
 	if(mx - md > md - mn)
 		diff = md - mn;
 	else
@@ -1840,11 +1840,11 @@ static uint64_t fix_mp4_frame_duration(m
 	mp_msg(MSGT_DECVIDEO,MSGL_DBG2, "MIN: %"PRIu64", mid: %"PRIu64", max: %"PRIu64", diff: %"PRIu64"\n", mn, md, mx, diff);
 	if(diff > 0)
 	{
-		for(i=0; i<3; i++) 
+		for(i=0; i<3; i++)
 		{
 			vpriv->framebuf[i].pts += diff;
 			vpriv->framebuf[i].dts += i * diff;
-			mp_msg(MSGT_MUXER, MSGL_DBG2, "FIXED_PTS: %.3lf, FIXED_DTS: %.3lf\n", 
+			mp_msg(MSGT_MUXER, MSGL_DBG2, "FIXED_PTS: %.3lf, FIXED_DTS: %.3lf\n",
 				(double) (vpriv->framebuf[i].pts/27000000.0), (double) (vpriv->framebuf[i].dts/27000000.0));
 		}
 		return diff;
@@ -1860,14 +1860,14 @@ static size_t parse_mpeg4_video(muxer_st
 	int64_t delta_pts=0;
 	uint8_t pt;
 	int ret;
-	
+
 	mp_msg(MSGT_MUXER, MSGL_DBG2,"parse_mpeg4_video, len=%u\n", (uint32_t) len);
-	if(len<6) 
+	if(len<6)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR,"Frame too short: %d, exit!\n", len);
 		return 0;
 	}
-	
+
 	pt = 0;
 	while(ptr < len - 5)
 	{
@@ -1876,7 +1876,7 @@ static size_t parse_mpeg4_video(muxer_st
 			ptr++;
 			continue;
 		}
-		
+
 		if(s->buffer[ptr+3] >= 0x20 && s->buffer[ptr+3] <= 0x2f) //VOL
 		{
 			mp4_header_process_vol(&(vpriv->picture), &(s->buffer[ptr+4]));
@@ -1889,42 +1889,42 @@ static size_t parse_mpeg4_video(muxer_st
 		{
 			int32_t delta;
 			mp4_header_process_vop(&(vpriv->picture), &(s->buffer[ptr+4]));
-			
+
 			delta = vpriv->picture.timeinc_unit - vpriv->last_tr;
 			if((delta > 0) && (delta > (vpriv->picture.timeinc_resolution/2)))
 				delta -= vpriv->picture.timeinc_resolution;
 			else if((delta < 0) && (delta < (-(vpriv->picture.timeinc_resolution/2))))
 				delta += vpriv->picture.timeinc_resolution;
-			
+
 			delta_pts = (27000000 * (int64_t) delta) / vpriv->picture.timeinc_resolution;
 			//warning, it seems that packed bops can lead to delta == 0
-			
+
 			pt = vpriv->picture.picture_type + 1;
-			mp_msg(MSGT_MUXER, MSGL_DBG2, "\nTYPE: %c, RESOLUTION: %d, TEMP: %d, delta: %d, delta_pts: %"PRId64" = %.3lf, delta2: %.3lf\n", 
+			mp_msg(MSGT_MUXER, MSGL_DBG2, "\nTYPE: %c, RESOLUTION: %d, TEMP: %d, delta: %d, delta_pts: %"PRId64" = %.3lf, delta2: %.3lf\n",
 				FTYPE(pt), vpriv->picture.timeinc_resolution, vpriv->picture.timeinc_unit, delta, delta_pts, (double) (delta_pts/27000000.0),
 				(double) delta / (double) vpriv->picture.timeinc_resolution);
-			
-			vpriv->last_tr = vpriv->picture.timeinc_unit;	
-			
+
+			vpriv->last_tr = vpriv->picture.timeinc_unit;
+
 			break;
 		}
-		
+
 		ptr++;
 	}
-	
+
 	if(vpriv->vframes)
 	{
 		vpriv->last_dts += vpriv->frame_duration;
 		vpriv->last_pts += delta_pts;
 	}
-	
+
 	ret = add_frame(vpriv, delta_pts, s->buffer, len, pt, vpriv->last_dts, vpriv->last_pts);
 	if(ret < 0)
 	{
 		mp_msg(MSGT_MUXER, MSGL_FATAL, "\r\nPARSE_MPEG4: add_frames(%d) failed, exit\r\n", len);
 		return 0;
 	}
-	
+
 	if(!vpriv->frame_duration && vpriv->framebuf_used == 3)
 	{
 		vpriv->frame_duration = fix_mp4_frame_duration(vpriv);
@@ -1933,17 +1933,17 @@ static size_t parse_mpeg4_video(muxer_st
 			vpriv->last_pts += vpriv->frame_duration;
 			vpriv->last_dts = vpriv->framebuf[vpriv->framebuf_used-1].dts;
 			vpriv->delta_clock = ((double) vpriv->frame_duration)/27000000.0;
-			mp_msg(MSGT_MUXER, MSGL_INFO, "FRAME DURATION: %"PRIu64"   %.3lf\n", 
+			mp_msg(MSGT_MUXER, MSGL_INFO, "FRAME DURATION: %"PRIu64"   %.3lf\n",
 				vpriv->frame_duration, (double) (vpriv->frame_duration/27000000.0));
 			vpriv->is_ready = 1;
 		}
 	}
-	
-	mp_msg(MSGT_MUXER, MSGL_DBG2, "LAST_PTS: %.3lf, LAST_DTS: %.3lf\n", 
+
+	mp_msg(MSGT_MUXER, MSGL_DBG2, "LAST_PTS: %.3lf, LAST_DTS: %.3lf\n",
 		(double) (vpriv->last_pts/27000000.0), (double) (vpriv->last_dts/27000000.0));
 
 	vpriv->vframes++;
-	
+
 	return len;
 }
 
@@ -1954,7 +1954,7 @@ static int fill_last_frame(muxer_headers
 
 	if(!len)
 		return 0;
-	
+
 	if(spriv->framebuf_used == 0)
 		idx = spriv->framebuf_used;
 	else
@@ -1989,21 +1989,21 @@ static int add_frame(muxer_headers_t *sp
 			mp_msg(MSGT_MUXER, MSGL_FATAL, "Couldn't realloc frame buffer(idx), abort\n");
 			return -1;
 		}
-		
+
 		spriv->framebuf[spriv->framebuf_cnt].size = 0;
 		spriv->framebuf[spriv->framebuf_cnt].alloc_size = 0;
 		spriv->framebuf[spriv->framebuf_cnt].pos = 0;
-		
+
 		spriv->framebuf[spriv->framebuf_cnt].buffer = (uint8_t*) malloc(len);
 		if(spriv->framebuf[spriv->framebuf_cnt].buffer == NULL)
 		{
 			mp_msg(MSGT_MUXER, MSGL_FATAL, "Couldn't realloc frame buffer(frame), abort\n");
 			return -1;
 		}
-		spriv->framebuf[spriv->framebuf_cnt].alloc_size = len;		
+		spriv->framebuf[spriv->framebuf_cnt].alloc_size = len;
 		spriv->framebuf_cnt++;
 	}
-	
+
 	if(spriv->framebuf[idx].alloc_size < spriv->framebuf[idx].size + len)
 	{
 		if(spriv->framebuf[idx].size > SIZE_MAX - (size_t)len)
@@ -2019,7 +2019,7 @@ static int add_frame(muxer_headers_t *sp
 		}
 		spriv->framebuf[idx].alloc_size = spriv->framebuf[idx].size + len;
 	}
-	
+
 	memcpy(&(spriv->framebuf[idx].buffer[spriv->framebuf[idx].size]), ptr, len);
 	spriv->framebuf[idx].size += len;
 	spriv->framebuf[idx].pos = 0;
@@ -2038,7 +2038,7 @@ static int analyze_mpa(muxer_stream_t *s
 {
 	int i = 0, len, max, chans, srate, spf, layer;
 	int score[4] = {0, 0, 0, 0};
-	
+
 	while(i < s->b_buffer_len + 3)
 	{
 		if(s->b_buffer[i] == 0xFF && ((s->b_buffer[i+1] & 0xE0) == 0xE0))
@@ -2093,11 +2093,11 @@ static int parse_audio(muxer_stream_t *s
 					finished = 1;
 					break;
 				}
-			
+
 				if(s->b_buffer[i] == 0xFF && ((s->b_buffer[i+1] & 0xE0) == 0xE0))
 				{
 					len = mp_get_mp3_header(&(s->b_buffer[i]), &chans, &srate, &spf, &layer, NULL);
-					if(len > 0 && (srate == s->wf->nSamplesPerSec) && (i + len <= s->b_buffer_len) 
+					if(len > 0 && (srate == s->wf->nSamplesPerSec) && (i + len <= s->b_buffer_len)
 						&& layer == spriv->mpa_layer)
 					{
 						dur = (double) spf / (double) srate;
@@ -2116,7 +2116,7 @@ static int parse_audio(muxer_stream_t *s
 					finished = 1;
 					break;
 				}
-	
+
 				if(s->b_buffer[i] == 0x0B && s->b_buffer[i+1] == 0x77)
 				{
 					srate = 0;
@@ -2144,7 +2144,7 @@ static int parse_audio(muxer_stream_t *s
 					finished = 1;
 					break;
 				}
-	
+
 				if(s->b_buffer[i] == 0xFF && ((s->b_buffer[i+1] & 0xF6) == 0xF0))
 				{
 					len = aac_parse_frame(&(s->b_buffer[i]), &srate, &num);
@@ -2167,7 +2167,7 @@ static int parse_audio(muxer_stream_t *s
 			i++;
 			continue;
 		}
-		
+
 		spriv->timer += dur;
 		if(spriv->drop_delayed_frames && delay < 0 && spriv->timer <= -delay)
 		{
@@ -2265,7 +2265,7 @@ static void fix_parameters(muxer_stream_
 			else
 				spriv->max_buffer_size = 232*1024;	//no profile => unconstrained :) FIXME!!!
 		}
-		
+
 		if(is_mpeg4(stream->bih->biCompression))
 			spriv->is_ready = 0;
 		else
@@ -2274,7 +2274,7 @@ static void fix_parameters(muxer_stream_
 		if(!is_mpeg1(stream_format) && !is_mpeg2(stream_format))
 			needs_psm = 1;
 	}
-	
+
 	if(priv->is_genmpeg2 && needs_psm)
 	{
 		priv->use_psm = 1;
@@ -2321,7 +2321,7 @@ static void mpegfile_write_chunk(muxer_s
 				spriv->last_dts += tmp;
 			}
 		}
-		else if(is_mpeg4(stream_format)) 
+		else if(is_mpeg4(stream_format))
 		{
 			spriv->is_mpeg12 = 0;
 			spriv->telecine = 0;
@@ -2334,7 +2334,7 @@ static void mpegfile_write_chunk(muxer_s
 				spriv->last_dts += tmp;
 			}
 		}
-		
+
 		mp_msg(MSGT_MUXER, MSGL_DBG2,"mpegfile_write_chunk, Video codec=%x, len=%u, mpeg12 returned %u\n", stream_format, (uint32_t) len, (uint32_t) sz);
 	}
 	else
@@ -2342,7 +2342,7 @@ static void mpegfile_write_chunk(muxer_s
 		double fake_timer;
 		spriv->type = 0;
 		stream_format = s->wf->wFormatTag;
-		
+
 		if(s->b_buffer_size - s->b_buffer_len < len)
 		{
 			void *tmp;
@@ -2359,13 +2359,13 @@ static void mpegfile_write_chunk(muxer_s
 				return;
 			}
 			s->b_buffer = tmp;
-			
+
 			s->b_buffer_size = len  + s->b_buffer_len;
 			mp_msg(MSGT_MUXER, MSGL_DBG2, "REALLOC(%d) bytes to AUDIO backbuffer\n", s->b_buffer_size);
 		}
 		memcpy(&(s->b_buffer[s->b_buffer_ptr + s->b_buffer_len]), s->buffer, len);
 		s->b_buffer_len += len;
-		
+
 		if(!spriv->is_ready)
 		{
 			if(s->b_buffer_len >= 32*1024)
@@ -2379,7 +2379,7 @@ static void mpegfile_write_chunk(muxer_s
 			parse_audio(s, 0, &nf, &fake_timer, priv->init_adelay, priv->drop);
 			spriv->vframes += nf;
 			if(! spriv->vframes)
-				mp_msg(MSGT_MUXER, MSGL_INFO, "AINIT: %.3lf\r\n", (double) spriv->last_pts/27000000.0f);	
+				mp_msg(MSGT_MUXER, MSGL_INFO, "AINIT: %.3lf\r\n", (double) spriv->last_pts/27000000.0f);
 		}
 	}
 
@@ -2407,25 +2407,25 @@ static void mpegfile_write_index(muxer_t
 		priv->scr = 0;
 		write_mpeg_pack(muxer, NULL, muxer->stream, 1);	//insert fake Nav Packet
 	}
-		
+
 	mp_msg(MSGT_MUXER, MSGL_INFO, "\nOverhead: %.3lf%% (%"PRIu64" / %"PRIu64")\n", 100.0 * (double)priv->headers_size / (double)priv->data_size, priv->headers_size, priv->data_size);
 }
 
 static void mpegfile_write_header(muxer_t *muxer)
 {
 	muxer_priv_t *priv = (muxer_priv_t*) muxer->priv;
-	
+
 	mp_msg(MSGT_MUXER, MSGL_INFO, MSGTR_WritingHeader);
-	
+
 	priv->headers_cnt++;
-	
+
 	//write the first system header only for generic mpeg1/2 muxes, and only when we have collected all necessary infos
 	if(priv->is_genmpeg1 || priv->is_genmpeg2 || ((priv->is_xvcd || priv->is_xsvcd) && (priv->headers_cnt == 1)))
 	{
 		write_mpeg_pack(muxer, NULL, muxer->stream, 0);
 		priv->update_system_header = 0;
 	}
-	
+
 	return;
 }
 
@@ -2438,19 +2438,19 @@ static void setup_sys_params(muxer_priv_
 		int a2 = (conf_abuf_size>58 ? conf_abuf_size : 58);
 
 		priv->sys_info.cnt = 4;
-		
+
 		priv->sys_info.streams[0].id = 0xb9;
 		priv->sys_info.streams[0].type = 1;
 		priv->sys_info.streams[0].bufsize = v*1024;
-			
+
 		priv->sys_info.streams[1].id = 0xb8;
 		priv->sys_info.streams[1].type = 0;
 		priv->sys_info.streams[1].bufsize = a1*1024;
-		
+
 		priv->sys_info.streams[2].id = 0xbd;
 		priv->sys_info.streams[2].type = 1;
 		priv->sys_info.streams[2].bufsize = a2*1024;
-		
+
 		priv->sys_info.streams[3].id = 0xbf;
 		priv->sys_info.streams[3].type = 1;
 		priv->sys_info.streams[3].bufsize = 2*1024;
@@ -2461,11 +2461,11 @@ static void setup_sys_params(muxer_priv_
 		int a1 = (conf_abuf_size ? conf_abuf_size : 4);
 
 		priv->sys_info.cnt = 2;
-		
+
 		priv->sys_info.streams[0].id = 0xe0;
 		priv->sys_info.streams[0].type = 1;
 		priv->sys_info.streams[0].bufsize = v*1024;
-			
+
 		priv->sys_info.streams[1].id = 0xc0;
 		priv->sys_info.streams[1].type = 0;
 		priv->sys_info.streams[1].bufsize = a1*1024;
@@ -2480,10 +2480,10 @@ static void generate_flags(uint8_t *bff_
 	unsigned int i, trfp;
 	uint64_t dfl,tfl;
 	unsigned char ormask[4] = {0x0, 0x2, 0x80, 0x82};
-	
+
 	dfl = (target - source) << 1;
 	tfl = source >> 1;
-	
+
 	trfp = 0;
 	for(i = 0; i < MAX_PATTERN_LENGTH; i++)
 	{
@@ -2506,9 +2506,9 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 	if(priv == NULL)
 	return 0;
 	priv->update_system_header = 1;
-	
+
 	//calloc() already zero-ed all flags, so we assign only the ones we need
-	
+
 	if(conf_mux != NULL)
 	{
 		if(! strcasecmp(conf_mux, "mpeg1"))
@@ -2567,7 +2567,7 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 			priv->muxrate = 1800 * 125;	//Constrained parameters
 		}
 	}
-	
+
 	if(conf_ts_allframes)
 		priv->ts_allframes = 1;
 	if(conf_muxrate > 0)
@@ -2577,7 +2577,7 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 	priv->delta_scr = (uint64_t) (90000.0f*300.0f*(double)priv->packet_size/(double)priv->muxrate);
 	mp_msg(MSGT_MUXER, MSGL_INFO, "PACKET SIZE: %u bytes, deltascr: %"PRIu64"\n", priv->packet_size, priv->delta_scr);
 	setup_sys_params(priv);
-	
+
 	if(conf_vaspect > 0)
 	{
 		int asp = (int) (conf_vaspect * 1000.0f);
@@ -2592,14 +2592,14 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 		else
 			mp_msg(MSGT_MUXER, MSGL_ERR, "ERROR: unrecognized aspect %.3f\n", conf_vaspect);
 	}
-	
+
 	priv->vframerate = 0;		// no change
 	if(conf_telecine && conf_vframerate > 0)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR, "ERROR: options 'telecine' and 'vframerate' are mutually exclusive, vframerate disabled\n");
 		conf_vframerate = 0;
 	}
-	
+
 	if(conf_telecine == TELECINE_FILM2PAL)
 	{
 		if(conf_telecine_src==0.0f) conf_telecine_src = 24000.0/1001.0;
@@ -2612,11 +2612,11 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 		conf_telecine_dest = 30000.0/1001.0;
 		conf_telecine = TELECINE_DGPULLDOWN;
 	}
-	
+
 	if(conf_telecine_src>0 && conf_telecine_dest>0 && conf_telecine_src < conf_telecine_dest)
 	{
 		int sfps, tfps;
-		
+
 		sfps = (int) (conf_telecine_src * 1001 + 0.5);
 		tfps = (int) (conf_telecine_dest * 1001 + 0.5);
 		if(sfps % 2 || tfps % 2)
@@ -2624,7 +2624,7 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 			sfps *= 2;
 			tfps *= 2;
 		}
-		
+
 		if(((tfps - sfps)>>1) > sfps)
 		{
 			mp_msg(MSGT_MUXER, MSGL_ERR, "ERROR! Framerate increment must be <= 1.5, telecining disabled\n");
@@ -2637,11 +2637,11 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 			conf_vframerate = conf_telecine_dest;
 		}
 	}
-	
+
 	if(conf_vframerate)
 	{
 		int fps;
-		
+
 		fps = (int) (conf_vframerate * 1001 + 0.5);
 		switch(fps)
 		{
@@ -2678,13 +2678,13 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 			}
 		}
 	}
-	
+
 	priv->vwidth = (uint16_t) conf_vwidth;
 	priv->vheight = (uint16_t) conf_vheight;
 	priv->panscan_width = (uint16_t) conf_panscan_width;
 	priv->panscan_height = (uint16_t) conf_panscan_height;
 	priv->vbitrate = ((conf_vbitrate) * 10) >> 2;	//*1000 / 400
-	
+
 	if(priv->vaspect || priv->vframerate || priv->vwidth || priv->vheight || priv->vbitrate || priv->panscan_width || priv->panscan_height)
 	{
 		priv->patch_seq = priv->vaspect || priv->vframerate || priv->vwidth || priv->vheight || priv->vbitrate;
@@ -2702,12 +2702,12 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 			mp_msg(MSGT_MUXER, MSGL_INFO, " bitrate to %u", conf_vbitrate);
 		mp_msg(MSGT_MUXER, MSGL_INFO, "\n");
 	}
-	
+
 	priv->has_video = priv->has_audio = 0;
-	
+
 	muxer->sysrate = priv->muxrate; 		// initial muxrate = constrained stream parameter
 	priv->scr = muxer->file_end = 0;
-	
+
 	if(conf_init_vdelay && conf_drop)
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR, "\nmuxer_mpg, :drop and :vdelay used together are not supported, exiting\n");
@@ -2715,16 +2715,16 @@ int muxer_init_muxer_mpeg(muxer_t *muxer
 	}
 	if(conf_init_adelay)
 		priv->init_adelay = - (double) conf_init_adelay / (double) 1000.0;
-	
+
 	priv->drop = conf_drop;
-	
+
 	priv->buff = (uint8_t *) malloc(priv->packet_size);
 	if((priv->buff == NULL))
 	{
 		mp_msg(MSGT_MUXER, MSGL_ERR, "\nCouldn't allocate %d bytes, exit\n", priv->packet_size);
 		return 0;
 	}
-	
+
 	muxer->priv = (void *) priv;
 	muxer->cont_new_stream = &mpegfile_new_stream;
 	muxer->cont_write_chunk = &mpegfile_write_chunk;

Modified: trunk/libmpdemux/parse_es.c
==============================================================================
--- trunk/libmpdemux/parse_es.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/parse_es.c	Wed May 13 04:58:57 2009	(r29305)
@@ -65,7 +65,7 @@ eof_out:
 int read_video_packet(demux_stream_t *ds){
 int packet_start;
   int res, read;
-  
+
   if (VIDEOBUFFER_SIZE - videobuf_len < 5)
     return 0;
   // SYNC STREAM
@@ -78,14 +78,14 @@ int packet_start;
   videobuffer[videobuf_len+2]=1;
   videobuffer[videobuf_len+3]=next_nal;
   videobuf_len+=4;
-  
+
   // READ PACKET:
   res = demux_pattern_3(ds, &videobuffer[videobuf_len],
           VIDEOBUFFER_SIZE - videobuf_len, &read, 0x100);
   videobuf_len += read;
   if (!res)
     goto eof_out;
- 
+
   videobuf_len-=3;
 
   mp_dbg(MSGT_PARSEES,MSGL_DBG2,"videobuf: packet 0x1%02X  len=%d  (total=%d)\n",videobuffer[packet_start+3],videobuf_len-packet_start,videobuf_len);
@@ -109,9 +109,9 @@ int skip_video_packet(demux_stream_t *ds
 
   // SYNC STREAM
 //  if(!sync_video_packet(ds)) return 0; // cannot sync (EOF)
-  
+
   videobuf_code_len=0; // force resync
-  
+
   // SYNC AGAIN:
   return sync_video_packet(ds);
 }

Modified: trunk/libmpdemux/parse_mp4.c
==============================================================================
--- trunk/libmpdemux/parse_mp4.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/parse_mp4.c	Wed May 13 04:58:57 2009	(r29305)
@@ -55,11 +55,11 @@ int mp4_parse_esds(unsigned char *data, 
   uint16_t len;
 #ifdef MP4_DUMPATOM
   {int i;
-  printf("ESDS Dump (%dbyte):\n", datalen);  
+  printf("ESDS Dump (%dbyte):\n", datalen);
   for(i = 0; i < datalen; i++)
     printf("%02X ", data[i]);
   printf("\nESDS Dumped\n");}
-#endif  
+#endif
   memset(esds, 0, sizeof(esds_t));
 
   esds->version = stream_read_char(s);
@@ -127,7 +127,7 @@ int mp4_parse_esds(unsigned char *data, 
   }
 
   /* read length */
-  esds->decoderConfigLen = len = mp4_read_descr_len(s); 
+  esds->decoderConfigLen = len = mp4_read_descr_len(s);
 
   esds->decoderConfig = malloc(esds->decoderConfigLen);
   if (esds->decoderConfig) {

Modified: trunk/libmpdemux/parse_mp4.h
==============================================================================
--- trunk/libmpdemux/parse_mp4.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/parse_mp4.h	Wed May 13 04:58:57 2009	(r29305)
@@ -27,25 +27,25 @@
 #include <inttypes.h>
 
 /* one byte tag identifiers */
-#define MP4ODescrTag			0x01 
-#define MP4IODescrTag			0x02 
-#define MP4ESDescrTag			0x03 
-#define MP4DecConfigDescrTag		0x04 
-#define MP4DecSpecificDescrTag		0x05 
-#define MP4SLConfigDescrTag		0x06 
-#define MP4ContentIdDescrTag		0x07 
-#define MP4SupplContentIdDescrTag	0x08 
-#define MP4IPIPtrDescrTag		0x09 
-#define MP4IPMPPtrDescrTag		0x0A 
-#define MP4IPMPDescrTag			0x0B 
-#define MP4RegistrationDescrTag		0x0D 
-#define MP4ESIDIncDescrTag		0x0E 
-#define MP4ESIDRefDescrTag		0x0F 
-#define MP4FileIODescrTag		0x10 
-#define MP4FileODescrTag		0x11 
-#define MP4ExtProfileLevelDescrTag	0x13 
-#define MP4ExtDescrTagsStart		0x80 
-#define MP4ExtDescrTagsEnd		0xFE 
+#define MP4ODescrTag			0x01
+#define MP4IODescrTag			0x02
+#define MP4ESDescrTag			0x03
+#define MP4DecConfigDescrTag		0x04
+#define MP4DecSpecificDescrTag		0x05
+#define MP4SLConfigDescrTag		0x06
+#define MP4ContentIdDescrTag		0x07
+#define MP4SupplContentIdDescrTag	0x08
+#define MP4IPIPtrDescrTag		0x09
+#define MP4IPMPPtrDescrTag		0x0A
+#define MP4IPMPDescrTag			0x0B
+#define MP4RegistrationDescrTag		0x0D
+#define MP4ESIDIncDescrTag		0x0E
+#define MP4ESIDRefDescrTag		0x0F
+#define MP4FileIODescrTag		0x10
+#define MP4FileODescrTag		0x11
+#define MP4ExtProfileLevelDescrTag	0x13
+#define MP4ExtDescrTagsStart		0x80
+#define MP4ExtDescrTagsEnd		0xFE
 
 /* object type identifiers in the ESDS */
 /* See http://gpac.sourceforge.net/tutorial/mediatypes.htm */
@@ -88,11 +88,11 @@
 typedef struct {
   uint8_t  version;
   uint24_t flags;
-  
+
   /* 0x03 ESDescrTag */
   uint16_t ESId;
   uint8_t  streamPriority;
-  
+
   /* 0x04 DecConfigDescrTag */
   uint8_t  objectTypeId;
   uint8_t  streamType;
@@ -100,7 +100,7 @@ typedef struct {
    * only 6bit, followed by:
    * 1bit  upStream
    * 1bit  reserved
-   */  
+   */
   uint24_t bufferSizeDB;
   uint32_t maxBitrate;
   uint32_t avgBitrate;
@@ -118,11 +118,11 @@ typedef struct {
    * for them and doubt they
    * are currently needed ::atmos
    */
-  
+
 } esds_t;
 
 int mp4_parse_esds(unsigned char *data, int datalen, esds_t *esds);
-void mp4_free_esds(esds_t *esds); 
+void mp4_free_esds(esds_t *esds);
 
 #endif /* MPLAYER_PARSE_MP4_H */
 

Modified: trunk/libmpdemux/qtpalette.h
==============================================================================
--- trunk/libmpdemux/qtpalette.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/qtpalette.h	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@ static const unsigned char qt_default_pa
   0x5E, 0x65, 0x93, 0x00,
   0xFF, 0xFF, 0xFF, 0x00,
   0xAB, 0xD0, 0xDF, 0x00,
-  0x00, 0x00, 0x00, 0x00 
+  0x00, 0x00, 0x00, 0x00
 };
 
 static const unsigned char qt_default_palette_16[16 * 4] = {
@@ -46,7 +46,7 @@ static const unsigned char qt_default_pa
   0xF9, 0xFB, 0xFF, 0x00,
   0xC5, 0xCA, 0xE8, 0x00,
   0x77, 0x7C, 0x8A, 0x00,
-  0x00, 0x00, 0x00, 0x00 
+  0x00, 0x00, 0x00, 0x00
 };
 
 static const unsigned char qt_default_palette_256[256 * 4] = {

Modified: trunk/libmpdemux/video.c
==============================================================================
--- trunk/libmpdemux/video.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/video.c	Wed May 13 04:58:57 2009	(r29305)
@@ -106,7 +106,7 @@ video_codec_t video_codec = find_video_c
 switch(video_codec){
  case VIDEO_OTHER: {
  if((d_video->demuxer->file_format == DEMUXER_TYPE_ASF) || (d_video->demuxer->file_format == DEMUXER_TYPE_AVI)) {
-    // display info: 
+    // display info:
     // in case no strf chunk has been seen in avi, we have no bitmap header
     if(!sh_video->bih) return 0;
     sh_video->format=sh_video->bih->biCompression;
@@ -147,13 +147,13 @@ switch(video_codec){
       }
    }
    pos = videobuf_len+4;
-   if(!read_video_packet(d_video)){ 
+   if(!read_video_packet(d_video)){
      mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Can't read Video Object Layer Header\n");
      return 0;
    }
    mp4_header_process_vol(&picture, &(videobuffer[pos]));
    mp_msg(MSGT_DECVIDEO,MSGL_V,"OK! FPS SEEMS TO BE %.3f\nSearching for Video Object Plane Start code... ", sh_video->fps);
- mp4_init: 
+ mp4_init:
    while(1){
       int i=sync_video_packet(d_video);
       if(i==0x1B6) break; // found it!
@@ -163,7 +163,7 @@ switch(video_codec){
       }
    }
    pos = videobuf_len+4;
-   if(!read_video_packet(d_video)){ 
+   if(!read_video_packet(d_video)){
      mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Can't read Video Object Plane Header\n");
      return 0;
    }
@@ -177,7 +177,7 @@ switch(video_codec){
           goto mp4_init;
 
      i=0;
-     mn = mx = units[0];  
+     mn = mx = units[0];
      for(i=0; i<3; i++) {
        if(units[i] < mn)
          mn = units[i];
@@ -230,7 +230,7 @@ switch(video_codec){
      }
    }
    pos = videobuf_len+4;
-   if(!read_video_packet(d_video)){ 
+   if(!read_video_packet(d_video)){
      mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Can't read sequence parameter set\n");
      return 0;
    }
@@ -293,17 +293,17 @@ mpeg_header_parser:
      }
    }
 
-   if(!read_video_packet(d_video)){ 
+   if(!read_video_packet(d_video)){
      mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_CannotReadMpegSequHdr);
      return 0;
    }
    if(mp_header_process_sequence_header (&picture, &videobuffer[4])) {
-     mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_BadMpegSequHdr); 
+     mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_BadMpegSequHdr);
      goto mpeg_header_parser;
    }
    if(sync_video_packet(d_video)==0x1B5){ // next packet is seq. ext.
     int pos=videobuf_len;
-    if(!read_video_packet(d_video)){ 
+    if(!read_video_packet(d_video)){
       mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_CannotReadMpegSequHdrEx);
       return 0;
     }
@@ -360,7 +360,7 @@ mpeg_header_parser:
        return 0;
      }
    }
-   if(!read_video_packet(d_video)){ 
+   if(!read_video_packet(d_video)){
      mp_msg(MSGT_DECVIDEO,MSGL_ERR, "Couldn't read VC-1 sequence header!\n");
      return 0;
    }

Modified: trunk/libmpdemux/yuv4mpeg.c
==============================================================================
--- trunk/libmpdemux/yuv4mpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/yuv4mpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,7 +54,7 @@ int y4m_allow_unknown_tags(int yn) {
  *               0 on complete success
  *               +(# of remaining bytes) on eof (for y4m_read)
  *               -(# of rem. bytes) on error (and ERRNO should be set)
- *     
+ *
  *************************************************************************/
 
 
@@ -134,7 +134,7 @@ void y4m_copy_xtag_list(y4m_xtag_list_t 
 {
   int i;
   for (i = 0; i < src->count; i++) {
-    if (dest->tags[i] == NULL) 
+    if (dest->tags[i] == NULL)
       dest->tags[i] = y4m_new_xtag();
     strncpy(dest->tags[i], src->tags[i], Y4M_MAX_XTAG_SIZE);
   }
@@ -147,7 +147,7 @@ void y4m_copy_xtag_list(y4m_xtag_list_t 
 static int y4m_snprint_xtags(char *s, int maxn, y4m_xtag_list_t *xtags)
 {
   int i, room;
-  
+
   for (i = 0, room = maxn - 1; i < xtags->count; i++) {
     int n = snprintf(s, room + 1, " %s", xtags->tags[i]);
     if ((n < 0) || (n > room)) return Y4M_ERR_HEADER;
@@ -218,13 +218,13 @@ int y4m_xtag_addlist(y4m_xtag_list_t *de
   for (i = dest->count, j = 0;
        j < src->count;
        i++, j++) {
-    if (dest->tags[i] == NULL) 
+    if (dest->tags[i] == NULL)
       dest->tags[i] = y4m_new_xtag();
     strncpy(dest->tags[i], src->tags[i], Y4M_MAX_XTAG_SIZE);
   }
   dest->count += src->count;
   return Y4M_OK;
-}  
+}
 
 
 /*************************************************************************
@@ -278,7 +278,7 @@ int y4m_si_get_width(y4m_stream_info_t *
 
 void y4m_si_set_height(y4m_stream_info_t *si, int height)
 {
-  si->height = height; 
+  si->height = height;
   si->framelength = (si->height * si->width) * 3 / 2;
 }
 
@@ -337,7 +337,7 @@ void y4m_fini_frame_info(y4m_frame_info_
 
 /*************************************************************************
  *
- * Tag parsing 
+ * Tag parsing
  *
  *************************************************************************/
 
@@ -348,8 +348,8 @@ int y4m_parse_stream_tags(char *s, y4m_s
   int err;
 
   /* parse fields */
-  for (token = strtok(s, Y4M_DELIM); 
-       token != NULL; 
+  for (token = strtok(s, Y4M_DELIM);
+       token != NULL;
        token = strtok(NULL, Y4M_DELIM)) {
     if (token[0] == '\0') continue;   /* skip empty strings */
     tag = token[0];
@@ -360,7 +360,7 @@ int y4m_parse_stream_tags(char *s, y4m_s
       if (i->width <= 0) return Y4M_ERR_RANGE;
       break;
     case 'H':  /* height */
-      i->height = atoi(value); 
+      i->height = atoi(value);
       if (i->height <= 0) return Y4M_ERR_RANGE;
       break;
     case 'F':  /* frame rate (fps) */
@@ -417,8 +417,8 @@ static int y4m_parse_frame_tags(char *s,
   int err;
 
   /* parse fields */
-  for (token = strtok(s, Y4M_DELIM); 
-       token != NULL; 
+  for (token = strtok(s, Y4M_DELIM);
+       token != NULL;
        token = strtok(NULL, Y4M_DELIM)) {
     if (token[0] == '\0') continue;   /* skip empty strings */
     tag = token[0];
@@ -464,7 +464,7 @@ int y4m_read_stream_header(stream_t *s, 
 
    /* read the header line */
    for (n = 0, p = line; n < Y4M_LINE_MAX; n++, p++) {
-     if (y4m_read(s, p, 1)) 
+     if (y4m_read(s, p, 1))
        return Y4M_ERR_SYSTEM;
      if (*p == '\n') {
        *p = '\0';           /* Replace linefeed by end of string */
@@ -503,8 +503,8 @@ int y4m_write_stream_header(int fd, y4m_
 	       (i->interlace == Y4M_ILACE_BOTTOM_FIRST) ? "b" : "?",
 	       i->sampleaspect.n, i->sampleaspect.d);
   if ((n < 0) || (n > Y4M_LINE_MAX)) return Y4M_ERR_HEADER;
-  if ((err = y4m_snprint_xtags(s + n, sizeof(s) - n - 1, &(i->x_tags))) 
-      != Y4M_OK) 
+  if ((err = y4m_snprint_xtags(s + n, sizeof(s) - n - 1, &(i->x_tags)))
+      != Y4M_OK)
     return err;
   /* non-zero on error */
   return (y4m_write(fd, s, strlen(s)) ? Y4M_ERR_SYSTEM : Y4M_OK);
@@ -526,7 +526,7 @@ int y4m_read_frame_header(stream_t *s, y
   char *p;
   int n;
   ssize_t remain;
-  
+
   /* This is more clever than read_stream_header...
      Try to read "FRAME\n" all at once, and don't try to parse
      if nothing else is there...
@@ -570,11 +570,11 @@ int y4m_write_frame_header(int fd, y4m_f
   char s[Y4M_LINE_MAX+1];
   int n;
   int err;
-  
+
   n = snprintf(s, sizeof(s), "%s", Y4M_FRAME_MAGIC);
   if ((n < 0) || (n > Y4M_LINE_MAX)) return Y4M_ERR_HEADER;
-  if ((err = y4m_snprint_xtags(s + n, sizeof(s) - n - 1, &(i->x_tags))) 
-      != Y4M_OK) 
+  if ((err = y4m_snprint_xtags(s + n, sizeof(s) - n - 1, &(i->x_tags)))
+      != Y4M_OK)
     return err;
   /* non-zero on error */
   return (y4m_write(fd, s, strlen(s)) ? Y4M_ERR_SYSTEM : Y4M_OK);
@@ -589,13 +589,13 @@ int y4m_write_frame_header(int fd, y4m_f
  *
  *************************************************************************/
 
-int y4m_read_frame(stream_t *s, y4m_stream_info_t *si, 
+int y4m_read_frame(stream_t *s, y4m_stream_info_t *si,
 		   y4m_frame_info_t *fi, unsigned char *yuv[3])
 {
   int err;
   int w = si->width;
   int h = si->height;
-  
+
   /* Read frame header */
   if ((err = y4m_read_frame_header(s, fi)) != Y4M_OK) return err;
   /* Read luminance scanlines */
@@ -610,7 +610,7 @@ int y4m_read_frame(stream_t *s, y4m_stre
 
 
 #if 0
-int y4m_write_frame(int fd, y4m_stream_info_t *si, 
+int y4m_write_frame(int fd, y4m_stream_info_t *si,
 		    y4m_frame_info_t *fi, unsigned char *yuv[3])
 {
   int err;
@@ -637,13 +637,13 @@ int y4m_write_frame(int fd, y4m_stream_i
 
 #if 0
 int y4m_read_fields(int fd, y4m_stream_info_t *si, y4m_frame_info_t *fi,
-                    unsigned char *upper_field[3], 
+                    unsigned char *upper_field[3],
                     unsigned char *lower_field[3])
 {
   int i, y, err;
   int width = si->width;
   int height = si->height;
-  
+
   /* Read frame header */
   if ((err = y4m_read_frame_header(fd, fi)) != Y4M_OK) return err;
   /* Read Y', Cb, and Cr planes */
@@ -669,7 +669,7 @@ int y4m_read_fields(int fd, y4m_stream_i
 
 
 int y4m_write_fields(int fd, y4m_stream_info_t *si, y4m_frame_info_t *fi,
-                     unsigned char *upper_field[3], 
+                     unsigned char *upper_field[3],
                      unsigned char *lower_field[3])
 {
   int i, y, err;
@@ -728,7 +728,7 @@ void y4m_log_stream_info(const char *pre
     mp_msg(MSGT_DEMUX, MSGL_V, "%s  frame rate:  ??? fps\n", prefix);
   else
     mp_msg(MSGT_DEMUX, MSGL_V, "%s  frame rate:  %d/%d fps (~%f)\n", prefix,
-	      i->framerate.n, i->framerate.d, 
+	      i->framerate.n, i->framerate.d,
 	      (double) i->framerate.n / (double) i->framerate.d);
   mp_msg(MSGT_DEMUX, MSGL_V, "%s   interlace:  %s\n", prefix,
 	  (i->interlace == Y4M_ILACE_NONE) ? "none/progressive" :
@@ -760,7 +760,7 @@ const char *y4m_strerr(int err)
   case Y4M_ERR_MAGIC:   return "bad header magic";
   case Y4M_ERR_XXTAGS:  return "too many xtags";
   case Y4M_ERR_EOF:     return "end-of-file";
-  default: 
+  default:
     return "unknown error code";
   }
 }

Modified: trunk/libmpdemux/yuv4mpeg_intern.h
==============================================================================
--- trunk/libmpdemux/yuv4mpeg_intern.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/yuv4mpeg_intern.h	Wed May 13 04:58:57 2009	(r29305)
@@ -61,7 +61,7 @@
 #define Y4M_SAR_MPEG1_4  { 10000, 7615 }
 #define Y4M_SAR_MPEG1_5  { 10000, 8055 }
 #define Y4M_SAR_MPEG1_6  { 10000, 8437 } /* Anamorphic 16:9 NTSC */
-#define Y4M_SAR_MPEG1_7  { 10000, 8935 } 
+#define Y4M_SAR_MPEG1_7  { 10000, 8935 }
 #define Y4M_SAR_MPEG1_8  { 10000, 9375 } /* PAL/SECAM 4:3 */
 #define Y4M_SAR_MPEG1_9  { 10000, 9815 }
 #define Y4M_SAR_MPEG1_10 { 10000, 10255 }

Modified: trunk/libmpdemux/yuv4mpeg_ratio.c
==============================================================================
--- trunk/libmpdemux/yuv4mpeg_ratio.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libmpdemux/yuv4mpeg_ratio.c	Wed May 13 04:58:57 2009	(r29305)
@@ -68,7 +68,7 @@ static int gcd(int a, int b)
   }
   return a;
 }
-    
+
 
 /*************************************************************************
  *
@@ -93,7 +93,7 @@ void y4m_ratio_reduce(y4m_ratio_t *r)
  * Parse "nnn:ddd" into a ratio
  *
  * returns:         Y4M_OK  - success
- *           Y4M_ERR_RANGE  - range error 
+ *           Y4M_ERR_RANGE  - range error
  *
  *************************************************************************/
 

Modified: trunk/libvo/aspecttest.c
==============================================================================
--- trunk/libvo/aspecttest.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/aspecttest.c	Wed May 13 04:58:57 2009	(r29305)
@@ -55,7 +55,7 @@ int main(int argc, char *argv[]) {
       return 1;
   }
   printf("monitor_aspect: %f\n",monitor_aspect);
-  aspect(&w,&h,z); 
+  aspect(&w,&h,z);
   printf("new size:       %dx%d\n",w,h);
   return 0;
 }

Modified: trunk/libvo/font_load.c
==============================================================================
--- trunk/libvo/font_load.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/font_load.c	Wed May 13 04:58:57 2009	(r29305)
@@ -91,13 +91,13 @@ if ((dn = malloc(i+1))){
 }
 
 desc->fpath = dn; // search in the same dir as fonts.desc
-	
+
 // desc->fpath=get_path("font/");
 // if (stat(desc->fpath, &fstate)!=0) desc->fpath=DATADIR"/font";
 
-	
-	
-	
+
+
+
 // set up some defaults, and erase table
 desc->charspace=2;
 desc->spacewidth=12;
@@ -117,7 +117,7 @@ while(fgets(sor,1020,f)){
 
   /* skip files that look like: TTF (0x00, 0x01), PFM (0x00, 0x01), PFB
    * (0x80, 0x01), PCF (0x01, 0x66), fon ("MZ"), gzipped (0x1f, 0x8b) */
-  
+
   if (first) {
     if (!sor[0] || sor[1] == 1 || (sor[0] == 'M' && sor[1] == 'Z') || (sor[0] == 0x1f && sor[1] == 0x8b) || (sor[0] == 1 && sor[1] == 0x66)) {
       mp_msg(MSGT_OSD, MSGL_ERR, "%s doesn't look like a bitmap font description, ignoring.\n", fname);
@@ -125,7 +125,7 @@ while(fgets(sor,1020,f)){
     }
     first = 0;
   }
-  
+
   p[0]=d;++pdb;
   while(1){
       int c=*s++;
@@ -143,14 +143,14 @@ while(fgets(sor,1020,f)){
         }
       } else {
         if(id==c){ id=0;continue;} // idezojel
-          
+
       }
       *d=c;d++;
       ec=c;
   }
   if(d==sor2) continue; // skip empty lines
   *d=0;
-  
+
 //  printf("params=%d  sor=%s\n",pdb,sor);
 //  for(i=0;i<pdb;i++) printf("  param %d = '%s'\n",i,p[i]);
 
@@ -166,7 +166,7 @@ while(fgets(sor,1020,f)){
         continue;
       }
   }
-  
+
   if(strcmp(section,"[fpath]")==0){
       if(pdb==1){
 	  if (desc->fpath)
@@ -174,7 +174,7 @@ while(fgets(sor,1020,f)){
           desc->fpath=strdup(p[0]);
           continue;
       }
-  } else    
+  } else
 
 #ifdef __AMIGAOS4__
 #define FONT_PATH_SEP ""
@@ -193,7 +193,7 @@ while(fgets(sor,1020,f)){
 		desc->fpath,p[1]);
           if(!((desc->pic_a[fontdb]=load_raw(cp,verbose)))){
 		free(cp);
-		if (!(cp=malloc(strlen(default_dir)+strlen(p[1])+2))) 
+		if (!(cp=malloc(strlen(default_dir)+strlen(p[1])+2)))
 		   goto fail_out;
 		snprintf(cp,strlen(default_dir)+strlen(p[1])+2,"%s" FONT_PATH_SEP "%s",
 			 default_dir,p[1]);
@@ -214,7 +214,7 @@ while(fgets(sor,1020,f)){
 		desc->fpath,p[1]);
           if(!((desc->pic_b[fontdb]=load_raw(cp,verbose)))){
 		free(cp);
-		if (!(cp=malloc(strlen(default_dir)+strlen(p[1])+2))) 
+		if (!(cp=malloc(strlen(default_dir)+strlen(p[1])+2)))
 		   goto fail_out;
 		snprintf(cp,strlen(default_dir)+strlen(p[1])+2,"%s" FONT_PATH_SEP "%s",
 			 default_dir,p[1]);
@@ -310,8 +310,8 @@ for(i=0;i<=fontdb;i++){
 	    //x^=255; // invert
 
 	    if(x+y>255) x=255-y; // to avoid overflows
-	    
-	    //x=0;            
+
+	    //x=0;
             //x=((x*f*(255-y))>>16);
             //x=((x*f*(255-y))>>16)+y;
             //x=(x*f)>>8;if(x<y) x=y;

Modified: trunk/libvo/font_load.h
==============================================================================
--- trunk/libvo/font_load.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/font_load.h	Wed May 13 04:58:57 2009	(r29305)
@@ -54,13 +54,13 @@ typedef struct font_desc {
 
 #ifdef CONFIG_FREETYPE
     int face_cnt;
-    
+
     FT_Face faces[16];
     FT_UInt glyph_index[65536];
 
     int max_width, max_height;
 
-    struct 
+    struct
     {
 	int g_r;
 	int o_r;

Modified: trunk/libvo/font_load_ft.c
==============================================================================
--- trunk/libvo/font_load_ft.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/font_load_ft.c	Wed May 13 04:58:57 2009	(r29305)
@@ -138,7 +138,7 @@ static int check_font(font_desc_t *desc,
     int         width, height;
     unsigned char *bbuffer;
     int i, uni_charmap = 1;
-    
+
     error = FT_Select_Charmap(face, ft_encoding_unicode);
 //    fprintf(stderr, "select unicode charmap: %d\n", error);
 
@@ -207,7 +207,7 @@ static int check_font(font_desc_t *desc,
 
     ymax = (double)(face->bbox.yMax)/(double)face->units_per_EM*ppem+1;
     ymin = (double)(face->bbox.yMin)/(double)face->units_per_EM*ppem-1;
-    
+
     width = ppem*(face->bbox.xMax-face->bbox.xMin)/face->units_per_EM+3+2*padding;
     if (desc->max_width < width) desc->max_width = width;
     width = ALIGN(width);
@@ -222,7 +222,7 @@ static int check_font(font_desc_t *desc,
 	mp_msg(MSGT_OSD, MSGL_ERR, "Something went wrong. Use the source!\n");
 	return -1;
     }
-    
+
     height = ymax - ymin + 2*padding;
     if (height <= 0) {
 	mp_msg(MSGT_OSD, MSGL_ERR, "Wrong bounding box, height <= 0 !\n");
@@ -231,7 +231,7 @@ static int check_font(font_desc_t *desc,
 
     if (desc->max_height < height) desc->max_height = height;
     desc->pic_b[pic_idx]->charheight = height;
-    
+
 //    fprintf(stderr, "font height2: %d\n", height);
     desc->pic_b[pic_idx]->baseline = ymax + padding;
     desc->pic_b[pic_idx]->padding = padding;
@@ -239,7 +239,7 @@ static int check_font(font_desc_t *desc,
     desc->pic_b[pic_idx]->current_count = 0;
 
     bbuffer = NULL;
-    
+
     desc->pic_b[pic_idx]->w = width;
     desc->pic_b[pic_idx]->h = height;
     desc->pic_b[pic_idx]->c = colors;
@@ -261,7 +261,7 @@ static void outline(
 	int msize) {
 
     int x, y;
-    
+
     for (y = 0; y<height; y++) {
 	for (x = 0; x<width; x++) {
 	    const int src= s[x];
@@ -494,12 +494,12 @@ void render_one_glyph(font_desc_t *desc,
     FT_BitmapGlyph glyph;
     int width, height, stride, maxw, off;
     unsigned char *abuffer, *bbuffer;
-    
+
     int	const	load_flags = FT_LOAD_DEFAULT;
     int		pen_xa;
     int font = desc->font[c];
     int error;
-    
+
 //    fprintf(stderr, "render_one_glyph %d\n", c);
 
     if (!desc->dynamic) return;
@@ -507,7 +507,7 @@ void render_one_glyph(font_desc_t *desc,
     if (desc->font[c] == -1) return;
 
     glyph_index = desc->glyph_index[c];
-    
+
     // load glyph
     error = FT_Load_Glyph(desc->faces[font], glyph_index, load_flags);
     if (error) {
@@ -538,7 +538,7 @@ void render_one_glyph(font_desc_t *desc,
 //    fprintf(stderr, "glyph generated\n");
 
     maxw = desc->pic_b[font]->charwidth;
-    
+
     if (glyph->bitmap.width > maxw) {
 	fprintf(stderr, "glyph too wide!\n");
     }
@@ -559,7 +559,7 @@ void render_one_glyph(font_desc_t *desc,
 	memset(desc->pic_b[font]->bmp+off, 0, increment);
 	memset(desc->pic_a[font]->bmp+off, 0, increment);
     }
-    
+
     abuffer = desc->pic_a[font]->bmp;
     bbuffer = desc->pic_b[font]->bmp;
 
@@ -571,10 +571,10 @@ void render_one_glyph(font_desc_t *desc,
 		 desc->pic_b[font]->baseline - glyph->top,
 		 desc->pic_b[font]->charwidth, desc->pic_b[font]->charheight,
 		 glyph->bitmap.width <= maxw ? glyph->bitmap.width : maxw);
-    
+
 //    fprintf(stderr, "glyph pasted\n");
     FT_Done_Glyph((FT_Glyph)glyph);
-    
+
     /* advance pen */
     pen_xa = f266ToInt(slot->advance.x) + 2*desc->pic_b[font]->padding;
     if (pen_xa > maxw) pen_xa = maxw;
@@ -594,7 +594,7 @@ void render_one_glyph(font_desc_t *desc,
 		desc->tables.o_size);
     }
 //    fprintf(stderr, "fg: outline t = %lf\n", GetTimer()-t);
-    
+
     if (desc->tables.g_r) {
 	blur(abuffer+off, desc->tables.tmp, width, height, stride,
 	     desc->tables.gt2, desc->tables.g_r,
@@ -650,19 +650,19 @@ static int prepare_font(font_desc_t *des
 
 //    fprintf(stderr, "fg: w = %d, h = %d\n", desc->pic_a[pic_idx]->w, desc->pic_a[pic_idx]->h);
     return 0;
-    
+
 }
 
 static int generate_tables(font_desc_t *desc, double thickness, double radius)
 {
     int width = desc->max_height;
     int height = desc->max_width;
-    
+
     double A = log(1.0/base)/(radius*radius*2);
     int mx, my, i;
     double volume_diff, volume_factor = 0;
     unsigned char *omtp;
-    
+
     desc->tables.g_r = ceil(radius);
     desc->tables.o_r = ceil(thickness);
     desc->tables.g_w = 2*desc->tables.g_r+1;
@@ -683,7 +683,7 @@ static int generate_tables(font_desc_t *
 
     omtp = desc->tables.omt;
     desc->tables.tmp = malloc((width+1)*height*sizeof(short));
-    
+
     if (desc->tables.om==NULL || desc->tables.omt==NULL || desc->tables.tmp==NULL) {
 	return -1;
     };
@@ -712,7 +712,7 @@ static int generate_tables(font_desc_t *
 	    }
 	}
     }
-    
+
     /* outline matrix */
     for (my = 0; my<desc->tables.o_w; ++my) {
 	for (mx = 0; mx<desc->tables.o_w; ++mx) {
@@ -757,22 +757,22 @@ static int prepare_charset(char *charmap
     int count = 0;
     int charset_size;
     iconv_t cd;
-    
+
     // check if ucs-4 is available
     cd = iconv_open(charmap, charmap);
     if (cd==(iconv_t)-1) {
 	mp_msg(MSGT_OSD, MSGL_ERR, "iconv doesn't know %s encoding. Use the source!\n", charmap);
 	return -1;
     }
-    
+
     iconv_close(cd);
-    
+
     cd = iconv_open(charmap, encoding);
     if (cd==(iconv_t)-1) {
 	mp_msg(MSGT_OSD, MSGL_ERR, "Unsupported encoding `%s', use iconv --list to list character sets known on your system.\n", encoding);
 	return -1;
     }
-    
+
     charset_size = 256 - first_char;
     for (i = 0; i<charset_size; ++i) {
 	charcodes[count] = i+first_char;
@@ -787,7 +787,7 @@ static int prepare_charset(char *charmap
 	mp_msg(MSGT_OSD, MSGL_ERR, "No characters to render!\n");
 	return -1;
     }
-    
+
     return charset_size;
 }
 
@@ -843,7 +843,7 @@ static font_desc_t* init_font_desc(void)
     memset(desc,0,sizeof(font_desc_t));
 
     desc->dynamic = 1;
-    
+
     /* setup sane defaults */
     desc->name = NULL;
     desc->fpath = NULL;
@@ -866,21 +866,21 @@ static font_desc_t* init_font_desc(void)
 	desc->start[i] = desc->width[i] = desc->font[i] = -1;
     for(i = 0; i < 16; i++)
 	desc->pic_a[i] = desc->pic_b[i] = NULL;
-    
+
     return desc;
 }
 
 void free_font_desc(font_desc_t *desc)
 {
     int i;
-    
+
     if (!desc) return;
 
 //    if (!desc->dynamic) return; // some vo_aa crap, better leaking than crashing
 
     if (desc->name) free(desc->name);
     if (desc->fpath) free(desc->fpath);
-    
+
     for(i = 0; i < 16; i++) {
 	if (desc->pic_a[i]) {
 	    if (desc->pic_a[i]->bmp) free(desc->pic_a[i]->bmp);
@@ -903,14 +903,14 @@ void free_font_desc(font_desc_t *desc)
     for(i = 0; i < desc->face_cnt; i++) {
 	FT_Done_Face(desc->faces[i]);
     }
-    
+
     free(desc);
 }
 
 static int load_sub_face(const char *name, int face_index, FT_Face *face)
 {
     int err = -1;
-    
+
     if (name) err = FT_New_Face(library, name, face_index, face);
 
     if (err) {
@@ -940,12 +940,12 @@ static int load_osd_face(FT_Face *face)
 int kerning(font_desc_t *desc, int prevc, int c)
 {
     FT_Vector kern;
-    
+
     if (!desc->dynamic) return 0;
     if (prevc < 0 || c < 0) return 0;
     if (desc->font[prevc] != desc->font[c]) return 0;
     if (desc->font[prevc] == -1 || desc->font[c] == -1) return 0;
-    FT_Get_Kerning(desc->faces[desc->font[c]], 
+    FT_Get_Kerning(desc->faces[desc->font[c]],
 		   desc->glyph_index[prevc], desc->glyph_index[c],
 		   ft_kerning_default, &kern);
 
@@ -968,7 +968,7 @@ font_desc_t* read_font_desc_ft(const cha
     int charset_size;
     int i, j;
     int unicode;
-    
+
     float movie_size;
 
     float subtitle_font_ppem;
@@ -1065,14 +1065,14 @@ gen_osd:
     err = prepare_font(desc, face, osd_font_ppem, desc->face_cnt-1,
 		       OSD_CHARSET_SIZE, osd_charset, osd_charcodes, 0,
 		       subtitle_font_thickness, subtitle_font_radius);
-    
+
     if (err) {
 	mp_msg(MSGT_OSD, MSGL_ERR, MSGTR_LIBVO_FONT_LOAD_FT_CannotPrepareOSDFont);
 	goto err_out;
     }
 
     err = generate_tables(desc, subtitle_font_thickness, subtitle_font_radius);
-    
+
     if (err) {
 	mp_msg(MSGT_OSD, MSGL_ERR, MSGTR_LIBVO_FONT_LOAD_FT_CannotGenerateTables);
 	goto err_out;
@@ -1108,7 +1108,7 @@ err_out:
 int init_freetype(void)
 {
     int err;
-    
+
     /* initialize freetype */
     err = FT_Init_FreeType(&library);
     if (err) {
@@ -1126,7 +1126,7 @@ int done_freetype(void)
 
     if (!using_freetype)
 	return 0;
-    
+
     err = FT_Done_FreeType(library);
     if (err) {
 	mp_msg(MSGT_OSD, MSGL_ERR, MSGTR_LIBVO_FONT_LOAD_FT_DoneFreeTypeFailed);

Modified: trunk/libvo/geometry.c
==============================================================================
--- trunk/libvo/geometry.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/geometry.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,7 +34,7 @@ int geometry_xy_changed = 0;
 
 // xpos,ypos: position of the left upper corner
 // widw,widh: width and height of the window
-// scrw,scrh: width and height of the current screen 
+// scrw,scrh: width and height of the current screen
 int geometry(int *xpos, int *ypos, int *widw, int *widh, int scrw, int scrh)
 {
         int width, height, xoff, yoff, xper, yper;
@@ -81,7 +81,7 @@ int geometry(int *xpos, int *ypos, int *
 		mp_msg(MSGT_VO, MSGL_V,"geometry set to width: %i,"
 		  "height: %i, xoff: %i, yoff: %i, xper: %i, yper: %i\n",
 		  width, height, xoff, yoff, xper, yper);
-		  
+
 		if(xper >= 0 && xper <= 100) xoff = (scrw - *widw) * ((float)xper / 100.0);
 		if(yper >= 0 && yper <= 100) yoff = (scrh - *widh) * ((float)yper / 100.0);
 
@@ -90,7 +90,7 @@ int geometry(int *xpos, int *ypos, int *
 		  width, height, xoff, yoff, xper, yper);
 		mp_msg(MSGT_VO, MSGL_V,"geometry window parameter: widw: %i,"
 		  " widh: %i, scrw: %i, scrh: %i\n",*widw, *widh, scrw, scrh);
-		  
+
 		if (xoff != INT_MIN && xpos) *xpos = xoff;
 		if (yoff != INT_MIN && ypos) *ypos = yoff;
 		if (width  > 0 && widw) *widw = width;

Modified: trunk/libvo/gl_common.c
==============================================================================
--- trunk/libvo/gl_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/gl_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -45,7 +45,7 @@
 void (APIENTRY *GenBuffers)(GLsizei, GLuint *);
 void (APIENTRY *DeleteBuffers)(GLsizei, const GLuint *);
 void (APIENTRY *BindBuffer)(GLenum, GLuint);
-GLvoid* (APIENTRY *MapBuffer)(GLenum, GLenum); 
+GLvoid* (APIENTRY *MapBuffer)(GLenum, GLenum);
 GLboolean (APIENTRY *UnmapBuffer)(GLenum);
 void (APIENTRY *BufferData)(GLenum, intptr_t, const GLvoid *, GLenum);
 void (APIENTRY *CombinerParameterfv)(GLenum, const GLfloat *);
@@ -192,7 +192,7 @@ int glFindFormat(uint32_t fmt, int *bpp,
   if (!gl_texfmt) gl_texfmt = &dummy3;
   if (!gl_format) gl_format = &dummy2;
   if (!gl_type) gl_type = &dummy2;
-  
+
   *bpp = IMGFMT_IS_BGR(fmt)?IMGFMT_BGR_DEPTH(fmt):IMGFMT_RGB_DEPTH(fmt);
   *gl_texfmt = 3;
   switch (fmt) {
@@ -1440,7 +1440,7 @@ void glDrawTex(GLfloat x, GLfloat y, GLf
 #ifdef GL_WIN32
 #include "w32_common.h"
 /**
- * \brief little helper since wglGetProcAddress definition does not fit our 
+ * \brief little helper since wglGetProcAddress definition does not fit our
  *        getProcAddress
  * \param procName name of function to look up
  * \return function pointer returned by wglGetProcAddress

Modified: trunk/libvo/gl_common.h
==============================================================================
--- trunk/libvo/gl_common.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/gl_common.h	Wed May 13 04:58:57 2009	(r29305)
@@ -51,7 +51,7 @@
 
 /**
  * \defgroup glextdefines OpenGL extension defines
- * 
+ *
  * conditionally define all extension defines used.
  * vendor specific extensions should be marked as such
  * (e.g. _NV), _ARB is not used to ease readability.
@@ -374,7 +374,7 @@ void swapGlBuffers(void);
 extern void (APIENTRY *GenBuffers)(GLsizei, GLuint *);
 extern void (APIENTRY *DeleteBuffers)(GLsizei, const GLuint *);
 extern void (APIENTRY *BindBuffer)(GLenum, GLuint);
-extern GLvoid* (APIENTRY *MapBuffer)(GLenum, GLenum); 
+extern GLvoid* (APIENTRY *MapBuffer)(GLenum, GLenum);
 extern GLboolean (APIENTRY *UnmapBuffer)(GLenum);
 extern void (APIENTRY *BufferData)(GLenum, intptr_t, const GLvoid *, GLenum);
 extern void (APIENTRY *CombinerParameterfv)(GLenum, const GLfloat *);

Modified: trunk/libvo/gtf.c
==============================================================================
--- trunk/libvo/gtf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/gtf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -23,9 +23,9 @@
 
 //Version 0.4
 #include "config.h"
-#include <stdio.h> 
-#include <stdlib.h> 
-#include <math.h> 
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
 #include "gtf.h"
 
 #undef GTF_DEBUG
@@ -52,7 +52,7 @@ static void GetRoundedConstants(GTF_cons
     c->m = (GTF_given_constants.k / 256) * GTF_given_constants.m;
     }
 
-void GTF_calcTimings(double X,double Y,double freq, int type,  
+void GTF_calcTimings(double X,double Y,double freq, int type,
 		     int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result )
 {
     GTF_constants   c;
@@ -62,37 +62,37 @@ void GTF_calcTimings(double X,double Y,d
     double total_active_pixels, ideal_duty_cycle, blanking_time, H_total_pixels;
     double H_freq, pixel_freq,actual_V_frame_freq;
     double H_sync_start, H_sync_end, H_back_porch, H_front_porch, H_sync_width;
-    double V_back_porch, V_front_porch, V_sync_start, V_sync_end,V_sync_width;    
+    double V_back_porch, V_front_porch, V_sync_start, V_sync_end,V_sync_width;
     double ideal_H_period;
     GetRoundedConstants(&c);
 
-    
+
     pixel_freq = RR = freq;
 
     /* DETERMINE IF 1/2 LINE INTERLACE IS PRESENT */
-    
-    interlace = 0;    
-    
+
+    interlace = 0;
+
     if (want_interlace) {
-    RR = RR * 2;    
+    RR = RR * 2;
     Y=Y/2;
     interlace = 0.5;
     }
-    
+
     result->Flags = 0;
-    
+
     if ((Y==300)||(Y==200)||(Y==240))
     {
     Y*=2;
     result->Flags = VESA_CRTC_DOUBLESCAN; /* TODO: check if mode support   */
-    }			
-    
+    }
+
     /* DETERMINE NUMBER OF LINES IN V MARGIN */
     /* DETERMINE NUMBER OF PIXELS IN H MARGIN [pixels] */
-    
+
     margin_left = margin_right = 0;
     margin_top = margin_bottom = 0;
-    
+
     if (want_margins) {
 	margin_top = margin_bottom = (c.margin_width / 100) * Y;
         margin_left = round(( X* c.margin_width/100)/c.char_cell_granularity) \
@@ -100,31 +100,31 @@ void GTF_calcTimings(double X,double Y,d
     margin_right = margin_left;
     DEBUG_PRINTF("margin_left_right : %f\n",margin_right)
     DEBUG_PRINTF("margin_top_bottom : %f\n",margin_top)
-    } 
-    
-    /* FIND TOTAL NUMBER OF ACTIVE PIXELS (IMAGE + MARGIN) [pixels] */        
-    
+    }
+
+    /* FIND TOTAL NUMBER OF ACTIVE PIXELS (IMAGE + MARGIN) [pixels] */
+
     total_active_pixels = margin_left + margin_right + X;
     DEBUG_PRINTF("total_active_pixels: %f\n",total_active_pixels)
 
     if (type == GTF_PF)
     {
-    ideal_H_period = ((c.c-100)+(sqrt(((100-c.c)*(100-c.c) )+(0.4*c.m*(total_active_pixels + margin_left + margin_right) / freq))))/2/c.m*1000; 
-    
+    ideal_H_period = ((c.c-100)+(sqrt(((100-c.c)*(100-c.c) )+(0.4*c.m*(total_active_pixels + margin_left + margin_right) / freq))))/2/c.m*1000;
+
     DEBUG_PRINTF("ideal_H_period: %f\n",ideal_H_period)
-    
+
     /* FIND IDEAL BLANKING DUTY CYCLE FROM FORMULA [%] */
     ideal_duty_cycle = c.c - (c.m * ideal_H_period /1000);
     DEBUG_PRINTF("ideal_duty_cycle: %f\n",ideal_duty_cycle)
 
     /* FIND BLANKING TIME (TO NEAREST CHAR CELL) [pixels] */
-    
+
     blanking_time = round(total_active_pixels * ideal_duty_cycle \
 		    / (100-ideal_duty_cycle) / (2*c.char_cell_granularity))  \
 		    * (2*c.char_cell_granularity);
     DEBUG_PRINTF("blanking_time : %f\n",blanking_time )
 
-    /* FIND TOTAL NUMBER OF PIXELS IN A LINE [pixels] */		    
+    /* FIND TOTAL NUMBER OF PIXELS IN A LINE [pixels] */
     H_total_pixels = total_active_pixels + blanking_time ;
     DEBUG_PRINTF("H_total_pixels: %f\n",H_total_pixels)
     H_freq = freq / H_total_pixels * 1000;
@@ -133,20 +133,20 @@ void GTF_calcTimings(double X,double Y,d
     DEBUG_PRINTF("actual_H_period: %f\n",actual_H_period)
     sync_plus_BP = round(H_freq * c.min_Vsync_BP/1000);
 //   sync_plus_BP = round( freq / H_total_pixels * c.min_Vsync_BP);
-   
+
     DEBUG_PRINTF("sync_plus_BP: %f\n",sync_plus_BP)
 
-    } else if (type == GTF_VF) 
+    } else if (type == GTF_VF)
     {
-    
+
     /* ESTIMATE HORIZ. PERIOD [us] */
 
     estimated_H_period = (( 1/RR ) - c.min_Vsync_BP/1000000 ) /  (Y + (2 * margin_top) + c.min_front_porch + interlace) * 1000000;
-    
+
     DEBUG_PRINTF("estimated_H_period: %f\n",estimated_H_period)
 
     /* FIND NUMBER OF LINES IN (SYNC + BACK PORCH) [lines] */
-    
+
     sync_plus_BP = round( c.min_Vsync_BP / estimated_H_period );
     DEBUG_PRINTF("sync_plus_BP: %f\n",sync_plus_BP)
 
@@ -155,9 +155,9 @@ void GTF_calcTimings(double X,double Y,d
     sync_plus_BP = round(freq * c.min_Vsync_BP/1000);
     DEBUG_PRINTF("sync_plus_BP: %f\n",sync_plus_BP)
     }
-    
-    
-    
+
+
+
     /* FIND TOTAL NUMBER OF LINES IN VERTICAL FIELD */
 
     V_total_lines_field = sync_plus_BP+interlace+margin_bottom+margin_top+Y+c.min_front_porch;
@@ -166,11 +166,11 @@ void GTF_calcTimings(double X,double Y,d
     if (type == GTF_VF)
     {
     /* ESTIMATE VERTICAL FIELD RATE [hz] */
-    
+
     estimated_V_field_rate = 1 / estimated_H_period / V_total_lines_field * 1000000;
     DEBUG_PRINTF(" estimated_V_field_rate: %f\n", estimated_V_field_rate)
     /* FIND ACTUAL HORIZONTAL PERIOD [us] */
-    
+
     actual_H_period = estimated_H_period / (RR / estimated_V_field_rate);
     DEBUG_PRINTF("actual_H_period: %f\n",actual_H_period)
     /* FIND ACTUAL VERTICAL FIELD FREQUENCY [Hz] */
@@ -211,24 +211,24 @@ void GTF_calcTimings(double X,double Y,d
     {
     /* Hz */
     actual_V_field_freq = freq / V_total_lines_field * 1000;
-    DEBUG_PRINTF("actual_V_field_freq: %f\n",actual_V_field_freq)    
+    DEBUG_PRINTF("actual_V_field_freq: %f\n",actual_V_field_freq)
     }
-    
-        
+
+
     actual_V_frame_freq = actual_V_field_freq;
 
     /* FIND ACTUAL VERTICAL  FRAME FREQUENCY [Hz]*/
-    
+
     if (want_interlace) actual_V_frame_freq = actual_V_field_freq / 2;
     DEBUG_PRINTF("actual_V_frame_freq: %f\n",actual_V_frame_freq)
-    
+
 //    V_freq = actual_V_frame_freq;
-//    DEBUG_PRINTF("V_freq %f\n",V_freq)    
+//    DEBUG_PRINTF("V_freq %f\n",V_freq)
+
 
-    
     if (!(type == GTF_PF))
-    {    
-    /* FIND TOTAL NUMBER OF PIXELS IN A LINE [pixels] */		    
+    {
+    /* FIND TOTAL NUMBER OF PIXELS IN A LINE [pixels] */
     H_total_pixels = total_active_pixels + blanking_time ;
     DEBUG_PRINTF("H_total_pixels: %f\n",H_total_pixels)
         if (type == GTF_VF)
@@ -245,15 +245,15 @@ void GTF_calcTimings(double X,double Y,d
 	}
 
         /* FIND ACTUAL HORIZONTAL FREQUENCY [KHz] */
-    
+
         H_freq = 1000 / actual_H_period;
 	DEBUG_PRINTF("H_freq %f\n",H_freq)
 
-    
+
     }
 
     /* FIND NUMBER OF LINES IN BACK PORCH [lines] */
-    
+
     BP = sync_plus_BP - c.Vsync_need;
     DEBUG_PRINTF("BP: %f\n",BP)
 
@@ -264,27 +264,27 @@ void GTF_calcTimings(double X,double Y,d
 
     /* FIND FRONT H PORCH(TO NEAREST CHAR CELL) */
     H_front_porch = (blanking_time/2) - H_sync_width;
-    DEBUG_PRINTF("H_front_porch %f\n",H_front_porch)    
+    DEBUG_PRINTF("H_front_porch %f\n",H_front_porch)
     /* FIND BACK H PORCH(TO NEAREST CHAR CELL) */
     H_back_porch = H_sync_width + H_front_porch;
-    DEBUG_PRINTF("H_back_porch%f\n",H_back_porch)  
+    DEBUG_PRINTF("H_back_porch%f\n",H_back_porch)
 
     H_sync_start = H_total_pixels  - (H_sync_width + H_back_porch);
     DEBUG_PRINTF("H_sync_start %f\n",H_sync_start)
     H_sync_end = H_total_pixels  - H_back_porch;
-    DEBUG_PRINTF("H_sync_end %f\n",H_sync_end) 
-    
+    DEBUG_PRINTF("H_sync_end %f\n",H_sync_end)
+
     V_back_porch = interlace + BP;
     DEBUG_PRINTF("V_back_porch%f\n",V_back_porch)
     V_front_porch = interlace + c.min_front_porch;
-    DEBUG_PRINTF("V_front_porch%f\n",V_front_porch)   
-    
+    DEBUG_PRINTF("V_front_porch%f\n",V_front_porch)
+
     V_sync_width = c.Vsync_need;
     V_sync_start = V_total_lines_field  - (V_sync_width + V_back_porch);
-    DEBUG_PRINTF("V_sync_start %f\n",V_sync_start)    
+    DEBUG_PRINTF("V_sync_start %f\n",V_sync_start)
     V_sync_end = V_total_lines_field  - V_back_porch;
-    DEBUG_PRINTF("V_sync_end %f\n",V_sync_end) 
-    
+    DEBUG_PRINTF("V_sync_end %f\n",V_sync_end)
+
     result->hTotal = H_total_pixels;
     result-> hSyncStart  = H_sync_start;  /* Horizontal sync start in pixels */
     result-> hSyncEnd = H_sync_end;   /* Horizontal sync end in pixels */
@@ -292,15 +292,15 @@ void GTF_calcTimings(double X,double Y,d
     result-> vSyncStart = V_sync_start; /* Vertical sync start in lines */
     result-> vSyncEnd = V_sync_end;   /* Vertical sync end in lines */
     result->  Flags = (result->Flags)|VESA_CRTC_HSYNC_NEG;      /* Flags (Interlaced, Double Scan etc) */
-    
-    if (want_interlace) 
+
+    if (want_interlace)
     {
     result->Flags = (result->Flags) | VESA_CRTC_INTERLACED;
     }
-   
+
     result->  PixelClock = pixel_freq*1000000; /* Pixel clock in units of Hz */
     result-> RefreshRate = actual_V_frame_freq*100;/* Refresh rate in units of 0.01 Hz*/
-					
+
     }
 
 

Modified: trunk/libvo/gtf.h
==============================================================================
--- trunk/libvo/gtf.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/gtf.h	Wed May 13 04:58:57 2009	(r29305)
@@ -21,11 +21,11 @@
 
 #include <vbe.h>
 
-#define GTF_VF 0 
-#define GTF_HF 1 
+#define GTF_VF 0
+#define GTF_HF 1
 #define GTF_PF 2
 
-		     
+
 typedef struct {
     double	Vsync_need;	   /* Number of lines for vert sync (default 3) */
     double	min_Vsync_BP;	   /* Minimum vertical sync + back porch (us) (default 550)*/
@@ -39,7 +39,7 @@ typedef struct {
     double  m;		/* Blanking formula gradient (default 600)*/
     } GTF_constants;
 
-//#ifndef __VESA_VBELIB_INCLUDED__ 
+//#ifndef __VESA_VBELIB_INCLUDED__
 //    struct VesaCRTCInfoBlock {
 //    unsigned short hTotal;     /* Horizontal total in pixels */
 //    unsigned short hSyncStart; /* Horizontal sync start in pixels */
@@ -51,7 +51,7 @@ typedef struct {
 //    unsigned long  PixelClock; /* Pixel clock in units of Hz */
 //    unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/
 //    unsigned char  Reserved[40];/* remainder of CRTCInfoBlock*/
-//}__attribute__ ((packed));		    
+//}__attribute__ ((packed));
 
 //#define VESA_CRTC_DOUBLESCAN 0x01
 //#define VESA_CRTC_INTERLACED 0x02

Modified: trunk/libvo/jpeg_enc.c
==============================================================================
--- trunk/libvo/jpeg_enc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/jpeg_enc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@
 #include <string.h>
 #include "config.h"
 #include "mp_msg.h"
-/* We need this #define because we need ../libavcodec/common.h to #define 
+/* We need this #define because we need ../libavcodec/common.h to #define
  * be2me_32, otherwise the linker will complain that it doesn't exist */
 #define HAVE_AV_CONFIG_H
 #include "libavcodec/avcodec.h"
@@ -61,7 +61,7 @@ static const unsigned short aanscales[64
     4520,  6270,  5906,  5315,  4520,  3552,  2446,  1247
 };
 
-static void convert_matrix(MpegEncContext *s, int (*qmat)[64], 
+static void convert_matrix(MpegEncContext *s, int (*qmat)[64],
 		uint16_t (*qmat16)[2][64], const uint16_t *quant_matrix,
 		int bias, int qmin, int qmax)
 {
@@ -72,9 +72,9 @@ static void convert_matrix(MpegEncContex
 	if (s->dsp.fdct == ff_jpeg_fdct_islow) {
 		for (i = 0; i < 64; i++) {
 			const int j = s->dsp.idct_permutation[i];
-			/* 16    <= qscale * quant_matrix[i] <= 7905 
+			/* 16    <= qscale * quant_matrix[i] <= 7905
 			 * 19952 <= aanscales[i] *  \
-			 * 	        qscale * quant_matrix[i]     <= 205026 
+			 * 	        qscale * quant_matrix[i]     <= 205026
 			 * (1<<36)/19952 >= (1<<36)/(aanscales[i] * \
 			 * 	qscale * quant_matrix[i]) >= (1<<36)/249205025
 			 * 3444240       >= (1<<36)/(aanscales[i] *
@@ -89,8 +89,8 @@ static void convert_matrix(MpegEncContex
                 /* 19952         <= aanscales[i] * qscale * quant_matrix[i]           <= 249205026 */
                 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */
                 /* 3444240       >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= 275 */
-                
-                qmat[qscale][i] = (int)((UINT64_C(1) << (QMAT_SHIFT + 11)) / 
+
+                qmat[qscale][i] = (int)((UINT64_C(1) << (QMAT_SHIFT + 11)) /
                                 (aanscales[i] * qscale * quant_matrix[j]));
             }
         } else {
@@ -111,7 +111,7 @@ static void convert_matrix(MpegEncContex
     }
 }
 
-static inline void encode_dc(MpegEncContext *s, int val, 
+static inline void encode_dc(MpegEncContext *s, int val,
                              uint8_t *huff_size, uint16_t *huff_code)
 {
     int mant, nbits;
@@ -124,16 +124,16 @@ static inline void encode_dc(MpegEncCont
             val = -val;
             mant--;
         }
-        
+
         /* compute the log (XXX: optimize) */
         nbits = 0;
         while (val != 0) {
             val = val >> 1;
             nbits++;
         }
-            
+
         put_bits(&s->pb, huff_size[nbits], huff_code[nbits]);
-        
+
         put_bits(&s->pb, nbits, mant & ((1 << nbits) - 1));
     }
 }
@@ -145,7 +145,7 @@ static void encode_block(MpegEncContext 
     MJpegContext *m = s->mjpeg_ctx;
     uint8_t *huff_size_ac;
     uint16_t *huff_code_ac;
-    
+
     /* DC coef */
     component = (n <= 3 ? 0 : n - 4 + 1);
     dc = block[0]; /* overflow is impossible */
@@ -160,9 +160,9 @@ static void encode_block(MpegEncContext 
         huff_code_ac = m->huff_code_ac_chrominance;
     }
     s->last_dc[component] = dc;
-    
+
     /* AC coefs */
-    
+
     run = 0;
     last_index = s->block_last_index[n];
     for(i=1;i<=last_index;i++) {
@@ -180,7 +180,7 @@ static void encode_block(MpegEncContext 
                 val = -val;
                 mant--;
             }
-            
+
             /* compute the log (XXX: optimize) */
             nbits = 0;
             while (val != 0) {
@@ -190,7 +190,7 @@ static void encode_block(MpegEncContext 
             code = (run << 4) | nbits;
 
             put_bits(&s->pb, huff_size_ac[code], huff_code_ac[code]);
-        
+
             put_bits(&s->pb, nbits, mant & ((1 << nbits) - 1));
             run = 0;
         }
@@ -210,7 +210,7 @@ static inline void clip_coeffs(MpegEncCo
     for(i=0; i<=last_index; i++){
         const int j = s->intra_scantable.permutated[i];
         int level = block[j];
-       
+
         if     (level>maxlevel) level=maxlevel;
         else if(level<minlevel) level=minlevel;
         block[j]= level;
@@ -242,9 +242,9 @@ static void zr_mjpeg_encode_mb(jpeg_enc_
 				m->huff_code_ac_chrominance[0]);
     	} else {
 		/* we trick encode_block here so that it uses
-		 * chrominance huffman tables instead of luminance ones 
+		 * chrominance huffman tables instead of luminance ones
 		 * (see the effect of second argument of encode_block) */
-		encode_block(j->s, j->s->block[2], 4); 
+		encode_block(j->s, j->s->block[2], 4);
 		encode_block(j->s, j->s->block[3], 5);
     	}
 }
@@ -252,13 +252,13 @@ static void zr_mjpeg_encode_mb(jpeg_enc_
 /* this function can take all kinds of YUV colorspaces
  * YV12, YVYU, UYVY. The necesary parameters must be set up by the caller
  * y_ps means "y pixel size", y_rs means "y row size".
- * For YUYV, for example, is u_buf = y_buf + 1, v_buf = y_buf + 3, 
+ * For YUYV, for example, is u_buf = y_buf + 1, v_buf = y_buf + 3,
  * y_ps = 2, u_ps = 4, v_ps = 4, y_rs = u_rs = v_rs.
  *
  *  The actual buffers must be passed with mjpeg_encode_frame, this is
  *  to make it possible to call encode on the buffer provided by the
  *  codec in draw_frame.
- *  
+ *
  * The data is straightened out at the moment it is put in DCT
  * blocks, there are therefore no spurious memcopies involved */
 /* Notice that w must be a multiple of 16 and h must be a multiple of 8 */
@@ -271,13 +271,13 @@ static void zr_mjpeg_encode_mb(jpeg_enc_
 /* The encoder doesn't know anything about interlacing, the halve height
  * needs to be passed and the double rowstride. Which field gets encoded
  * is decided by what buffers are passed to mjpeg_encode_frame */
-jpeg_enc_t *jpeg_enc_init(int w, int h, int y_psize, int y_rsize, 
+jpeg_enc_t *jpeg_enc_init(int w, int h, int y_psize, int y_rsize,
 		int u_psize, int u_rsize, int v_psize, int v_rsize,
 		int cu, int q, int b) {
 	jpeg_enc_t *j;
 	int i = 0;
 	mp_msg(MSGT_VO, MSGL_V, "JPEnc init: %dx%d %d %d %d %d %d %d\n",
-			w, h, y_psize, y_rsize, u_psize, 
+			w, h, y_psize, y_rsize, u_psize,
 			u_rsize, v_psize, v_rsize);
 
 	j = av_malloc(sizeof(jpeg_enc_t));
@@ -291,11 +291,11 @@ jpeg_enc_t *jpeg_enc_init(int w, int h, 
 	}
 
 	/* info on how to access the pixels */
-	j->y_ps = y_psize; 
-	j->u_ps = u_psize; 
+	j->y_ps = y_psize;
+	j->u_ps = u_psize;
 	j->v_ps = v_psize;
-	j->y_rs = y_rsize; 
-	j->u_rs = u_rsize; 
+	j->y_rs = y_rsize;
+	j->u_rs = u_rsize;
 	j->v_rs = v_rsize;
 
 	j->s->width = w;
@@ -355,15 +355,15 @@ jpeg_enc_t *jpeg_enc_init(int w, int h, 
 	j->s->mb_intra = 1;
 
 	j->s->intra_matrix[0] = ff_mpeg1_default_intra_matrix[0];
-	for (i = 1; i < 64; i++) 
+	for (i = 1; i < 64; i++)
 		j->s->intra_matrix[i] = av_clip_uint8(
 			(ff_mpeg1_default_intra_matrix[i]*j->s->qscale) >> 3);
-	convert_matrix(j->s, j->s->q_intra_matrix, j->s->q_intra_matrix16, 
+	convert_matrix(j->s, j->s->q_intra_matrix, j->s->q_intra_matrix16,
 			j->s->intra_matrix, j->s->intra_quant_bias, 8, 8);
 	return j;
-}	
+}
 
-int jpeg_enc_frame(jpeg_enc_t *j, unsigned char *y_data, 
+int jpeg_enc_frame(jpeg_enc_t *j, unsigned char *y_data,
 		unsigned char *u_data, unsigned char *v_data, char *bufr) {
 	int i, k, mb_x, mb_y, overflow;
 	short int *dest;
@@ -376,8 +376,8 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 
 	j->s->header_bits = put_bits_count(&j->s->pb);
 
-	j->s->last_dc[0] = 128; 
-	j->s->last_dc[1] = 128; 
+	j->s->last_dc[0] = 128;
+	j->s->last_dc[1] = 128;
 	j->s->last_dc[2] = 128;
 
 	for (mb_y = 0; mb_y < j->s->mb_height; mb_y++) {
@@ -385,7 +385,7 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 			/* conversion 8 to 16 bit and filling of blocks
 			 * must be mmx optimized */
 			/* fill 2 Y macroblocks and one U and one V */
-			source = mb_y * 8 * j->y_rs + 
+			source = mb_y * 8 * j->y_rs +
 				16 * j->y_ps * mb_x + y_data;
 			dest = j->s->block[0];
 			for (i = 0; i < 8; i++) {
@@ -395,7 +395,7 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 				dest += 8;
 				source += j->y_rs;
 			}
-			source = mb_y * 8 * j->y_rs + 
+			source = mb_y * 8 * j->y_rs +
 				(16*mb_x + 8)*j->y_ps + y_data;
 			dest = j->s->block[1];
 			for (i = 0; i < 8; i++) {
@@ -406,7 +406,7 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 				source += j->y_rs;
 			}
 			if (!j->bw && j->cheap_upsample) {
-				source = mb_y*4*j->u_rs + 
+				source = mb_y*4*j->u_rs +
 					8*mb_x*j->u_ps + u_data;
 				dest = j->s->block[2];
 				for (i = 0; i < 4; i++) {
@@ -417,7 +417,7 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 					dest += 16;
 					source += j->u_rs;
 				}
-				source = mb_y*4*j->v_rs + 
+				source = mb_y*4*j->v_rs +
 					8*mb_x*j->v_ps + v_data;
 				dest = j->s->block[3];
 				for (i = 0; i < 4; i++) {
@@ -429,20 +429,20 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 					source += j->u_rs;
 				}
 			} else if (!j->bw && !j->cheap_upsample) {
-				source = mb_y*8*j->u_rs + 
+				source = mb_y*8*j->u_rs +
 					8*mb_x*j->u_ps + u_data;
 				dest = j->s->block[2];
 				for (i = 0; i < 8; i++) {
-					for (k = 0; k < 8; k++) 
+					for (k = 0; k < 8; k++)
 						dest[k] = source[k*j->u_ps];
 					dest += 8;
 					source += j->u_rs;
 				}
-				source = mb_y*8*j->v_rs + 
+				source = mb_y*8*j->v_rs +
 					8*mb_x*j->v_ps + v_data;
 				dest = j->s->block[3];
 				for (i = 0; i < 8; i++) {
-					for (k = 0; k < 8; k++) 
+					for (k = 0; k < 8; k++)
 						dest[k] = source[k*j->v_ps];
 					dest += 8;
 					source += j->u_rs;
@@ -450,27 +450,27 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 			}
 			emms_c(); /* is this really needed? */
 
-			j->s->block_last_index[0] = 
-				j->s->dct_quantize(j->s, j->s->block[0], 
+			j->s->block_last_index[0] =
+				j->s->dct_quantize(j->s, j->s->block[0],
 						0, 8, &overflow);
-			if (overflow) clip_coeffs(j->s, j->s->block[0], 
+			if (overflow) clip_coeffs(j->s, j->s->block[0],
 					j->s->block_last_index[0]);
-			j->s->block_last_index[1] = 
-				j->s->dct_quantize(j->s, j->s->block[1], 
+			j->s->block_last_index[1] =
+				j->s->dct_quantize(j->s, j->s->block[1],
 						1, 8, &overflow);
-			if (overflow) clip_coeffs(j->s, j->s->block[1], 
+			if (overflow) clip_coeffs(j->s, j->s->block[1],
 					j->s->block_last_index[1]);
 
 			if (!j->bw) {
 				j->s->block_last_index[4] =
 					j->s->dct_quantize(j->s, j->s->block[2],
 							4, 8, &overflow);
-				if (overflow) clip_coeffs(j->s, j->s->block[2], 
+				if (overflow) clip_coeffs(j->s, j->s->block[2],
 						j->s->block_last_index[2]);
 				j->s->block_last_index[5] =
 					j->s->dct_quantize(j->s, j->s->block[3],
 							5, 8, &overflow);
-				if (overflow) clip_coeffs(j->s, j->s->block[3], 
+				if (overflow) clip_coeffs(j->s, j->s->block[3],
 						j->s->block_last_index[3]);
 			}
 			zr_mjpeg_encode_mb(j);
@@ -478,12 +478,12 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsign
 	}
 	emms_c();
 	ff_mjpeg_encode_picture_trailer(j->s);
-	flush_put_bits(&j->s->pb);	
+	flush_put_bits(&j->s->pb);
 
 	//FIXME
 	//if (j->s->mjpeg_write_tables == 1)
 	//	j->s->mjpeg_write_tables = 0;
-	
+
 	return put_bits_ptr(&(j->s->pb)) - j->s->pb.buf;
 }
 

Modified: trunk/libvo/jpeg_enc.h
==============================================================================
--- trunk/libvo/jpeg_enc.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/jpeg_enc.h	Wed May 13 04:58:57 2009	(r29305)
@@ -40,11 +40,11 @@ typedef struct {
 	int v_rs;
 } jpeg_enc_t;
 
-jpeg_enc_t *jpeg_enc_init(int w, int h, int y_psize, int y_rsize, 
+jpeg_enc_t *jpeg_enc_init(int w, int h, int y_psize, int y_rsize,
 		int u_psize, int u_rsize, int v_psize, int v_rsize,
 		int cu, int q, int b);
 
-int jpeg_enc_frame(jpeg_enc_t *j, unsigned char *y_data, 
+int jpeg_enc_frame(jpeg_enc_t *j, unsigned char *y_data,
 		unsigned char *u_data, unsigned char *v_data, char *bufr);
 
 void jpeg_enc_uninit(jpeg_enc_t *j);

Modified: trunk/libvo/mga_common.c
==============================================================================
--- trunk/libvo/mga_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/mga_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -100,11 +100,11 @@ draw_slice_g400(uint8_t *image[], int st
 
     dest = vid_data + bespitch * y + x;
     mem2agpcpy_pic(dest, image[0], w, h, bespitch, stride[0]);
-    
+
     w/=2;h/=2;x/=2;y/=2;
 
     dest = vid_data + bespitch*mga_vid_config.src_height + bespitch2 * y + x;
-    dest2= dest + bespitch2*mga_vid_config.src_height / 2; 
+    dest2= dest + bespitch2*mga_vid_config.src_height / 2;
 
   if(mga_vid_config.format==MGA_VID_FORMAT_YV12){
     // mga_vid's YV12 assumes Y,U,V order (insteda of Y,V,U) :(
@@ -265,7 +265,7 @@ static int control(uint32_t request, voi
 
      if (ioctl(f,MGA_VID_GET_LUMA,&prev)) {
 	perror("Error in mga_vid_config ioctl()");
-    mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_CouldNotGetLumaValuesFromTheKernelModule);    
+    mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_CouldNotGetLumaValuesFromTheKernelModule);
 	return VO_FALSE;
      }
 
@@ -274,7 +274,7 @@ static int control(uint32_t request, voi
      va_start(ap, data);
      value = va_arg(ap, int);
      va_end(ap);
-     
+
 //     printf("value: %d -> ",value);
      value=((value+100)*255)/200-128; // maps -100=>-128 and +100=>127
 //     printf("%d  \n",value);
@@ -283,7 +283,7 @@ static int control(uint32_t request, voi
          luma = (prev&0xFFFF0000)|(value&0xFFFF);
      else
          luma = (prev&0xFFFF)|(value<<16);
-     
+
      if (ioctl(f,MGA_VID_SET_LUMA,luma)) {
 	perror("Error in mga_vid_config ioctl()");
         mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_CouldNotSetLumaValuesFromTheKernelModule);
@@ -299,7 +299,7 @@ static int control(uint32_t request, voi
      int * value;
      short val;
      uint32_t luma;
-     
+
      if ( strcmp( data,"brightness" ) && strcmp( data,"contrast" ) ) return VO_FALSE;
 
      if (ioctl(f,MGA_VID_GET_LUMA,&luma)) {
@@ -307,12 +307,12 @@ static int control(uint32_t request, voi
         mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_CouldNotGetLumaValuesFromTheKernelModule);
 	return VO_FALSE;
      }
-     
+
      if ( !strcmp( data,"contrast" ) )
 	 val=(luma & 0xFFFF);
      else
 	 val=(luma >> 16);
-	 
+
      va_start(ap, data);
      value = va_arg(ap, int*);
      va_end(ap);
@@ -321,7 +321,7 @@ static int control(uint32_t request, voi
 
      return VO_TRUE;
     }
-														       
+
 #ifndef VO_XMGA
   case VOCTRL_FULLSCREEN:
     if (vo_screenwidth && vo_screenheight)
@@ -356,7 +356,7 @@ static int control(uint32_t request, voi
        {
 //        int old_y = vo_panscan_y;
 	panscan_calc();
-//        if ( old_y != vo_panscan_y ) 
+//        if ( old_y != vo_panscan_y )
 	set_window();
        }
       return VO_TRUE;
@@ -383,7 +383,7 @@ static int mga_init(int width,int height
         case IMGFMT_UYVY:
 	    mga_vid_config.frame_size = ((width + 31) & ~31) * height * 2;
             mga_vid_config.format=MGA_VID_FORMAT_UYVY; break;
-        default: 
+        default:
             mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_InvalidOutputFormat,format);
             return -1;
         }
@@ -396,7 +396,7 @@ static int mga_init(int width,int height
 	    mga_vid_config.dest_height= height;
 
 	mga_vid_config.colkey_on=0;
-	
+
 	mga_vid_config.num_frames=(vo_directrendering && !vo_doublebuffering)?1:3;
 	mga_vid_config.version=MGA_VID_VERSION;
 
@@ -434,7 +434,7 @@ static int mga_init(int width,int height
 			return -1;
 		}
 	}
-	
+
 	mp_msg(MSGT_VO,MSGL_V,"[MGA] Using %d buffers.\n",mga_vid_config.num_frames);
 
 	frames[0] = (char*)mmap(0,mga_vid_config.frame_size*mga_vid_config.num_frames,PROT_WRITE,MAP_SHARED,f,0);
@@ -477,10 +477,10 @@ static int preinit(const char *vo_subdev
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_CouldntOpen,devname);
 		return -1;
 	}
-	
+
 	// check whether the mga_vid driver has the same
 	// version as we expect
-	
+
 	ioctl(f,MGA_VID_GET_VERSION,&ver);
 	if(MGA_VID_VERSION != ver)
 	{

Modified: trunk/libvo/osd_template.c
==============================================================================
--- trunk/libvo/osd_template.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/osd_template.c	Wed May 13 04:58:57 2009	(r29305)
@@ -56,7 +56,7 @@ static inline void RENAME(vo_draw_alpha_
         "movq %%mm5, %%mm7\n\t"
         "psllw $8, %%mm5\n\t" //FF00FF00FF00
         "psrlw $8, %%mm4\n\t" //00FF00FF00FF
-        ::);        
+        ::);
 #endif
     for(y=0;y<h;y++){
         register int x;
@@ -127,7 +127,7 @@ static inline void RENAME(vo_draw_alpha_
         "movq %%mm5, %%mm4\n\t"
         "psllw $8, %%mm5\n\t" //FF00FF00FF00
         "psrlw $8, %%mm4\n\t" //00FF00FF00FF
-        ::);        
+        ::);
 #endif
     for(y=0;y<h;y++){
         register int x;
@@ -216,7 +216,7 @@ static inline void RENAME(vo_draw_alpha_
     __asm__ volatile(
         "pxor %%mm7, %%mm7\n\t"
         "pcmpeqb %%mm6, %%mm6\n\t" // F..F
-        ::);        
+        ::);
 #endif
     for(y=0;y<h;y++){
         register unsigned char *dst = dstbase;
@@ -279,7 +279,7 @@ static inline void RENAME(vo_draw_alpha_
 
 		"movb %%ch, (%0)\n\t"
 		"movb %%ah, 1(%0)\n\t"
-		
+
                 "movzbl 2(%0), %%eax\n\t"
 		"imull %1, %%eax\n\t"
 		"addl %2, %%eax\n\t"

Modified: trunk/libvo/spuenc.c
==============================================================================
--- trunk/libvo/spuenc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/spuenc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -4,7 +4,7 @@
  * Copyright (C) 2000   Alejandro J. Cura <alecu at protocultura.net>
  *
  * (modified a bit to work with the dxr3 driver...4/2/2002 cg)
- * 
+ *
  * Based on the hard work of:
  *
  *   Samuel Hocevar <sam at via.ecp.fr> and Michel Lespinasse <walken at via.ecp.fr>
@@ -48,13 +48,13 @@ encode_do_control(int x,int y, encodedat
 
 /* the format of this is well described by a page:
  * http://members.aol.com/mpucoder/DVD/spu.html
- * 
- * note I changed the layout of commands to turn off the subpic as the 
- * first command, and then turn on the new subpic...this is so we can 
- * leave the subpic on for an arbitrary ammount of time as controlled by 
+ *
+ * note I changed the layout of commands to turn off the subpic as the
+ * first command, and then turn on the new subpic...this is so we can
+ * leave the subpic on for an arbitrary ammount of time as controlled by
  * mplayer (ie when we turn on the subpic we don't know how long it should
  * stay on when using mplayer).
- * with this layout we turn off the last subpic as we are turning on the 
+ * with this layout we turn off the last subpic as we are turning on the
  * new one.
  * The original hd it turn on the subpic, and delay the turn off command using
  * the durration/delay feature.
@@ -65,7 +65,7 @@ encode_do_control(int x,int y, encodedat
 //	ed->data[i++]= 0x00;
 //	ed->data[i++]= 0x00; //durration before turn off command occurs
 			     //in 90000/1024 units
-	
+
 	/* x1 */
 //	x1=i+4;
 //	ed->data[i++]= x1 >> 8;//location of next command block
@@ -73,8 +73,8 @@ encode_do_control(int x,int y, encodedat
 	/* finish it */
 //	ed->data[i++]= 0x02;//turn off command
 //	ed->data[i++]= 0xff;//end of command block
-	x1= i; //marker for last command block address 
-	
+	x1= i; //marker for last command block address
+
 	/* display duration... */
 	ed->data[i++]= 0x00;
 	ed->data[i++]= 0x00; //durration before turn on command occurs
@@ -92,9 +92,9 @@ encode_do_control(int x,int y, encodedat
 	ed->data[i++]= 0x08;
 	ed->data[i++]= 0x7f;
 /*
- * The palette is a coded index (one of 16) 0 is black, 0xf is white 
+ * The palette is a coded index (one of 16) 0 is black, 0xf is white
  * (unless you screw with the default palette)
- * for what I am doing I only use white. 
+ * for what I am doing I only use white.
  * 7 is lt grey, and 8 is dk grey...
  * */
 	/* 0x04: transparency info (reversed) */
@@ -130,11 +130,11 @@ encode_do_control(int x,int y, encodedat
 	/* x0 */
 	ed->data[2]= (controlstart) >> 8;
 	ed->data[3]= (controlstart) & 0xff;
-	
+
 	/* packet size */
 	ed->data[0]= i >> 8;
 	ed->data[1]= i & 0xff;
-	
+
 	ed->count= i;
 }
 
@@ -179,7 +179,7 @@ encode_do_row( encodedata* ed, pixbuf* p
 	unsigned char* pix= pb->pixels + row * pb->x;
 	int color= *pix;
 	int n= 0; /* the number of pixels of this color */
-	
+
 	while( i++ < pb->x ) {
 		/* FIXME: watch this space for EOL */
 		if( *pix != color || n == 255 ) {
@@ -233,7 +233,7 @@ pixbuf_encode_rle(int x, int y, int w, i
 
 void
 pixbuf_load_xpm( pixbuf* pb, char* xpm[] ) {
-	int colors, chrs, l, n; 
+	int colors, chrs, l, n;
 	char c[4], table[256];
 	unsigned char *b, *i;
 
@@ -250,7 +250,7 @@ pixbuf_load_xpm( pixbuf* pb, char* xpm[]
 		fprintf( stderr, "the size is excesive\n");
 		exit (-1);
 	}
-	
+
 	for( l=0; l<colors; l++ ) {
 		n= sscanf( xpm[l+1], "%c c #%x", &c[l], &pb->rgb[l]);
 		if( n < 2 ) {
@@ -262,7 +262,7 @@ pixbuf_load_xpm( pixbuf* pb, char* xpm[]
 
 	pb->pixels= malloc( pb->x * pb->y );
 	b= pb->pixels;
-	
+
 	for( l= colors+1; l <= pb->y + colors; l++ ) {
 		i= xpm[l];
 		while( (int)*i) {

Modified: trunk/libvo/sub.c
==============================================================================
--- trunk/libvo/sub.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/sub.c	Wed May 13 04:58:57 2009	(r29305)
@@ -132,7 +132,7 @@ static void draw_alpha_buf(mp_osd_obj_t*
 		x0, x0+w, y0, y0+h);
 	return;
     }
-    
+
     for (i = 0; i < h; i++) {
 	for (j = 0; j < w; j++, b++, a++, bs++, as++) {
 	    if (*b < *bs) *b = *bs;
@@ -207,7 +207,7 @@ inline static void vo_update_text_osd(mp
 	  x+=vo_font->width[c]+vo_font->charspace;
 	  h=get_height(c,h);
         }
-	
+
 	obj->bbox.x2=x-vo_font->charspace;
 	obj->bbox.y2=obj->bbox.y1+h;
 	obj->flags|=OSDFLAG_BBOX;
@@ -263,7 +263,7 @@ inline static void vo_update_nav (mp_osd
   obj->bbox.y1 = obj->y = sy;
   obj->bbox.x2 = ex;
   obj->bbox.y2 = ey;
-  
+
   alloc_buf (obj);
   len = obj->stride * (obj->bbox.y2 - obj->bbox.y1);
   memset (obj->bitmap_buffer, OSD_NAV_BOX_ALPHA, len);
@@ -465,7 +465,7 @@ TODO: support for separated graphics sym
 
 ********** *********** (0:hm/3)
 ***   **** ****   ****
-*** 1 **** **** 2 **** 
+*** 1 **** **** 2 ****
 ***   **** ****   ****
 ********** ***********
 ********** ***********
@@ -482,11 +482,11 @@ TODO: support for separated graphics sym
 ********** *********** (hm-hm/3:hm/3)
 ***   **** ****   ****
 *** 5 **** **** 6 ****
-***   **** ****   **** 
-********** ***********   
+***   **** ****   ****
+********** ***********
 ********** ***********
 
-*/              
+*/
                 if(tc.gfx>1){ //separated gfx
                     for(b=0;b<6;b++){
                         color=(tc.unicode>>b)&1?tc.fg:tc.bg;
@@ -522,29 +522,29 @@ int vo_osd_progbar_type=-1;
 int vo_osd_progbar_value=100;   // 0..256
 
 // if we have n=256 bars then OSD progbar looks like below
-// 
+//
 // 0   1    2    3 ... 256  <= vo_osd_progbar_value
 // |   |    |    |       |
 // [ ===  ===  === ... === ]
-// 
+//
 //  the above schema is rescalled to n=elems bars
 
 inline static void vo_update_text_progbar(mp_osd_obj_t* obj,int dxs,int dys){
 
     obj->flags|=OSDFLAG_CHANGED|OSDFLAG_VISIBLE;
-    
+
     if(vo_osd_progbar_type<0 || !vo_font){
        obj->flags&=~OSDFLAG_VISIBLE;
        return;
     }
-    
+
     render_one_glyph(vo_font, OSD_PB_START);
     render_one_glyph(vo_font, OSD_PB_END);
     render_one_glyph(vo_font, OSD_PB_0);
     render_one_glyph(vo_font, OSD_PB_1);
     render_one_glyph(vo_font, vo_osd_progbar_type);
 
-    // calculate bbox corners:    
+    // calculate bbox corners:
     {	int h=0;
         int y=(dys-vo_font->height)/2;
         int delimw=vo_font->width[OSD_PB_START]
@@ -574,7 +574,7 @@ inline static void vo_update_text_progba
     }
 
     alloc_buf(obj);
-    
+
     {
 	int minw = vo_font->width[OSD_PB_START]+vo_font->width[OSD_PB_END]+vo_font->width[OSD_PB_0];
 	if (vo_osd_progbar_type>0 && vo_font->font[vo_osd_progbar_type]>=0){
@@ -582,7 +582,7 @@ inline static void vo_update_text_progba
 	}
 	if (obj->bbox.x2 - obj->bbox.x1 < minw) return; // space too small, don't render anything
     }
-    
+
     // render it:
     {	unsigned char *s;
    	unsigned char *sa;
@@ -601,7 +601,7 @@ inline static void vo_update_text_progba
 	   if (ev & 0xFF)  mark++;
 	   if (mark>elems) mark=elems;
 	}
-   
+
 
 //        printf("osd.progbar  width=%d  xpos=%d\n",width,x);
 
@@ -615,7 +615,7 @@ inline static void vo_update_text_progba
               vo_font->pic_a[font]->bmp+vo_font->start[c],
               vo_font->pic_a[font]->w);
 	}
-   
+
         c=OSD_PB_START;
         if ((font=vo_font->font[c])>=0)
             draw_alpha_buf(obj,x,y,
@@ -678,14 +678,14 @@ inline static void vo_update_text_sub(mp
    int xmin=dxs,xmax=0;
    int h,lasth;
    int xtblc, utblc;
-   
+
    obj->flags|=OSDFLAG_CHANGED|OSDFLAG_VISIBLE;
 
    if(!vo_sub || !sub_font || !sub_visibility || (sub_font->font[40]<0)){
        obj->flags&=~OSDFLAG_VISIBLE;
        return;
    }
-   
+
    obj->bbox.y2=obj->y=dys;
    obj->params.subtitle.lines=0;
 
@@ -704,7 +704,7 @@ inline static void vo_update_text_sub(mp
       while (l) {
 	    xsize = -sub_font->charspace;
 	  l--;
-	  t=vo_sub->text[i++];	  
+	  t=vo_sub->text[i++];
 	    char_position = 0;
 	    char_seq = calloc(strlen(t), sizeof(int));
 
@@ -749,7 +749,7 @@ inline static void vo_update_text_sub(mp
 		    prevc = c;
 		} else {
 		    int delta_xsize = sub_font->width[c] + sub_font->charspace + kerning(sub_font, prevc, c);
-		    
+
 		    if (xsize + delta_xsize <= dxs) {
 			if (!x) x = 1;
 			prevc = c;
@@ -940,7 +940,7 @@ inline static void vo_update_text_sub(mp
 	}
 	if(obj->params.subtitle.lines)
 	    obj->y = dys - ((obj->params.subtitle.lines - 1) * sub_font->height + sub_font->pic_a[sub_font->font[40]]->h);
-	
+
 	// free memory
 	if (otp_sub != NULL) {
 	    for (tmp = otp_sub->ott; tmp->next != NULL; free(tmp->prev)) {
@@ -949,13 +949,13 @@ inline static void vo_update_text_sub(mp
 	    }
 	    free(tmp->text);
 	    free(tmp);
-	
+
 	    for(pmt = otp_sub; pmt->next != NULL; free(pmt->prev)) {
 		pmt = pmt->next;
 	    }
 	    free(pmt);
 	}
-	
+
     }
     /// vertical alignment
     h = dys - obj->y;
@@ -984,7 +984,7 @@ inline static void vo_update_text_sub(mp
     alloc_buf(obj);
 
     y = obj->y;
-    
+
     obj->alignment = 0;
     switch(vo_sub->alignment) {
        case SUB_ALIGNMENT_BOTTOMLEFT:
@@ -1038,7 +1038,7 @@ inline static void vo_update_text_sub(mp
          y+=sub_font->height;
 	}
     }
-    
+
 }
 
 inline static void vo_update_spudec_sub(mp_osd_obj_t* obj, int dxs, int dys)
@@ -1130,7 +1130,7 @@ int vo_update_osd_ext(int dxs,int dys, i
 	prev_dys = dys;
 	defer_counter = 0;
     } else {
-       if (!vo_font) 
+       if (!vo_font)
            load_font_ft(dxs, dys, &vo_font, font_name, osd_font_scale_factor);
        if (!sub_font) {
            if (sub_font_name)
@@ -1244,7 +1244,7 @@ void vo_remove_text(int dxs,int dys,void
     mp_osd_obj_t* obj=vo_osd_list;
     vo_update_osd(dxs,dys);
     while(obj){
-      if(((obj->flags&OSDFLAG_CHANGED) || (obj->flags&OSDFLAG_VISIBLE)) && 
+      if(((obj->flags&OSDFLAG_CHANGED) || (obj->flags&OSDFLAG_VISIBLE)) &&
          (obj->flags&OSDFLAG_OLD_BBOX)){
           int w=obj->old_bbox.x2-obj->old_bbox.x1;
 	  int h=obj->old_bbox.y2-obj->old_bbox.y1;

Modified: trunk/libvo/vesa_lvo.c
==============================================================================
--- trunk/libvo/vesa_lvo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vesa_lvo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -154,7 +154,7 @@ int      vlvo_init(unsigned src_width,un
 
 	/*clear the buffer*/
 	memset(frames[0],0x80,mga_vid_config.frame_size*mga_vid_config.num_frames);
-	return 0;  
+	return 0;
 }
 
 void vlvo_term( void )
@@ -242,7 +242,7 @@ void     vlvo_flip_page(void)
 	ioctl(lvo_handler,MGA_VID_FSEL,&next_frame);
 	next_frame=(next_frame+1)%mga_vid_config.num_frames;
 	lvo_mem=frames[next_frame];
-  }	
+  }
 }
 
 #if 0

Modified: trunk/libvo/videodev_mjpeg.h
==============================================================================
--- trunk/libvo/videodev_mjpeg.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/videodev_mjpeg.h	Wed May 13 04:58:57 2009	(r29305)
@@ -24,7 +24,7 @@
 
 #include <stdlib.h>
 
-/* This is identical with the mgavideo internal params struct, 
+/* This is identical with the mgavideo internal params struct,
    please tell me if you change this struct here ! <gz at lysator.liu.se) */
 struct mjpeg_params
 {

Modified: trunk/libvo/vo_3dfx.c
==============================================================================
--- trunk/libvo/vo_3dfx.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_3dfx.c	Wed May 13 04:58:57 2009	(r29305)
@@ -51,7 +51,7 @@
 
 #include "fastmemcpy.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"3dfx (/dev/3dfx)",
 	"3dfx",
@@ -106,23 +106,23 @@ static XWindowAttributes attribs;
 static int fd=-1;
 
 
-static void 
-restore(void) 
+static void
+restore(void)
 {
 	//reg_IO->vidDesktopStartAddr = vidpage0offset;
 	XF86DGADirectVideo(display,0,0);
 }
 
-static void 
-sighup(int foo) 
+static void
+sighup(int foo)
 {
 	//reg_IO->vidDesktopStartAddr = vidpage0offset;
 	XF86DGADirectVideo(display,0,0);
 	exit(0);
 }
 
-static void 
-restore_regs(voodoo_2d_reg *regs) 
+static void
+restore_regs(voodoo_2d_reg *regs)
 {
 	reg_2d->commandExtra = regs->commandExtra;
 	reg_2d->clip0Min = regs->clip0Min;
@@ -141,8 +141,8 @@ restore_regs(voodoo_2d_reg *regs) 
 	reg_2d->command = 0;
 }
 
-static uint32_t 
-create_window(Display *display, char *title) 
+static uint32_t
+create_window(Display *display, char *title)
 {
 	int screen;
 	unsigned int fg, bg;
@@ -167,7 +167,7 @@ create_window(Display *display, char *ti
 
 	XGetWindowAttributes(display, DefaultRootWindow(display), &attribs);
 	bpp = attribs.depth;
-	if (bpp != 16) 
+	if (bpp != 16)
 	{
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_Only16BppSupported);
 		exit(-1);
@@ -200,7 +200,7 @@ create_window(Display *display, char *ti
 	XMapWindow(display, mywindow);
 
 	/* Wait for map. */
-	do 
+	do
 	{
 		XNextEvent(display, &xev);
 	}
@@ -213,17 +213,17 @@ create_window(Display *display, char *ti
 	return 0;
 }
 
-static void 
-dump_yuv_planar(uint32_t *y, uint32_t *u, uint32_t *v, uint32_t to, uint32_t width, uint32_t height) 
+static void
+dump_yuv_planar(uint32_t *y, uint32_t *u, uint32_t *v, uint32_t to, uint32_t width, uint32_t height)
 {
 	// YUV conversion works like this:
 	//
 	//		 We write the Y, U, and V planes separately into 3dfx YUV Planar memory
 	//		 region.  The nice chip then takes these and packs them into the YUYV
 	//		 format in the regular frame buffer, starting at yuvBaseAddr, page 2 here.
-	//		 Then we tell the 3dfx to do a Screen to Screen Stretch BLT to copy all 
+	//		 Then we tell the 3dfx to do a Screen to Screen Stretch BLT to copy all
 	//		 of the data on page 2 onto page 1, converting it to 16 bpp RGB as it goes.
-	//		 The result is a nice image on page 1 ready for display. 
+	//		 The result is a nice image on page 1 ready for display.
 
 	uint32_t j;
 	uint32_t y_imax, uv_imax, jmax;
@@ -236,7 +236,7 @@ dump_yuv_planar(uint32_t *y, uint32_t *u
 	y_imax = width; // Y plane is twice as wide as U and V planes
 	uv_imax = width>>1;  // vidwidth/2/4, width of U and V planes in 32-bit words
 
-	for (j=0;j<jmax;j++) 
+	for (j=0;j<jmax;j++)
 	{
 		//XXX this should be hand-rolled 32 bit memcpy for safeness.
 		fast_memcpy(fb_YUV->U + (uint32_t) VOODOO_YUV_STRIDE*  j       ,((uint8_t*) u) + uv_imax*  j       , uv_imax);
@@ -247,8 +247,8 @@ dump_yuv_planar(uint32_t *y, uint32_t *u
   LOG("video_out_3dfx: done planar dump\n");
 }
 
-static void 
-screen_to_screen_stretch_blt(uint32_t to, uint32_t from, uint32_t width, uint32_t height) 
+static void
+screen_to_screen_stretch_blt(uint32_t to, uint32_t from, uint32_t width, uint32_t height)
 {
 	//FIXME - this function should be called by a show_frame function that
 	//        uses a series of blts to show only those areas not covered
@@ -289,8 +289,8 @@ screen_to_screen_stretch_blt(uint32_t to
 	LOG("video_out_3dfx: done blt\n");
 }
 
-static void 
-update_target(void) 
+static void
+update_target(void)
 {
 	uint32_t xp, yp, w, h, b, d;
 	Window root;
@@ -302,14 +302,14 @@ update_target(void) 
 	dispwidth = (uint32_t) w;
 	dispheight = (uint32_t) h;
 
-	if (is_fullscreen) 
+	if (is_fullscreen)
 		targetoffset = vidpage0offset + (screenheight - dispheight)/2*screenwidth*screendepth + (screenwidth-dispwidth)/2*screendepth;
-	else 
+	else
 		targetoffset = vidpage0offset + (dispy*screenwidth + dispx)*screendepth;
 }
 
-static int 
-config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format) 
+static int
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
 {
 	char *name = ":0.0";
 	pioData data;
@@ -333,7 +333,7 @@ config(uint32_t width, uint32_t height, 
 	//alarm(120);
 
 	// Open driver device
-	if ( fd == -1 ) 
+	if ( fd == -1 )
 	{
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_UnableToOpenDevice);
 		return -1;
@@ -344,7 +344,7 @@ config(uint32_t width, uint32_t height, 
 	vidheight = height;
 
 	is_fullscreen = fullscreen = 0;
-	if (!is_fullscreen) 
+	if (!is_fullscreen)
 		create_window(display, title);
 
 	// Ask 3dfx driver for base memory address 0
@@ -352,7 +352,7 @@ config(uint32_t width, uint32_t height, 
 	data.size = 4;
 	data.value = &baseAddr0;
 	data.device = 0;
-	if ((retval = ioctl(fd,_IOC(_IOC_READ,'3',3,0),&data)) < 0) 
+	if ((retval = ioctl(fd,_IOC(_IOC_READ,'3',3,0),&data)) < 0)
 	{
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_Error,retval);
 		return -1;
@@ -363,7 +363,7 @@ config(uint32_t width, uint32_t height, 
 	data.size = 4;
 	data.value = &baseAddr1;
 	data.device = 0;
-	if ((retval = ioctl(fd,_IOC(_IOC_READ,'3',3,0),&data)) < 0) 
+	if ((retval = ioctl(fd,_IOC(_IOC_READ,'3',3,0),&data)) < 0)
 	{
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_Error,retval);
 		return -1;
@@ -372,11 +372,11 @@ config(uint32_t width, uint32_t height, 
 	// Map all 3dfx memory areas
 	memBase0 = mmap(0,0x1000000,PROT_READ | PROT_WRITE,MAP_SHARED,fd,baseAddr0);
 	memBase1 = mmap(0,3*page_space,PROT_READ | PROT_WRITE,MAP_SHARED,fd,baseAddr1);
-	if (memBase0 == (uint32_t *) 0xFFFFFFFF || memBase1 == (uint32_t *) 0xFFFFFFFF) 
+	if (memBase0 == (uint32_t *) 0xFFFFFFFF || memBase1 == (uint32_t *) 0xFFFFFFFF)
 	{
-		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_CouldntMapMemoryArea, 
+		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_CouldntMapMemoryArea,
 		 memBase0,memBase1,errno);
-	}  
+	}
 
 	// Set up global pointers
 	reg_IO  = (void *)memBase0 + VOODOO_IO_REG_OFFSET;
@@ -388,13 +388,13 @@ config(uint32_t width, uint32_t height, 
 	vidpage1 = (void *)memBase1 + (unsigned long int)vidpage1offset;
 	vidpage2 = (void *)memBase1 + (unsigned long int)vidpage2offset;
 
-	// Clear pages 1,2,3 
+	// Clear pages 1,2,3
 	// leave page 0, that belongs to X.
 	// So does part of 1.  Oops.
 	memset(vidpage1,0x00,page_space);
 	memset(vidpage2,0x00,page_space);
 
-	if (is_fullscreen) 
+	if (is_fullscreen)
 		memset(vidpage0,0x00,page_space);
 
 
@@ -406,7 +406,7 @@ config(uint32_t width, uint32_t height, 
 		 Find a better way to do this?
 		 Currently I use DGA to tell XF86 to not screw with registers, but I can't really use it
 		 to do FB stuff because I need to know the absolute FB position and offset FB position
-		 to feed to BLT command 
+		 to feed to BLT command
 	*/
 	//XF86DGADirectVideo(display,0,XF86DGADirectGraphics); //| XF86DGADirectMouse | XF86DGADirectKeyb);
 #endif
@@ -417,8 +417,8 @@ config(uint32_t width, uint32_t height, 
 	return 0;
 }
 
-static int 
-draw_frame(uint8_t *src[]) 
+static int
+draw_frame(uint8_t *src[])
 {
 	LOG("video_out_3dfx: starting display_frame\n");
 
@@ -430,8 +430,8 @@ draw_frame(uint8_t *src[]) 
 	return 0;
 }
 
-static int 
-//draw_slice(uint8_t *src[], uint32_t slice_num) 
+static int
+//draw_slice(uint8_t *src[], uint32_t slice_num)
 draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
 {
 	uint32_t target;
@@ -445,8 +445,8 @@ static void draw_osd(void)
 {
 }
 
-static void 
-flip_page(void) 
+static void
+flip_page(void)
 {
 	//FIXME - update_target() should be called by event handler when window
 	//        is resized or moved
@@ -483,13 +483,13 @@ static void check_events(void)
 
 static int preinit(const char *arg)
 {
-    if ( (fd = open("/dev/3dfx",O_RDWR) ) == -1) 
+    if ( (fd = open("/dev/3dfx",O_RDWR) ) == -1)
     {
         mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_UnableToOpenDevice);
         return -1;
     }
-                                                        
-    if(arg) 
+
+    if(arg)
     {
 	mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_3DFX_UnknownSubdevice,arg);
 	return ENOSYS;

Modified: trunk/libvo/vo_aa.c
==============================================================================
--- trunk/libvo/vo_aa.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_aa.c	Wed May 13 04:58:57 2009	(r29305)
@@ -98,7 +98,7 @@ int aaopt_subcolor = AA_SPECIAL;
 
 void
 resize(void){
-    /* 
+    /*
      * this function is called by aa lib if windows resizes
      * further during init, because here we have to calculate
      * a little bit
@@ -118,7 +118,7 @@ resize(void){
     screen_h = image_height * aa_scrheight(c) / aa_imgheight(c);
     screen_x = (aa_scrwidth(c) - screen_w) / 2;
     screen_y = (aa_scrheight(c) - screen_h) / 2;
-    
+
     if(sws) sws_freeContext(sws);
     sws = sws_getContextFromCmdLine(src_width,src_height,image_format,
 				   image_width,image_height,IMGFMT_Y8);
@@ -170,7 +170,7 @@ osdpercent(int duration, int deko, int m
     int where;
     int i;
 
-    
+
     step=(float)aa_scrwidth(c) /(float)(max-min);
     where=(val-min)*step;
     osdmessage(duration,deko,"%s: %i%s",desc, val, unit);
@@ -184,7 +184,7 @@ osdpercent(int duration, int deko, int m
     if (where!=(aa_scrwidth(c)-1) ) posbar[aa_scrwidth(c)-1]='|';
 
     posbar[aa_scrwidth(c)]='\0';
- 
+
 }
 
 static void
@@ -195,7 +195,7 @@ printosdtext(void)
     memset(c->attrbuffer,0,osd_text_length);
     osd_text_length = 0;
   }
-    /* 
+    /*
      * places the mplayer status osd
      */
   if (vo_osd_text && vo_osd_text[0] != 0) {
@@ -213,7 +213,7 @@ printosdtext(void)
       memset(c->attrbuffer + len,0,osd_text_length - len);
     }
     osd_text_length = len;
-    
+
   }
 }
 
@@ -226,7 +226,7 @@ printosdprogbar(void){
 }
 static int
 config(uint32_t width, uint32_t height, uint32_t d_width,
-	    uint32_t d_height, uint32_t flags, char *title, 
+	    uint32_t d_height, uint32_t flags, char *title,
 	    uint32_t format) {
     /*
      * main init
@@ -278,7 +278,7 @@ config(uint32_t width, uint32_t height, 
     }
 
     /* say hello */
-    osdmessage(5, 1, "Welcome to ASCII ART MPlayer");  
+    osdmessage(5, 1, "Welcome to ASCII ART MPlayer");
 
     mp_msg(MSGT_VO,MSGL_V,"VO: [aa] screendriver:   %s\n", c->driver->name);
     mp_msg(MSGT_VO,MSGL_V,"VO: [aa] keyboarddriver: %s\n", c->kbddriver->name);
@@ -310,7 +310,7 @@ config(uint32_t width, uint32_t height, 
     return 0;
 }
 
-static int 
+static int
 query_format(uint32_t format) {
     /*
      * ...are we able to... ?
@@ -335,7 +335,7 @@ query_format(uint32_t format) {
     return 0;
 }
 
-static int 
+static int
 draw_frame(uint8_t *src[]) {
   int stride[MP_MAX_PLANES] = {0};
 
@@ -355,7 +355,7 @@ draw_frame(uint8_t *src[]) {
 
   sws_scale_ordered(sws,src,stride,0,src_height,image,image_stride);
 
-   /* Now 'ASCIInate' the image */ 
+   /* Now 'ASCIInate' the image */
   if (fast)
     aa_fastrender(c, screen_x, screen_y, screen_w + screen_x, screen_h + screen_y );
   else
@@ -364,8 +364,8 @@ draw_frame(uint8_t *src[]) {
   return 0;
 }
 
-static int 
-draw_slice(uint8_t *src[], int stride[], 
+static int
+draw_slice(uint8_t *src[], int stride[],
 	    int w, int h, int x, int y) {
 
   int dx1 = screen_x + (x * screen_w / src_width);
@@ -375,17 +375,17 @@ draw_slice(uint8_t *src[], int stride[],
 
   sws_scale_ordered(sws,src,stride,y,h,image,image_stride);
 
-  /* Now 'ASCIInate' the image */ 
+  /* Now 'ASCIInate' the image */
   if (fast)
     aa_fastrender(c, dx1, dy1, dx2, dy2 );
   else
     aa_render(c, p,dx1, dy1, dx2, dy2 );
 
-  
+
   return 0;
 }
 
-static void 
+static void
 flip_page(void) {
 
    /* do we have to put *our* (messages, progbar) osd to aa's txtbuf ? */
@@ -418,9 +418,9 @@ flip_page(void) {
     aa_flush(c);
 }
 
-static void 
+static void
 check_events(void) {
-    /* 
+    /*
      * any events?
      * called by show_image and mplayer
      */
@@ -497,7 +497,7 @@ check_events(void) {
     }
 }
 
-static void 
+static void
 uninit(void) {
     /*
      * THE END
@@ -670,15 +670,15 @@ static int preinit(const char *arg)
     FILE * fp;
     char fname[12];
 
-    if(arg) 
+    if(arg)
     {
         if (parse_suboptions(arg) != 0)
 	return ENOSYS;
     }
 
         /* initializing of aalib */
-    
-    hidis=aa_getfirst(&aa_displayrecommended); 
+
+    hidis=aa_getfirst(&aa_displayrecommended);
     if ( hidis==NULL ){
 	/* check /dev/vcsa<vt> */
 	/* check only, if no driver is explicit set */
@@ -702,7 +702,7 @@ static int preinit(const char *arg)
     if (c == NULL) {
 	mp_msg(MSGT_VO,MSGL_ERR,"Cannot initialize aalib\n");
 	return VO_ERROR;
-    }   
+    }
     if (!aa_autoinitkbd(c,0)) {
 	mp_msg(MSGT_VO,MSGL_ERR,"Cannot initialize keyboard\n");
 	aa_close(c);

Modified: trunk/libvo/vo_bl.c
==============================================================================
--- trunk/libvo/vo_bl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_bl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -53,7 +53,7 @@
 #include "m_option.h"
 #include "fastmemcpy.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"Blinkenlights driver: http://www.blinkenlights.de",
 	"bl",
@@ -140,7 +140,7 @@ static void bml_write_frame(bl_file_t *f
 	int j, k;
 	if( ! f->header_written )
 	{
-		fprintf(f->fp, 
+		fprintf(f->fp,
 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
 "<blm width=\"%d\" height=\"%d\" bits=\"%d\" channels=\"%d\">\n"
 "    <header>\n"
@@ -152,7 +152,7 @@ static void bml_write_frame(bl_file_t *f
 	fprintf(f->fp, "    <frame duration=\"%d\">\n", duration);
 	for (j = 0; j < bl->height; j++) {
 		fprintf(f->fp, "        <row>");
-		for (k = 0; k < bl->width; k++) 
+		for (k = 0; k < bl->width; k++)
 			fprintf(f->fp, "%02x", *(i + j * bl->width + k));
 		fprintf(f->fp, "</row>\n");
 	}
@@ -171,7 +171,7 @@ static int udp_init(bl_host_t *h) {
 
 	dest = gethostbyname(h->name);
 	if (!dest) {
-		mp_msg(MSGT_VO, MSGL_ERR, 
+		mp_msg(MSGT_VO, MSGL_ERR,
 				"unable to resolve host %s\n", h->name);
 		return 1;
 	}
@@ -185,12 +185,12 @@ static int udp_init(bl_host_t *h) {
 
 	h->fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
 	if (h->fd < 0) {
-		mp_msg(MSGT_VO, MSGL_ERR, 
+		mp_msg(MSGT_VO, MSGL_ERR,
 				"couldn't create socket for %s\n", h->name);
 		return 1;
 	}
 	if (connect(h->fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
-		mp_msg(MSGT_VO, MSGL_ERR, "couldn't connect socket for %s\n", 
+		mp_msg(MSGT_VO, MSGL_ERR, "couldn't connect socket for %s\n",
 				h->name);
 		close(h->fd);
 		return 1;
@@ -199,7 +199,7 @@ static int udp_init(bl_host_t *h) {
 }
 
 static void udp_send(bl_host_t *h) {
-	if (send(h->fd, bl_packet, bl_size, 0) != bl_size) 
+	if (send(h->fd, bl_packet, bl_size, 0) != bl_size)
 		mp_msg(MSGT_VO, MSGL_ERR, "unable to send to %s\n", h->name);
 }
 
@@ -220,7 +220,7 @@ static bl_properties_t bls[NO_BLS] = {
 	&bml_init, &bml_write_frame, &bml_close,
 	&udp_init, &udp_send, &udp_close } };
 
-static int config(uint32_t width, uint32_t height, uint32_t d_width, 
+static int config(uint32_t width, uint32_t height, uint32_t d_width,
 	uint32_t d_height, uint32_t flags, char *title, uint32_t format)
 {
 	void * ptr;
@@ -268,11 +268,11 @@ static int config(uint32_t width, uint32
 	if (width > bl->width) {
 		mp_msg(MSGT_VO, MSGL_ERR, "bl: width of movie too large %d > %d\n", width, bl->width);
 		return 1;
-	}	
+	}
 	if (height > bl->height) {
 		mp_msg(MSGT_VO, MSGL_ERR, "bl: height of movie too large %d > %d\n", height, bl->height);
 		return 1;
-	}	
+	}
 	if (!image) {
 		mp_msg(MSGT_VO, MSGL_ERR, "bl: image should be initialized, internal error\n");
 		return 1;
@@ -305,7 +305,7 @@ static int draw_frame(uint8_t * src[]) {
 }
 
 static int query_format(uint32_t format) {
-	if (format == bl->img_format) 
+	if (format == bl->img_format)
 		return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW;
 	return 0;
 }
@@ -352,7 +352,7 @@ static int preinit(const char *arg) {
 		mp_msg(MSGT_VO, MSGL_ERR, "bl: subdevice must be given, example: -vo bl:arcade:host=localhost:2323\n");
 		return 1;
 	}
-	
+
 	bl_subdevice = malloc(strlen(arg) + 1);
 	if (!bl_subdevice) {
 		mp_msg(MSGT_VO, MSGL_ERR, "bl: out of memory error\n");
@@ -400,7 +400,7 @@ static int preinit(const char *arg) {
 			if (*q == '\0') end = 1;
 			*q = '\0';
 			bl_files[no_bl_files].name = p;
-			mp_msg(MSGT_VO, MSGL_V, "blfile[%d]: %s\n", 
+			mp_msg(MSGT_VO, MSGL_V, "blfile[%d]: %s\n",
 					no_bl_files, p);
 			no_bl_files++;
 		} else if (!strncmp(p, "host=", 5)) {
@@ -421,10 +421,10 @@ static int preinit(const char *arg) {
 				if (*q == '\0') end = 1;
 				*q = '\0';
 				bl_hosts[no_bl_hosts].name = p;
-				bl_hosts[no_bl_hosts].port = 2323; 
+				bl_hosts[no_bl_hosts].port = 2323;
 			}
-			mp_msg(MSGT_VO, MSGL_V, 
-					"blhost[%d]: %s:%d\n", 
+			mp_msg(MSGT_VO, MSGL_V,
+					"blhost[%d]: %s:%d\n",
 					no_bl_hosts, p,
 					bl_hosts[no_bl_hosts].port);
 			no_bl_hosts++;
@@ -447,7 +447,7 @@ static int preinit(const char *arg) {
 		image = ((unsigned char*)bl_packet + 12); /* pointer to image data */
 		tmp = malloc(3); /* space for a pixel only */
 	}
-	
+
 	if (!bl_packet || !tmp) {
 		mp_msg(MSGT_VO, MSGL_ERR, "bl: out of memory error\n");
 		return 1;
@@ -459,11 +459,11 @@ static int preinit(const char *arg) {
 	bl_packet->maxval = htons((1 << bl->bpc) - 1);
 
 	/* open all files */
-	for (i = 0; i < no_bl_files; i++) 
+	for (i = 0; i < no_bl_files; i++)
 		if (bl->init_file(&bl_files[i])) return 1;
 
 	/* open all sockets */
-	for (i = 0; i < no_bl_hosts; i++) 
+	for (i = 0; i < no_bl_hosts; i++)
 		if (bl->init_connection(&bl_hosts[i])) return 1;
 
 

Modified: trunk/libvo/vo_caca.c
==============================================================================
--- trunk/libvo/vo_caca.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_caca.c	Wed May 13 04:58:57 2009	(r29305)
@@ -130,7 +130,7 @@ static void osdpercent(int duration, int
 	else
 	    posbar[i] = '-';
     }
-    
+
     if (where != 0)
 	posbar[0] = '|';
 
@@ -164,7 +164,7 @@ static int config(uint32_t width, uint32
     image_height = height;
     image_width = width;
     image_format = format;
-    
+
     showosdmessage = 0;
     posbar[0] = '\0';
 
@@ -194,7 +194,7 @@ static void flip_page(void)
 		posbar[0] = '\0';
 	} else {
 	    caca_putstr(osdx, osdy, osdmessagetext);
-	    
+
 	    if (*posbar)
 		caca_putstr(0, posbary, posbar);
 	}

Modified: trunk/libvo/vo_corevideo.h
==============================================================================
--- trunk/libvo/vo_corevideo.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_corevideo.h	Wed May 13 04:58:57 2009	(r29305)
@@ -42,21 +42,21 @@
 	NSWindow *window;
 	NSOpenGLContext *glContext;
 	NSEvent *event;
-	
+
 	//CoreVideo
 	CVPixelBufferRef frameBuffers[2];
 	CVOpenGLTextureCacheRef textureCache;
 	CVOpenGLTextureRef texture;
 	NSRect textureFrame;
-	
-    GLfloat	lowerLeft[2]; 
-    GLfloat lowerRight[2]; 
+
+    GLfloat	lowerLeft[2];
+    GLfloat lowerRight[2];
     GLfloat upperRight[2];
     GLfloat upperLeft[2];
-	
+
 	BOOL mouseHide;
 	float winSizeMult;
-	
+
 	//menu command id
 	NSMenuItem *kQuitCmd;
 	NSMenuItem *kHalfScreenCmd;
@@ -68,7 +68,7 @@
 	NSMenuItem *kAspectFullCmd;
 	NSMenuItem *kAspectWideCmd;
 	NSMenuItem *kPanScanCmd;
-	
+
 	//timestamps for disabling screensaver and mouse hiding
 	int lastMouseHide;
 	int lastScreensaverUpdate;

Modified: trunk/libvo/vo_corevideo.m
==============================================================================
--- trunk/libvo/vo_corevideo.m	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_corevideo.m	Wed May 13 04:58:57 2009	(r29305)
@@ -93,7 +93,7 @@ static int int_pause = 0;
 
 static BOOL isLeopardOrLater;
 
-static vo_info_t info = 
+static vo_info_t info =
 {
 	"Mac OS X Core Video",
 	"corevideo",
@@ -118,7 +118,7 @@ static void draw_alpha(int x0, int y0, i
 
 static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
 {
-	
+
 	//init screen
 	screen_array = [NSScreen screens];
 	if(screen_id < (int)[screen_array count])
@@ -138,7 +138,7 @@ static int config(uint32_t width, uint32
 	//misc mplayer setup
 	image_width = width;
 	image_height = height;
-	switch (image_format) 
+	switch (image_format)
 	{
 		case IMGFMT_BGR32:
 		case IMGFMT_RGB32:
@@ -149,9 +149,9 @@ static int config(uint32_t width, uint32
 			break;
 	}
 	image_bytes = (image_depth + 7) / 8;
-		
+
 	if(!shared_buffer)
-	{		
+	{
 		image_data = malloc(image_width*image_height*image_bytes);
 		image_datas[0] = image_data;
 		if (vo_doublebuffering)
@@ -159,19 +159,19 @@ static int config(uint32_t width, uint32
 		image_page = 0;
 
 		monitor_aspect = (float)screen_frame.size.width/(float)screen_frame.size.height;
-		
+
 		//set aspect
 		panscan_init();
 		aspect_save_orig(width,height);
 		aspect_save_prescale(d_width,d_height);
 		aspect_save_screenres(screen_frame.size.width, screen_frame.size.height);
 		aspect((int *)&d_width,(int *)&d_height,A_NOZOOM);
-		
+
 		movie_aspect = (float)d_width/(float)d_height;
 		old_movie_aspect = movie_aspect;
-		
+
 		vo_fs = flags & VOFLAG_FULLSCREEN;
-			
+
 		//config OpenGL View
 		[mpGLView config];
 		[mpGLView reshape];
@@ -180,38 +180,38 @@ static int config(uint32_t width, uint32
 	{
 		mp_msg(MSGT_VO, MSGL_INFO, "[vo_corevideo] writing output to a shared buffer "
 				"named \"%s\"\n",buffer_name);
-		
+
 		movie_aspect = (float)d_width/(float)d_height;
-		
+
 		// create shared memory
 		shm_fd = shm_open(buffer_name, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
 		if (shm_fd == -1)
 		{
-			mp_msg(MSGT_VO, MSGL_FATAL, 
+			mp_msg(MSGT_VO, MSGL_FATAL,
 				   "[vo_corevideo] failed to open shared memory. Error: %s\n", strerror(errno));
 			return 1;
 		}
-		
-		
+
+
 		if (ftruncate(shm_fd, image_width*image_height*image_bytes) == -1)
 		{
-			mp_msg(MSGT_VO, MSGL_FATAL, 
+			mp_msg(MSGT_VO, MSGL_FATAL,
 				   "[vo_corevideo] failed to size shared memory, possibly already in use. Error: %s\n", strerror(errno));
 			shm_unlink(buffer_name);
 			return 1;
 		}
-		
+
 		image_data = mmap(NULL, image_width*image_height*image_bytes,
 					PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0);
-		
+
 		if (image_data == MAP_FAILED)
 		{
-			mp_msg(MSGT_VO, MSGL_FATAL, 
+			mp_msg(MSGT_VO, MSGL_FATAL,
 				   "[vo_corevideo] failed to map shared memory. Error: %s\n", strerror(errno));
 			shm_unlink(buffer_name);
 			return 1;
-		}		
-		
+		}
+
 		//connect to mplayerosx
 		mplayerosxProxy=[NSConnection rootProxyForConnectionWithRegisteredName:[NSString stringWithCString:buffer_name] host:nil];
 		if ([mplayerosxProxy conformsToProtocol:@protocol(MPlayerOSXVOProto)]) {
@@ -271,20 +271,20 @@ static int draw_frame(uint8_t *src[])
 			memcpy_pic(image_data, src[0], image_width * 2, image_height, image_width * 2, image_width * 2);
 			break;
 	}
-	
+
 	return 0;
 }
 
 static int query_format(uint32_t format)
 {
 	image_format = format;
-	
+
     switch(format)
 	{
 		case IMGFMT_YUY2:
 			pixelFormat = kYUVSPixelFormat;
 			return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN;
-		
+
 		case IMGFMT_RGB32:
 		case IMGFMT_BGR32:
 			pixelFormat = k32ARGBPixelFormat;
@@ -301,18 +301,18 @@ static void uninit(void)
 		mplayerosxProto = nil;
 		[mplayerosxProxy release];
 		mplayerosxProxy = nil;
-		
+
 		if (munmap(image_data, image_width*image_height*image_bytes) == -1)
 			mp_msg(MSGT_VO, MSGL_FATAL, "[vo_corevideo] uninit: munmap failed. Error: %s\n", strerror(errno));
-		
+
 		if (shm_unlink(buffer_name) == -1)
 			mp_msg(MSGT_VO, MSGL_FATAL, "[vo_corevideo] uninit: shm_unlink failed. Error: %s\n", strerror(errno));
-		
+
 	}
 
     SetSystemUIMode( kUIModeNormal, 0);
     CGDisplayShowCursor(kCGDirectMainDisplay);
-    
+
     if(mpGLView)
     {
         NSAutoreleasePool *finalPool;
@@ -331,7 +331,7 @@ static void uninit(void)
         image_datas[1] = NULL;
         image_data = NULL;
     }
-    
+
     if (buffer_name) free(buffer_name);
     buffer_name = NULL;
 }
@@ -345,12 +345,12 @@ static opt_t subopts[] = {
 
 static int preinit(const char *arg)
 {
-	
+
 	// set defaults
 	screen_id = -1;
 	shared_buffer = false;
 	buffer_name = NULL;
-	
+
 	if (subopt_parse(arg, subopts) != 0) {
 		mp_msg(MSGT_VO, MSGL_FATAL,
 				"\n-vo corevideo command line help:\n"
@@ -372,16 +372,16 @@ static int preinit(const char *arg)
 	autoreleasepool = [[NSAutoreleasePool alloc] init];
 	NSApp = [NSApplication sharedApplication];
 	isLeopardOrLater = floor(NSAppKitVersionNumber) > 824;
-	
+
 	if (!buffer_name)
 		buffer_name = strdup(DEFAULT_BUFFER_NAME);
 	else
 		shared_buffer = true;
-	
+
 	if(!shared_buffer)
 	{
 		#if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL)
-		//this chunk of code is heavily based off SDL_macosx.m from SDL 
+		//this chunk of code is heavily based off SDL_macosx.m from SDL
 		ProcessSerialNumber myProc, frProc;
 		Boolean sameProc;
 
@@ -403,11 +403,11 @@ static int preinit(const char *arg)
 			mpGLView = [[MPlayerOpenGLView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) pixelFormat:[MPlayerOpenGLView defaultPixelFormat]];
 			[mpGLView autorelease];
 		}
-	
+
 		[mpGLView display];
 		[mpGLView preinit];
 	}
-	
+
     return 0;
 }
 
@@ -435,9 +435,9 @@ static int control(uint32_t request, voi
 {
 	//init menu
 	[self initMenu];
-	
+
 	//create window
-	window = [[NSWindow alloc]	initWithContentRect:NSMakeRect(0, 0, 100, 100) 
+	window = [[NSWindow alloc]	initWithContentRect:NSMakeRect(0, 0, 100, 100)
 								styleMask:NSTitledWindowMask|NSTexturedBackgroundWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask|NSResizableWindowMask
 								backing:NSBackingStoreBuffered defer:NO];
 
@@ -447,7 +447,7 @@ static int control(uint32_t request, voi
 	[window setInitialFirstResponder:mpGLView];
 	[window setAcceptsMouseMovedEvents:YES];
     [window setTitle:@"MPlayer - The Movie Player"];
-	
+
 	isFullscreen = 0;
 	winSizeMult = 1;
 }
@@ -456,25 +456,25 @@ static int control(uint32_t request, voi
 {
 	uint32_t d_width;
 	uint32_t d_height;
-	
+
 	GLint swapInterval = 1;
-	
+
 	NSRect frame;
 	CVReturn error = kCVReturnSuccess;
-	
+
 	//config window
 	aspect((int *)&d_width, (int *)&d_height,A_NOZOOM);
 	frame = NSMakeRect(0, 0, d_width, d_height);
 	[window setContentSize: frame.size];
-	
+
 	//create OpenGL Context
-	glContext = [[NSOpenGLContext alloc] initWithFormat:[NSOpenGLView defaultPixelFormat] shareContext:nil];	
-	
+	glContext = [[NSOpenGLContext alloc] initWithFormat:[NSOpenGLView defaultPixelFormat] shareContext:nil];
+
 	[self setOpenGLContext:glContext];
 	[glContext setValues:&swapInterval forParameter:NSOpenGLCPSwapInterval];
 	[glContext setView:self];
-	[glContext makeCurrentContext];	
-	
+	[glContext makeCurrentContext];
+
 	error = CVPixelBufferCreateWithBytes(NULL, image_width, image_height, pixelFormat, image_datas[0], image_width*image_bytes, NULL, NULL, NULL, &frameBuffers[0]);
 	if(error != kCVReturnSuccess)
 		mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create Pixel Buffer(%d)\n", error);
@@ -483,25 +483,25 @@ static int control(uint32_t request, voi
 		if(error != kCVReturnSuccess)
 			mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create Pixel Double Buffer(%d)\n", error);
 	}
-	
+
 	error = CVOpenGLTextureCacheCreate(NULL, 0, [glContext CGLContextObj], [[self pixelFormat] CGLPixelFormatObj], 0, &textureCache);
 	if(error != kCVReturnSuccess)
 		mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create OpenGL texture Cache(%d)\n", error);
-	
+
 	error = CVOpenGLTextureCacheCreateTextureFromImage(NULL, textureCache, frameBuffers[image_page], 0, &texture);
 	if(error != kCVReturnSuccess)
 		mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create OpenGL texture(%d)\n", error);
-	
+
 	//show window
 	[window center];
 	[window makeKeyAndOrderFront:mpGLView];
-	
+
 	if(vo_rootwin)
-		[mpGLView rootwin];	
+		[mpGLView rootwin];
 
 	if(vo_fs)
 		[mpGLView fullscreen: NO];
-	
+
 	if(vo_ontop)
 		[mpGLView ontop];
 }
@@ -513,7 +513,7 @@ static int control(uint32_t request, voi
 {
 	NSMenu *menu, *aspectMenu;
 	NSMenuItem *menuItem;
-	
+
 	[NSApp setMainMenu:[[NSMenu alloc] init]];
 
 //Create Movie Menu
@@ -527,7 +527,7 @@ static int control(uint32_t request, voi
 	menuItem = [[NSMenuItem alloc] initWithTitle:@"Full Size" action:@selector(menuAction:) keyEquivalent:@"f"]; [menu addItem:menuItem];
 	kFullScreenCmd = menuItem;
 	menuItem = (NSMenuItem *)[NSMenuItem separatorItem]; [menu addItem:menuItem];
-	
+
 		aspectMenu = [[NSMenu alloc] initWithTitle:@"Aspect Ratio"];
 		menuItem = [[NSMenuItem alloc] initWithTitle:@"Keep" action:@selector(menuAction:) keyEquivalent:@""]; [aspectMenu addItem:menuItem];
 		if(vo_keepaspect) [menuItem setState:NSOnState];
@@ -546,15 +546,15 @@ static int control(uint32_t request, voi
 		[menuItem setSubmenu:aspectMenu];
 		[menu addItem:menuItem];
 		[aspectMenu release];
-	
+
 	//Add to menubar
 	menuItem = [[NSMenuItem alloc] initWithTitle:@"Movie" action:nil keyEquivalent:@""];
 	[menuItem setSubmenu:menu];
 	[[NSApp mainMenu] addItem:menuItem];
-	
+
 //Create Window Menu
 	menu = [[NSMenu alloc] initWithTitle:@"Window"];
-	
+
 	menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"]; [menu addItem:menuItem];
 	menuItem = [[NSMenuItem alloc] initWithTitle:@"Zoom" action:@selector(performZoom:) keyEquivalent:@""]; [menu addItem:menuItem];
 
@@ -563,7 +563,7 @@ static int control(uint32_t request, voi
 	[menuItem setSubmenu:menu];
 	[[NSApp mainMenu] addItem:menuItem];
 	[NSApp setWindowsMenu:menu];
-	
+
 	[menu release];
 	[menuItem release];
 }
@@ -576,20 +576,20 @@ static int control(uint32_t request, voi
 	uint32_t d_width;
 	uint32_t d_height;
 	NSRect frame;
-	
+
 	aspect((int *)&d_width, (int *)&d_height,A_NOZOOM);
-	
+
 	if(sender == kQuitCmd)
 	{
 		mplayer_put_key(KEY_ESC);
 	}
-	
+
 	if(sender == kHalfScreenCmd)
 	{
 		if(isFullscreen) {
 			vo_fs = (!(vo_fs)); [self fullscreen:NO];
 		}
-		
+
 		winSizeMult = 0.5;
 		frame.size.width = (d_width*winSizeMult);
 		frame.size.height = ((d_width/movie_aspect)*winSizeMult);
@@ -601,7 +601,7 @@ static int control(uint32_t request, voi
 		if(isFullscreen) {
 			vo_fs = (!(vo_fs)); [self fullscreen:NO];
 		}
-		
+
 		winSizeMult = 1;
 		frame.size.width = d_width;
 		frame.size.height = d_width/movie_aspect;
@@ -613,7 +613,7 @@ static int control(uint32_t request, voi
 		if(isFullscreen) {
 			vo_fs = (!(vo_fs)); [self fullscreen:NO];
 		}
-		
+
 		winSizeMult = 2;
 		frame.size.width = d_width*winSizeMult;
 		frame.size.height = (d_width/movie_aspect)*winSizeMult;
@@ -633,10 +633,10 @@ static int control(uint32_t request, voi
 			[kKeepAspectCmd setState:NSOnState];
 		else
 			[kKeepAspectCmd setState:NSOffState];
-			
+
 		[self reshape];
 	}
-	
+
 	if(sender == kPanScanCmd)
 	{
 		vo_panscan = (!(vo_panscan));
@@ -644,14 +644,14 @@ static int control(uint32_t request, voi
 			[kPanScanCmd setState:NSOnState];
 		else
 			[kPanScanCmd setState:NSOffState];
-			
+
 		[self panscan];
 	}
-	
+
 	if(sender == kAspectOrgCmd)
 	{
 		movie_aspect = old_movie_aspect;
-		
+
 		if(isFullscreen)
 		{
 			[self reshape];
@@ -664,11 +664,11 @@ static int control(uint32_t request, voi
 			[self reshape];
 		}
 	}
-	
+
 	if(sender == kAspectFullCmd)
 	{
 		movie_aspect = 4.0f/3.0f;
-		
+
 		if(isFullscreen)
 		{
 			[self reshape];
@@ -681,7 +681,7 @@ static int control(uint32_t request, voi
 			[self reshape];
 		}
 	}
-		
+
 	if(sender == kAspectWideCmd)
 	{
 		movie_aspect = 16.0f/9.0f;
@@ -705,7 +705,7 @@ static int control(uint32_t request, voi
 */
 - (void)prepareOpenGL
 {
-	glEnable(GL_BLEND); 
+	glEnable(GL_BLEND);
 	glDisable(GL_DEPTH_TEST);
 	glDepthMask(GL_FALSE);
 	glDisable(GL_CULL_FACE);
@@ -714,7 +714,7 @@ static int control(uint32_t request, voi
 
 /*
 	reshape OpenGL viewport
-*/ 
+*/
 - (void)reshape
 {
 	uint32_t d_width;
@@ -722,25 +722,25 @@ static int control(uint32_t request, voi
 	float aspectX;
 	float aspectY;
 	int padding = 0;
-	
+
 	NSRect frame = [self frame];
-	
+
 	glViewport(0, 0, frame.size.width, frame.size.height);
 	glMatrixMode(GL_PROJECTION);
 	glLoadIdentity();
 	glOrtho(0, frame.size.width, frame.size.height, 0, -1.0, 1.0);
 	glMatrixMode(GL_MODELVIEW);
 	glLoadIdentity();
-	
+
 	//set texture frame
 	if(vo_keepaspect)
 	{
 		aspect( (int *)&d_width, (int *)&d_height, A_NOZOOM);
 		d_height = ((float)d_width/movie_aspect);
-		
+
 		aspectX = (float)((float)frame.size.width/(float)d_width);
 		aspectY = (float)((float)(frame.size.height)/(float)d_height);
-		
+
 		if((d_height*aspectX)>(frame.size.height))
 		{
 			padding = (frame.size.width - d_width*aspectY)/2;
@@ -762,16 +762,16 @@ static int control(uint32_t request, voi
 
 /*
 	Render frame
-*/ 
+*/
 - (void) render
 {
 	int curTime;
 
-	glClear(GL_COLOR_BUFFER_BIT);	
-	
+	glClear(GL_COLOR_BUFFER_BIT);
+
 	glEnable(CVOpenGLTextureGetTarget(texture));
 	glBindTexture(CVOpenGLTextureGetTarget(texture), CVOpenGLTextureGetName(texture));
-	
+
 	glColor3f(1,1,1);
 	glBegin(GL_QUADS);
 	glTexCoord2f(upperLeft[0], upperLeft[1]); glVertex2i(	textureFrame.origin.x-(vo_panscan_x >> 1), textureFrame.origin.y-(vo_panscan_y >> 1));
@@ -780,12 +780,12 @@ static int control(uint32_t request, voi
 	glTexCoord2f(upperRight[0], upperRight[1]); glVertex2i(NSMaxX(textureFrame)+(vo_panscan_x >> 1), textureFrame.origin.y-(vo_panscan_y >> 1));
 	glEnd();
 	glDisable(CVOpenGLTextureGetTarget(texture));
-	
+
 	//render resize box
 	if(!isFullscreen)
 	{
 		NSRect frame = [self frame];
-		
+
 		glBegin(GL_LINES);
 		glColor4f(0.2, 0.2, 0.2, 0.5);
 		glVertex2i(frame.size.width-1, frame.size.height-1); glVertex2i(frame.size.width-1, frame.size.height-1);
@@ -796,16 +796,16 @@ static int control(uint32_t request, voi
 		glVertex2i(frame.size.width-1, frame.size.height-2); glVertex2i(frame.size.width-2, frame.size.height-1);
 		glVertex2i(frame.size.width-1, frame.size.height-6); glVertex2i(frame.size.width-6, frame.size.height-1);
 		glVertex2i(frame.size.width-1, frame.size.height-10); glVertex2i(frame.size.width-10, frame.size.height-1);
-		
+
 		glColor4f(0.6, 0.6, 0.6, 0.5);
 		glVertex2i(frame.size.width-1, frame.size.height-3); glVertex2i(frame.size.width-3, frame.size.height-1);
 		glVertex2i(frame.size.width-1, frame.size.height-7); glVertex2i(frame.size.width-7, frame.size.height-1);
 		glVertex2i(frame.size.width-1, frame.size.height-11); glVertex2i(frame.size.width-11, frame.size.height-1);
 		glEnd();
 	}
-	
+
 	glFlush();
-	
+
 	curTime  = TickCount()/60;
 
 	//automatically hide mouse cursor (and future on-screen control?)
@@ -818,7 +818,7 @@ static int control(uint32_t request, voi
 			lastMouseHide = curTime;
 		}
 	}
-	
+
 	//update activity every 30 seconds to prevent
 	//screensaver from starting up.
 	if( ((curTime - lastScreensaverUpdate) >= 30) || (lastScreensaverUpdate == 0) )
@@ -829,12 +829,12 @@ static int control(uint32_t request, voi
 }
 
 /*
-	Create OpenGL texture from current frame & set texco 
-*/ 
+	Create OpenGL texture from current frame & set texco
+*/
 - (void) setCurrentTexture
 {
 	CVReturn error = kCVReturnSuccess;
-	
+
 	CVOpenGLTextureRelease(texture);
 	error = CVOpenGLTextureCacheCreateTextureFromImage(NULL, textureCache, frameBuffers[image_page], 0, &texture);
 	if(error != kCVReturnSuccess)
@@ -845,7 +845,7 @@ static int control(uint32_t request, voi
 
 /*
 	redraw win rect
-*/ 
+*/
 - (void) drawRect: (NSRect *) bounds
 {
 	[self render];
@@ -858,9 +858,9 @@ static int control(uint32_t request, voi
 {
 	static NSRect old_frame;
 	static NSRect old_view_frame;
-	
+
 	panscan_calc();
-			
+
 	//go fullscreen
 	if(vo_fs)
 	{
@@ -870,7 +870,7 @@ static int control(uint32_t request, voi
 			CGDisplayHideCursor(kCGDirectMainDisplay);
 			mouseHide = YES;
 		}
-		
+
 		old_frame = [window frame];	//save main window size & position
 		if(screen_id >= 0)
 			screen_frame = [screen_handle frame];
@@ -882,7 +882,7 @@ static int control(uint32_t request, voi
 
 		[window setFrame:screen_frame display:YES animate:animate]; //zoom-in window with nice useless sfx
 		old_view_frame = [self bounds];
-		
+
 		//fix origin for multi screen setup
 		screen_frame.origin.x = 0;
 		screen_frame.origin.y = 0;
@@ -892,9 +892,9 @@ static int control(uint32_t request, voi
 		isFullscreen = 1;
 	}
 	else
-	{	
+	{
 		SetSystemUIMode( kUIModeNormal, 0);
-		
+
 		isFullscreen = 0;
 		CGDisplayShowCursor(kCGDirectMainDisplay);
 		mouseHide = NO;
@@ -952,7 +952,7 @@ static int control(uint32_t request, voi
 
 /*
 	Check event for new event
-*/ 
+*/
 - (void) check_events
 {
 	event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate dateWithTimeIntervalSinceNow:0.0001] inMode:NSEventTrackingRunLoopMode dequeue:YES];
@@ -990,7 +990,7 @@ static int control(uint32_t request, voi
 - (void) keyDown: (NSEvent *) theEvent
 {
 	unsigned int key;
-	
+
 	switch([theEvent keyCode])
     {
 		case 0x34:
@@ -1020,7 +1020,7 @@ static int control(uint32_t request, voi
 		case 0x4E: key = '-'; break;
 		case 0x30: key = KEY_TAB; break;
 		case 0x74: key = KEY_PAGE_UP; break;
-		case 0x79: key = KEY_PAGE_DOWN; break;  
+		case 0x79: key = KEY_PAGE_DOWN; break;
 		case 0x7B: key = KEY_LEFT; break;
 		case 0x7C: key = KEY_RIGHT; break;
 		case 0x7D: key = KEY_DOWN; break;
@@ -1132,7 +1132,7 @@ static int control(uint32_t request, voi
 
 /*
 	NSResponder
-*/ 
+*/
 - (BOOL) acceptsFirstResponder
 {
 	return YES;

Modified: trunk/libvo/vo_cvidix.c
==============================================================================
--- trunk/libvo/vo_cvidix.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_cvidix.c	Wed May 13 04:58:57 2009	(r29305)
@@ -61,7 +61,7 @@ static vidix_grkey_t gr_key;
 
 static uint32_t setup_vidix(void){
   int x=vo_dx,y=vo_dy;
-  aspect(&vo_dwidth,&vo_dheight,vo_fs ? A_ZOOM : A_NOZOOM);  
+  aspect(&vo_dwidth,&vo_dheight,vo_fs ? A_ZOOM : A_NOZOOM);
   if(vo_fs || center){
     if(vo_dwidth <= vo_screenwidth)x = (vo_screenwidth - vo_dwidth)/2;
     else x=0;
@@ -183,7 +183,7 @@ static int control(uint32_t request, voi
     if(vo_fs)vo_fs=0;
     else vo_fs=1;
     setup_vidix();
-    return VO_TRUE;      
+    return VO_TRUE;
   case VOCTRL_SET_EQUALIZER:
     {
       va_list ap;
@@ -202,6 +202,6 @@ static int control(uint32_t request, voi
       va_end(ap);
       return vidix_control(request, data, value);
     }
-  }  
+  }
   return vidix_control(request, data);
 }

Modified: trunk/libvo/vo_dga.c
==============================================================================
--- trunk/libvo/vo_dga.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_dga.c	Wed May 13 04:58:57 2009	(r29305)
@@ -81,7 +81,7 @@ struct vd_modes
 static struct vd_modes vo_dga_modes[] = {
     // these entries describe HW modes
     // however, we use the same entries to tell mplayer what we support
-    // so the last two values describe, which HW mode to use and which conversion 
+    // so the last two values describe, which HW mode to use and which conversion
     // function to use for a mode that is not supported by HW
 
     {0, 0, 0, 0, 0, 0, 0, 0, 0,},
@@ -193,7 +193,7 @@ static XF86VidModeModeInfo **vo_dga_vidm
 
 static int vo_dga_src_format;
 static int vo_dga_width;        // bytes per line in framebuffer
-static int vo_dga_vp_width;     // visible pixels per line in 
+static int vo_dga_vp_width;     // visible pixels per line in
 
                                          // framebuffer
 static int vo_dga_vp_height;    // visible lines in framebuffer
@@ -203,12 +203,12 @@ static int vo_dga_src_height;   // heigh
 static int vo_dga_src_offset = 0;       // offset in src
 static int vo_dga_vp_offset = 0;        // offset in dest
 static int vo_dga_bytes_per_line;       // bytes per line to copy
-static int vo_dga_vp_skip;      // dto. for dest 
-static int vo_dga_lines;        // num of lines to copy                                
+static int vo_dga_vp_skip;      // dto. for dest
+static int vo_dga_lines;        // num of lines to copy
 static int vo_dga_hw_mode = 0;  // index in mode list that is actually
 
                                          // used by framebuffer
-static int vo_dga_src_mode = 0; // index in mode list that is used by 
+static int vo_dga_src_mode = 0; // index in mode list that is used by
 
                                          // codec
 static int vo_dga_XServer_mode = 0;     // index in mode list for resolution
@@ -278,7 +278,7 @@ static void draw_alpha(int x0, int y0, i
 
 
 
-// quick & dirty - for debugging only 
+// quick & dirty - for debugging only
 #if 0
 static void fillblock(char *strt, int yoff, int lines, int val)
 {
@@ -410,7 +410,7 @@ static void uninit(void)
         }
 #else
         XF86DGADirectVideo(mDisplay, mScreen, 0);
-        // first disable DirectVideo and then switch mode back!     
+        // first disable DirectVideo and then switch mode back!
 #ifdef CONFIG_XF86VM
         if (vo_dga_vidmodes != NULL)
         {
@@ -434,7 +434,7 @@ static void uninit(void)
 
 
 //----------------------------------------------------------
-// TODO: check for larger maxy value 
+// TODO: check for larger maxy value
 // (useful for double buffering!!!)
 
 static int check_res(int num, int x, int y, int bpp,
@@ -449,11 +449,11 @@ static int check_res(int num, int x, int
     if ((new_x >= x) && (new_y >= y) && (
                                             // prefer a better resolution either in X or in Y
                                             // as long as the other dimension is at least the same
-                                            // 
-                                            // hmm ... MAYBE it would be more clever to focus on the 
-                                            // x-resolution; I had 712x400 and 640x480 and the movie 
+                                            //
+                                            // hmm ... MAYBE it would be more clever to focus on the
+                                            // x-resolution; I had 712x400 and 640x480 and the movie
                                             // was 640x360; 640x480 would be the 'right thing' here
-                                            // but since 712x400 was queried first I got this one. 
+                                            // but since 712x400 was queried first I got this one.
                                             // I think there should be a cmd-line switch to let the
                                             // user choose the mode he likes ...   (acki2)
                                             (((new_x < *old_x) &&
@@ -471,8 +471,8 @@ static int check_res(int num, int x, int
                                                || (*old_vbi >= 50
                                                    && new_vbi < *old_vbi
                                                    && new_vbi >= 50))) ||
-                                             // if everything is equal, then use the mode with the lower 
-                                             // stride 
+                                             // if everything is equal, then use the mode with the lower
+                                             // stride
                                              ((new_x == *old_x) &&
                                               (new_y == *old_y) &&
                                               (new_vbi == *old_vbi) &&
@@ -767,7 +767,7 @@ static int config(uint32_t width, uint32
 #endif
         return 1;
     }
-// now let's start the DGA thing 
+// now let's start the DGA thing
 
     if (!vo_config_count || width != prev_width || height != prev_height)
     {
@@ -899,9 +899,9 @@ static int preinit(const char *arg)
                    "resolution supported by DGA driver!\n");
 #endif
         }                       //else{
-        //  mp_msg(MSGT_VO, MSGL_V, "vo_dga: X running at: %s\n", 
+        //  mp_msg(MSGT_VO, MSGL_V, "vo_dga: X running at: %s\n",
         //            vd_GetModeString(vo_dga_XServer_mode));
-        //}                                
+        //}
 
 #ifdef CONFIG_DGA2
         vo_modelines = XDGAQueryModes(mDisplay, mScreen, &vo_modecount);

Modified: trunk/libvo/vo_directfb2.c
==============================================================================
--- trunk/libvo/vo_directfb2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_directfb2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -107,7 +107,7 @@ static int primarylocked = 0;
 static IDirectFBSurface *frame = NULL;
 static int framelocked = 0;
 // flipping mode flag (layer/surface)
-static int flipping = 0; 
+static int flipping = 0;
 // scaling flag
 static int stretch = 0;
 // picture position
@@ -227,21 +227,21 @@ static int preinit(const char *arg)
 	    char *arg1 = malloc(dfb_params.len + 7);
 	    char* argv[3];
 	    char ** a;
-	    
+
 	    a = &argv[0];
-	    
+
 	    strcpy(arg1, "--dfb:");
 	    strncat(arg1, dfb_params.str, dfb_params.len);
 
 	    argv[0]=arg0;
 	    argv[1]=arg1;
 	    argv[2]=NULL;
-	    
+
     	    DFBCHECK (DirectFBInit (&argc,&a));
 
 	    free(arg1);
 	} else {
-	
+
         DFBCHECK (DirectFBInit (NULL,NULL));
 	}
 
@@ -249,14 +249,14 @@ static int preinit(const char *arg)
 	    (directfb_minor_version <= 9) &&
 	    (directfb_micro_version < 13)))
 	{
-	    mp_msg(MSGT_VO, MSGL_ERR,"DirectFB: Unsupported DirectFB version\n");	
+	    mp_msg(MSGT_VO, MSGL_ERR,"DirectFB: Unsupported DirectFB version\n");
 	    return 1;
 	}
 
   /*
    * (set options)
    */
-	
+
 //	uncomment this if you do not wish to create a new VT for DirectFB
 //        DFBCHECK (DirectFBSetOption ("no-vt-switch",""));
 
@@ -280,11 +280,11 @@ static int preinit(const char *arg)
             mp_msg(MSGT_VO, MSGL_WARN,"DirectFB: Warning - cannot switch to fullscreen mode");
         };
 #endif
-	
+
   /*
    * (Get keyboard)
    */
-    
+
   if (use_input) {
     ret = dfb->GetInputDevice (dfb, DIDID_KEYBOARD, &keyboard);
     if (ret==DFB_OK) {
@@ -293,7 +293,7 @@ static int preinit(const char *arg)
 	keyboard = NULL;
 	mp_msg(MSGT_VO, MSGL_ERR,"DirectFB: Keyboard init FAILED\n");
     }
-  } 
+  }
 
 
   /*
@@ -334,10 +334,10 @@ DFBSurfacePixelFormat convformat(uint32_
 //    	    case IMGFMT_IYUV:  return  DSPF_IYUV; break;
     	    case IMGFMT_RGB8:  return  DSPF_RGB332; break;
     	    case IMGFMT_BGR8:  return  DSPF_RGB332; break;
-	
+
 	    default: return 0;
 	}
-return 0;	
+return 0;
 }
 
 typedef struct enum1_s {
@@ -357,9 +357,9 @@ DFBEnumerationResult test_format_callbac
      enum1_t *params =(enum1_t *)data;
      IDirectFBDisplayLayer *layer;
      DFBResult ret;
-    
+
      if ((layer_id == -1 )||(layer_id == id)) {
-    
+
      ret = dfb->GetDisplayLayer( dfb, id, &layer);
      if (ret) {
                DirectFBError( "dfb->GetDisplayLayer failed", ret );
@@ -379,15 +379,15 @@ DFBEnumerationResult test_format_callbac
 	dlc.pixelformat = convformat(params->format);
 
 	layer->SetOpacity(layer,0);
-             
+
 	ret = layer->TestConfiguration(layer,&dlc,NULL);
- 
+
         layer->Release(layer);
 
 	mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: Test format - layer %i scale/pos %i\n",id,(desc.caps & DLCAPS_SCREEN_LOCATION));
-     
+
 	if (ret==DFB_OK) {
-//	    printf("Test OK\n");     
+//	    printf("Test OK\n");
 	    if (params->result) {
 	        if  ((!params->scale) && (desc.caps & DLCAPS_SCREEN_LOCATION)) {
 		    params->scale=1;
@@ -419,7 +419,7 @@ static int query_format(uint32_t format)
 //	if (format == IMGFMT_YV12) return 0;
 //	if (format == IMGFMT_I420) return 0;
 	if (format == IMGFMT_IYUV) return 0;
-	
+
 	mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: Format query: %s\n",vo_format_name(format));
 
 	params.format=format;
@@ -506,7 +506,7 @@ static int config(uint32_t s_width, uint
 
 	mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: Config entered [%ix%i]\n",s_width,s_height);
 	mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: With requested format: %s\n",vo_format_name(format));
-	
+
 // initial cleanup
 	if (frame) {
 	    frame->Release(frame);
@@ -575,7 +575,7 @@ static int config(uint32_t s_width, uint
 	    if (ret==DFB_OK) {
 		primary->Clear(primary,0,0,0,0xff);
 		ret = primary->Flip(primary,NULL,0);
-		if (ret==DFB_OK) { 
+		if (ret==DFB_OK) {
 		    primary->Clear(primary,0,0,0,0xff);
 		}
     	    primary->Release(primary);
@@ -608,7 +608,7 @@ static int config(uint32_t s_width, uint
 	// setup layer
 
         DFBCHECK (dfb->GetDisplayLayer( dfb, params.id, &layer));
-	
+
 #if DIRECTFBVERSION > DFB_VERSION(0,9,16)
         mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: Config - switching layer to exclusive mode\n");
 	ret = layer->SetCooperativeLevel (layer, DLSCL_EXCLUSIVE);
@@ -663,7 +663,7 @@ static int config(uint32_t s_width, uint
 
 		// ugly fbdev workaround - try to switch pixelformat via videomode change
 		switch (dlc.pixelformat) {
-		    case DSPF_ARGB: 
+		    case DSPF_ARGB:
 		    case DSPF_RGB32: bpp=32;break;
     		    case DSPF_RGB24: bpp=24;break;
 	            case DSPF_RGB16: bpp=16;break;
@@ -674,7 +674,7 @@ static int config(uint32_t s_width, uint
 #endif
 		    case DSPF_RGB332 : bpp=8;break;
 		}
-		
+
 		switch (dlc.pixelformat) {
 		    case DSPF_ARGB:
 		    case DSPF_RGB32:
@@ -713,9 +713,9 @@ static int config(uint32_t s_width, uint
 					}
 
 				    break;
-				    
-		    default: return CONFIG_ERROR;	
-			
+
+		    default: return CONFIG_ERROR;
+
 		};
 	    };
 	};
@@ -728,10 +728,10 @@ static int config(uint32_t s_width, uint
 	if (buffer_mode > 2) {
 	    dlc.buffermode = DLBM_TRIPLE;
 	    ret = layer->SetConfiguration( layer, &dlc );
-	} else { 
+	} else {
 	    ret=!DFB_OK;
 	}
-	
+
 	if (ret!=DFB_OK) {
 #endif
 	    if (buffer_mode > 1) {
@@ -746,7 +746,7 @@ static int config(uint32_t s_width, uint
 		mp_msg(MSGT_VO, MSGL_V,"DirectFB: Double buffering is active\n");
 	    }
 #ifdef TRIPLE
-	} else { 
+	} else {
 	    mp_msg(MSGT_VO, MSGL_V,"DirectFB: Triple buffering is active\n");
 	}
 #endif
@@ -775,24 +775,24 @@ static int config(uint32_t s_width, uint
                 mp_msg( MSGT_VO, MSGL_DBG2, "Bottom field first\n");
                 break;
           }
-	
+
 #endif
 
 
 // get layer surface
-	
+
 	ret = layer->GetSurface(layer,&primary);
-	
+
 	if (ret) {
 	    mp_msg(MSGT_VO, MSGL_ERR,"DirectFB: ConfigError - could not get surface\n");
 	    return CONFIG_ERROR; // what shall we report on failure?
 	}
 
-// test surface for flipping	
+// test surface for flipping
 	DFBCHECK(primary->GetCapabilities(primary,&caps));
 #if DIRECTFBVERSION > DFB_VERSION(0,9,13)
 	primary->Clear(primary,0,0,0,0xff);
-#endif	
+#endif
         flipping = 0;
 	if (caps & (DSCAPS_FLIPPING
 #ifdef TRIPLE
@@ -800,8 +800,8 @@ static int config(uint32_t s_width, uint
 #endif
 	)) {
 	    ret = primary->Flip(primary,NULL,0);
-	    if (ret==DFB_OK) { 
-		flipping = 1; 
+	    if (ret==DFB_OK) {
+		flipping = 1;
 #if DIRECTFBVERSION > DFB_VERSION(0,9,13)
 		primary->Clear(primary,0,0,0,0xff);
 #ifdef TRIPLE
@@ -809,17 +809,17 @@ static int config(uint32_t s_width, uint
 	if (caps & DSCAPS_TRIPLE) {
 		primary->Flip(primary,NULL,0);
 		primary->Clear(primary,0,0,0,0xff);
-		flipping = 2; 
+		flipping = 2;
 	}
 #endif
-#endif	
-	    } 
+#endif
+	    }
 	};
 
         mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: Config - flipping = %i\n",flipping);
 
 // is scale needed ? Aspect ratio and layer pos/size
-	
+
 
 	// get surface size
 	DFBCHECK(primary->GetSize(primary,&width,&height));
@@ -842,7 +842,7 @@ static int config(uint32_t s_width, uint
 	} else {
 
 		aspect_save_screenres(width,height);
-	
+
 		if(fs) /* -fs */
 			aspect(&out_width,&out_height,A_ZOOM);
 		else
@@ -859,7 +859,7 @@ static int config(uint32_t s_width, uint
 	    stretch = 1;
 	}
 
-	
+
 // temporary buffer in case of not flipping or scaling
 	if ((!flipping) || stretch) {
 
@@ -869,11 +869,11 @@ static int config(uint32_t s_width, uint
 
 	    dsc.width = s_width;
 	    dsc.height = s_height;
-	    
+
 	    DFBCHECK (dfb->CreateSurface( dfb, &dsc, &frame));
 	    DFBCHECK(frame->GetSize(frame,&width,&height));
 	    mp_msg(MSGT_VO, MSGL_DBG2,"DirectFB: Frame is active.\n");
-	} 
+	}
 
 // get format for draw_alpha - should be removed soon - osd will be rendered outside vo driver
 	if (frame) {
@@ -902,7 +902,7 @@ if (buffer) {
 //if ( mp_msg_test(MSGT_VO,MSGL_V) ) printf ("DirectFB: Check events entered\n");
      if (buffer->GetEvent(buffer, DFB_EVENT (&event)) == DFB_OK) {
 
-     if (event.type == DIET_KEYPRESS) { 
+     if (event.type == DIET_KEYPRESS) {
     		switch (event.key_symbol) {
                                 case DIKS_ESCAPE:
 					mplayer_put_key(KEY_ESC);
@@ -938,7 +938,7 @@ static void flip_page(void)
 	unlock(); // unlock frame & primary
 
 //	if ( mp_msg_test(MSGT_VO,MSGL_V) ) printf("DirectFB: Flip page entered");
-	
+
 	DFBCHECK (primary->SetBlittingFlags(primary,flags));
 
 	if (frame) {
@@ -950,17 +950,17 @@ static void flip_page(void)
 	        rect.h=out_height;
 
                 DFBCHECK (primary->StretchBlit(primary,frame,NULL,&rect));
-	    
+
 	    } else {
 
 		DFBCHECK (primary->Blit(primary,frame,NULL,xoffset,yoffset));
-	    
+
 	    };
 	};
 
 
 #ifdef TRIPLE
-    switch (flipping) { 
+    switch (flipping) {
 	    case 1: DFBCHECK (primary->Flip (primary, NULL, DSFLIP_WAIT));
 		    break;
 	    case 2: DFBCHECK (primary->Flip (primary, NULL, DSFLIP_ONSYNC));
@@ -968,7 +968,7 @@ static void flip_page(void)
 	    default:; // should never be reached
 	}
 #else
-    if (flipping) { 
+    if (flipping) {
 	    DFBCHECK (primary->Flip (primary, NULL, DSFLIP_WAITFORSYNC));
 	}
 #endif
@@ -983,7 +983,7 @@ static void uninit(void)
   //mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Uninit entered\n");
 
   unlock();
-  
+
   /*
    * (Release)
    */
@@ -1025,20 +1025,20 @@ static void uninit(void)
 
 static uint32_t directfb_set_video_eq(char *data, int value) //data==name
 {
-	
+
 	DFBColorAdjustment ca;
 	float factor =  (float)0xffff / 200.0;
 
         DFBDisplayLayerDescription  desc;
-	
+
 	unlock();
-	
-if (layer) {	
-	
+
+if (layer) {
+
 	layer->GetDescription(layer,&desc);
-	
+
 	ca.flags=DCAF_NONE;
-	
+
 	if (! strcmp( data,"brightness" )) {
 	    if (desc.caps & DLCAPS_BRIGHTNESS) {
 		ca.brightness = value * factor +0x8000;
@@ -1075,7 +1075,7 @@ if (layer) {	
 	    layer->SetColorAdjustment(layer,&ca);
 	    return VO_TRUE;
 	}
-}	
+}
 
     return VO_FALSE;
 
@@ -1083,20 +1083,20 @@ if (layer) {	
 
 static uint32_t directfb_get_video_eq(char *data, int *value) // data==name
 {
-	
+
 	DFBColorAdjustment ca;
 	float factor = 200.0 / (float)0xffff;
-	
+
         DFBDisplayLayerDescription desc;
-	 
-if (layer) {	
-	
+
+if (layer) {
+
 	unlock();
-	
+
 	layer->GetDescription(layer,&desc);
 
 	layer->GetColorAdjustment(layer,&ca);
-	
+
 	if (! strcmp( data,"brightness" )) {
 	    if (desc.caps & DLCAPS_BRIGHTNESS) {
 		*value = (int) ((ca.brightness-0x8000) * factor);
@@ -1140,7 +1140,7 @@ static uint32_t get_image(mp_image_t *mp
         int pitch;
 
 //    if ( mp_msg_test(MSGT_VO,MSGL_V) ) printf("DirectFB: get_image() called\n");
-    if(mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; // slow video ram 
+    if(mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; // slow video ram
     if(mpi->type==MP_IMGTYPE_STATIC) return VO_FALSE; // it is not static
 
 //    printf("width=%d vs. pitch=%d, flags=0x%X  \n",mpi->width,pitch,mpi->flags);
@@ -1183,7 +1183,7 @@ static uint32_t get_image(mp_image_t *mp
        }
 
        // center image
-       
+
        if (!frame) {
             if(mpi->flags&MP_IMGFLAG_PLANAR){
 		mpi->planes[0]= dst + yoffset * pitch + xoffset;
@@ -1191,14 +1191,14 @@ static uint32_t get_image(mp_image_t *mp
 		mpi->planes[2]+= ((yoffset * pitch) >> 2) + (xoffset >> 1);
 	    } else {
 		mpi->planes[0]=dst + yoffset * pitch + xoffset * (mpi->bpp >> 3);
-	    }		   
+	    }
        }
-       
+
        mpi->flags|=MP_IMGFLAG_DIRECT;
 //       if ( mp_msg_test(MSGT_VO,MSGL_V) ) printf("DirectFB: get_image() SUCCESS -> Direct Rendering ENABLED\n");
        return VO_TRUE;
 
-    } 
+    }
     return VO_FALSE;
 }
 
@@ -1222,20 +1222,20 @@ static int draw_slice(uint8_t *src[], in
 		DFBCHECK (primary->Lock(primary,DSLF_WRITE,(void *)&dst,&pitch));
 		primarylocked = 1;
         };
-	
+
 	p=min(w,pitch);
 
 	dst += y*pitch + x;
 	dst2 = dst + pitch*height - y*pitch + y*pitch/4 - x/2;
 	srcp = src[0];
-	
+
 	for (i=0;i<h;i++) {
             fast_memcpy(dst,srcp,p);
 	    dst += pitch;
 	    srcp += stride[0];
         }
 
-	if (pixel_format == DSPF_YV12) { 
+	if (pixel_format == DSPF_YV12) {
 
             dst = dst2;
 	    srcp = src[2];
@@ -1246,10 +1246,10 @@ static int draw_slice(uint8_t *src[], in
 		dst += pitch/2;
 	        srcp += stride[2];
     	    }
-	
+
     	    dst = dst2 + pitch*height/4;
 	    srcp = src[1];
-	
+
     	    for (i=0;i<h/2;i++) {
                 fast_memcpy(dst,srcp,p);
 		dst += pitch/2;
@@ -1267,16 +1267,16 @@ static int draw_slice(uint8_t *src[], in
 		dst += pitch/2;
 	        srcp += stride[1];
     	    }
-	
+
     	    dst = dst2 + pitch*height/4;
 	    srcp = src[2];
-	
+
     	    for (i=0;i<h/2;i++) {
                 fast_memcpy(dst,srcp,p);
 		dst += pitch/2;
 	        srcp += stride[2];
     	    }
-	
+
 	}
 
 	unlock();
@@ -1291,7 +1291,7 @@ static uint32_t put_image(mp_image_t *mp
 //    static IDirectFBSurface *tmp = NULL;
 //    DFBSurfaceDescription dsc;
 //    DFBRectangle rect;
-    
+
 //    if ( mp_msg_test(MSGT_VO,MSGL_V) ) printf("DirectFB: Put_image entered %i %i %i %i %i %i\n",mpi->x,mpi->y,mpi->w,mpi->h,mpi->width,mpi->height);
 
     unlock();
@@ -1318,16 +1318,16 @@ static uint32_t put_image(mp_image_t *mp
 		DFBCHECK (primary->Lock(primary,DSLF_WRITE,(void *)&dst,&pitch));
 		primarylocked = 1;
         };
-	
+
 	p=min(mpi->w,pitch);
 
 	src = mpi->planes[0]+mpi->y*mpi->stride[0]+mpi->x;
-	
+
 	for (i=0;i<mpi->h;i++) {
             fast_memcpy(dst+i*pitch,src+i*mpi->stride[0],p);
         }
 
-	
+
 	if (pixel_format == DSPF_YV12) {
 
             dst += pitch*height;
@@ -1337,10 +1337,10 @@ static uint32_t put_image(mp_image_t *mp
             for (i=0;i<mpi->h/2;i++) {
 	        fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[2],p);
     	    }
-	
+
     	    dst += pitch*height/4;
 	    src = mpi->planes[1]+mpi->y*mpi->stride[1]+mpi->x/2;
-	
+
     	    for (i=0;i<mpi->h/2;i++) {
         	fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[1],p);
     	    }
@@ -1354,14 +1354,14 @@ static uint32_t put_image(mp_image_t *mp
     	    for (i=0;i<mpi->h/2;i++) {
         	fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[1],p);
     	    }
-	
+
     	    dst += pitch*height/4;
 	    src = mpi->planes[2]+mpi->y*mpi->stride[2]+mpi->x/2;
-	
+
     	    for (i=0;i<mpi->h/2;i++) {
         	fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[2],p);
     	    }
-	
+
 	}
 	unlock();
 
@@ -1375,9 +1375,9 @@ static uint32_t put_image(mp_image_t *mp
         dsc.width = mpi->width;
         dsc.height = mpi->height;
         dsc.pixelformat = convformat(mpi->imgfmt);
-	    
+
 	DFBCHECK (dfb->CreateSurface( dfb, &dsc, &tmp));
-    
+
         rect.x=mpi->x;
         rect.y=mpi->y;
         rect.w=mpi->w;
@@ -1420,27 +1420,27 @@ static int control(uint32_t request, voi
     case VOCTRL_GET_IMAGE:
 	return get_image(data);
     case VOCTRL_DRAW_IMAGE:
-	return put_image(data);    
+	return put_image(data);
     case VOCTRL_SET_EQUALIZER:
       {
         va_list ap;
 	int value;
-    
+
         va_start(ap, data);
 	value = va_arg(ap, int);
         va_end(ap);
-    
+
 	return directfb_set_video_eq(data, value);
       }
     case VOCTRL_GET_EQUALIZER:
       {
 	va_list ap;
         int *value;
-    
+
         va_start(ap, data);
         value = va_arg(ap, int*);
         va_end(ap);
-    
+
 	return directfb_get_video_eq(data, value);
       }
   };
@@ -1461,9 +1461,9 @@ static void draw_alpha(int x0, int y0, i
 {
         void *dst;
         int pitch;
-	
+
 	unlock(); // isn't it silly I have to unlock surface and then lock it again :-)
-	
+
 	if (frame) {
 		DFBCHECK (frame->Lock(frame,DSLF_WRITE|DSLF_READ,&dst,&pitch));
 		framelocked = 1;
@@ -1471,7 +1471,7 @@ static void draw_alpha(int x0, int y0, i
 		DFBCHECK (primary->Lock(primary,DSLF_WRITE,&dst,&pitch));
 		primarylocked = 1;
         };
-    
+
 	switch(pixel_format) {
                 case DSPF_RGB32:
                 case DSPF_ARGB:

Modified: trunk/libvo/vo_directx.c
==============================================================================
--- trunk/libvo/vo_directx.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_directx.c	Wed May 13 04:58:57 2009	(r29305)
@@ -70,7 +70,7 @@ static HBRUSH               blackbrush =
 static HICON                mplayericon = NULL;     // Handle to mplayer icon
 static HCURSOR              mplayercursor = NULL;   // Handle to mplayer cursor
 static uint32_t image_width, image_height;          //image width and height
-static uint32_t d_image_width, d_image_height;      //image width and height zoomed 
+static uint32_t d_image_width, d_image_height;      //image width and height zoomed
 static uint8_t  *image=NULL;                        //image data
 static void* tmp_image = NULL;
 static uint32_t image_format=0;                       //image format
@@ -85,7 +85,7 @@ static COLORREF windowcolor = RGB(0,0,16
 static int adapter_count=0;
 static GUID selected_guid;
 static GUID *selected_guid_ptr = NULL;
-static RECT monitor_rect;	                        //monitor coordinates 
+static RECT monitor_rect;	                        //monitor coordinates
 static float window_aspect;
 static BOOL (WINAPI* myGetMonitorInfo)(HMONITOR, LPMONITORINFO) = NULL;
 static RECT last_rect = {0xDEADC0DE, 0xDEADC0DE, 0xDEADC0DE, 0xDEADC0DE};
@@ -105,7 +105,7 @@ const GUID IID_IDirectDraw7 =
 const GUID IID_IDirectDrawColorControl =
 {
 	0x4b9f0ee0,0x0d7e,0x11d0,{0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8}
-}; 
+};
 
 
 typedef struct directx_fourcc_caps
@@ -118,22 +118,22 @@ typedef struct directx_fourcc_caps
 
 
 static directx_fourcc_caps g_ddpf[] =
-{                                                                         
+{
 	{"YV12 ",IMGFMT_YV12 ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('Y','V','1','2'),0,0,0,0,0}},
-	{"I420 ",IMGFMT_I420 ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('I','4','2','0'),0,0,0,0,0}},   //yv12 with swapped uv 
+	{"I420 ",IMGFMT_I420 ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('I','4','2','0'),0,0,0,0,0}},   //yv12 with swapped uv
 	{"IYUV ",IMGFMT_IYUV ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('I','Y','U','V'),0,0,0,0,0}},   //same as i420
-	{"YVU9 ",IMGFMT_YVU9 ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('Y','V','U','9'),0,0,0,0,0}},	
+	{"YVU9 ",IMGFMT_YVU9 ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('Y','V','U','9'),0,0,0,0,0}},
 	{"YUY2 ",IMGFMT_YUY2 ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('Y','U','Y','2'),0,0,0,0,0}},
 	{"UYVY ",IMGFMT_UYVY ,0,{sizeof(DDPIXELFORMAT), DDPF_FOURCC,MAKEFOURCC('U','Y','V','Y'),0,0,0,0,0}},
- 	{"BGR8 ",IMGFMT_BGR8 ,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 8,  0x00000000, 0x00000000, 0x00000000, 0}},   
+ 	{"BGR8 ",IMGFMT_BGR8 ,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 8,  0x00000000, 0x00000000, 0x00000000, 0}},
 	{"RGB15",IMGFMT_RGB15,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16,  0x0000001F, 0x000003E0, 0x00007C00, 0}},   //RGB 5:5:5
-	{"BGR15",IMGFMT_BGR15,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16,  0x00007C00, 0x000003E0, 0x0000001F, 0}},   
+	{"BGR15",IMGFMT_BGR15,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16,  0x00007C00, 0x000003E0, 0x0000001F, 0}},
 	{"RGB16",IMGFMT_RGB16,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16,  0x0000001F, 0x000007E0, 0x0000F800, 0}},   //RGB 5:6:5
-    {"BGR16",IMGFMT_BGR16,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16,  0x0000F800, 0x000007E0, 0x0000001F, 0}},   
-	{"RGB24",IMGFMT_RGB24,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 24,  0x000000FF, 0x0000FF00, 0x00FF0000, 0}},   
-    {"BGR24",IMGFMT_BGR24,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 24,  0x00FF0000, 0x0000FF00, 0x000000FF, 0}},  
-    {"RGB32",IMGFMT_RGB32,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 32,  0x000000FF, 0x0000FF00, 0x00FF0000, 0}},  
-    {"BGR32",IMGFMT_BGR32,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 32,  0x00FF0000, 0x0000FF00, 0x000000FF, 0}}   
+    {"BGR16",IMGFMT_BGR16,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16,  0x0000F800, 0x000007E0, 0x0000001F, 0}},
+	{"RGB24",IMGFMT_RGB24,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 24,  0x000000FF, 0x0000FF00, 0x00FF0000, 0}},
+    {"BGR24",IMGFMT_BGR24,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 24,  0x00FF0000, 0x0000FF00, 0x000000FF, 0}},
+    {"RGB32",IMGFMT_RGB32,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 32,  0x000000FF, 0x0000FF00, 0x00FF0000, 0}},
+    {"BGR32",IMGFMT_BGR32,0,{sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 32,  0x00FF0000, 0x0000FF00, 0x000000FF, 0}}
 };
 #define NUM_FORMATS (sizeof(g_ddpf) / sizeof(g_ddpf[0]))
 
@@ -163,7 +163,7 @@ static void draw_alpha(int x0, int y0, i
     case IMGFMT_UYVY :
         vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) image) + dstride*y0 + 2*x0 + 1,dstride);
     break;
-	case IMGFMT_RGB15:	
+	case IMGFMT_RGB15:
     case IMGFMT_BGR15:
 		vo_draw_alpha_rgb15(w,h,src,srca,stride,((uint8_t *) image)+dstride*y0+2*x0,dstride);
     break;
@@ -206,7 +206,7 @@ static uint32_t Directx_CreatePrimarySur
     //cleanup
 	if(g_lpddsPrimary)g_lpddsPrimary->lpVtbl->Release(g_lpddsPrimary);
 	g_lpddsPrimary=NULL;
-	
+
     if(vidmode)g_lpdd->lpVtbl->SetDisplayMode(g_lpdd,vm_width,vm_height,vm_bpp,vo_refresh_rate,0);
     ZeroMemory(&ddsd, sizeof(ddsd));
     ddsd.dwSize = sizeof(ddsd);
@@ -247,14 +247,14 @@ static uint32_t Directx_CreateOverlay(ui
     ddsdOverlay.dwWidth=image_width;
     ddsdOverlay.dwHeight=image_height;
     ddsdOverlay.dwBackBufferCount=2;
-	ddsdOverlay.ddpfPixelFormat=g_ddpf[i].g_ddpfOverlay; 
+	ddsdOverlay.ddpfPixelFormat=g_ddpf[i].g_ddpfOverlay;
 	if(vo_doublebuffering)   //tribblebuffering
 	{
 		if (g_lpdd->lpVtbl->CreateSurface(g_lpdd,&ddsdOverlay, &g_lpddsOverlay, NULL)== DD_OK)
 		{
 			mp_msg(MSGT_VO, MSGL_V,"<vo_directx><INFO>overlay with format %s created\n",g_ddpf[i].img_format_name);
             //get the surface directly attached to the primary (the back buffer)
-            ddsdOverlay.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER; 
+            ddsdOverlay.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER;
             if(g_lpddsOverlay->lpVtbl->GetAttachedSurface(g_lpddsOverlay,&ddsdOverlay.ddsCaps, &g_lpddsBack) != DD_OK)
 			{
 				mp_msg(MSGT_VO, MSGL_FATAL,"<vo_directx><FATAL ERROR>can't get attached surface\n");
@@ -264,7 +264,7 @@ static uint32_t Directx_CreateOverlay(ui
 		}
 		vo_doublebuffering=0; //disable tribblebuffering
 		mp_msg(MSGT_VO, MSGL_V,"<vo_directx><WARN>cannot create tribblebuffer overlay with format %s\n",g_ddpf[i].img_format_name);
-	} 
+	}
 	//single buffer
 	mp_msg(MSGT_VO, MSGL_V,"<vo_directx><INFO>using singlebuffer overlay\n");
     ddsdOverlay.dwBackBufferCount=0;
@@ -298,11 +298,11 @@ static uint32_t Directx_CreateOverlay(ui
 	      case DDERR_OUTOFMEMORY:
 		     {mp_msg(MSGT_VO, MSGL_ERR,"not enough system memory\n");break;}
 	      case DDERR_UNSUPPORTEDMODE:
-			 {mp_msg(MSGT_VO, MSGL_ERR,"unsupported mode\n");break;}  
+			 {mp_msg(MSGT_VO, MSGL_ERR,"unsupported mode\n");break;}
 		  case DDERR_OUTOFVIDEOMEMORY:
 			 {mp_msg(MSGT_VO, MSGL_ERR,"not enough video memory\n");break;}
           default:
-             mp_msg(MSGT_VO, MSGL_ERR,"create surface failed with 0x%x\n",ddrval);       
+             mp_msg(MSGT_VO, MSGL_ERR,"create surface failed with 0x%x\n",ddrval);
 	   }
 	   return 1;
 	}
@@ -314,7 +314,7 @@ static uint32_t Directx_CreateBackpuffer
 {
     DDSURFACEDESC2   ddsd;
 	//cleanup
-	if (g_lpddsBack)g_lpddsBack->lpVtbl->Release(g_lpddsBack); 
+	if (g_lpddsBack)g_lpddsBack->lpVtbl->Release(g_lpddsBack);
 	g_lpddsBack=NULL;
 	ZeroMemory(&ddsd, sizeof(ddsd));
     ddsd.dwSize = sizeof(ddsd);
@@ -372,16 +372,16 @@ static void uninit(void)
 	if (g_lpdd != NULL){
 	    if(vidmode)g_lpdd->lpVtbl->RestoreDisplayMode(g_lpdd);
 	    g_lpdd->lpVtbl->Release(g_lpdd);
-	}  
+	}
 	mp_msg(MSGT_VO, MSGL_DBG3,"<vo_directx><INFO>directdrawobject released\n");
 	FreeLibrary( hddraw_dll);
 	hddraw_dll= NULL;
 	mp_msg(MSGT_VO, MSGL_DBG3,"<vo_directx><INFO>ddraw.dll freed\n");
-	mp_msg(MSGT_VO, MSGL_DBG3,"<vo_directx><INFO>uninitialized\n");    
+	mp_msg(MSGT_VO, MSGL_DBG3,"<vo_directx><INFO>uninitialized\n");
 }
 
 static BOOL WINAPI EnumCallbackEx(GUID FAR *lpGUID, LPSTR lpDriverDescription, LPSTR lpDriverName, LPVOID lpContext, HMONITOR  hm)
-{   
+{
     mp_msg(MSGT_VO, MSGL_INFO ,"<vo_directx> adapter %d: ", adapter_count);
 
     if (!lpGUID)
@@ -392,7 +392,7 @@ static BOOL WINAPI EnumCallbackEx(GUID F
     {
         mp_msg(MSGT_VO, MSGL_INFO ,"%s", lpDriverDescription);
     }
-    
+
     if(adapter_count == vo_adapter_num){
         MONITORINFO mi;
         if (!lpGUID)
@@ -410,9 +410,9 @@ static BOOL WINAPI EnumCallbackEx(GUID F
         mp_msg(MSGT_VO, MSGL_INFO ,"\t\t<--");
     }
     mp_msg(MSGT_VO, MSGL_INFO ,"\n");
-    
+
     adapter_count++;
-    
+
     return 1; // list all adapters
 }
 
@@ -422,7 +422,7 @@ static uint32_t Directx_InitDirectDraw(v
 	DDSURFACEDESC2 ddsd;
 	LPDIRECTDRAWENUMERATEEX OurDirectDrawEnumerateEx;
 	HINSTANCE user32dll=LoadLibrary("user32.dll");
-	
+
 	adapter_count = 0;
 	if(user32dll){
 		myGetMonitorInfo=GetProcAddress(user32dll,"GetMonitorInfoA");
@@ -431,7 +431,7 @@ static uint32_t Directx_InitDirectDraw(v
 			vo_adapter_num = 0;
 		}
 	}
-	
+
 	mp_msg(MSGT_VO, MSGL_DBG3,"<vo_directx><INFO>Initing DirectDraw\n" );
 
 	//load direct draw DLL: based on videolans code
@@ -441,7 +441,7 @@ static uint32_t Directx_InitDirectDraw(v
         mp_msg(MSGT_VO, MSGL_FATAL,"<vo_directx><FATAL ERROR>failed loading ddraw.dll\n" );
 		return 1;
     }
-	
+
     last_rect.left = 0xDEADC0DE;   // reset window position cache
 
 	if(vo_adapter_num){ //display other than default
@@ -483,13 +483,13 @@ static uint32_t Directx_InitDirectDraw(v
 	//get current screen siz for selected monitor ...
 	ddsd.dwSize=sizeof(ddsd);
 	ddsd.dwFlags=DDSD_WIDTH|DDSD_HEIGHT|DDSD_PIXELFORMAT;
-	g_lpdd->lpVtbl->GetDisplayMode(g_lpdd, &ddsd);		
+	g_lpdd->lpVtbl->GetDisplayMode(g_lpdd, &ddsd);
 	if(vo_screenwidth && vo_screenheight)
 	{
 	    vm_height=vo_screenheight;
 	    vm_width=vo_screenwidth;
 	}
-    else 
+    else
     {
 	    vm_height=ddsd.dwHeight;
 	    vm_width=ddsd.dwWidth;
@@ -504,15 +504,15 @@ static uint32_t Directx_InitDirectDraw(v
 		{
 	        mp_msg(MSGT_VO, MSGL_FATAL,"<vo_directx><FATAL ERROR>can't set cooperativelevel for exclusive mode\n");
             return 1;
-		}                                
+		}
 		/*SetDisplayMode(ddobject,width,height,bpp,refreshrate,aditionalflags)*/
 		if(g_lpdd->lpVtbl->SetDisplayMode(g_lpdd,vm_width, vm_height, vm_bpp,0,0) != DD_OK)
 		{
 	        mp_msg(MSGT_VO, MSGL_FATAL,"<vo_directx><FATAL ERROR>can't set displaymode\n");
 	        return 1;
 		}
-	    mp_msg(MSGT_VO, MSGL_V,"<vo_directx><INFO>Initialized adapter %i for %i x %i @ %i \n",vo_adapter_num,vm_width,vm_height,vm_bpp);	
-	    return 0;	
+	    mp_msg(MSGT_VO, MSGL_V,"<vo_directx><INFO>Initialized adapter %i for %i x %i @ %i \n",vo_adapter_num,vm_width,vm_height,vm_bpp);
+	    return 0;
 	}
 	if (g_lpdd->lpVtbl->SetCooperativeLevel(g_lpdd, hWnd, DDSCL_NORMAL) != DD_OK) // or DDSCL_SETFOCUSWINDOW
      {
@@ -521,7 +521,7 @@ static uint32_t Directx_InitDirectDraw(v
     }
     mp_msg(MSGT_VO, MSGL_DBG3,"<vo_directx><INFO>DirectDraw Initialized\n");
 	return 0;
-}	
+}
 
 static void check_events(void)
 {
@@ -534,13 +534,13 @@ static void check_events(void)
 }
 
 static uint32_t Directx_ManageDisplay(void)
-{   
+{
     HRESULT         ddrval;
     DDCAPS          capsDrv;
     DDOVERLAYFX     ovfx;
     DWORD           dwUpdateFlags=0;
     int width,height;
-   
+
     if(!vidmode && !vo_fs && WinID!=-1) {
       RECT current_rect = {0, 0, 0, 0};
       GetWindowRect(hWnd, &current_rect);
@@ -563,7 +563,7 @@ static uint32_t Directx_ManageDisplay(vo
       POINT pt;
       pt.x = vo_dx;
       pt.y = vo_dy;
-      ClientToScreen(hWnd,&pt);  
+      ClientToScreen(hWnd,&pt);
       width=d_image_width;
       height=d_image_height;
       rd.left = pt.x;
@@ -574,7 +574,7 @@ static uint32_t Directx_ManageDisplay(vo
       POINT pt;
       pt.x = 0;  //overlayposition relative to the window
       pt.y = 0;
-      ClientToScreen(hWnd,&pt);  
+      ClientToScreen(hWnd,&pt);
       GetClientRect(hWnd, &rd);
 	  width=rd.right - rd.left;
 	  height=rd.bottom - rd.top;
@@ -583,7 +583,7 @@ static uint32_t Directx_ManageDisplay(vo
       rd.right -= monitor_rect.left;
       rd.bottom -= monitor_rect.top;
 	  rd.left = pt.x;
-      rd.top = pt.y; 
+      rd.top = pt.y;
       if(!nooverlay && (!width || !height)){
 	    /*window is minimized*/
 	    ddrval = g_lpddsOverlay->lpVtbl->UpdateOverlay(g_lpddsOverlay,NULL, g_lpddsPrimary, NULL, DDOVER_HIDE, NULL);
@@ -591,13 +591,13 @@ static uint32_t Directx_ManageDisplay(vo
 	  }
       if(vo_keepaspect){
           int tmpheight=((float)width/window_aspect);
-          tmpheight+=tmpheight%2;       
+          tmpheight+=tmpheight%2;
           if(tmpheight > height){
             width=((float)height*window_aspect);
-            width+=width%2;       
+            width+=width%2;
           }
           else height=tmpheight;
-      }    
+      }
       if (WinID == -1)
           while(ShowCursor(TRUE)<=0){}
     }
@@ -607,8 +607,8 @@ static uint32_t Directx_ManageDisplay(vo
 	/*ok, let's workaround some overlay limitations*/
 	if(!nooverlay)
 	{
-		uint32_t        uStretchFactor1000;  //minimum stretch 
-        uint32_t        xstretch1000,ystretch1000; 
+		uint32_t        uStretchFactor1000;  //minimum stretch
+        uint32_t        xstretch1000,ystretch1000;
 		/*get driver capabilities*/
         ZeroMemory(&capsDrv, sizeof(capsDrv));
         capsDrv.dwSize = sizeof(capsDrv);
@@ -637,7 +637,7 @@ static uint32_t Directx_ManageDisplay(vo
 		}
 		else if((width > image_width)&& !(capsDrv.dwFXCaps & DDFXCAPS_OVERLAYSTRETCHX))
 		{
-			if(capsDrv.dwFXCaps & DDFXCAPS_OVERLAYSTRETCHXN)mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can only stretchN\n"); 
+			if(capsDrv.dwFXCaps & DDFXCAPS_OVERLAYSTRETCHXN)mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can only stretchN\n");
 	        else mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can't stretch x\n");
 	        rd.right = rd.left+image_width;
 		}
@@ -652,7 +652,7 @@ static uint32_t Directx_ManageDisplay(vo
 			if(capsDrv.dwFXCaps & DDFXCAPS_OVERLAYSTRETCHYN)mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can only stretchN\n");
 	        else mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can't stretch y\n");
 	        rd.bottom = rd.top + image_height;
-		} 
+		}
 		/*the last thing to check are alignment restrictions
           these expressions (x & -y) just do alignment by dropping low order bits...
           so to round up, we add first, then truncate*/
@@ -669,12 +669,12 @@ static uint32_t Directx_ManageDisplay(vo
         ovfx.dwSize = sizeof(ovfx);
         if(vo_fs||vidmode)
 		{
-			ovfx.dckDestColorkey.dwColorSpaceLowValue = 0; 
+			ovfx.dckDestColorkey.dwColorSpaceLowValue = 0;
             ovfx.dckDestColorkey.dwColorSpaceHighValue = 0;
 		}
 		else
 		{
-			ovfx.dckDestColorkey.dwColorSpaceLowValue = destcolorkey; 
+			ovfx.dckDestColorkey.dwColorSpaceLowValue = destcolorkey;
             ovfx.dckDestColorkey.dwColorSpaceHighValue = destcolorkey;
 		}
         // set the flags we'll send to UpdateOverlay      //DDOVER_AUTOFLIP|DDOVERFX_MIRRORLEFTRIGHT|DDOVERFX_MIRRORUPDOWN could be useful?;
@@ -686,19 +686,19 @@ static uint32_t Directx_ManageDisplay(vo
     else
     {
         g_lpddclipper->lpVtbl->SetHWnd(g_lpddclipper, 0,(vo_fs && !vidmode)?hWndFS: hWnd);
-    }       
-	
+    }
+
     if(!vidmode && !vo_fs){
       if(WinID == -1) {
           RECT rdw=rd;
           if (vo_border)
           AdjustWindowRect(&rdw,WNDSTYLE,FALSE);
-//          printf("window: %i %i %ix%i\n",rdw.left,rdw.top,rdw.right - rdw.left,rdw.bottom - rdw.top);      
+//          printf("window: %i %i %ix%i\n",rdw.left,rdw.top,rdw.right - rdw.left,rdw.bottom - rdw.top);
 		  rdw.left += monitor_rect.left; /* move to global coordinate space */
           rdw.top += monitor_rect.top;
 		  rdw.right += monitor_rect.left;
 		  rdw.bottom += monitor_rect.top;
-          SetWindowPos(hWnd,(vo_ontop)?HWND_TOPMOST:(vo_rootwin?HWND_BOTTOM:HWND_NOTOPMOST),rdw.left,rdw.top,rdw.right-rdw.left,rdw.bottom-rdw.top,SWP_NOOWNERZORDER); 
+          SetWindowPos(hWnd,(vo_ontop)?HWND_TOPMOST:(vo_rootwin?HWND_BOTTOM:HWND_NOTOPMOST),rdw.left,rdw.top,rdw.right-rdw.left,rdw.bottom-rdw.top,SWP_NOOWNERZORDER);
       }
     }
     else SetWindowPos(vidmode?hWnd:hWndFS,vo_rootwin?HWND_BOTTOM:HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOOWNERZORDER|SWP_NOCOPYBITS);
@@ -708,15 +708,15 @@ static uint32_t Directx_ManageDisplay(vo
     if(rd.right>vo_screenwidth)rd.right=vo_screenwidth;
     if(rd.top<0)rd.top=0;
     if(rd.bottom>vo_screenheight)rd.bottom=vo_screenheight;
-    
+
   	/*for nonoverlay mode we are finished, for overlay mode we have to display the overlay first*/
 	if(nooverlay)return 0;
-	
+
 //    printf("overlay: %i %i %ix%i\n",rd.left,rd.top,rd.right - rd.left,rd.bottom - rd.top);
 	ddrval = g_lpddsOverlay->lpVtbl->UpdateOverlay(g_lpddsOverlay,&rs, g_lpddsPrimary, &rd, dwUpdateFlags, &ovfx);
     if(FAILED(ddrval))
     {
-        // one cause might be the driver lied about minimum stretch 
+        // one cause might be the driver lied about minimum stretch
         // we should try upping the destination size a bit, or
         // perhaps shrinking the source size
 	   	mp_msg(MSGT_VO, MSGL_ERR ,"<vo_directx><ERROR>UpdateOverlay failed\n" );
@@ -745,12 +745,12 @@ static uint32_t Directx_ManageDisplay(vo
 					mp_msg(MSGT_VO, MSGL_ERR ,"surfaces lost\n");
 					g_lpddsOverlay->lpVtbl->Restore( g_lpddsOverlay ); //restore and try again
 			        g_lpddsPrimary->lpVtbl->Restore( g_lpddsPrimary );
-			        ddrval = g_lpddsOverlay->lpVtbl->UpdateOverlay(g_lpddsOverlay,&rs, g_lpddsPrimary, &rd, dwUpdateFlags, &ovfx);   
+			        ddrval = g_lpddsOverlay->lpVtbl->UpdateOverlay(g_lpddsOverlay,&rs, g_lpddsPrimary, &rd, dwUpdateFlags, &ovfx);
 					if(ddrval !=DD_OK)mp_msg(MSGT_VO, MSGL_FATAL ,"<vo_directx><FATAL ERROR>UpdateOverlay failed again\n" );
 					break;
 				}
             default:
-                mp_msg(MSGT_VO, MSGL_ERR ," 0x%x\n",ddrval);      
+                mp_msg(MSGT_VO, MSGL_ERR ," 0x%x\n",ddrval);
 		}
 	    /*ok we can't do anything about it -> hide overlay*/
 		if(ddrval != DD_OK)
@@ -786,7 +786,7 @@ static uint32_t Directx_CheckOverlayPixe
 	}
     mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>testing supported overlay pixelformats\n");
     //it is not possible to query for pixel formats supported by the
-    //overlay hardware: try out various formats till one works  
+    //overlay hardware: try out various formats till one works
     ZeroMemory(&ddsdOverlay, sizeof(ddsdOverlay));
     ddsdOverlay.dwSize = sizeof(ddsdOverlay);
     ddsdOverlay.ddsCaps.dwCaps=DDSCAPS_OVERLAY | DDSCAPS_VIDEOMEMORY;
@@ -796,7 +796,7 @@ static uint32_t Directx_CheckOverlayPixe
     ddsdOverlay.dwBackBufferCount=0;
     //try to create an overlay surface using one of the pixel formats in our global list
 	i=0;
-    do 
+    do
     {
    		ddsdOverlay.ddpfPixelFormat=g_ddpf[i].g_ddpfOverlay;
         ddrval = g_lpdd->lpVtbl->CreateSurface(g_lpdd,&ddsdOverlay, &g_lpddsOverlay, NULL);
@@ -820,12 +820,12 @@ static uint32_t Directx_CheckOverlayPixe
 	}
     if(capsDrv.dwFXCaps & DDFXCAPS_OVERLAYMIRRORLEFTRIGHT)mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>can mirror left right\n"); //I don't have hardware which
     if(capsDrv.dwFXCaps & DDFXCAPS_OVERLAYMIRRORUPDOWN )mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>can mirror up down\n");      //supports those send me one and I'll implement ;)
-	return 0;		
+	return 0;
 }
 
 //find out the Pixelformat of the Primary Surface
 static uint32_t Directx_CheckPrimaryPixelformat(void)
-{	
+{
 	uint32_t i=0;
     uint32_t formatcount = 0;
 	DDPIXELFORMAT	ddpf;
@@ -852,7 +852,7 @@ static uint32_t Directx_CheckPrimaryPixe
 			   mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><FORMAT PRIMARY>%i %s supported\n",i,g_ddpf[i].img_format_name);
 			   g_ddpf[i].drv_caps = VFCAP_CSP_SUPPORTED |VFCAP_OSD;
 			   formatcount++;
-               primary_image_format=g_ddpf[i].img_format;     
+               primary_image_format=g_ddpf[i].img_format;
 		   }
 	   }
 	   i++;
@@ -861,8 +861,8 @@ static uint32_t Directx_CheckPrimaryPixe
 	destcolorkey = CLR_INVALID;
     if (windowcolor != CLR_INVALID && g_lpddsPrimary->lpVtbl->GetDC(g_lpddsPrimary,&hdc) == DD_OK)
     {
-        rgbT = GetPixel(hdc, 0, 0);     
-        SetPixel(hdc, 0, 0, windowcolor);  
+        rgbT = GetPixel(hdc, 0, 0);
+        SetPixel(hdc, 0, 0, windowcolor);
         g_lpddsPrimary->lpVtbl->ReleaseDC(g_lpddsPrimary,hdc);
     }
     // read back the converted color
@@ -871,9 +871,9 @@ static uint32_t Directx_CheckPrimaryPixe
         ;
     if (hres == DD_OK)
     {
-        destcolorkey = *(DWORD *) ddsd.lpSurface;                
+        destcolorkey = *(DWORD *) ddsd.lpSurface;
         if (ddsd.ddpfPixelFormat.dwRGBBitCount < 32)
-            destcolorkey &= (1 << ddsd.ddpfPixelFormat.dwRGBBitCount) - 1;  
+            destcolorkey &= (1 << ddsd.ddpfPixelFormat.dwRGBBitCount) - 1;
         g_lpddsPrimary->lpVtbl->Unlock(g_lpddsPrimary,NULL);
     }
     if (windowcolor != CLR_INVALID && g_lpddsPrimary->lpVtbl->GetDC(g_lpddsPrimary,&hdc) == DD_OK)
@@ -898,7 +898,7 @@ static LRESULT CALLBACK WndProc(HWND hWn
 	switch (message)
     {
         case WM_MOUSEACTIVATE:
-            return MA_ACTIVATEANDEAT;       
+            return MA_ACTIVATEANDEAT;
 	    case WM_NCACTIVATE:
         {
             if(vidmode && adapter_count > 2) //only disable if more than one adapter.
@@ -927,17 +927,17 @@ static LRESULT CALLBACK WndProc(HWND hWn
         case WM_SYSCOMMAND:
 		{
 			switch (wParam)
-			{   //kill screensaver etc. 
+			{   //kill screensaver etc.
 				//note: works only when the window is active
 				//you can workaround this by disabling the allow screensaver option in
 				//the link to the app
-				case SC_SCREENSAVE:                
+				case SC_SCREENSAVE:
 				case SC_MONITORPOWER:
                 mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>killing screensaver\n" );
-                return 0;                      
+                return 0;
 				case SC_MAXIMIZE:
 					if (!vo_fs) control(VOCTRL_FULLSCREEN, NULL);
-                return 0;                      
+                return 0;
 			}
 			break;
 		}
@@ -946,13 +946,13 @@ static LRESULT CALLBACK WndProc(HWND hWn
 			switch (wParam)
 			{
 				case VK_LEFT:
-					{mplayer_put_key(KEY_LEFT);break;}      
+					{mplayer_put_key(KEY_LEFT);break;}
                 case VK_UP:
-					{mplayer_put_key(KEY_UP);break;} 
+					{mplayer_put_key(KEY_UP);break;}
                 case VK_RIGHT:
-					{mplayer_put_key(KEY_RIGHT);break;} 
+					{mplayer_put_key(KEY_RIGHT);break;}
 	            case VK_DOWN:
-					{mplayer_put_key(KEY_DOWN);break;} 
+					{mplayer_put_key(KEY_DOWN);break;}
 	            case VK_TAB:
 					{mplayer_put_key(KEY_TAB);break;}
 		        case VK_BACK:
@@ -1047,7 +1047,7 @@ static LRESULT CALLBACK WndProc(HWND hWn
 				mplayer_put_key(MOUSE_BTN6_DBL);
 			break;
 		}
-		
+
     }
 	return DefWindowProc(hWnd, message, wParam, lParam);
 }
@@ -1075,7 +1075,7 @@ static int preinit(const char *arg)
     mplayercursor = LoadCursor(NULL, IDC_ARROW);
     monitor_rect.right=GetSystemMetrics(SM_CXSCREEN);
     monitor_rect.bottom=GetSystemMetrics(SM_CYSCREEN);
-	
+
     windowcolor = vo_colorkey;
     colorbrush = CreateSolidBrush(windowcolor);
     blackbrush = (HBRUSH)GetStockObject(BLACK_BRUSH);
@@ -1098,18 +1098,18 @@ static int preinit(const char *arg)
     wc.hbrBackground = blackbrush;
     wc.lpszClassName = WNDCLASSNAME_FULLSCREEN;
     RegisterClass(&wc);
-	
+
 	if (Directx_InitDirectDraw()!= 0)return 1;          //init DirectDraw
-	
-    if(!vidmode)hWndFS = CreateWindow(WNDCLASSNAME_FULLSCREEN,"MPlayer Fullscreen",WS_POPUP,monitor_rect.left,monitor_rect.top,monitor_rect.right-monitor_rect.left,monitor_rect.bottom-monitor_rect.top,hWnd,NULL,hInstance,NULL);			
+
+    if(!vidmode)hWndFS = CreateWindow(WNDCLASSNAME_FULLSCREEN,"MPlayer Fullscreen",WS_POPUP,monitor_rect.left,monitor_rect.top,monitor_rect.right-monitor_rect.left,monitor_rect.bottom-monitor_rect.top,hWnd,NULL,hInstance,NULL);
     mp_msg(MSGT_VO, MSGL_DBG3 ,"<vo_directx><INFO>initial mplayer windows created\n");
-    
+
     if (Directx_CheckPrimaryPixelformat()!=0)return 1;
 	if (!nooverlay && Directx_CheckOverlayPixelformats() == 0)        //check for supported hardware
 	{
 		mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>hardware supports overlay\n");
 		nooverlay = 0;
- 	} 
+ 	}
 	else   //if we can't have overlay we create a backpuffer with the same imageformat as the primary surface
 	{
        	mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>using backpuffer\n");
@@ -1125,18 +1125,18 @@ static int draw_slice(uint8_t *src[], in
     uint8_t *d;
     uint32_t uvstride=dstride/2;
 	// copy Y
-    d=image+dstride*y+x;                
-    s=src[0];                           
+    d=image+dstride*y+x;
+    s=src[0];
     mem2agpcpy_pic(d,s,w,h,dstride,stride[0]);
-    
+
 	w/=2;h/=2;x/=2;y/=2;
-	
+
 	// copy U
     d=image+dstride*image_height + uvstride*y+x;
     if(image_format == IMGFMT_YV12)s=src[2];
 	else s=src[1];
     mem2agpcpy_pic(d,s,w,h,uvstride,stride[1]);
-	
+
 	// copy V
     d=image+dstride*image_height +uvstride*(image_height/2) + uvstride*y+x;
     if(image_format == IMGFMT_YV12)s=src[1];
@@ -1149,9 +1149,9 @@ static void flip_page(void)
 {
    	HRESULT dxresult;
 	g_lpddsBack->lpVtbl->Unlock (g_lpddsBack,NULL);
-	if (vo_doublebuffering) 
+	if (vo_doublebuffering)
     {
-		// flip to the next image in the sequence  
+		// flip to the next image in the sequence
 		dxresult = g_lpddsOverlay->lpVtbl->Flip( g_lpddsOverlay,NULL, DDFLIP_WAIT);
 		if(dxresult == DDERR_SURFACELOST)
 		{
@@ -1167,7 +1167,7 @@ static void flip_page(void)
 		}
 		if(dxresult != DD_OK)mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can't flip page\n");
     }
-	if(nooverlay) 
+	if(nooverlay)
 	{
 		DDBLTFX  ddbltfx;
         // ask for the "NOTEARING" option
@@ -1200,7 +1200,7 @@ static int draw_frame(uint8_t *src[])
 
 static uint32_t get_image(mp_image_t *mpi)
 {
-    if(mpi->flags&MP_IMGFLAG_READABLE) {mp_msg(MSGT_VO, MSGL_V,"<vo_directx><ERROR>slow video ram\n");return VO_FALSE;} 
+    if(mpi->flags&MP_IMGFLAG_READABLE) {mp_msg(MSGT_VO, MSGL_V,"<vo_directx><ERROR>slow video ram\n");return VO_FALSE;}
     if(mpi->type==MP_IMGTYPE_STATIC) {mp_msg(MSGT_VO, MSGL_V,"<vo_directx><ERROR>not static\n");return VO_FALSE;}
     if((mpi->width==dstride) || (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH)))
 	{
@@ -1232,10 +1232,10 @@ static uint32_t get_image(mp_image_t *mp
         mpi->flags|=MP_IMGFLAG_DIRECT;
         mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>Direct Rendering ENABLED\n");
         return VO_TRUE;
-    } 
+    }
     return VO_FALSE;
 }
-  
+
 static uint32_t put_image(mp_image_t *mpi){
 
     uint8_t   *d;
@@ -1246,16 +1246,16 @@ static uint32_t put_image(mp_image_t *mp
 	uint32_t h = mpi->h;
 
     if (WinID != -1) Directx_ManageDisplay();
-   
-    if((mpi->flags&MP_IMGFLAG_DIRECT)||(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)) 
+
+    if((mpi->flags&MP_IMGFLAG_DIRECT)||(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK))
 	{
 		mp_msg(MSGT_VO, MSGL_DBG3 ,"<vo_directx><INFO>put_image: nothing to do: drawslices\n");
 		return VO_TRUE;
     }
-   
+
     if (mpi->flags&MP_IMGFLAG_PLANAR)
 	{
-		
+
 		if(image_format!=IMGFMT_YVU9)draw_slice(mpi->planes,mpi->stride,mpi->w,mpi->h,0,0);
 		else
 		{
@@ -1303,7 +1303,7 @@ config(uint32_t width, uint32_t height, 
     if (g_cc != NULL)g_cc->lpVtbl->Release(g_cc);
     g_cc=NULL;
     if(g_lpddclipper)g_lpddclipper->lpVtbl->Release(g_lpddclipper);
-        g_lpddclipper=NULL;   
+        g_lpddclipper=NULL;
     if (g_lpddsBack != NULL) g_lpddsBack->lpVtbl->Release(g_lpddsBack);
     g_lpddsBack = NULL;
     if(vo_doublebuffering)
@@ -1327,38 +1327,38 @@ config(uint32_t width, uint32_t height, 
         rd.bottom = rd.top + d_image_height;
         if (WinID == -1) {
         if (vo_border)
-        AdjustWindowRect(&rd,WNDSTYLE,FALSE);  
-        SetWindowPos(hWnd,NULL, vo_dx, vo_dy,rd.right-rd.left,rd.bottom-rd.top,SWP_SHOWWINDOW|SWP_NOOWNERZORDER); 
+        AdjustWindowRect(&rd,WNDSTYLE,FALSE);
+        SetWindowPos(hWnd,NULL, vo_dx, vo_dy,rd.right-rd.left,rd.bottom-rd.top,SWP_SHOWWINDOW|SWP_NOOWNERZORDER);
         }
     }
-    else ShowWindow(hWnd,SW_SHOW); 
-     
-    if(vo_fs && !vidmode)ShowWindow(hWndFS,SW_SHOW);   
+    else ShowWindow(hWnd,SW_SHOW);
+
+    if(vo_fs && !vidmode)ShowWindow(hWndFS,SW_SHOW);
 	if (WinID == -1)
 	SetWindowText(hWnd,title);
-    
-    
-    if(vidmode)vo_fs=0;    
+
+
+    if(vidmode)vo_fs=0;
 
 
 	/*create the surfaces*/
     if(Directx_CreatePrimarySurface())return 1;
- 
-	//create palette for 256 color mode  
+
+	//create palette for 256 color mode
 	if(image_format==IMGFMT_BGR8){
 		LPDIRECTDRAWPALETTE ddpalette=NULL;
 		char* palette=malloc(4*256);
-		int i; 
+		int i;
 		for(i=0; i<256; i++){
 			palette[4*i+0] = ((i >> 5) & 0x07) * 255 / 7;
 			palette[4*i+1] = ((i >> 2) & 0x07) * 255 / 7;
 			palette[4*i+2] = ((i >> 0) & 0x03) * 255 / 3;
-			palette[4*i+3] = PC_NOCOLLAPSE;	
+			palette[4*i+3] = PC_NOCOLLAPSE;
 		}
-		g_lpdd->lpVtbl->CreatePalette(g_lpdd,DDPCAPS_8BIT|DDPCAPS_INITIALIZE,palette,&ddpalette,NULL);  
+		g_lpdd->lpVtbl->CreatePalette(g_lpdd,DDPCAPS_8BIT|DDPCAPS_INITIALIZE,palette,&ddpalette,NULL);
 		g_lpddsPrimary->lpVtbl->SetPalette(g_lpddsPrimary,ddpalette);
-		free(palette);       
-		ddpalette->lpVtbl->Release(ddpalette);      
+		free(palette);
+		ddpalette->lpVtbl->Release(ddpalette);
 	}
 
 	if (!nooverlay && Directx_CreateOverlay(image_format))
@@ -1367,7 +1367,7 @@ config(uint32_t width, uint32_t height, 
 			else {
               mp_msg(MSGT_VO, MSGL_FATAL,"<vo_directx><FATAL ERROR>can't use overlay mode: please use -vo directx:noaccel\n");
 			  return 1;
-            }       
+            }
 	}
 	if(nooverlay)
 	{
@@ -1433,7 +1433,7 @@ static uint32_t color_ctrl_set(char *wha
 		dcc.lSaturation = (value + 100) * 20000 / 200;
 		r = VO_TRUE;
 	}
-	
+
 	if (r == VO_TRUE) {
 		g_cc->lpVtbl->SetColorControls(g_cc, &dcc);
 	}
@@ -1470,14 +1470,14 @@ static uint32_t color_ctrl_get(char *wha
 		r = VO_TRUE;
 	}
 //	printf("\n*** %s = %d\n", what, *value);
-	
+
 	return r;
 }
 
 static int control(uint32_t request, void *data, ...)
 {
     switch (request) {
-   
+
 	case VOCTRL_GET_IMAGE:
       	return get_image(data);
     case VOCTRL_QUERY_FORMAT:
@@ -1558,17 +1558,17 @@ static int control(uint32_t request, voi
 					vo_fs=0;
 					ShowWindow(hWndFS,SW_HIDE);
 					ShowWindow(hWnd,SW_SHOW);
-				}  
+				}
 	      			last_rect.left = 0xDEADC0DE;   // reset window position cache
 				Directx_ManageDisplay();
-                break;				
+                break;
 			}
 		    return VO_TRUE;
 		}
 	case VOCTRL_SET_EQUALIZER: {
 		va_list	ap;
 		int	value;
-		
+
 		va_start(ap, data);
 		value = va_arg(ap, int);
 		va_end(ap);
@@ -1577,7 +1577,7 @@ static int control(uint32_t request, voi
 	case VOCTRL_GET_EQUALIZER: {
 		va_list	ap;
 		int	*value;
-		
+
 		va_start(ap, data);
 		value = va_arg(ap, int*);
 		va_end(ap);

Modified: trunk/libvo/vo_dxr2.c
==============================================================================
--- trunk/libvo/vo_dxr2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_dxr2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -176,7 +176,7 @@ int write_dxr2(const unsigned char *data
     mp_msg (MSGT_VO, MSGL_ERR, "DXR2 fd is not valid\n");
     return 0;
   }
-  
+
   while (len>0) if ((dxr2bufpos+len) <= BUF_SIZE) {
     fast_memcpy(dxr2buf+dxr2bufpos, data, len);
     dxr2bufpos+=len;
@@ -251,7 +251,7 @@ void dxr2_send_sub_packet(unsigned char*
   while(len>=4){
     int payload_size= PACK_MAX_SIZE-(7+ptslen+3);
     if(payload_size>len) payload_size= len;
-    
+
     pack[4]=(3+ptslen+1+payload_size)>>8;
     pack[5]=(3+ptslen+1+payload_size)&255;
 
@@ -272,11 +272,11 @@ void dxr2_send_sub_packet(unsigned char*
       pack[8]=0x00;
     }
     pack[ptslen+9] = id;
-    
+
     write_dxr2(pack,7+ptslen+3);
     write_dxr2(data,payload_size);
     len -= payload_size;
-    data += payload_size;   
+    data += payload_size;
     ptslen = 0;
   }
 }
@@ -293,7 +293,7 @@ static int dxr2_set_vga_params(dxr2_vgaP
   crop.arg3 = cr_top;
   crop.arg4 = cr_bot;
   ioctl(dxr2_fd, DXR2_IOC_SET_OVERLAY_CROPPING, &crop);
-  
+
   oc.arg1 = 0x40;
   oc.arg2 = 0xff;
   oc.arg3 = 0x40;
@@ -322,7 +322,7 @@ static int dxr2_set_vga_params(dxr2_vgaP
     uint8_t* src[] = { img, NULL, NULL };
     int stride[] = { vo_screenwidth * 3 , 0, 0 };
     int cc = vo_config_count;
-   
+
     memset(img,255,vo_screenwidth*vo_screenheight*3);
     vo_config_count = sub_config_count;
     if(sub_vo->config(vo_screenwidth,vo_screenheight,vo_screenwidth,vo_screenheight,
@@ -339,10 +339,10 @@ static int dxr2_set_vga_params(dxr2_vgaP
     free(img);
     sub_config_count++;
     vo_config_count = cc;
-    
+
     om.arg = DXR2_OVERLAY_WINDOW_COLOUR_KEY;
     ioctl(dxr2_fd, DXR2_IOC_SET_OVERLAY_MODE,&om);
-    
+
     vga->xScreen = vo_screenwidth;
     vga->yScreen = vo_screenheight;
     vga->hOffWinKey = 100;
@@ -441,7 +441,7 @@ static int dxr2_load_vga_params(dxr2_vga
   if(ret > 11 && !olx_cor) olx_cor = xc;
   if(ret > 12 && !oly_cor) oly_cor = yc;
   if(ret > 13 && !olw_cor) olw_cor = wc;
-  if(ret > 14 && !olh_cor) olh_cor = hc;    
+  if(ret > 14 && !olh_cor) olh_cor = hc;
   return ret >= 11 ? 1 : 0;
 }
 
@@ -482,7 +482,7 @@ static void dxr2_set_overlay_window(void
       vo_dheight = movie_h;
       vo_dx = (vo_screenwidth - vo_dwidth) / 2;
       vo_dy = (vo_screenheight - vo_dheight) / 2;
-    }      
+    }
   }
 
   if(sub_w != vo_dwidth || sub_h != vo_dheight) {
@@ -503,7 +503,7 @@ static void dxr2_set_overlay_window(void
     mp_msg(MSGT_VO,MSGL_V,"VO: [dxr2] set win size w=%d h=%d and offset x=%d y=%d \n",win.arg1,win.arg2,sub_x_off,sub_y_off);
     ioctl(dxr2_fd, DXR2_IOC_SET_OVERLAY_DIMENSION, &win);
   }
-  
+
   if(vo_dx != sub_x || vo_dy != sub_y) {
     sub_x = vo_dx + olx_cor + sub_x_off;
     sub_y = vo_dy + oly_cor + sub_y_off;
@@ -535,7 +535,7 @@ static int config(uint32_t s_width, uint
   // Video stream setup
   arg3.arg1 = DXR2_STREAM_VIDEO;
   arg3.arg2 = 0;
-  ioctl(dxr2_fd, DXR2_IOC_SELECT_STREAM, &arg3);	
+  ioctl(dxr2_fd, DXR2_IOC_SELECT_STREAM, &arg3);
   if (vo_fps > 28)
     arg3.arg1 = DXR2_SRC_VIDEO_FREQ_30;
   else arg3.arg1 = DXR2_SRC_VIDEO_FREQ_25;
@@ -577,7 +577,7 @@ static int config(uint32_t s_width, uint
   ioctl(dxr2_fd, DXR2_IOC_SET_TV_INTERLACED_MODE, &arg);
   arg = pixel_mode;
   ioctl(dxr2_fd, DXR2_IOC_SET_TV_PIXEL_MODE, &arg);
-  
+
   if (norm) {
     if (strcmp(norm, "ntsc")==0)
       arg = DXR2_OUTPUTFORMAT_NTSC;
@@ -669,8 +669,8 @@ static int config(uint32_t s_width, uint
     if(!sub_vo_win && !ol_osd) {
       sub_vo->uninit();
       sub_vo = NULL;
-    } 
- 
+    }
+
     while(sub_vo) {
       dxr2_sixArg_t oc;
       int i,sub_flags = VOFLAG_SWSCALE | (flags & VOFLAG_FULLSCREEN);
@@ -691,7 +691,7 @@ static int config(uint32_t s_width, uint
       oc.arg5 = ck_bmin;
       oc.arg6 = ck_bmax;
       ioctl(dxr2_fd, DXR2_IOC_SET_OVERLAY_COLOUR, &oc);
-      
+
       om.arg = DXR2_OVERLAY_WINDOW_COLOUR_KEY;
       ioctl(dxr2_fd, DXR2_IOC_SET_OVERLAY_MODE,&om);
       sub_img = malloc(width*height*3);
@@ -721,7 +721,7 @@ static int config(uint32_t s_width, uint
   }
 
   if (vo_ontop) vo_x11_setlayer(mDisplay, vo_window, vo_ontop);
-  
+
   // start playing
   if(ioctl(dxr2_fd, DXR2_IOC_PLAY, NULL) == 0) {
     playing = 1;
@@ -843,7 +843,7 @@ static int preinit(const char *arg) {
       use_ol = 0;
     }
   }
-  
+
   if(!sub_vo) {
     if(use_ol)
       mp_msg(MSGT_VO,MSGL_WARN,"VO: [dxr2] Sub driver '%s' not found => no overlay\n",arg);
@@ -957,13 +957,13 @@ static int control(uint32_t request, voi
       ioctl(dxr2_fd, DXR2_IOC_SET_OVERLAY_POSITION,&win);
       return VO_TRUE;
     }
-  case VOCTRL_SET_SPU_PALETTE: { 
+  case VOCTRL_SET_SPU_PALETTE: {
     if(ioctl(dxr2_fd,DXR2_IOC_SET_SUBPICTURE_PALETTE,data) < 0) {
       mp_msg(MSGT_VO,MSGL_WARN,"VO: [dxr2] SPU palette loading failed\n");
       return VO_ERROR;
     }
-    return VO_TRUE; 
-  } 
+    return VO_TRUE;
+  }
   }
   return VO_NOTIMPL;
 }

Modified: trunk/libvo/vo_dxr3.c
==============================================================================
--- trunk/libvo/vo_dxr3.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_dxr3.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,7 +54,7 @@
 
 #define SPU_SUPPORT
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"DXR3/H+ video out",
 	"dxr3",
@@ -70,7 +70,7 @@ static int osd_w, osd_h;
 static int img_format;
 
 /* Configuration values
- * Don't declare these static, they 
+ * Don't declare these static, they
  * should be accessible from the gui.
  */
 int dxr3_prebuf = 0;
@@ -212,7 +212,7 @@ static int control(uint32_t request, voi
 				pts_offset = 0;
 			}
 		}
-		
+
 		if (dxr3_prebuf) {
 			ioval = EM8300_PLAYMODE_PLAY;
 			if (ioctl(fd_control, EM8300_IOCTL_SET_PLAYMODE, &ioval) < 0) {
@@ -255,7 +255,7 @@ static int control(uint32_t request, voi
 		va_list ap;
 		int value;
 		em8300_bcs_t bcs;
-		
+
 		va_start(ap, data);
 		value = va_arg(ap, int);
 		va_end(ap);
@@ -269,7 +269,7 @@ static int control(uint32_t request, voi
 		else if (!strcasecmp(data, "saturation"))
 		    bcs.saturation = (value+100)*5;
 		else return VO_FALSE;
-        
+
 		if (ioctl(fd_control, EM8300_IOCTL_SETBCS, &bcs) < 0)
 		    return VO_FALSE;
 		return VO_TRUE;
@@ -279,14 +279,14 @@ static int control(uint32_t request, voi
 		va_list ap;
 		int *value;
 		em8300_bcs_t bcs;
-		
+
 		va_start(ap, data);
 		value = va_arg(ap, int*);
 		va_end(ap);
 
 		if (ioctl(fd_control, EM8300_IOCTL_GETBCS, &bcs) < 0)
 		    return VO_FALSE;
-		
+
 		if (!strcasecmp(data, "brightness"))
 		    *value = (bcs.brightness/5)-100;
 		else if (!strcasecmp(data, "contrast"))
@@ -294,7 +294,7 @@ static int control(uint32_t request, voi
 		else if (!strcasecmp(data, "saturation"))
 		    *value = (bcs.saturation/5)-100;
 		else return VO_FALSE;
-        
+
 		return VO_TRUE;
 	    }
 	}
@@ -306,12 +306,12 @@ void calculate_cvals(unsigned long mask,
 	/* Calculate shift and precision */
 	(*shift) = 0;
 	(*prec) = 0;
-	
+
 	while (!(mask & 0x1)) {
 		(*shift)++;
 		mask >>= 1;
 	}
-	
+
 	while (mask & 0x1) {
 		(*prec)++;
 		mask >>= 1;
@@ -340,7 +340,7 @@ static int config(uint32_t width, uint32
 	if (ioctl(fd_control, EM8300_IOCTL_SET_PLAYMODE, &ioval) < 0) {
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_UnableToSetPlaymode);
 	}
-	
+
 	/* Start em8300 prebuffering and sync engine */
 	reg.microcode_register = 1;
 	reg.reg = 0;
@@ -373,7 +373,7 @@ static int config(uint32_t width, uint32
 		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_UnableToGetTVNorm);
 		old_vmode = -1;
 	}
-	
+
 	/* adjust TV norm */
 	if (dxr3_norm != 0) {
 	    if (dxr3_norm == 5) {
@@ -388,10 +388,10 @@ static int config(uint32_t width, uint32
 			} else {
 			    ioval = EM8300_VIDEOMODE_PAL;
 			}
-			
+
 			mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_DXR3_AutoSelectedTVNormByFrameRate);
 			ioval == EM8300_VIDEOMODE_PAL60 ? mp_msg(MSGT_VO,MSGL_INFO, "PAL-60") : mp_msg(MSGT_VO,MSGL_INFO, "PAL");
-			printf(".\n"); 
+			printf(".\n");
 		} else {
 			if (vo_fps > 28) {
 			    ioval = EM8300_VIDEOMODE_NTSC;
@@ -401,17 +401,17 @@ static int config(uint32_t width, uint32
 
 			mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_DXR3_AutoSelectedTVNormByFrameRate);
 			ioval == EM8300_VIDEOMODE_NTSC ? mp_msg(MSGT_VO,MSGL_INFO, "NTSC") : mp_msg(MSGT_VO,MSGL_INFO, "PAL");
-			printf(".\n"); 
+			printf(".\n");
 	    }
-	
+
 		if (old_vmode != ioval) {
 	    	if (ioctl(fd_control, EM8300_IOCTL_SET_VIDEOMODE, &ioval) < 0) {
 				mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_UnableToSetTVNorm);
 	    	}
 		}
 	}
-	
-	
+
+
 	/* libavcodec requires a width and height that is x|16 */
 	aspect_save_orig(width, height);
 	aspect_save_prescale(d_width, d_height);
@@ -426,7 +426,7 @@ static int config(uint32_t width, uint32
 	aspect(&s_width, &s_height, A_ZOOM);
 	s_width -= s_width % 16;
 	s_height -= s_height % 16;
-	
+
 	/* Try to figure out whether to use widescreen output or not */
 	/* Anamorphic widescreen modes makes this a pain in the ass */
 	tmp1 = abs(d_height - ((d_width / 4) * 3));
@@ -475,7 +475,7 @@ static int config(uint32_t width, uint32
 	osd_h = s_height;
 	osdpicbuf_w = s_width;
 	osdpicbuf_h = s_height;
-	
+
 	spubuf->count=0;
 	pixbuf_encode_rle( 0,0,osdpicbuf_w,osdpicbuf_h - 1,osdpicbuf,osdpicbuf_w,spubuf );
 
@@ -527,7 +527,7 @@ static int config(uint32_t width, uint32
 			xswamask = CWBackPixel | CWBorderPixel;
 			XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa);
 		}
-		
+
 		/* Start setting up overlay */
 		XGetWindowAttributes(mDisplay, mRootWin, &xwin_attribs);
 		overlay_set_screen(overlay_data, xwin_attribs.width, xwin_attribs.height, xwin_attribs.depth);
@@ -538,7 +538,7 @@ static int config(uint32_t width, uint32
 		calculate_cvals(vinfo.red_mask, &red_shift, &red_prec);
 		calculate_cvals(vinfo.green_mask, &green_shift, &green_prec);
 		calculate_cvals(vinfo.blue_mask, &blue_shift, &blue_prec);
-		
+
 		key_color.red = ((KEY_COLOR >> 16) & 0xff) * 256;
 		key_color.green = ((KEY_COLOR >> 8) & 0xff) * 256;
 		key_color.blue = (KEY_COLOR & 0xff) * 256;
@@ -550,12 +550,12 @@ static int config(uint32_t width, uint32
 			mp_msg(MSGT_VO,MSGL_ERR, MSGTR_LIBVO_DXR3_UnableToAllocateKeycolor);
 			return -1;
 		}
-		
+
 		acq_color = ((key_color.red / 256) << 16) | ((key_color.green / 256) << 8) | key_color.blue;
 		if (key_color.pixel != KEY_COLOR) {
-			mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_UnableToAllocateExactKeycolor, key_color.pixel);	
+			mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_UnableToAllocateExactKeycolor, key_color.pixel);
 		}
-		
+
 		/* Set keycolor and activate overlay */
 		XSetWindowBackground(mDisplay, vo_window, key_color.pixel);
 		XClearWindow(mDisplay, vo_window);
@@ -575,8 +575,8 @@ static void draw_alpha(int x, int y, int
 	int by = 0;
 	register int lx, ly;
 	register int stride = 0;
-	
-	for (ly = 0; ly < h - 1; ly++) 
+
+	for (ly = 0; ly < h - 1; ly++)
 	 {
 	  for(lx = 0; lx < w; lx++ )
 	   if ( ( srca[stride + lx] )&&( src[stride + lx] >= 128 ) ) buf[by + lx] = 3;
@@ -596,7 +596,7 @@ static void draw_osd(void)
  static int cleared = 0;
         int changed = 0;
 
-	if ((disposd % 15) == 0) 
+	if ((disposd % 15) == 0)
 	{
 		{
 		 mp_osd_obj_t* obj = vo_osd_list;
@@ -712,7 +712,7 @@ static void uninit(void)
 	if (dxr3_overlay) {
 		overlay_set_mode(overlay_data, EM8300_OVERLAY_MODE_OFF);
 		overlay_release(overlay_data);
-		
+
 #ifdef CONFIG_GUI
 		if (!use_gui) {
 #endif
@@ -728,7 +728,7 @@ static void uninit(void)
 			mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_FailedRestoringTVNorm);
 		}
 	}
-	
+
 	if (fd_video) {
 		close(fd_video);
 	}
@@ -778,7 +778,7 @@ static int preinit(const char *arg)
 			// but maybe someone changes this in the future
 
 			mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_DXR3_WillSetTVNormTo);
-			
+
 			if (*arg == '5') {
 			    dxr3_norm = 5;
 			    mp_msg(MSGT_VO,MSGL_INFO, "NTSC");
@@ -801,18 +801,18 @@ static int preinit(const char *arg)
 			    dxr3_norm = 0;
 			    mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_DXR3_UseUnknownNormSuppliedCurrentNorm);
 			}
-			
+
 			mp_msg(MSGT_VO,MSGL_INFO, ".\n");
 		} else if (arg[0] == '0' || arg[0] == '1' || arg[0] == '2' || arg[0] == '3') {
 			dxr3_device_num = arg[0];
 		}
-		
+
 		arg = strchr(arg, ':');
 		if (arg) {
 			arg++;
 		}
 	}
-	
+
 
 	/* Open the control interface */
 	sprintf(devname, "/dev/em8300-%d", dxr3_device_num);
@@ -847,7 +847,7 @@ static int preinit(const char *arg)
 		mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_DXR3_Opened, devname);
 	}
 	strcpy(fdv_name, devname);
-	
+
 	/* Open the subpicture interface */
 	sprintf(devname, "/dev/em8300_sp-%d", dxr3_device_num);
 	fd_spu = open(devname, fdflags);
@@ -865,10 +865,10 @@ static int preinit(const char *arg)
 		mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_DXR3_Opened, devname);
 	}
 	strcpy(fds_name, devname);
-	
+
 #ifdef CONFIG_X11
 	if (dxr3_overlay) {
-	
+
 		/* Fucked up hack needed to enable overlay.
 		 * Will be removed as soon as I figure out
 		 * how to make it work like it should
@@ -876,7 +876,7 @@ static int preinit(const char *arg)
 		Display *dpy;
 		overlay_t *ov;
 		XWindowAttributes attribs;
-		
+
 		dpy = XOpenDisplay(NULL);
 	    	if (!dpy) {
 			mp_msg(MSGT_VO,MSGL_ERR, MSGTR_LIBVO_DXR3_UnableToOpenDisplayDuringHackSetup);
@@ -892,7 +892,7 @@ static int preinit(const char *arg)
 		overlay_release(ov);
 		XCloseDisplay(dpy);
 		/* End of fucked up hack */
-		
+
 		/* Initialize overlay and X11 */
 		overlay_data = overlay_init(fd_control);
 #ifdef CONFIG_GUI
@@ -933,7 +933,7 @@ static int update_parameters(overlay_t *
 static int overlay_set_attribute(overlay_t *o, int attribute, int value)
 {
     em8300_attribute_t attr;
-    
+
     attr.attribute = attribute;
     attr.value = value;
     if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SET_ATTRIBUTE, &attr)==-1)
@@ -1023,13 +1023,13 @@ static int overlay_read_state(overlay_t 
     void *ptr;
     int type;
     int j;
-	
+
     if(!p) {
 	av_strlcpy(fname, getenv("HOME"), sizeof( fname ));
-	av_strlcat(fname,"/.overlay", sizeof( fname ));	    
+	av_strlcat(fname,"/.overlay", sizeof( fname ));
     } else
 	av_strlcpy(fname, p, sizeof( fname ));
-    
+
     sprintf(tmp,"/res_%dx%dx%d",o->xres,o->yres,o->depth);
     av_strlcat(fname, tmp, sizeof( fname ));
 
@@ -1037,7 +1037,7 @@ static int overlay_read_state(overlay_t 
 	return -1;
 
     lut = new_lookuptable(o);
-    
+
     while(!feof(fp)) {
 	if(!fgets(line,256,fp))
 	    break;
@@ -1061,14 +1061,14 @@ static int overlay_read_state(overlay_t 
 		    sscanf(tok,"%f",&((struct coeff *)ptr)[j].m);
 		    tok=strtok(NULL," ");
 		}
-		break;	    
+		break;
 	    }
-	    
-	}	
+
+	}
     }
 
     update_parameters(o);
-    
+
     free(lut);
     fclose(fp);
     return 0;
@@ -1078,7 +1078,7 @@ static void overlay_update_params(overla
     update_parameters(o);
 }
 
-static int overlay_write_state(overlay_t *o, char *p)	
+static int overlay_write_state(overlay_t *o, char *p)
 {
     char *a;
     char path[128],fname[128],tmp[128];
@@ -1086,27 +1086,27 @@ static int overlay_write_state(overlay_t
     char line[256],*tok;
     struct lut_entry *lut;
     int i,j;
-	
+
     if(!p) {
 	av_strlcpy(fname, getenv("HOME"), sizeof( fname ));
-	av_strlcat(fname,"/.overlay", sizeof( fname ));	    
+	av_strlcat(fname,"/.overlay", sizeof( fname ));
     } else
 	av_strlcpy(fname, p, sizeof( fname ));
 
     if(access(fname, W_OK|X_OK|R_OK)) {
 	if(mkdir(fname,0766))
 	    return -1;
-    }	
-    
+    }
+
     sprintf(tmp,"/res_%dx%dx%d",o->xres,o->yres,o->depth);
     av_strlcat(fname, tmp, sizeof( fname ));
-    
+
     if(!(fp=fopen(fname,"w")))
 	return -1;
-    
+
     lut = new_lookuptable(o);
 
-    for(i=0; lut[i].name; i++) {	
+    for(i=0; lut[i].name; i++) {
 	fprintf(fp,"%s ",lut[i].name);
 	switch(lut[i].type) {
 	case TYPE_INT:
@@ -1119,11 +1119,11 @@ static int overlay_write_state(overlay_t
 	    fprintf(fp,"%f\n",*(float *)lut[i].ptr);
 	    break;
 	case TYPE_COEFF:
-	    for(j=0;j<3;j++) 
+	    for(j=0;j<3;j++)
 		fprintf(fp,"%f %f ",((struct coeff *)lut[i].ptr)[j].k,
 			((struct coeff *)lut[i].ptr)[j].m);
 	    fprintf(fp,"\n");
-	    break;	    
+	    break;
 	}
     }
 
@@ -1141,7 +1141,7 @@ static int overlay_set_screen(overlay_t 
 
    scr.xsize = xres;
    scr.ysize = yres;
-   
+
    if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SETSCREEN, &scr)==-1)
         {
             mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_DXR3_FailedSettingOverlayScreen);
@@ -1216,7 +1216,7 @@ static int overlay_set_keycolor(overlay_
     rl = r-o->color_interval;
     gl = g-o->color_interval;
     bl = b-o->color_interval;
-    
+
     upper = (col_interp(ru, o->colcal_upper[0]) << 16) |
 	    (col_interp(gu, o->colcal_upper[1]) << 8) |
 	    (col_interp(bu, o->colcal_upper[2]));

Modified: trunk/libvo/vo_fbdev2.c
==============================================================================
--- trunk/libvo/vo_fbdev2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_fbdev2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -109,15 +109,15 @@ static struct fb_cmap *make_directcolor_
   int i, cols, rcols, gcols, bcols;
   uint16_t *red, *green, *blue;
   struct fb_cmap *cmap;
-        
+
   rcols = 1 << var->red.length;
   gcols = 1 << var->green.length;
   bcols = 1 << var->blue.length;
-  
+
   /* Make our palette the length of the deepest color */
   cols = (rcols > gcols ? rcols : gcols);
   cols = (cols > bcols ? cols : bcols);
-  
+
   red = malloc(cols * sizeof(red[0]));
   if(!red) {
 	  mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't allocate red palette with %d entries.\n", cols);
@@ -125,7 +125,7 @@ static struct fb_cmap *make_directcolor_
   }
   for(i=0; i< rcols; i++)
     red[i] = (65535/(rcols-1)) * i;
-  
+
   green = malloc(cols * sizeof(green[0]));
   if(!green) {
 	  mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't allocate green palette with %d entries.\n", cols);
@@ -134,7 +134,7 @@ static struct fb_cmap *make_directcolor_
   }
   for(i=0; i< gcols; i++)
     green[i] = (65535/(gcols-1)) * i;
-  
+
   blue = malloc(cols * sizeof(blue[0]));
   if(!blue) {
 	  mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't allocate blue palette with %d entries.\n", cols);
@@ -144,7 +144,7 @@ static struct fb_cmap *make_directcolor_
   }
   for(i=0; i< bcols; i++)
     blue[i] = (65535/(bcols-1)) * i;
-  
+
   cmap = malloc(sizeof(struct fb_cmap));
   if(!cmap) {
 	  mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't allocate color map\n");
@@ -160,7 +160,7 @@ static struct fb_cmap *make_directcolor_
   cmap->blue = blue;
   cmap->green = green;
   cmap->transp = NULL;
-  
+
   return cmap;
 }
 
@@ -173,7 +173,7 @@ static int fb_preinit(int reset)
 		fb_preinit_done = 0;
 		return 0;
 	}
-	
+
 	if (fb_preinit_done)
 		return fb_err;
 	fb_preinit_done = 1;

Modified: trunk/libvo/vo_gif89a.c
==============================================================================
--- trunk/libvo/vo_gif89a.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_gif89a.c	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@
  *
  * time values are in centiseconds, because that's
  * what the gif spec uses for it's delay values.
- * 
+ *
  * preinit looks for arguments in one of the following formats (in this order):
  * fps:filename  -- sets the framerate (float) and output file
  * fps           -- sets the framerate (float), default file out.gif
@@ -136,18 +136,18 @@ static int preinit(const char *arg)
 	} else {
 		mp_msg(MSGT_VO, MSGL_V, "GIF89a: output fps forced to %.2f\n", target_fps);
 	}
-	
+
 	ideal_delay = 100 / target_fps; // in centiseconds
 	frame_cycle = vo_fps / target_fps;
 	// we make one output frame every (frame_cycle) frames, on average.
-	
+
 	if (gif_filename == NULL) {
 		gif_filename = strdup(DEFAULT_FILE);
 		mp_msg(MSGT_VO, MSGL_V, "GIF89a: default, file \"%s\"\n", gif_filename);
 	} else {
 		mp_msg(MSGT_VO, MSGL_V, "GIF89a: file forced to \"%s\"\n", gif_filename);
 	}
-	
+
 	mp_msg(MSGT_VO, MSGL_DBG2, "GIF89a: Preinit OK\n");
 	return 0;
 }
@@ -164,7 +164,7 @@ static int config(uint32_t s_width, uint
 
 	mp_msg(MSGT_VO, MSGL_DBG2, "GIF89a: Config entered [%dx%d]\n", s_width,s_height);
 	mp_msg(MSGT_VO, MSGL_DBG2, "GIF89a: With requested format: %s\n", vo_format_name(format));
-	
+
 	// save these for later.
 	img_width = s_width;
 	img_height = s_height;
@@ -179,12 +179,12 @@ static int config(uint32_t s_width, uint
 	// multiple configs without uninit will result in two
 	// movies concatenated in one gif file.  the output
 	// gif will have the dimensions of the first movie.
-	
+
 	if (format != IMGFMT_RGB24) {
 		mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Error - given unsupported colorspace.\n");
 		return 1;
 	}
-	
+
 	// the EGifSetGifVersion line causes segfaults in certain
 	// earlier versions of libungif.  i don't know exactly which,
 	// but certainly in all those before v4.  if you have problems,
@@ -195,7 +195,7 @@ static int config(uint32_t s_width, uint
 	mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Your version of libungif needs to be upgraded.\n");
 	mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Some functionality has been disabled.\n");
 #endif
-	
+
 	new_gif = EGifOpenFileName(gif_filename, 0);
 	if (new_gif == NULL) {
 		mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename);
@@ -222,7 +222,7 @@ static int config(uint32_t s_width, uint
 		mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: malloc failed.\n");
 		return 1;
 	}
-	
+
 	// initialize the delay and framedrop variables.
 	ideal_time = 0;
 	real_time = 0;
@@ -265,7 +265,7 @@ static int gif_reduce(int width, int hei
 		*G++ = *src++;
 		*B++ = *src++;
 	}
-	
+
 	R = Ra; G = Ga; B = Ba;
 	return QuantizeBuffer(width, height, &size, R, G, B, dst, colors);
 }
@@ -294,7 +294,7 @@ static void flip_page(void)
 	frame_adj += cycle_pos;
 	frame_adj -= frame_cycle;
 	cycle_pos = 0;
-	
+
 	// set up the delay control block
 	CB[0] = (char)(delay >> 8);
 	CB[1] = (char)(delay & 0xff);
@@ -350,7 +350,7 @@ static int control(uint32_t request, voi
 static void uninit(void)
 {
 	mp_msg(MSGT_VO, MSGL_DBG2, "GIF89a: Uninit entered\n");
-	
+
 	if (new_gif != NULL) {
 		char temp[256];
 		// comment the gif and close it
@@ -360,13 +360,13 @@ static void uninit(void)
 		EGifPutComment(new_gif, temp);
 		EGifCloseFile(new_gif); // also frees gif storage space.
 	}
-	
+
 	// free our allocated ram
 	if (gif_filename != NULL) free(gif_filename);
 	if (slice_data != NULL) free(slice_data);
 	if (reduce_data != NULL) free(reduce_data);
 	if (reduce_cmap != NULL) FreeMapObject(reduce_cmap);
-	
+
 	// set the pointers back to null.
 	new_gif = NULL;
 	gif_filename = NULL;

Modified: trunk/libvo/vo_gl.c
==============================================================================
--- trunk/libvo/vo_gl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_gl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@
 #include "libass/ass.h"
 #include "libass/ass_mp.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
   "X11 (OpenGL)",
   "gl",
@@ -472,7 +472,7 @@ static int initGl(uint32_t d_width, uint
   autodetectGlExtensions();
   texSize(image_width, image_height, &texture_width, &texture_height);
 
-  glDisable(GL_BLEND); 
+  glDisable(GL_BLEND);
   glDisable(GL_DEPTH_TEST);
   glDepthMask(GL_FALSE);
   glDisable(GL_CULL_FACE);
@@ -530,7 +530,7 @@ static int initGl(uint32_t d_width, uint
 /* connect to server, create and map window,
  * allocate colors and (shared) memory
  */
-static int 
+static int
 config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
 {
   image_height = height;
@@ -935,7 +935,7 @@ skip_upload:
 static int
 draw_frame(uint8_t *src[])
 {
-  return VO_ERROR; 
+  return VO_ERROR;
 }
 
 static int

Modified: trunk/libvo/vo_ivtv.c
==============================================================================
--- trunk/libvo/vo_ivtv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_ivtv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -65,7 +65,7 @@ static const opt_t subopts[] = {
   {NULL}
 };
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
   "IVTV MPEG Video Decoder TV-Out",
   "ivtv",
@@ -86,17 +86,17 @@ ivtv_reset (int blank_screen)
   if (blank_screen)
     flags |= IVTV_STOP_FL_HIDE_FRAME;
   sd.flags = flags;
- 
+
   if (ioctl (ivtv_fd, IVTV_IOC_STOP_DECODE, &sd) < 0)
   {
     mp_msg (MSGT_VO, MSGL_ERR,
             "IVTV_IOC_STOP_DECODE: %s\n", strerror (errno));
     return 1;
   }
-  
+
   sd1.gop_offset = 0;
   sd1.muted_audio_frames = 0;
-  
+
   if (ioctl (ivtv_fd, IVTV_IOC_START_DECODE, &sd1) < 0)
   {
     mp_msg (MSGT_VO, MSGL_ERR,
@@ -112,7 +112,7 @@ ivtv_write (unsigned char *data, int len
 {
   if (ivtv_fd < 0)
     return 0;
-  
+
   return write (ivtv_fd, data, len);
 }
 
@@ -145,13 +145,13 @@ preinit (const char *arg)
             "\n" );
     return -1;
   }
-  
+
   if (!device)
-    device = strdup (DEFAULT_MPEG_DECODER);    
-  
+    device = strdup (DEFAULT_MPEG_DECODER);
+
   ivtv_fd = open (device, O_RDWR);
   if (ivtv_fd < 0)
-  {  
+  {
     free (device);
     mp_msg (MSGT_VO, MSGL_FATAL, "%s %s\n", IVTV_VO_HDR, strerror (errno));
     return -1;
@@ -212,7 +212,7 @@ preinit (const char *arg)
             "%s can't get output (%s).\n", IVTV_VO_HDR, strerror (errno));
     return -1;
   }
-  
+
   /* clear output */
   ivtv_reset (1);
 
@@ -280,7 +280,7 @@ query_format (uint32_t format)
 {
   if (format != IMGFMT_MPEGPES)
     return 0;
-    
+
   return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_TIMER;
 }
 
@@ -289,16 +289,16 @@ control (uint32_t request, void *data, .
 {
   switch (request)
   {
-  case VOCTRL_PAUSE: 
-  case VOCTRL_RESUME: 
+  case VOCTRL_PAUSE:
+  case VOCTRL_RESUME:
     return ivtv_reset (0);
 
-  case VOCTRL_RESET: 
+  case VOCTRL_RESET:
     return ivtv_reset (1);
 
   case VOCTRL_QUERY_FORMAT:
     return query_format (*((uint32_t*) data));
   }
-  
+
   return VO_NOTIMPL;
 }

Modified: trunk/libvo/vo_jpeg.c
==============================================================================
--- trunk/libvo/vo_jpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_jpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -105,10 +105,10 @@ static int framenum = 0;
  *                  returns, everything went well.
  */
 
-static void jpeg_mkdir(char *buf, int verbose) { 
+static void jpeg_mkdir(char *buf, int verbose) {
     struct stat stat_p;
 
-#ifndef __MINGW32__	
+#ifndef __MINGW32__
     if ( mkdir(buf, 0755) < 0 ) {
 #else
     if ( mkdir(buf) < 0 ) {
@@ -133,7 +133,7 @@ static void jpeg_mkdir(char *buf, int ve
                             buf, MSGTR_VO_DirExistsButNotWritable);
                     exit_player(MSGTR_Exit_error);
                 }
-                
+
                 mp_msg(MSGT_VO, MSGL_INFO, "%s: %s - %s\n", info.short_name,
                         buf, MSGTR_VO_DirExistsAndIsWritable);
                 break;
@@ -145,7 +145,7 @@ static void jpeg_mkdir(char *buf, int ve
                         buf, MSGTR_VO_CantCreateDirectory);
                 exit_player(MSGTR_Exit_error);
         } /* end switch */
-    } else if ( verbose ) {  
+    } else if ( verbose ) {
         mp_msg(MSGT_VO, MSGL_INFO, "%s: %s - %s\n", info.short_name,
                 buf, MSGTR_VO_DirectoryCreateSuccess);
     } /* end if */
@@ -160,9 +160,9 @@ static int config(uint32_t width, uint32
     char buf[BUFLENGTH];
 
     /* Create outdir. */
-    
+
     snprintf(buf, BUFLENGTH, "%s", jpeg_outdir);
- 
+
     jpeg_mkdir(buf, 1); /* This function only returns if creation was
                            successful. If not, the player will exit. */
 
@@ -171,7 +171,7 @@ static int config(uint32_t width, uint32
     /* Save for JFIF-Header PAR */
     image_d_width = d_width;
     image_d_height = d_height;
-    
+
     return 0;
 }
 
@@ -185,7 +185,7 @@ static uint32_t jpeg_write(uint8_t * nam
     JSAMPROW row_pointer[1];
     int row_stride;
 
-    if ( !buffer ) return 1; 
+    if ( !buffer ) return 1;
     if ( (outfile = fopen(name, "wb") ) == NULL ) {
         mp_msg(MSGT_VO, MSGL_ERR, "\n%s: %s\n", info.short_name,
                 MSGTR_VO_CantCreateFile);
@@ -194,11 +194,11 @@ static uint32_t jpeg_write(uint8_t * nam
                 strerror(errno) );
         exit_player(MSGTR_Exit_error);
     }
- 
+
     cinfo.err = jpeg_std_error(&jerr);
     jpeg_create_compress(&cinfo);
     jpeg_stdio_dest(&cinfo, outfile);
-    
+
     cinfo.image_width = image_width;
     cinfo.image_height = image_height;
     cinfo.input_components = 3;
@@ -223,9 +223,9 @@ static uint32_t jpeg_write(uint8_t * nam
     if ( jpeg_progressive_mode ) {
         jpeg_simple_progression(&cinfo);
     }
-    
+
     jpeg_start_compress(&cinfo, TRUE);
-    
+
     row_stride = image_width * 3;
     while (cinfo.next_scanline < cinfo.image_height) {
         row_pointer[0] = &buffer[cinfo.next_scanline * row_stride];
@@ -235,7 +235,7 @@ static uint32_t jpeg_write(uint8_t * nam
     jpeg_finish_compress(&cinfo);
     fclose(outfile);
     jpeg_destroy_compress(&cinfo);
-    
+
     return 0;
 }
 
@@ -262,15 +262,15 @@ static int draw_frame(uint8_t *src[])
         jpeg_mkdir(buf, 0); /* This function only returns if creation was
                                successful. If not, the player will exit. */
     }
-    
+
     framenum++;
 
     /* snprintf the full pathname of the outputfile */
     snprintf(buf, BUFLENGTH, "%s/%s/%08d.jpg", jpeg_outdir, subdirname,
                                                                     framenum);
-    
+
     framecounter++;
-    
+
     return jpeg_write(buf, src[0]);
 }
 
@@ -301,7 +301,7 @@ static int query_format(uint32_t format)
     if (format == IMGFMT_RGB24) {
         return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW;
     }
-    
+
     return 0;
 }
 

Modified: trunk/libvo/vo_md5sum.c
==============================================================================
--- trunk/libvo/vo_md5sum.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_md5sum.c	Wed May 13 04:58:57 2009	(r29305)
@@ -229,7 +229,7 @@ static uint32_t draw_image(mp_image_t *m
         }
     } else { /* Packed */
         if (mpi->flags & MP_IMGFLAG_YUV) { /* Packed YUV */
-            
+
             return VO_FALSE;
         } else { /* Packed RGB */
             av_md5_sum(md5sum, rgbimage, mpi->w * (mpi->bpp >> 3) * mpi->h);

Modified: trunk/libvo/vo_mga.c
==============================================================================
--- trunk/libvo/vo_mga.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_mga.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,7 +38,7 @@
 #include "sub.h"
 #include "aspect.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"Matrox G200/G4x0/G550 overlay (/dev/mga_vid)",
 	"mga",
@@ -77,7 +77,7 @@ static int config(uint32_t width, uint32
 		aspect_save_orig(width,height);
 		aspect_save_prescale(d_width,d_height);
 		aspect_save_screenres(vo_screenwidth,vo_screenheight);
-	
+
 		if(flags&VOFLAG_FULLSCREEN) { /* -fs */
 			aspect(&d_width,&d_height,A_ZOOM);
 			vo_fs = VO_TRUE;
@@ -97,7 +97,7 @@ static int config(uint32_t width, uint32
 		mga_vid_config.x_org=(vo_screenwidth-d_width)/2;
 		mga_vid_config.y_org=(vo_screenheight-d_height)/2;
 	}
-	
+
     return mga_init(width,height,format);
 }
 

Modified: trunk/libvo/vo_mpegpes.c
==============================================================================
--- trunk/libvo/vo_mpegpes.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_mpegpes.c	Wed May 13 04:58:57 2009	(r29305)
@@ -75,7 +75,7 @@
 int vo_mpegpes_fd=-1;
 extern int vo_mpegpes_fd2;
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 #ifdef CONFIG_DVB
 	"MPEG-PES to DVB card",
@@ -111,7 +111,7 @@ static int preinit(const char *arg){
 #ifdef CONFIG_DVB
     int card = -1;
     char vo_file[30], ao_file[30], *tmp;
-    
+
     if(arg != NULL){
 	if((tmp = strstr(arg, "card=")) != NULL) {
 	    card = atoi(&tmp[5]);
@@ -123,7 +123,7 @@ static int preinit(const char *arg){
 	    arg = NULL;
 	}
     }
-    
+
     if(!arg){
     //|O_NONBLOCK
         //search the first usable card
@@ -172,7 +172,7 @@ static int preinit(const char *arg){
     arg = (arg ? arg : "grab.mpg");
     mp_msg(MSGT_VO,MSGL_INFO, "Saving PES stream to %s\n", arg);
     vo_mpegpes_fd=open(arg,O_WRONLY|O_CREAT,0666);
-    if(vo_mpegpes_fd<0){	
+    if(vo_mpegpes_fd<0){
 	perror("vo_mpegpes");
 	return -1;
     }
@@ -195,7 +195,7 @@ static int my_write(unsigned char* data,
 
 	pfd[0].fd = vo_mpegpes_fd;
 	pfd[0].events = POLLOUT;
-	
+
 	pfd[1].fd = vo_mpegpes_fd2;
 	pfd[1].events = POLLOUT;
 
@@ -203,7 +203,7 @@ static int my_write(unsigned char* data,
 	if (poll(pfd,NFD,1)){
 	    if (pfd[0].revents & POLLOUT){
 		int ret=write(vo_mpegpes_fd,data,len);
-//		printf("ret=%d  \n",ret); 
+//		printf("ret=%d  \n",ret);
 		if(ret<=0){
 		    perror("write");
 		    usleep(0);

Modified: trunk/libvo/vo_null.c
==============================================================================
--- trunk/libvo/vo_null.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_null.c	Wed May 13 04:58:57 2009	(r29305)
@@ -30,7 +30,7 @@
 #include "video_out.h"
 #include "video_out_internal.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"Null video output",
 	"null",
@@ -90,7 +90,7 @@ static void check_events(void)
 
 static int preinit(const char *arg)
 {
-    if(arg) 
+    if(arg)
     {
 	mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_NULL_UnknownSubdevice,arg);
 	return ENOSYS;

Modified: trunk/libvo/vo_png.c
==============================================================================
--- trunk/libvo/vo_png.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_png.c	Wed May 13 04:58:57 2009	(r29305)
@@ -43,7 +43,7 @@
 
 #define BUFLENGTH 512
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"PNG file",
 	"png",
@@ -62,13 +62,13 @@ struct pngdata {
 	FILE * fp;
 	png_structp png_ptr;
 	png_infop info_ptr;
-	enum {OK,ERROR} status;  
+	enum {OK,ERROR} status;
 };
 
-static void png_mkdir(char *buf, int verbose) { 
+static void png_mkdir(char *buf, int verbose) {
     struct stat stat_p;
 
-#ifndef __MINGW32__	
+#ifndef __MINGW32__
     if ( mkdir(buf, 0755) < 0 ) {
 #else
     if ( mkdir(buf) < 0 ) {
@@ -93,7 +93,7 @@ static void png_mkdir(char *buf, int ver
                             buf, MSGTR_VO_DirExistsButNotWritable);
                     exit_player(MSGTR_Exit_error);
                 }
-                
+
                 mp_msg(MSGT_VO, MSGL_INFO, "%s: %s - %s\n", info.short_name,
                         buf, MSGTR_VO_DirExistsAndIsWritable);
                 break;
@@ -105,27 +105,27 @@ static void png_mkdir(char *buf, int ver
                         buf, MSGTR_VO_CantCreateDirectory);
                 exit_player(MSGTR_Exit_error);
         } /* end switch */
-    } else if ( verbose ) {  
+    } else if ( verbose ) {
         mp_msg(MSGT_VO, MSGL_INFO, "%s: %s - %s\n", info.short_name,
                 buf, MSGTR_VO_DirectoryCreateSuccess);
     } /* end if */
 }
-    
+
 static int
 config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
 {
     char buf[BUFLENGTH];
-    
+
 	    if(z_compression == 0) {
  		    mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_PNG_Warning1);
  		    mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_PNG_Warning2);
  		    mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_PNG_Warning3);
-	    }	    
-    
+	    }
+
     snprintf(buf, BUFLENGTH, "%s", png_outdir);
     png_mkdir(buf, 1);
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Compression level %i\n", z_compression);
-	  	
+
     return 0;
 }
 
@@ -142,13 +142,13 @@ static struct pngdata create_png (char *
        (PNG_LIBPNG_VER_STRING, NULL,
         NULL, NULL);
     png.info_ptr = png_create_info_struct(png.png_ptr);
-   
+
     if (!png.png_ptr) {
        mp_msg(MSGT_VO,MSGL_DBG2, "PNG Failed to init png pointer\n");
        png.status = ERROR;
        return png;
-    }   
-    
+    }
+
     if (!png.info_ptr) {
        mp_msg(MSGT_VO,MSGL_DBG2, "PNG Failed to init png infopointer\n");
        png_destroy_write_struct(&png.png_ptr,
@@ -156,7 +156,7 @@ static struct pngdata create_png (char *
        png.status = ERROR;
        return png;
     }
-    
+
     if (setjmp(png.png_ptr->jmpbuf)) {
         mp_msg(MSGT_VO,MSGL_DBG2, "PNG Internal error!\n");
         png_destroy_write_struct(&png.png_ptr, &png.info_ptr);
@@ -164,48 +164,48 @@ static struct pngdata create_png (char *
         png.status = ERROR;
         return png;
     }
-    
+
     png.fp = fopen (fname, "wb");
     if (png.fp == NULL) {
  	mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_PNG_ErrorOpeningForWriting, strerror(errno));
        	png.status = ERROR;
        	return png;
-    }	    
-    
+    }
+
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Init IO\n");
     png_init_io(png.png_ptr, png.fp);
 
     /* set the zlib compression level */
     png_set_compression_level(png.png_ptr, z_compression);
-		    
-    
+
+
     /*png_set_IHDR(png_ptr, info_ptr, width, height,
        bit_depth, color_type, interlace_type,
        compression_type, filter_type)*/
     png_set_IHDR(png.png_ptr, png.info_ptr, image_width, image_height,
        8, use_alpha ? PNG_COLOR_TYPE_RGBA : PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
        PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
-    
+
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Write Info\n");
     png_write_info(png.png_ptr, png.info_ptr);
-    
+
     if(swapped) {
         mp_msg(MSGT_VO,MSGL_DBG2, "PNG Set BGR Conversion\n");
     	png_set_bgr(png.png_ptr);
-    }	
+    }
 
     png.status = OK;
     return png;
-}    
-       
+}
+
 static uint8_t destroy_png(struct pngdata png) {
-	    
+
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Write End\n");
     png_write_end(png.png_ptr, png.info_ptr);
 
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Destroy Write Struct\n");
     png_destroy_write_struct(&png.png_ptr, &png.info_ptr);
-    
+
     fclose (png.fp);
 
     return 0;
@@ -219,7 +219,7 @@ static uint32_t draw_image(mp_image_t* m
 
     // if -dr or -slices then do nothing:
     if(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK)) return VO_TRUE;
-    
+
     snprintf (buf, 100, "%s/%08d.png", png_outdir, ++framenum);
 
     png = create_png(buf, mpi->w, mpi->h, IMGFMT_IS_BGR(mpi->imgfmt));
@@ -227,7 +227,7 @@ static uint32_t draw_image(mp_image_t* m
     if(png.status){
  	    mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_PNG_ErrorInCreatePng);
 	    return 1;
-    }	     
+    }
 
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Creating Row Pointers\n");
     for ( k = 0; k < mpi->h; k++ )

Modified: trunk/libvo/vo_pnm.c
==============================================================================
--- trunk/libvo/vo_pnm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_pnm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -197,7 +197,7 @@ static int preinit(const char *arg)
  *                  returns, everything went well.
  */
 
-static void pnm_mkdir(char *buf, int verbose) { 
+static void pnm_mkdir(char *buf, int verbose) {
     struct stat stat_p;
 
 /* Silly MING32 bug workaround */
@@ -226,7 +226,7 @@ static void pnm_mkdir(char *buf, int ver
                             buf, MSGTR_VO_DirExistsButNotWritable);
                     exit_player(MSGTR_Exit_error);
                 }
-                
+
                 if (strcmp(buf, ".") != 0) {
                 mp_msg(MSGT_VO, MSGL_INFO, "%s: %s - %s\n", info.short_name,
                         buf, MSGTR_VO_DirExistsAndIsWritable);
@@ -240,7 +240,7 @@ static void pnm_mkdir(char *buf, int ver
                         buf, MSGTR_VO_CantCreateDirectory);
                 exit_player(MSGTR_Exit_error);
         } /* end switch */
-    } else if ( verbose ) {  
+    } else if ( verbose ) {
         mp_msg(MSGT_VO, MSGL_INFO, "%s: %s - %s\n", info.short_name,
                 buf, MSGTR_VO_DirectoryCreateSuccess);
     } /* end if */
@@ -267,7 +267,7 @@ static int config(uint32_t width, uint32
     }
 
     /* Create outdir. */
-    
+
     snprintf(buf, BUFLENGTH, "%s", pnm_outdir);
     pnm_mkdir(buf, 1); /* This function only returns if creation was
                            successful. If not, the player will exit. */
@@ -444,7 +444,7 @@ static void pnm_write_image(mp_image_t *
         mp_msg(MSGT_VO, MSGL_ERR, "%s: No image data suplied to video output driver\n", info.short_name );
         exit_player(MSGTR_Exit_error);
     }
-        
+
     /* Start writing to new subdirectory after a certain amount of frames */
     if ( framecounter == pnm_maxfiles ) {
         framecounter = 0;
@@ -460,14 +460,14 @@ static void pnm_write_image(mp_image_t *
         pnm_mkdir(buf, 0); /* This function only returns if creation was
                                successful. If not, the player will exit. */
     }
-    
+
     framenum++;
     framecounter++;
 
     /* snprintf the full pathname of the outputfile */
     snprintf(buf, BUFLENGTH, "%s/%s/%08d.%s", pnm_outdir, subdirname,
                                             framenum, pnm_file_extension);
-    
+
     if ( (outfile = fopen(buf, "wb") ) == NULL ) {
         mp_msg(MSGT_VO, MSGL_ERR, "\n%s: %s\n", info.short_name,
                 MSGTR_VO_CantCreateFile);
@@ -476,7 +476,7 @@ static void pnm_write_image(mp_image_t *
                 strerror(errno) );
         exit_player(MSGTR_Exit_error);
     }
-    
+
     pnm_write_pnm(outfile, mpi);
 
     fclose(outfile);

Modified: trunk/libvo/vo_quartz.c
==============================================================================
--- trunk/libvo/vo_quartz.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_quartz.c	Wed May 13 04:58:57 2009	(r29305)
@@ -339,7 +339,7 @@ static OSStatus MouseEventHandler(EventH
             {
                 if (part != inContent)
                     break;
-                switch (button) 
+                switch (button)
                 {
                 case kEventMouseButtonPrimary:
                     mplayer_put_key(MOUSE_BTN0);

Modified: trunk/libvo/vo_quartz.h
==============================================================================
--- trunk/libvo/vo_quartz.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_quartz.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  * vo_quartz.h
  * Mac keyboard def taken from SDL
  * See the Subversion log for a list of changes.
@@ -118,7 +118,7 @@
 #define QZ_PERIOD		0x2F
 #define QZ_SLASH		0x2C
 /* These are the same as the left versions - use left by default */
-#if 0				
+#if 0
 #define QZ_RSHIFT		0x38
 #endif
 #define QZ_UP			0x7E
@@ -131,7 +131,7 @@
 #define QZ_LMETA		0x37
 #define QZ_SPACE		0x31
 /* These are the same as the left versions - use left by default */
-#if 0				
+#if 0
 #define QZ_RMETA		0x37
 #define QZ_RALT			0x3A
 #define QZ_RCTRL		0x3B

Modified: trunk/libvo/vo_s3fb.c
==============================================================================
--- trunk/libvo/vo_s3fb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_s3fb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -112,7 +112,7 @@ int readcrtc(int reg) {
 
 void writecrtc(int reg, int value) {
   outb(reg, 0x3d4);
-  outb(value, 0x3d5);   
+  outb(value, 0x3d5);
 }
 
 // enable S3 registers
@@ -173,7 +173,7 @@ int yuv_on(int format, int src_w, int sr
   src_wc = src_w - crop * 2;
   src_hc = src_h - crop * 2;
   pitch = src_w * bpp;
-   
+
   // video card memory layout:
   // 0-n: visible screen memory, n = width * height * bytes per pixel
   // n-m: scaler source memory, n is aligned to a page boundary
@@ -182,16 +182,16 @@ int yuv_on(int format, int src_w, int sr
   // offset is the first aligned byte after the screen memory, where the scaler input buffer is
   tmp = (yres * line_length + 4095) & ~4095;
   offset += tmp;
-   
+
   // start is the top left viewable scaler input pixel
   start = offset + crop * pitch + crop * bpp;
-   
+
   OUTREG(COL_CHROMA_KEY_CONTROL_REG, 0x47000000);
   OUTREG(CHROMA_KEY_UPPER_BOUND_REG, 0x0);
   OUTREG(BLEND_CONTROL_REG, 0x00000020);
   OUTREG(DOUBLE_BUFFER_REG, 0x0); /* Choose fbaddr0 as stream source. */
   OUTREG(OPAQUE_OVERLAY_CONTROL_REG, 0x0);
-   
+
   OUTREG(PSTREAM_CONTROL_REG, 0x06000000);
   OUTREG(PSTREAM_FBADDR0_REG, 0x0);
   OUTREG(PSTREAM_FBADDR1_REG, 0x0);
@@ -199,7 +199,7 @@ int yuv_on(int format, int src_w, int sr
   OUTREG(PSTREAM_START_REG, 0x00010001);
   OUTREG(PSTREAM_WINDOW_SIZE_REG, 0x00010001);
   //OUTREG(SSTREAM_WINDOW_SIZE_REG, ( ((xres-1) << 16) | yres) & 0x7ff07ff);
-   
+
   if (dst_w == src_w)
     tmp = 0;
   else
@@ -221,9 +221,9 @@ int yuv_on(int format, int src_w, int sr
   OUTREG(DDA_VERT_REG, (((~dst_h)-1) & 0xfff ) | 0xc000);
   writecrtc(0x92, (((pitch + 7) / 8) >> 8) | 0x80);
   writecrtc(0x93, (pitch + 7) / 8);
-   
+
   writecrtc(0x67, readcrtc(0x67) | 0x4);
-   
+
   return offset;
 }
 
@@ -314,12 +314,12 @@ static void uninit(void)
     yuv_off();
     inpage0 = NULL;
   }
-   
+
   if(smem) {
     munmap(smem, fb_finfo.smem_len);
     smem = NULL;
   }
-   
+
   disable();
 
   if(fd != -1) {
@@ -332,20 +332,20 @@ static void clear_screen(void)
 {
   if (inpage0) {
     int n;
-           
+
     memset(smem, 0, screenheight * screenstride);
-           
+
     if (in_format == IMGFMT_YUY2) {
       unsigned short *ptr;
       int i;
-                 
+
       ptr = (unsigned short *)inpage0;
       n = in_width * in_height;
       if (vo_doublebuffering)
         n *= 2;
       for(i=0; i<n; i++)
         *ptr++ = 0x8000;
-                 
+
     } else {
       n = in_depth * in_width * in_height;
       if (vo_doublebuffering)
@@ -359,7 +359,7 @@ static void clear_screen(void)
 static void setup_screen(uint32_t full)
 {
   int inpageoffset;
-   
+
   aspect(&vidwidth, &vidheight, full ? A_ZOOM : A_NOZOOM);
 
   // center picture
@@ -368,12 +368,12 @@ static void setup_screen(uint32_t full)
 
   geometry(&vidx, &vidy, &vidwidth, &vidheight, screenwidth, screenheight);
   vo_fs = full;
-   
+
   inpageoffset = yuv_on(in_s3_format, in_width, in_height, vidx, vidy, vidwidth, vidheight, 0, screenwidth, screenheight, screenstride, 0);
   inpage0 = smem + inpageoffset;
   inpage = inpage0;
   mp_msg(MSGT_VO, MSGL_INFO, "s3fb: output is at %dx%d +%dx%d\n", vidx, vidy, vidwidth, vidheight);
-   
+
   clear_screen();
 }
 
@@ -396,19 +396,19 @@ static int config(uint32_t width, uint32
   screendepth = fb_vinfo.bits_per_pixel / 8;
 
   switch(in_format) {
-        
+
   case IMGFMT_YUY2:
     in_depth = 2;
     in_s3_format = 1;
     alpha_func = vo_draw_alpha_yuy2;
     break;
-           
+
   case IMGFMT_BGR15:
     in_depth = 2;
     in_s3_format = 3;
     alpha_func = vo_draw_alpha_rgb16;
     break;
-           
+
   case IMGFMT_BGR16:
     in_depth = 2;
     in_s3_format = 5;
@@ -431,13 +431,13 @@ static int config(uint32_t width, uint32
     mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: Eik! Something's wrong with control().\n");
     return -1;
   }
-   
+
   offset = in_width * in_depth * in_height;
   if (vo_doublebuffering)
     page = offset;
   else
     page = 0;
-   
+
   if(screenheight * screenstride + page + offset > fb_finfo.smem_len) {
     mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: Not enough video memory to play this movie. Try at a lower resolution\n");
     return -1;
@@ -446,7 +446,7 @@ static int config(uint32_t width, uint32
   setup_screen(flags & VOFLAG_FULLSCREEN);
   if (vo_doublebuffering)
     inpage = inpage0 + page;
-      
+
   mp_msg(MSGT_VO, MSGL_INFO, "s3fb: screen is %dx%d at %d bpp, in is %dx%d at %d bpp, norm is %dx%d\n",
          screenwidth, screenheight, screendepth * 8,
          in_width, in_height, in_depth * 8,

Modified: trunk/libvo/vo_sdl.c
==============================================================================
--- trunk/libvo/vo_sdl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_sdl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -23,7 +23,7 @@
  *  and BeOS support, too. Yay. SDL info, source, and binaries can be found
  *  at http://slouken.devolution.com/SDL/
  *
- *  -- end old disclaimer -- 
+ *  -- end old disclaimer --
  *
  * This file is part of MPlayer.
  *
@@ -80,7 +80,7 @@
 #include "subopt-helper.h"
 #include "mp_fifo.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)",
 	"sdl",
@@ -123,13 +123,13 @@ static struct sdl_priv_s {
 
 	/* output driver used by sdl */
 	char driver[8];
-	
+
 	/* SDL display surface */
 	SDL_Surface *surface;
-	
+
 	/* SDL RGB surface */
 	SDL_Surface *rgbsurface;
-	
+
 	/* SDL YUV overlay */
 	SDL_Overlay *overlay;
 
@@ -141,7 +141,7 @@ static struct sdl_priv_s {
 
 	/* save the windowed output extents */
 	SDL_Rect windowsize;
-	
+
 	/* Bits per Pixel */
 	Uint8 bpp;
 
@@ -160,7 +160,7 @@ static struct sdl_priv_s {
 	/* YUV ints */
 	int framePlaneY, framePlaneUV, framePlaneYUY;
 	int stridePlaneY, stridePlaneUV, stridePlaneYUY;
-	
+
 	/* RGB ints */
 	int framePlaneRGB;
 	int stridePlaneRGB;
@@ -176,7 +176,7 @@ static struct sdl_priv_s {
 
 	/* X11 Resolution */
 	int XWidth, XHeight;
-	
+
         /* original image dimensions */
 	int width, height;
 
@@ -191,7 +191,7 @@ static struct sdl_priv_s {
 
     /* 1 if the OSD has changed otherwise 0 */
     int osd_has_changed;
-    
+
 	/* source image format (YUV/RGB/...) */
     uint32_t format;
 
@@ -217,7 +217,7 @@ static void expand_rect(SDL_Rect* rect, 
         rect->h = h;
         return;
     }
-    
+
     if(rect->x > x)
         rect->x = x;
 
@@ -240,19 +240,19 @@ static void expand_rect(SDL_Rect* rect, 
 
 static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride){
 	struct sdl_priv_s *priv = &sdl_priv;
-	
+
     if(priv->osd_has_changed) {
         /* OSD did change. Store a bounding box of everything drawn into the OSD */
         if(priv->y >= y0) {
             /* Make sure we don't mark part of the frame area dirty */
-            if(h + y0 > priv->y) 
+            if(h + y0 > priv->y)
                 expand_rect(&priv->dirty_off_frame[0], x0, y0, w, priv->y - y0);
             else
                 expand_rect(&priv->dirty_off_frame[0], x0, y0, w, h);
         }
         else if(priv->y + priv->height <= y0 + h) {
             /* Make sure we don't mark part of the frame area dirty */
-            if(y0 < priv->y + priv->height) 
+            if(y0 < priv->y + priv->height)
                 expand_rect(&priv->dirty_off_frame[1], x0,
                             priv->y + priv->height,
                             w, h - ((priv->y + priv->height) - y0));
@@ -276,7 +276,7 @@ static void draw_alpha(int x0,int y0, in
     }
 
 	switch(priv->format) {
-		case IMGFMT_YV12:  
+		case IMGFMT_YV12:
 		case IMGFMT_I420:
         	case IMGFMT_IYUV:
             vo_draw_alpha_yv12(w,h,src,srca,stride,((uint8_t *) *(priv->overlay->pixels))+priv->overlay->pitches[0]*y0+x0,priv->overlay->pitches[0]);
@@ -285,7 +285,7 @@ static void draw_alpha(int x0,int y0, in
         	case IMGFMT_YVYU:
                 x0 *= 2;
     			vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) *(priv->overlay->pixels))+priv->overlay->pitches[0]*y0+x0,priv->overlay->pitches[0]);
-		break;	
+		break;
         	case IMGFMT_UYVY:
                 x0 *= 2;
     			vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) *(priv->overlay->pixels))+priv->overlay->pitches[0]*y0+x0,priv->overlay->pitches[0]);
@@ -334,8 +334,8 @@ static void draw_alpha(int x0,int y0, in
 		break;
 		}
         }
-        
-  	}	
+
+  	}
 }
 
 
@@ -350,7 +350,7 @@ static inline int findArrayEnd (SDL_Rect
 {
 	int i = 0;
 	while ( array[i++] );	/* keep loopin' ... */
-	
+
 	/* return the index of the last array element */
 	return i - 1;
 }
@@ -360,16 +360,16 @@ static inline int findArrayEnd (SDL_Rect
  * Open and prepare SDL output.
  *
  *    params : *plugin ==
- *             *name == 
+ *             *name ==
  *   returns : 0 on success, -1 on failure
  **/
-  
+
 static int sdl_open (void *plugin, void *name)
 {
 	struct sdl_priv_s *priv = &sdl_priv;
 	const SDL_VideoInfo *vidInfo = NULL;
 	/*static int opened = 0;
-	
+
 	if (opened)
 	    return 0;
 	opened = 1;*/
@@ -381,33 +381,33 @@ static int sdl_open (void *plugin, void 
 		priv->sdlflags = SDL_SWSURFACE|SDL_RESIZABLE|SDL_ANYFORMAT;
 		priv->sdlfullflags = SDL_SWSURFACE|SDL_FULLSCREEN|SDL_ANYFORMAT;
 		// XXX:FIXME: ASYNCBLIT should be enabled for SMP systems
-	#else	
+	#else
 		/*if((strcmp(priv->driver, "dga") == 0) && (priv->mode)) {
 			if( mp_msg_test(MSGT_VO,MSGL_V) ) {
 				printf("SDL: using software-surface\n"); }
 			priv->sdlflags = SDL_SWSURFACE|SDL_FULLSCREEN|SDL_ASYNCBLIT|SDL_HWACCEL|SDL_ANYFORMAT;
 			priv->sdlfullflags = SDL_SWSURFACE|SDL_FULLSCREEN|SDL_ASYNCBLIT|SDL_HWACCEL|SDL_ANYFORMAT;
-		}	
+		}
 		else {	*/
 	 		mp_msg(MSGT_VO,MSGL_V, "SDL: using hardware-surface\n");
 			priv->sdlflags = SDL_HWSURFACE|SDL_RESIZABLE/*|SDL_ANYFORMAT*/;
 			priv->sdlfullflags = SDL_HWSURFACE|SDL_FULLSCREEN/*|SDL_ANYFORMAT*/;
 			// XXX:FIXME: ASYNCBLIT should be enabled for SMP systems
-		//}	
-	#endif	
+		//}
+	#endif
 
-#if !defined( __AMIGAOS4__ ) && !defined( __APPLE__ ) 
-	priv->sdlfullflags |= SDL_DOUBLEBUF;	
+#if !defined( __AMIGAOS4__ ) && !defined( __APPLE__ )
+	priv->sdlfullflags |= SDL_DOUBLEBUF;
 	if (vo_doublebuffering)
 	    priv->sdlflags |= SDL_DOUBLEBUF;
 #endif
-	
+
 	/* Setup Keyrepeats (500/30 are defaults) */
 	SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, 100 /*SDL_DEFAULT_REPEAT_INTERVAL*/);
 
 	/* get information about the graphics adapter */
 	vidInfo = SDL_GetVideoInfo ();
-	
+
 	/* collect all fullscreen & hardware modes available */
 	if (!(priv->fullmodes = SDL_ListModes (vidInfo->vfmt, priv->sdlfullflags))) {
 
@@ -415,11 +415,11 @@ static int sdl_open (void *plugin, void 
 		priv->sdlfullflags &= ~SDL_HWSURFACE;
  		priv->fullmodes = SDL_ListModes (vidInfo->vfmt, priv->sdlfullflags);
 	}
-	
+
 	/* test for normal resizeable & windowed hardware accellerated surfaces */
 	if (!SDL_ListModes (vidInfo->vfmt, priv->sdlflags)) {
-		
-		/* test for NON hardware accelerated resizeable surfaces - poor you. 
+
+		/* test for NON hardware accelerated resizeable surfaces - poor you.
 		 * That's all we have. If this fails there's nothing left.
 		 * Theoretically there could be Fullscreenmodes left - we ignore this for now.
 		 */
@@ -429,8 +429,8 @@ static int sdl_open (void *plugin, void 
 			return -1;
 		}
 	}
-													
-		
+
+
    /* YUV overlays need at least 16-bit color depth, but the
     * display might less. The SDL AAlib target says it can only do
     * 8-bits, for example. So, if the display is less than 16-bits,
@@ -446,10 +446,10 @@ static int sdl_open (void *plugin, void 
                            "increase your display's color depth, if possible.\n",
                            priv->bpp);
 
-		priv->bpp = 16;  
+		priv->bpp = 16;
 	}
-	
-	/* We don't want those in our event queue. 
+
+	/* We don't want those in our event queue.
 	 * We use SDL_KEYUP cause SDL_KEYDOWN seems to cause problems
 	 * with keys need to be pressed twice, to be recognized.
 	 */
@@ -460,7 +460,7 @@ static int sdl_open (void *plugin, void 
 	SDL_EventState(SDL_SYSWMEVENT, SDL_IGNORE);
 	SDL_EventState(SDL_USEREVENT, SDL_IGNORE);
 #endif
-	
+
 	/* Success! */
 	return 0;
 }
@@ -497,9 +497,9 @@ static int sdl_close (void)
 		SDL_FreeSurface(priv->surface);
 		priv->surface=NULL;
 	}
-	
+
 	/* DON'T attempt to free the fullscreen modes array. SDL_Quit* does this for us */
-	
+
 	return 0;
 }
 
@@ -530,7 +530,7 @@ static SDL_Rect aspect(int srcw, int src
 		newres.x = 0;
 		newres.y = (dsth - newres.h) / 2;
 	}
-	
+
 	mp_msg(MSGT_VO,MSGL_V, "SDL Mode: %d:  %d x %d\n", i, priv->fullmodes[i]->w, priv->fullmodes[i]->h);
 
 	return newres;
@@ -550,9 +550,9 @@ static void set_fullmode (int mode)
 	struct sdl_priv_s *priv = &sdl_priv;
 	SDL_Surface *newsurface = NULL;
 	int haspect, waspect = 0;
-	
+
 	/* if we haven't set a fullmode yet, default to the lowest res fullmode first */
-	if (mode < 0) 
+	if (mode < 0)
 		mode = priv->fullmode = findArrayEnd(priv->fullmodes) - 1;
 
 	/* Calculate proper aspect ratio for fullscreen
@@ -562,12 +562,12 @@ static void set_fullmode (int mode)
 	if (haspect < 0) {
 		haspect = 0; /* set haspect to zero because image will be scaled horizontal instead of vertical */
 		waspect = priv->fullmodes[mode]->w - ((float) ((float) priv->fullmodes[mode]->h / (float) priv->height) * (float) priv->width);
-	}	
+	}
 //	printf ("W-Aspect: %i  H-Aspect: %i\n", waspect, haspect);
-	
+
 	/* change to given fullscreen mode and hide the mouse cursor */
 	newsurface = SDL_SetVideoMode(priv->fullmodes[mode]->w - waspect, priv->fullmodes[mode]->h - haspect, priv->bpp, priv->sdlfullflags);
-	
+
 	/* if we were successful hide the mouse cursor and save the mode */
 	if (newsurface) {
 		if (priv->surface)
@@ -582,16 +582,16 @@ static void set_fullmode (int mode)
 static void set_video_mode(int width, int height, int bpp, uint32_t sdlflags)
 {
 	struct sdl_priv_s *priv = &sdl_priv;
-    SDL_Surface* newsurface;    
+    SDL_Surface* newsurface;
 
     if(priv->rgbsurface)
 	SDL_FreeSurface(priv->rgbsurface);
     else if(priv->overlay)
 	SDL_FreeYUVOverlay(priv->overlay);
- 
+
     priv->rgbsurface = NULL;
     priv->overlay = NULL;
- 
+
     newsurface = SDL_SetVideoMode(width, height, bpp, sdlflags);
 
     if(newsurface) {
@@ -614,15 +614,15 @@ static void set_fullmode (int mode) {
 	struct sdl_priv_s *priv = &sdl_priv;
 	SDL_Surface *newsurface = NULL;
  	int screen_surface_w, screen_surface_h;
-	
+
  	if(priv->rgbsurface)
 	        SDL_FreeSurface(priv->rgbsurface);
  	else if(priv->overlay)
 	        SDL_FreeYUVOverlay(priv->overlay);
- 
+
  	priv->rgbsurface = NULL;
  	priv->overlay = NULL;
- 
+
 	/* if we haven't set a fullmode yet, default to the lowest res fullmode first */
 	/* But select a mode where the full video enter */
 	if(priv->X && priv->fulltype & VOFLAG_FULLSCREEN) {
@@ -635,7 +635,7 @@ static void set_fullmode (int mode) {
 		if ( mp_msg_test(MSGT_VO,MSGL_V) ) for(i=0;priv->fullmodes[i];++i)
  	           mp_msg(MSGT_VO,MSGL_V, "SDL Mode: %d:  %d x %d\n", i, priv->fullmodes[i]->w, priv->fullmodes[i]->h);
 		for(i = findArrayEnd(priv->fullmodes) - 1; i >=0; i--) {
-		  if( (priv->fullmodes[i]->w >= priv->dstwidth) && 
+		  if( (priv->fullmodes[i]->w >= priv->dstwidth) &&
 		      (priv->fullmodes[i]->h >= priv->dstheight) ) {
 		      imax = i;
 		      for (j = findArrayEnd(priv->fullmodes) - 1; j >=0; j--) {
@@ -656,7 +656,7 @@ static void set_fullmode (int mode) {
        screen_surface_h = priv->fullmodes[mode]->h;
        screen_surface_w = priv->fullmodes[mode]->w;
 	}
-	
+
 	aspect_save_screenres(screen_surface_w, screen_surface_h);
 
 	/* calculate new video size/aspect */
@@ -672,9 +672,9 @@ static void set_fullmode (int mode) {
                                   priv->sdlfullflags);
 
 	/*
-	 * In Mac OS X (and possibly others?) SDL_SetVideoMode() appears to 
-	 * destroy the datastructure previously retrived, so we need to 
-	 * re-assign it.  The comment in sdl_close() seems to imply that we 
+	 * In Mac OS X (and possibly others?) SDL_SetVideoMode() appears to
+	 * destroy the datastructure previously retrived, so we need to
+	 * re-assign it.  The comment in sdl_close() seems to imply that we
 	 * should not free() anything.
 	 */
 	#ifdef __APPLE__
@@ -693,7 +693,7 @@ static void set_fullmode (int mode) {
 	#endif
 
 
-	
+
 	/* if creation of new surface was successful, save it and hide mouse cursor */
 	if(newsurface) {
 		if (priv->surface)
@@ -704,7 +704,7 @@ static void set_fullmode (int mode) {
         SDL_FillRect(priv->surface, NULL, 0);
         SDL_SRF_UNLOCK(priv->surface)
         setup_surfaces();
-	}		
+	}
     else
         mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_SDL_SetVideoModeFailedFull, SDL_GetError());
 }
@@ -737,16 +737,16 @@ config(uint32_t width, uint32_t height, 
 		case IMGFMT_YVYU:
             priv->mode = YUV;
             break;
-		case IMGFMT_BGR15:	
-		case IMGFMT_BGR16:	
-		case IMGFMT_BGR24:	
-		case IMGFMT_BGR32:	
+		case IMGFMT_BGR15:
+		case IMGFMT_BGR16:
+		case IMGFMT_BGR24:
+		case IMGFMT_BGR32:
 			priv->mode = BGR;
 			break;
-        case IMGFMT_RGB15:	
-        case IMGFMT_RGB16:	
-        case IMGFMT_RGB24:	
-		case IMGFMT_RGB32:	
+        case IMGFMT_RGB15:
+        case IMGFMT_RGB16:
+        case IMGFMT_RGB24:
+		case IMGFMT_RGB32:
 			priv->mode = RGB;
 			break;
 		default:
@@ -757,7 +757,7 @@ config(uint32_t width, uint32_t height, 
     if ( vo_config_count ) sdl_close();
 
     mp_msg(MSGT_VO,MSGL_V, "SDL: Using 0x%X (%s) image format\n", format, vo_format_name(format));
-    
+
     if(priv->mode != YUV) {
 		priv->sdlflags |= SDL_ANYFORMAT;
 		priv->sdlfullflags |= SDL_ANYFORMAT;
@@ -779,7 +779,7 @@ config(uint32_t width, uint32_t height, 
     priv->dstheight = d_height ? d_height : height;
 
     priv->format = format;
-    
+
 	if (sdl_open(NULL, NULL) != 0)
 	    return -1;
 
@@ -791,10 +791,10 @@ config(uint32_t width, uint32_t height, 
 	aspect_save_screenres(priv->XWidth,priv->XHeight);
 	aspect(&priv->dstwidth,&priv->dstheight,A_NOZOOM);
     }
-    
+
 	priv->windowsize.w = priv->dstwidth;
   	priv->windowsize.h = priv->dstheight;
-        
+
 	/* bit 0 (0x01) means fullscreen (-fs)
 	 * bit 1 (0x02) means mode switching (-vm)
 	 * bit 2 (0x04) enables software scaling (-zoom)
@@ -804,7 +804,7 @@ config(uint32_t width, uint32_t height, 
 //	printf("SDL: Width: %i Height: %i D_Width %i D_Height: %i\n", width, height, d_width, d_height);
 	if(flags&VOFLAG_FLIPPING) {
 		mp_msg(MSGT_VO,MSGL_V, "SDL: using flipped video (only with RGB/BGR/packed YUV)\n");
-		priv->flip = 1; 
+		priv->flip = 1;
 	}
 	if(flags&VOFLAG_FULLSCREEN) {
  	  	mp_msg(MSGT_VO,MSGL_V, "SDL: setting zoomed fullscreen without modeswitching\n");
@@ -813,7 +813,7 @@ config(uint32_t width, uint32_t height, 
 		set_fullmode(priv->fullmode);
           	/*if((priv->surface = SDL_SetVideoMode (d_width, d_height, priv->bpp, priv->sdlfullflags)))
 			SDL_ShowCursor(0);*/
-	} else	
+	} else
 	if(flags&VOFLAG_MODESWITCHING) {
  	 	mp_msg(MSGT_VO,MSGL_V, "SDL: setting zoomed fullscreen with modeswitching\n");
 		priv->fulltype = VOFLAG_MODESWITCHING;
@@ -825,7 +825,7 @@ config(uint32_t width, uint32_t height, 
 		mp_msg(MSGT_VO,MSGL_V, "SDL: setting zoomed fullscreen with modeswitching\n");
 		priv->fulltype = VOFLAG_SWSCALE;
 		set_fullmode(priv->fullmode);
-	} 
+	}
         else {
 		if((strcmp(priv->driver, "x11") == 0)
 		||(strcmp(priv->driver, "windib") == 0)
@@ -841,13 +841,13 @@ config(uint32_t width, uint32_t height, 
  			mp_msg(MSGT_VO,MSGL_V, "SDL: setting zoomed fullscreen with modeswitching\n");
 			priv->fulltype = VOFLAG_SWSCALE;
 			set_fullmode(priv->fullmode);
-		}	
+		}
 	}
 
         if(!priv->surface) { // cannot SetVideoMode
  		mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SDL_FailedToSetVideoMode, SDL_GetError());
 		return -1;
-	}	
+	}
 
 	return 0;
 }
@@ -886,7 +886,7 @@ static int setup_surfaces(void)
 
     priv->rgbsurface = NULL;
     priv->overlay = NULL;
-    
+
     if(priv->mode != YUV && (priv->format&0xFF) == priv->bpp) {
 		if(strcmp(priv->driver, "x11") == 0) {
             priv->dblit = 1;
@@ -899,7 +899,7 @@ static int setup_surfaces(void)
 
 	switch(priv->format) {
 	    	/* Initialize and create the RGB Surface used for video out in BGR/RGB mode */
-//SDL_Surface *SDL_CreateRGBSurface(Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);	
+//SDL_Surface *SDL_CreateRGBSurface(Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
 		//	SDL_SWSURFACE,SDL_HWSURFACE,SDL_SRCCOLORKEY, priv->flags?	guess: exchange Rmask and Bmask for BGR<->RGB
 		// 32 bit: a:ff000000 r:ff000 g:ff00 b:ff
 		// 24 bit: r:ff0000 g:ff00 b:ff
@@ -908,28 +908,28 @@ static int setup_surfaces(void)
 		// FIXME: colorkey detect based on bpp, FIXME static bpp value, FIXME alpha value correct?
 	    case IMGFMT_RGB15:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 15, 31, 992, 31744, 0);
-	    break;	
+	    break;
 	    case IMGFMT_BGR15:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 15, 31744, 992, 31, 0);
-	    break;	
+	    break;
 	    case IMGFMT_RGB16:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 16, 31, 2016, 63488, 0);
-	    break;	
+	    break;
 	    case IMGFMT_BGR16:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 16, 63488, 2016, 31, 0);
-	    break;	
+	    break;
 	    case IMGFMT_RGB24:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 24, 0x0000FF, 0x00FF00, 0xFF0000, 0);
-	    break;	
+	    break;
 	    case IMGFMT_BGR24:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 24, 0xFF0000, 0x00FF00, 0x0000FF, 0);
-	    break;	
+	    break;
 	    case IMGFMT_RGB32:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 32, 0x000000FF, 0x0000FF00, 0x00FF0000, 0/*0xFF000000*/);
-	    break;	
+	    break;
 	    case IMGFMT_BGR32:
             priv->rgbsurface = SDL_CreateRGBSurface (SDL_SRCCOLORKEY, surfwidth, surfheight, 32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0/*0xFF000000*/);
-	    break;	
+	    break;
 	    default:
 		/* Initialize and create the YUV Overlay used for video out */
 		if (!(priv->overlay = SDL_CreateYUVOverlay (surfwidth, surfheight, priv->format, priv->surface))) {
@@ -943,7 +943,7 @@ static int setup_surfaces(void)
 		priv->stridePlaneUV = priv->width/2;
 		priv->stridePlaneYUY = priv->width * 2;
 	}
-	
+
     if(priv->mode != YUV) {
         if(!priv->rgbsurface) {
             mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SDL_CouldntCreateARGBSurface, SDL_GetError());
@@ -958,7 +958,7 @@ static int setup_surfaces(void)
         priv->framePlaneRGB = priv->width * priv->height * priv->rgbsurface->format->BytesPerPixel;
         priv->stridePlaneRGB = priv->width * priv->rgbsurface->format->BytesPerPixel;
     }
-    
+
     erase_rectangle(0, 0, surfwidth, surfheight);
 
 	return 0;
@@ -997,13 +997,13 @@ static int draw_frame(uint8_t *src[])
 	    else fast_memcpy (dst, src[0], priv->framePlaneYUY);
 	    SDL_OVR_UNLOCK
             break;
-	
+
 	case IMGFMT_RGB15:
-	case IMGFMT_BGR15:	
+	case IMGFMT_BGR15:
 	case IMGFMT_RGB16:
-	case IMGFMT_BGR16:	
+	case IMGFMT_BGR16:
 	case IMGFMT_RGB24:
-	case IMGFMT_BGR24:	
+	case IMGFMT_BGR24:
 	case IMGFMT_RGB32:
 	case IMGFMT_BGR32:
 		if(priv->dblit) {
@@ -1036,7 +1036,7 @@ static int draw_frame(uint8_t *src[])
 		break;
 
         }
-        	
+
 	return 0;
 }
 
@@ -1057,7 +1057,7 @@ static int draw_slice(uint8_t *image[], 
     SDL_OVR_LOCK(-1)
 
     y += priv->y;
-    
+
     dst = priv->overlay->pixels[0] + priv->overlay->pitches[0]*y + x;
     memcpy_pic(dst, image[0], w, h, priv->overlay->pitches[0], stride[0]);
     x/=2;y/=2;w/=2;h/=2;
@@ -1100,13 +1100,13 @@ static int draw_slice(uint8_t *image[], 
 
 #include "osdep/keycodes.h"
 
-#define shift_key (event.key.keysym.mod==(KMOD_LSHIFT||KMOD_RSHIFT)) 
+#define shift_key (event.key.keysym.mod==(KMOD_LSHIFT||KMOD_RSHIFT))
 static void check_events (void)
 {
 	struct sdl_priv_s *priv = &sdl_priv;
 	SDL_Event event;
 	SDLKey keypressed = SDLK_UNKNOWN;
-	
+
 	/* Poll the waiting SDL Events */
 	while ( SDL_PollEvent(&event) ) {
 		switch (event.type) {
@@ -1123,19 +1123,19 @@ static void check_events (void)
 				//}
  				mp_msg(MSGT_VO,MSGL_DBG3, "SDL: Window resize\n");
 			break;
-			
+
 			case SDL_MOUSEBUTTONDOWN:
 				if(vo_nomouse_input)
 				    break;
 					mplayer_put_key((MOUSE_BTN0+event.button.button-1) | MP_KEY_DOWN);
-				break;			    
-		
+				break;
+
 			case SDL_MOUSEBUTTONUP:
 				if(vo_nomouse_input)
 				    break;
 				mplayer_put_key(MOUSE_BTN0+event.button.button-1);
 				break;
-	
+
 			/* graphics mode selection shortcuts */
 #ifdef BUGGY_SDL
 			case SDL_KEYDOWN:
@@ -1154,9 +1154,9 @@ static void check_events (void)
 				}
 			break;
 			case SDL_KEYUP:
-#else			
+#else
 			case SDL_KEYDOWN:
-#endif			
+#endif
 				keypressed = event.key.keysym.sym;
  				mp_msg(MSGT_VO,MSGL_DBG2, "SDL: Key pressed: '%i'\n", keypressed);
 
@@ -1166,14 +1166,14 @@ static void check_events (void)
 					priv->fullmode++;
 					if (priv->fullmode > (findArrayEnd(priv->fullmodes) - 1)) priv->fullmode = 0;
 					set_fullmode(priv->fullmode);
-	
+
  					mp_msg(MSGT_VO,MSGL_DBG2, "SDL: Set next available fullscreen mode.\n");
 				}
 
 				else if ( keypressed == SDLK_n ) {
 #ifdef CONFIG_X11
 					aspect(&priv->dstwidth, &priv->dstheight,A_NOZOOM);
-#endif					
+#endif
 					if (priv->surface->w != priv->dstwidth || priv->surface->h != priv->dstheight) {
                         set_video_mode(priv->dstwidth, priv->dstheight, priv->bpp, priv->sdlflags);
 					    	priv->windowsize.w = priv->surface->w;
@@ -1186,7 +1186,7 @@ static void check_events (void)
 						priv->windowsize.h = priv->surface->h;
  						mp_msg(MSGT_VO,MSGL_DBG2, "SDL: Double size\n");
 					}
-				}	
+				}
 
                                 else switch(keypressed){
 				case SDLK_RETURN: mplayer_put_key(KEY_ENTER);break;
@@ -1214,7 +1214,7 @@ static void check_events (void)
                                 case SDLK_KP_MINUS: mplayer_put_key('-');break;
 				case SDLK_TAB: mplayer_put_key('\t');break;
 				case SDLK_PAGEUP: mplayer_put_key(KEY_PAGE_UP);break;
-				case SDLK_PAGEDOWN: mplayer_put_key(KEY_PAGE_DOWN);break;  
+				case SDLK_PAGEDOWN: mplayer_put_key(KEY_PAGE_DOWN);break;
 #ifdef BUGGY_SDL
                                 case SDLK_UP:
                                 case SDLK_DOWN:
@@ -1225,7 +1225,7 @@ static void check_events (void)
 				case SDLK_SLASH:
 				case SDLK_KP_DIVIDE:
 				break;
-#else				
+#else
                                 case SDLK_UP: mplayer_put_key(KEY_UP);break;
                                 case SDLK_DOWN: mplayer_put_key(KEY_DOWN);break;
                                 case SDLK_LEFT: mplayer_put_key(KEY_LEFT);break;
@@ -1236,7 +1236,7 @@ static void check_events (void)
 				case SDLK_KP_MULTIPLY: mplayer_put_key('*'); break;
 				case SDLK_SLASH:
 				case SDLK_KP_DIVIDE: mplayer_put_key('/'); break;
-#endif				
+#endif
 				case SDLK_KP0: mplayer_put_key(KEY_KP0); break;
 				case SDLK_KP1: mplayer_put_key(KEY_KP1); break;
 				case SDLK_KP2: mplayer_put_key(KEY_KP2); break;
@@ -1253,7 +1253,7 @@ static void check_events (void)
 					//printf("got scancode: %d keysym: %d mod: %d %d\n", event.key.keysym.scancode, keypressed, event.key.keysym.mod);
 					mplayer_put_key(keypressed);
                                 }
-                                
+
 				break;
 				case SDL_QUIT: mplayer_put_key(KEY_CLOSE_WIN);break;
 		}
@@ -1269,29 +1269,29 @@ static void erase_rectangle(int x, int y
     struct sdl_priv_s *priv = &sdl_priv;
 
     switch(priv->format) {
-        case IMGFMT_YV12:  
+        case IMGFMT_YV12:
         case IMGFMT_I420:
         case IMGFMT_IYUV:
         {
             SDL_OVR_LOCK((void) 0)
-                        
+
                     /* Erase Y plane */
                 erase_area_1(x, w, h,
                              priv->overlay->pitches[0], 0,
                              priv->overlay->pixels[0] +
                              priv->overlay->pitches[0]*y);
-                        
+
                 /* Erase U and V planes */
                 w /= 2;
                 x /= 2;
                 h /= 2;
                 y /= 2;
-                        
+
                 erase_area_1(x, w, h,
                              priv->overlay->pitches[1], 128,
                              priv->overlay->pixels[1] +
                              priv->overlay->pitches[1]*y);
-                        
+
                 erase_area_1(x, w, h,
                              priv->overlay->pitches[2], 128,
                              priv->overlay->pixels[2] +
@@ -1315,7 +1315,7 @@ static void erase_rectangle(int x, int y
             SDL_OVR_UNLOCK
                 break;
         }
-            
+
         case IMGFMT_UYVY:
         {
             uint8_t uyvy_black[] = {128, 0, 128, 0};
@@ -1329,7 +1329,7 @@ static void erase_rectangle(int x, int y
             SDL_OVR_UNLOCK
                 break;
         }
-            
+
         case IMGFMT_RGB15:
         case IMGFMT_BGR15:
         case IMGFMT_RGB16:
@@ -1366,19 +1366,19 @@ static void draw_osd(void)
     if(priv->osd_has_changed)
     {
         int i;
-        
+
         for(i = 0; i < 2; i++) {
             if(priv->dirty_off_frame[i].x < 0 || priv->dirty_off_frame[i].y < 0)
                 continue;
 
             erase_rectangle(priv->dirty_off_frame[i].x, priv->dirty_off_frame[i].y,
                             priv->dirty_off_frame[i].w, priv->dirty_off_frame[i].h);
-            
+
             priv->dirty_off_frame[i].x = -1;
             priv->dirty_off_frame[i].y = -1;
         }
     }
- 
+
 	/* update osd/subtitles */
     if(priv->mode == YUV)
         vo_draw_text(priv->overlay->w, priv->overlay->h, draw_alpha);
@@ -1398,7 +1398,7 @@ static void erase_area_4(int x_start, in
     int x_end = x_start/4 + width/4;
     int x, y;
     uint32_t* data = (uint32_t*) pixels;
-    
+
     x_start /= 4;
     pitch /= 4;
 
@@ -1414,7 +1414,7 @@ static void erase_area_4(int x_start, in
 static void erase_area_1(int x_start, int width, int height, int pitch, uint8_t color, uint8_t* pixels)
 {
     int y;
-    
+
     for(y = 0; y < height; y++) {
         memset(&pixels[y*pitch + x_start], color, width);
     }
@@ -1433,11 +1433,11 @@ static void flip_page (void)
 
 	switch(priv->format) {
 	    case IMGFMT_RGB15:
-	    case IMGFMT_BGR15:	
+	    case IMGFMT_BGR15:
 	    case IMGFMT_RGB16:
-	    case IMGFMT_BGR16:	
+	    case IMGFMT_BGR16:
 	    case IMGFMT_RGB24:
-	    case IMGFMT_BGR24:	
+	    case IMGFMT_BGR24:
 	    case IMGFMT_RGB32:
 	    case IMGFMT_BGR32:
 		if(!priv->dblit) {
@@ -1455,22 +1455,22 @@ static void flip_page (void)
         else
             SDL_UpdateRect(priv->surface, 0, priv->y_screen_top,
                            priv->surface->clip_rect.w, priv->y_screen_bottom);
-		
+
 		/* check if we have a double buffered surface and flip() if we do. */
 		if ( priv->surface->flags & SDL_DOUBLEBUF )
 			SDL_Flip(priv->surface);
 
 	    break;
-	    default:		
+	    default:
 		/* blit to the YUV overlay */
 		SDL_DisplayYUVOverlay (priv->overlay, &priv->surface->clip_rect);
-		
+
 		/* check if we have a double buffered surface and flip() if we do. */
 		if ( priv->surface->flags & SDL_DOUBLEBUF )
 			SDL_Flip(priv->surface);
-		
+
 		//SDL_LockYUVOverlay (priv->overlay); // removed because unused!?
-	}	
+	}
 }
 
 static int
@@ -1614,7 +1614,7 @@ static uint32_t get_image(mp_image_t *mp
             if(priv->dblit) {
                 if(mpi->type == MP_IMGTYPE_STATIC && (priv->surface->flags & SDL_DOUBLEBUF))
                     return VO_FALSE;
-                
+
                 mpi->planes[0] = (uint8_t *)priv->surface->pixels + priv->y*priv->surface->pitch;
                 mpi->stride[0] = priv->surface->pitch;
             }

Modified: trunk/libvo/vo_tdfx_vid.c
==============================================================================
--- trunk/libvo/vo_tdfx_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_tdfx_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -39,7 +39,7 @@
 #include "drivers/tdfx_vid.h"
 
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"tdfx vid",
 	"tdfx_vid",
@@ -78,7 +78,7 @@ static void clear_screen(void) {
   tdfx_vid_agp_move_t mov;
 
   memset(agp_mem,0,tdfx_cfg.screen_width*dst_bpp*tdfx_cfg.screen_height);
-  
+
   mov.move2 = TDFX_VID_MOVE_2_PACKED;
   mov.width = tdfx_cfg.screen_width*dst_bpp;
   mov.height = tdfx_cfg.screen_height;
@@ -91,7 +91,7 @@ static void clear_screen(void) {
 
   if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov))
     mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_TDFXVID_AGPMoveFailedToClearTheScreen);
-  
+
 }
 #endif
 
@@ -111,7 +111,7 @@ static int draw_slice(uint8_t *image[], 
   case IMGFMT_BGR32:
     // copy :( to agp_mem
     // still faster than tdfxfb wich directly copy to the video mem :)
-    mem2agpcpy_pic(agp_mem + current_buffer * buffer_size + 
+    mem2agpcpy_pic(agp_mem + current_buffer * buffer_size +
 	       y*buffer_stride[0] + x * src_bpp,
 	       image[0],
 	       src_bpp*w,h,buffer_stride[0],stride[0]);
@@ -131,7 +131,7 @@ static int draw_slice(uint8_t *image[], 
 		   buffer_stride[2],stride[2]);
     return 0;
   }
-    
+
   return 1;
 }
 
@@ -167,7 +167,7 @@ flip_page(void)
       blit.src_w = src_width;
       blit.src_h = src_height;
       blit.src_format = src_fmt;
-      
+
       blit.dst = front_buffer;
       blit.dst_stride = dst_stride;
       blit.dst_x = 0;
@@ -243,11 +243,11 @@ config(uint32_t width, uint32_t height, 
       vo_screenwidth = tdfx_cfg.screen_width;
     if(!vo_screenheight)
       vo_screenheight = tdfx_cfg.screen_height;
-    
+
     aspect_save_orig(width,height);
     aspect_save_prescale(d_width,d_height);
     aspect_save_screenres(vo_screenwidth,vo_screenheight);
-    
+
     if(flags&VOFLAG_FULLSCREEN) { /* -fs */
       aspect(&d_width,&d_height,A_ZOOM);
       vo_fs = VO_TRUE;
@@ -269,7 +269,7 @@ config(uint32_t width, uint32_t height, 
       mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_TDFXVID_NonNativeOverlayFormatNeedConversion);
   case IMGFMT_BGR15:
   case IMGFMT_BGR16:
-    src_bpp = ((format & 0x3F)+7)/8; 
+    src_bpp = ((format & 0x3F)+7)/8;
     break;
   case IMGFMT_YV12:
   case IMGFMT_I420:
@@ -278,7 +278,7 @@ config(uint32_t width, uint32_t height, 
     buffer_stride[1] = buffer_stride[2] = buffer_stride[0]/2;
     src_fmt = TDFX_VID_FORMAT_YUY2;
   case IMGFMT_YUY2:
-  case IMGFMT_UYVY: 
+  case IMGFMT_UYVY:
     src_bpp = 2;
     break;
   default:
@@ -351,7 +351,7 @@ config(uint32_t width, uint32_t height, 
       }
       use_overlay++;
     }
-    
+
     mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_TDFXVID_OverlayReady,
 	   src_width,src_stride,src_height,src_bpp,
 	   dst_width,dst_stride,dst_height,dst_bpp);
@@ -362,7 +362,7 @@ config(uint32_t width, uint32_t height, 
     mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_TDFXVID_TextureBlitReady,
 	   src_width,src_stride,src_height,src_bpp,
 	   dst_width,dst_stride,dst_height,dst_bpp);
-  
+
   return 0;
 }
 
@@ -385,7 +385,7 @@ static void check_events(void)
 
 static int preinit(const char *arg)
 {
- 
+
   tdfx_fd = open(arg ? arg : "/dev/tdfx_vid", O_RDWR);
   if(tdfx_fd < 0) {
     mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_TDFXVID_CantOpen,arg ? arg : "/dev/tdfx_vid",
@@ -416,7 +416,7 @@ static int preinit(const char *arg)
     mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_TDFXVID_MemmapFailed);
     return 1;
   }
-  
+
   memset(agp_mem,0,1024*768*4);
 
   return 0;
@@ -470,7 +470,7 @@ static uint32_t get_image(mp_image_t *mp
   }
   mpi->flags |= MP_IMGFLAG_DIRECT;
   mpi->priv = (void*)buf;
-  
+
   return VO_TRUE;
 }
 
@@ -526,10 +526,10 @@ static uint32_t draw_image(mp_image_t *m
     mov.height = mpi->height;
     mov.src = planes[0] - agp_mem;
     mov.src_stride = buffer_stride[0];
-  
+
     mov.dst = back_buffer;
     mov.dst_stride = src_stride;
-	 
+
     if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov))
       mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_TDFXVID_AgpMoveFailed);
     break;
@@ -563,7 +563,7 @@ static uint32_t draw_image(mp_image_t *m
       mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_TDFXVID_SetYuvFailed);
       break;
     }
-    
+
 
     // Now agp move that
     // Y

Modified: trunk/libvo/vo_v4l2.c
==============================================================================
--- trunk/libvo/vo_v4l2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_v4l2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,7 +59,7 @@ static const opt_t subopts[] = {
   {NULL}
 };
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
   "V4L2 MPEG Video Decoder Output",
   "v4l2",
@@ -73,7 +73,7 @@ v4l2_write (unsigned char *data, int len
 {
   if (v4l2_fd < 0)
     return 0;
-  
+
   return write (v4l2_fd, data, len);
 }
 
@@ -107,30 +107,30 @@ preinit (const char *arg)
             "\n" );
     return -1;
   }
-  
+
   if (!device)
-    device = strdup (DEFAULT_MPEG_DECODER);    
-  
+    device = strdup (DEFAULT_MPEG_DECODER);
+
   v4l2_fd = open (device, O_RDWR);
   if (v4l2_fd < 0)
-  {  
+  {
     free (device);
     mp_msg (MSGT_VO, MSGL_FATAL, "%s %s\n", V4L2_VO_HDR, strerror (errno));
     return -1;
   }
 
   /* check for device hardware MPEG decoding capability */
-  ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; 
-  ctrls.count = 0; 
+  ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
+  ctrls.count = 0;
   ctrls.controls = NULL;
-  
+
   if (ioctl (v4l2_fd, VIDIOC_G_EXT_CTRLS, &ctrls) < 0)
   {
     free (device);
     mp_msg (MSGT_OPEN, MSGL_FATAL, "%s %s\n", V4L2_VO_HDR, strerror (errno));
     return -1;
   }
-  
+
   /* list available outputs */
   vout.index = 0;
   err = 1;
@@ -186,7 +186,7 @@ preinit (const char *arg)
             "%s can't get output (%s).\n", V4L2_VO_HDR, strerror (errno));
     return -1;
   }
-  
+
   return 0;
 }
 
@@ -248,7 +248,7 @@ query_format (uint32_t format)
 {
   if (format != IMGFMT_MPEGPES)
     return 0;
-    
+
   return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_TIMER;
 }
 
@@ -260,6 +260,6 @@ control (uint32_t request, void *data, .
   case VOCTRL_QUERY_FORMAT:
     return query_format (*((uint32_t*) data));
   }
-  
+
   return VO_NOTIMPL;
 }

Modified: trunk/libvo/vo_vdpau.c
==============================================================================
--- trunk/libvo/vo_vdpau.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_vdpau.c	Wed May 13 04:58:57 2009	(r29305)
@@ -861,7 +861,7 @@ static int draw_slice(uint8_t *image[], 
     if ((decoder == VDP_INVALID_HANDLE || decoder_max_refs < max_refs)
         && !create_vdp_decoder(max_refs))
         return VO_FALSE;
-    
+
     vdp_st = vdp_decoder_render(decoder, rndr->surface, (void *)&rndr->info, rndr->bitstream_buffers_used, rndr->bitstream_buffers);
     CHECK_ST_WARNING("Failed VDPAU decoder rendering");
     return VO_TRUE;

Modified: trunk/libvo/vo_vesa.c
==============================================================================
--- trunk/libvo/vo_vesa.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_vesa.c	Wed May 13 04:58:57 2009	(r29305)
@@ -74,7 +74,7 @@
 
 #define UNUSED(x) ((void)(x)) /**< Removes warning about unused arguments */
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"VESA VBE 2.0 video output",
 	"vesa",
@@ -131,7 +131,7 @@ static vidix_grkey_t gr_key;
 /* Neomagic TV out */
 static int neomagic_tvout = 0;
 static int neomagic_tvnorm = NEO_PAL;
- 
+
 #define HAS_DGA()  (win.idx == -1)
 #define MOVIE_MODE (MODE_ATTR_COLOR | MODE_ATTR_GRAPHICS)
 #define FRAME_MODE (MODE_WIN_RELOCATABLE | MODE_WIN_WRITEABLE)
@@ -147,7 +147,7 @@ static char * vbeErrToStr(int err)
   }
   else
   switch(err)
-  { 
+  {
     case VBE_OK: retval = "No error"; break;
     case VBE_VM86_FAIL: retval = "vm86() syscall failed"; break;
     case VBE_OUT_OF_DOS_MEM: retval = "Out of DOS memory"; break;
@@ -384,7 +384,7 @@ static void flip_page(void)
 {
   if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
 	mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: flip_page was called\n");
-  if(flip_trigger) 
+  if(flip_trigger)
   {
     if(!HAS_DGA()) vbeCopyData(dga_buffer);
     flip_trigger = 0;
@@ -559,7 +559,7 @@ static int set_refresh(unsigned x, unsig
 {
     unsigned pixclk;
     float H_freq;
-    
+
     range_t *monitor_hfreq = NULL;
     range_t *monitor_vfreq = NULL;
     range_t *monitor_dotclock = NULL;
@@ -567,43 +567,43 @@ static int set_refresh(unsigned x, unsig
     monitor_hfreq = str2range(monitor_hfreq_str);
     monitor_vfreq = str2range(monitor_vfreq_str);
     monitor_dotclock = str2range(monitor_dotclock_str);
-    
+
 		if (!monitor_hfreq || !monitor_vfreq || !monitor_dotclock) {
 			mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_VESA_YouHaveToSpecifyTheCapabilitiesOfTheMonitor);
 			return 0;
 		}
 
     H_freq = range_max(monitor_hfreq)/1000;
-    
+
 //    printf("H_freq MAX %f\n",H_freq);
-    
+
     do
     {
     H_freq -= 0.01;
-    GTF_calcTimings(x,y,H_freq,GTF_HF,0, 0,crtc_pass);		      
-//    printf("PixelCLK %d\n",(unsigned)crtc_pass->PixelClock);    
+    GTF_calcTimings(x,y,H_freq,GTF_HF,0, 0,crtc_pass);
+//    printf("PixelCLK %d\n",(unsigned)crtc_pass->PixelClock);
     }
     while ( (!in_range(monitor_vfreq,crtc_pass->RefreshRate/100)||
 	    !in_range(monitor_hfreq,H_freq*1000))&&(H_freq>0));
-    
+
     pixclk = crtc_pass->PixelClock;
 //    printf("PIXclk before %d\n",pixclk);
-    vbeGetPixelClock(&mode,&pixclk); 
+    vbeGetPixelClock(&mode,&pixclk);
 //    printf("PIXclk after %d\n",pixclk);
     GTF_calcTimings(x,y,pixclk/1000000,GTF_PF,0,0,crtc_pass);
 //    printf("Flags: %x\n",(unsigned) crtc_pass->Flags);
-/*    
+/*
     printf("hTotal %d\n",crtc_pass->hTotal);
     printf("hSyncStart %d\n",crtc_pass->hSyncStart);
     printf("hSyncEnd %d\n",crtc_pass->hSyncEnd);
-    
+
     printf("vTotal %d\n",crtc_pass->vTotal);
     printf("vSyncStart %d\n",crtc_pass->vSyncStart);
     printf("vSyncEnd %d\n",crtc_pass->vSyncEnd);
-    
+
     printf("RR %d\n",crtc_pass->RefreshRate);
     printf("PixelCLK %d\n",(unsigned)crtc_pass->PixelClock);*/
-    
+
     if (!in_range(monitor_vfreq,crtc_pass->RefreshRate/100)||
 	!in_range(monitor_hfreq,H_freq*1000)) {
         mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_VESA_UnableToFitTheMode);
@@ -650,7 +650,7 @@ config(uint32_t width, uint32_t height, 
 	{
 	  if(use_scaler) use_scaler = 2;
 	  else          fs_mode = 1;
-	} 
+	}
 	if((err=vbeInit()) != VBE_OK) { PRINT_VBE_ERR("vbeInit",err); return -1; }
 	memcpy(vib.VESASignature,"VBE2",4);
 	if(!vib_set && (err=vbeGetControllerInfo(&vib)) != VBE_OK)
@@ -805,7 +805,7 @@ config(uint32_t width, uint32_t height, 
 		      if(use_scaler > 1
 #ifdef CONFIG_VIDIX
 				|| vidix_name
-#endif			  
+#endif
 			  )
 		      {
 		        aspect_save_orig(width,height);
@@ -825,7 +825,7 @@ config(uint32_t width, uint32_t height, 
 #ifdef CONFIG_VIDIX
 		&& !vidix_name
 #endif
-		) 
+		)
 		{
 		    sws = sws_getContextFromCmdLine(srcW,srcH,srcFourcc,dstW,dstH,dstFourcc);
 		    if(!sws)
@@ -930,28 +930,28 @@ config(uint32_t width, uint32_t height, 
 		{
 			PRINT_VBE_ERR("vbeSaveState",err);
 		}
-		
-		/* TODO: 
+
+		/* TODO:
 		         user might pass refresh value,
 			 GTF constants might be read from monitor
 			 for best results, I don't have a spec (RM)
 		*/
-		
+
 		if (((int)(vib.VESAVersion >> 8) & 0xff) > 2) {
-		
+
 		if (set_refresh(video_mode_info.XResolution,video_mode_info.YResolution,video_mode,&crtc_pass))
 		video_mode = video_mode | 0x800;
-		
+
 		}
-		
+
 		;
-		
+
 		if ((err=vbeSetMode(video_mode,&crtc_pass)) != VBE_OK)
 		{
 			PRINT_VBE_ERR("vbeSetMode",err);
 			return -1;
 		}
-		
+
 		if (neomagic_tvout) {
 		    err = vbeSetTV(video_mode,neomagic_tvnorm);
 		    if (err!=0x4f) {
@@ -959,7 +959,7 @@ config(uint32_t width, uint32_t height, 
 		    }
 		    else {
  		    mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_VESA_OhYouReallyHavePictureOnTv);
-		    } 
+		    }
 		}
 		/* Now we are in video mode!!!*/
 		/* Below 'return -1' is impossible */
@@ -994,7 +994,7 @@ config(uint32_t width, uint32_t height, 
 		  else mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_VESA_UsingVidix);
 		  vidix_start();
 
-		  /* set colorkey */       
+		  /* set colorkey */
 		  if (vidix_grkey_support())
 		  {
 		    vidix_grkey_get(&gr_key);
@@ -1010,7 +1010,7 @@ config(uint32_t width, uint32_t height, 
 #endif
 			gr_key.ckey.op = CKEY_FALSE;
 		    vidix_grkey_set(&gr_key);
-		  }         
+		  }
 		  vidix_opened = 1;
 		}
 #endif
@@ -1115,7 +1115,7 @@ static int control(uint32_t request, voi
     {
       va_list ap;
       int value;
-    
+
       va_start(ap, data);
       value = va_arg(ap, int);
       va_end(ap);
@@ -1126,7 +1126,7 @@ static int control(uint32_t request, voi
     {
       va_list ap;
       int *value;
-    
+
       va_start(ap, data);
       value = va_arg(ap, int*);
       va_end(ap);

Modified: trunk/libvo/vo_winvidix.c
==============================================================================
--- trunk/libvo/vo_winvidix.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_winvidix.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,7 +42,7 @@
 #include "vidix/vidix.h"
 
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
     "WIN32 (VIDIX)",
     "winvidix",
@@ -66,7 +66,7 @@ static HWND hWnd=NULL,hWndFS=NULL;
 static float window_aspect;
 
 static vidix_grkey_t gr_key;
-    
+
 
 void set_video_eq(int cap);
 
@@ -83,19 +83,19 @@ static LRESULT CALLBACK WndProc(HWND hwn
 		case WM_WINDOWPOSCHANGED:
            {
                 int tmpheight=0;
-                /*calculate new window rect*/       
+                /*calculate new window rect*/
                  if(!vo_fs){
                  RECT rd;
                  POINT point_window;
-                 if(!hWnd)hWnd=hwnd;  
-                 ShowCursor(TRUE);              
+                 if(!hWnd)hWnd=hwnd;
+                 ShowCursor(TRUE);
                  point_window.x = 0;
                  point_window.y = 0;
-                 ClientToScreen(hWnd,&point_window);  
+                 ClientToScreen(hWnd,&point_window);
                  GetClientRect(hWnd,&rd);
-                      
+
                  vo_dwidth=rd.right - rd.left;
-                 vo_dheight=rd.bottom - rd.top;                       
+                 vo_dheight=rd.bottom - rd.top;
                  vo_dx =point_window.x;
                  vo_dy =point_window.y;
           //       aspect(&vo_dwidth, &vo_dheight, A_NOZOOM);
@@ -118,20 +118,20 @@ static LRESULT CALLBACK WndProc(HWND hwn
                  if(rd.bottom > vo_screenheight) rd.bottom = vo_screenheight;
 
                  AdjustWindowRect(&rd, WS_OVERLAPPEDWINDOW | WS_SIZEBOX, 0);
-                 SetWindowPos(hWnd, HWND_TOPMOST, vo_dx+rd.left, vo_dy+rd.top, rd.right-rd.left, rd.bottom-rd.top, SWP_NOOWNERZORDER); 
+                 SetWindowPos(hWnd, HWND_TOPMOST, vo_dx+rd.left, vo_dy+rd.top, rd.right-rd.left, rd.bottom-rd.top, SWP_NOOWNERZORDER);
                }
                else {
-                 if(ShowCursor(FALSE)>=0)while(ShowCursor(FALSE)>=0){}       
+                 if(ShowCursor(FALSE)>=0)while(ShowCursor(FALSE)>=0){}
                  aspect(&vo_dwidth, &vo_dheight, A_ZOOM);
                  vo_dx = (vo_screenwidth - vo_dwidth)/2;
-                 vo_dy = (vo_screenheight - vo_dheight)/2;           
-               }                 
+                 vo_dy = (vo_screenheight - vo_dheight)/2;
+               }
                /*update vidix*/
                /* FIXME: implement runtime resize/move if possible, this way is very ugly! */
 	           vidix_stop();
 	           if(vidix_init(image_width, image_height, vo_dx, vo_dy, vo_dwidth, vo_dheight, image_format, vo_depthonscreen, vo_screenwidth, vo_screenheight) != 0)
 	               mp_msg(MSGT_VO, MSGL_FATAL, "Can't initialize VIDIX driver: %s\n", strerror(errno));
-               /*set colorkey*/       
+               /*set colorkey*/
                vidix_start();
                mp_msg(MSGT_VO, MSGL_V, "[winvidix] window properties: pos: %dx%d, size: %dx%d\n",vo_dx, vo_dy, vo_dwidth, vo_dheight);
                if(vidix_grkey_support()){
@@ -142,29 +142,29 @@ static LRESULT CALLBACK WndProc(HWND hwn
                  else {
                    gr_key.ckey.red = gr_key.ckey.blue = 255;
                    gr_key.ckey.green = 0;
-	             }              
+	             }
                  vidix_grkey_set(&gr_key);
-               }         
-    
+               }
+
            }
            break;
         case WM_SYSCOMMAND:
 	        switch (wParam){
-                case SC_SCREENSAVE:                
+                case SC_SCREENSAVE:
 		        case SC_MONITORPOWER:
-                    return 0;                      
+                    return 0;
 			 }
-             break;       
+             break;
         case WM_KEYDOWN:
 			switch (wParam){
 				case VK_LEFT:
-					{mplayer_put_key(KEY_LEFT);break;}      
+					{mplayer_put_key(KEY_LEFT);break;}
                 case VK_UP:
-					{mplayer_put_key(KEY_UP);break;} 
+					{mplayer_put_key(KEY_UP);break;}
                 case VK_RIGHT:
-					{mplayer_put_key(KEY_RIGHT);break;} 
+					{mplayer_put_key(KEY_RIGHT);break;}
 	            case VK_DOWN:
-					{mplayer_put_key(KEY_DOWN);break;} 
+					{mplayer_put_key(KEY_DOWN);break;}
 	            case VK_TAB:
 					{mplayer_put_key(KEY_TAB);break;}
 		        case VK_CONTROL:
@@ -204,7 +204,7 @@ static int config(uint32_t width, uint32
     vo_screenwidth = GetSystemMetrics(SM_CXSCREEN);
     vo_screenheight = GetSystemMetrics(SM_CYSCREEN);
     vo_depthonscreen = GetDeviceCaps(GetDC(GetDesktopWindow()),BITSPIXEL);
-    
+
 
     aspect_save_orig(width, height);
     aspect_save_prescale(d_width, d_height);
@@ -213,7 +213,7 @@ static int config(uint32_t width, uint32
     vo_dx = 0;
     vo_dy = 0;
 
-    vo_dx=( vo_screenwidth - d_width ) / 2; vo_dy=( vo_screenheight - d_height ) / 2;    
+    vo_dx=( vo_screenwidth - d_width ) / 2; vo_dy=( vo_screenheight - d_height ) / 2;
     geometry(&vo_dx, &vo_dy, &d_width, &d_height, vo_screenwidth, vo_screenheight);
 
     vo_fs = flags&VOFLAG_FULLSCREEN;
@@ -223,7 +223,7 @@ static int config(uint32_t width, uint32
     vo_dwidth=d_width; vo_dheight=d_height;
     window_aspect = (float)d_width / (float)d_height;
 
-   
+
     if(!vo_config_count){
     HINSTANCE hInstance = GetModuleHandle(NULL);
     WNDCLASS   wc;
@@ -248,27 +248,27 @@ static int config(uint32_t width, uint32
     hWnd = CreateWindow("MPlayer - The Movie Player",
                         title,
                         WS_OVERLAPPEDWINDOW| WS_SIZEBOX,
-                        rd.left,              
-                        rd.top,                   
-                        rd.right - rd.left,                      
-                        rd.bottom - rd.top,                       
+                        rd.left,
+                        rd.top,
+                        rd.right - rd.left,
+                        rd.bottom - rd.top,
                         NULL,
                         NULL,
                         hInstance,
                         NULL);
-    wc.hbrBackground = CreateSolidBrush(RGB(0,0,0));                     
+    wc.hbrBackground = CreateSolidBrush(RGB(0,0,0));
     wc.lpszClassName = "MPlayer - Fullscreen";
     RegisterClass(&wc);
     hWndFS = CreateWindow("MPlayer - Fullscreen","MPlayer VIDIX Fullscreen",WS_POPUP,0,0,vo_screenwidth,vo_screenheight,hWnd,NULL,hInstance,NULL);
-   
-    
 
 
-    
+
+
+
     }
     ShowWindow(hWnd,SW_SHOW);
     if(vo_fs)ShowWindow(hWndFS,SW_SHOW);
-    
+
     return 0;
 }
 
@@ -319,7 +319,7 @@ static void uninit(void){
     DestroyWindow(hWnd);
     if ( !vo_config_count ) return;
     vidix_term();
-    
+
     if (vidix_name){
 	free(vidix_name);
 	vidix_name = NULL;
@@ -345,8 +345,8 @@ static int preinit(const char *arg){
 static int control(uint32_t request, void *data, ...){
   switch (request) {
   case VOCTRL_FULLSCREEN:
-    if(!vo_fs){vo_fs=1;ShowWindow(hWndFS,SW_SHOW);SetForegroundWindow(hWndFS);}  
-    else {vo_fs=0; ShowWindow(hWndFS,SW_HIDE);}  
+    if(!vo_fs){vo_fs=1;ShowWindow(hWndFS,SW_SHOW);SetForegroundWindow(hWndFS);}
+    else {vo_fs=0; ShowWindow(hWndFS,SW_HIDE);}
     break;
   case VOCTRL_QUERY_FORMAT:
     return query_format(*((uint32_t*)data));
@@ -354,7 +354,7 @@ static int control(uint32_t request, voi
   {
     va_list ap;
     int value;
-    
+
     va_start(ap, data);
     value = va_arg(ap, int);
     va_end(ap);
@@ -365,7 +365,7 @@ static int control(uint32_t request, voi
   {
     va_list ap;
     int *value;
-    
+
     va_start(ap, data);
     value = va_arg(ap, int*);
     va_end(ap);

Modified: trunk/libvo/vo_x11.c
==============================================================================
--- trunk/libvo/vo_x11.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_x11.c	Wed May 13 04:58:57 2009	(r29305)
@@ -352,8 +352,8 @@ static int config(uint32_t width, uint32
          && vinfo.visualid != XVisualIDFromVisual(attribs.visual)))
         XMatchVisualInfo(mDisplay, mScreen, depth, TrueColor, &vinfo);
 
-    /* set image size (which is indeed neither the input nor output size), 
-       if zoom is on it will be changed during draw_slice anyway so we don't duplicate the aspect code here 
+    /* set image size (which is indeed neither the input nor output size),
+       if zoom is on it will be changed during draw_slice anyway so we don't duplicate the aspect code here
      */
     image_width = (width + 7) & (~7);
     image_height = height;
@@ -619,13 +619,13 @@ static int query_format(uint32_t format)
 
     switch (format)
     {
-//   case IMGFMT_BGR8:  
+//   case IMGFMT_BGR8:
 //   case IMGFMT_BGR15:
 //   case IMGFMT_BGR16:
 //   case IMGFMT_BGR24:
 //   case IMGFMT_BGR32:
 //    return 0x2;
-//   case IMGFMT_YUY2: 
+//   case IMGFMT_YUY2:
         case IMGFMT_I420:
         case IMGFMT_IYUV:
         case IMGFMT_YV12:

Modified: trunk/libvo/vo_xover.c
==============================================================================
--- trunk/libvo/vo_xover.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_xover.c	Wed May 13 04:58:57 2009	(r29305)
@@ -53,7 +53,7 @@
 #endif
 
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
     "General X11 driver for overlay capable video output drivers",
     "xover",
@@ -102,11 +102,11 @@ static void set_window(int force_update)
 	       drwcX, drwcY, drwX, drwY, drwWidth, drwHeight);
 
       /* following stuff copied from vo_xmga.c */
-    } 
-  else 
-    { 
+    }
+  else
+    {
       aspect(&dwidth,&dheight,A_NOZOOM);
-      drwcX=drwX=vo_dx; drwcY=drwY=vo_dy; drwWidth=vo_dwidth; drwHeight=vo_dheight; 
+      drwcX=drwX=vo_dx; drwcY=drwY=vo_dy; drwWidth=vo_dwidth; drwHeight=vo_dheight;
     }
 
 #if X11_FULLSCREEN
@@ -132,12 +132,12 @@ static void set_window(int force_update)
       XineramaScreenInfo *screens;
       int num_screens;
       int i = 0;
-	
+
       screens = XineramaQueryScreens(mDisplay, &num_screens);
-	
+
       /* find the screen we are on */
       while (i<num_screens &&
-	     ((screens[i].x_org < (int)drwcX) || 
+	     ((screens[i].x_org < (int)drwcX) ||
 	      (screens[i].y_org < (int)drwcY) ||
 	      (screens[i].x_org + screens[i].width >= (int)drwcX) ||
 	      (screens[i].y_org + screens[i].height >= (int)drwcY)))
@@ -265,7 +265,7 @@ static int config(uint32_t width, uint32
 
   aspect(&d_width, &d_height, A_NOZOOM);
 
-  vo_dx=( vo_screenwidth - d_width ) / 2; vo_dy=( vo_screenheight - d_height ) / 2;    
+  vo_dx=( vo_screenwidth - d_width ) / 2; vo_dy=( vo_screenheight - d_height ) / 2;
   vo_dx += xinerama_x;
   vo_dy += xinerama_y;
   vo_dwidth=d_width; vo_dheight=d_height;
@@ -301,7 +301,7 @@ static int config(uint32_t width, uint32
                   window_width, window_height, flags,
 	          xswa.colormap, "xvidix", title);
 	    XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa);
-	 
+
 #ifdef CONFIG_GUI
     }
 #endif

Modified: trunk/libvo/vo_xv.c
==============================================================================
--- trunk/libvo/vo_xv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_xv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -610,7 +610,7 @@ static int preinit(const char *arg)
     int xv_adaptor = -1;
 
     const opt_t subopts[] =
-    {  
+    {
       /* name         arg type     arg var         test */
       {  "port",      OPT_ARG_INT, &xv_port,       (opt_test_f)int_pos },
       {  "adaptor",   OPT_ARG_INT, &xv_adaptor,    (opt_test_f)int_non_neg },
@@ -687,7 +687,7 @@ static int preinit(const char *arg)
         /* check if adaptor number has been specified */
         if (xv_adaptor != -1 && xv_adaptor != i)
           continue;
-      
+
         if ((ai[i].type & XvInputMask) && (ai[i].type & XvImageMask))
         {
             for (xv_p = ai[i].base_id;

Modified: trunk/libvo/vo_yuv4mpeg.c
==============================================================================
--- trunk/libvo/vo_yuv4mpeg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_yuv4mpeg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -60,7 +60,7 @@
 #include "libmpcodecs/vf_scale.h"
 #include "libavutil/rational.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"yuv4mpeg output for mjpegtools",
 	"yuv4mpeg",
@@ -96,8 +96,8 @@ static int write_bytes;
 static int config_interlace = Y4M_ILACE_NONE;
 #define Y4M_IS_INTERLACED (config_interlace != Y4M_ILACE_NONE)
 
-static int config(uint32_t width, uint32_t height, uint32_t d_width, 
-       uint32_t d_height, uint32_t flags, char *title, 
+static int config(uint32_t width, uint32_t height, uint32_t d_width,
+       uint32_t d_height, uint32_t flags, char *title,
        uint32_t format)
 {
 	AVRational pixelaspect = av_div_q((AVRational){d_width, d_height},
@@ -126,7 +126,7 @@ static int config(uint32_t width, uint32
 				MSGTR_VO_YUV4MPEG_InterlacedHeightDivisibleBy4);
 			return -1;
 		}
-		
+
 		rgb_line_buffer = malloc(image_width * 3);
 		if (!rgb_line_buffer)
 		{
@@ -134,19 +134,19 @@ static int config(uint32_t width, uint32
 				MSGTR_VO_YUV4MPEG_InterlacedLineBufAllocFail);
 			return -1;
 		}
-		
+
 		if (using_format == IMGFMT_YV12)
 			mp_msg(MSGT_VO,MSGL_WARN,
 				MSGTR_VO_YUV4MPEG_InterlacedInputNotRGB);
 	}
-				
+
 	if (width % 2)
 	{
 		mp_msg(MSGT_VO,MSGL_FATAL,
 			MSGTR_VO_YUV4MPEG_WidthDivisibleBy2);
 		return -1;
-	}	
-	
+	}
+
 	if(using_format != IMGFMT_YV12)
 	{
 		sws_rgb2rgb_init(get_sws_cpuflags());
@@ -163,7 +163,7 @@ static int config(uint32_t width, uint32
 	image = malloc(write_bytes);
 
 	yuv_out = fopen(yuv_filename, "wb");
-	if (!yuv_out || image == 0) 
+	if (!yuv_out || image == 0)
 	{
 		mp_msg(MSGT_VO,MSGL_FATAL,
 			MSGTR_VO_YUV4MPEG_OutFileOpenError,
@@ -173,8 +173,8 @@ static int config(uint32_t width, uint32
 	image_y = image;
 	image_u = image_y + image_width * image_height;
 	image_v = image_u + image_width * image_height / 4;
-	
-	fprintf(yuv_out, "YUV4MPEG2 W%d H%d F%d:%d I%c A%d:%d\n", 
+
+	fprintf(yuv_out, "YUV4MPEG2 W%d H%d F%d:%d I%c A%d:%d\n",
 			image_width, image_height, fps_frac.num, fps_frac.den,
 			config_interlace,
 			pixelaspect.num, pixelaspect.den);
@@ -187,7 +187,7 @@ static int config(uint32_t width, uint32
 static void swap_fields(uint8_t *ptr, const int h, const int stride)
 {
 	int i;
-	
+
 	for (i=0; i<h; i +=2)
 	{
 		fast_memcpy(rgb_line_buffer     , ptr + stride *  i   , stride);
@@ -201,10 +201,10 @@ static void draw_alpha(int x0, int y0, i
 	switch (using_format)
 	{
     	case IMGFMT_YV12:
-	    	vo_draw_alpha_yv12(w, h, src, srca, stride, 
+	    	vo_draw_alpha_yv12(w, h, src, srca, stride,
 				       image + y0 * image_width + x0, image_width);
 			break;
-		
+
 		case IMGFMT_BGR|24:
 		case IMGFMT_RGB|24:
 			if (config_interlace != Y4M_ILACE_BOTTOM_FIRST)
@@ -216,7 +216,7 @@ static void draw_alpha(int x0, int y0, i
 
 				vo_draw_alpha_rgb24(w, h, src, srca, stride,
 						rgb_buffer + (y0 * image_width  + x0) * 3, image_width * 3);
-				
+
 				swap_fields (rgb_buffer, image_height, image_width * 3);
 			}
 			break;
@@ -238,7 +238,7 @@ static void deinterleave_fields(uint8_t 
 		line_state[i] = 0;
 
 	line_state[0] = 1;
-	
+
 	while(k_start < modv)
 	{
 		i = j = k_start;
@@ -252,7 +252,7 @@ static void deinterleave_fields(uint8_t 
 			fast_memcpy(ptr + stride * i, ptr + stride * j, stride);
 		}
 		fast_memcpy(ptr + stride * i, rgb_line_buffer, stride);
-		
+
 		while(k_start < modv && line_state[k_start])
 			k_start++;
 	}
@@ -321,24 +321,24 @@ static void flip_page (void)
 	uint8_t *upper_y, *upper_u, *upper_v, *rgb_buffer_lower;
 	int rgb_stride, uv_stride, field_height;
 	unsigned int i, low_ofs;
-	
+
 	fprintf(yuv_out, "FRAME\n");
-	
+
 	if (using_format != IMGFMT_YV12)
 	{
 		rgb_stride = image_width * 3;
 		uv_stride = image_width / 2;
-		
+
 		if (Y4M_IS_INTERLACED)
 		{
-			field_height = image_height / 2;		
+			field_height = image_height / 2;
 
 			upper_y = image;
 			upper_u = upper_y + image_width * field_height;
 			upper_v = upper_u + image_width * field_height / 4;
 			low_ofs = image_width * field_height * 3 / 2;
 			rgb_buffer_lower = rgb_buffer + rgb_stride * field_height;
-		
+
 			deinterleave_fields(rgb_buffer, rgb_stride, image_height);
 
 			rgb24toyv12(rgb_buffer, upper_y, upper_u, upper_v,
@@ -348,7 +348,7 @@ static void flip_page (void)
 						 upper_u + low_ofs, upper_v + low_ofs,
 						 image_width, field_height,
 						 image_width, uv_stride, rgb_stride);
-		
+
 			/* Write Y plane */
 			for(i = 0; i < field_height; i++)
 			{
@@ -383,11 +383,11 @@ static int draw_slice(uint8_t *srcimg[],
 {
 	int i;
 	uint8_t *dst, *src = srcimg[0];
-	
+
 	switch (using_format)
 	{
 		case IMGFMT_YV12:
-		
+
 		// copy Y:
 		dst = image_y + image_width * y + x;
 		for (i = 0; i < h; i++)
@@ -414,7 +414,7 @@ static int draw_slice(uint8_t *srcimg[],
 			}
 		}
 		break;
-		
+
 		case IMGFMT_BGR24:
 		case IMGFMT_RGB24:
 			dst = rgb_buffer + (image_width * y + x) * 3;
@@ -447,13 +447,13 @@ static int draw_frame(uint8_t * src[])
 
 static int query_format(uint32_t format)
 {
-    
+
 	if (Y4M_IS_INTERLACED)
     {
 		/* When processing interlaced material we want to get the raw RGB
          * data and do the YV12 conversion ourselves to have the chrominance
          * information sampled correct. */
-		
+
 		switch(format)
 		{
 			case IMGFMT_YV12:
@@ -473,7 +473,7 @@ static int query_format(uint32_t format)
     		case IMGFMT_BGR|24:
     		case IMGFMT_RGB|24:
         		return VFCAP_CSP_SUPPORTED|VFCAP_OSD|VFCAP_ACCEPT_STRIDE;
-    	}	
+    	}
 	}
 	return 0;
 }
@@ -488,7 +488,7 @@ static void uninit(void)
 	if(yuv_out)
 		fclose(yuv_out);
 	yuv_out = NULL;
-	
+
 	if(rgb_buffer)
 		free(rgb_buffer);
 	rgb_buffer = NULL;
@@ -524,7 +524,7 @@ static int preinit(const char *arg)
   il_bf = 0;
   yuv_filename = strdup("stream.yuv");
   if (subopt_parse(arg, subopts) != 0) {
-    mp_msg(MSGT_VO, MSGL_FATAL, MSGTR_VO_YUV4MPEG_UnknownSubDev, arg); 
+    mp_msg(MSGT_VO, MSGL_FATAL, MSGTR_VO_YUV4MPEG_UnknownSubDev, arg);
     return -1;
   }
 

Modified: trunk/libvo/vo_zr.c
==============================================================================
--- trunk/libvo/vo_zr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_zr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -44,7 +44,7 @@
 
 #include "jpeg_enc.h"
 
-static const vo_info_t info = 
+static const vo_info_t info =
 {
 	"Zoran ZR360[56]7/ZR36060 Driver (DC10(+)/buz/lml33/MatroxRR)",
 	"zr",
@@ -73,7 +73,7 @@ typedef struct {
 	/* commandline args given for this device (and defaults) */
 	int vdec, hdec; 	/* requested decimation 1,2,4 */
 	int fd; 		/* force decimation */
-	int xdoff, ydoff;	/* offset from upperleft of screen 
+	int xdoff, ydoff;	/* offset from upperleft of screen
 				 * default is 'centered' */
 	int quality; 		/* jpeg quality 1=best, 20=bad */
 	geo_t g;		/* view window (zrcrop) */
@@ -105,13 +105,13 @@ typedef struct {
 } zr_info_t;
 
 static zr_info_t zr_info[ZR_MAX_DEVICES] = {
-	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0, 
+	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0,
 	0, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0, 
+	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0,
 	0, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0, 
+	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0,
 	0, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0, 
+	{1, 1, 1, -1, -1, 2, {0, 0, 0, 0, 0}, NULL, 0, VIDEO_MODE_AUTO, NULL, 0, 0, 0, 0, 0,
 	0, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
 
 
@@ -137,7 +137,7 @@ int zoran_getcap(zr_info_t *zr) {
 		    NULL
 		};
 		int i = 0;
-		
+
 		do
 		{
 		    if ((stat(devs[i], &vstat) == 0) && S_ISCHR(vstat.st_mode))
@@ -154,23 +154,23 @@ int zoran_getcap(zr_info_t *zr) {
 		    return 1;
 		}
 	}
-			
+
 	zr->vdes = open(dev, O_RDWR);
 
 	if (zr->vdes < 0) {
-		mp_msg(MSGT_VO, MSGL_ERR, "zr: error opening %s: %s\n", 
+		mp_msg(MSGT_VO, MSGL_ERR, "zr: error opening %s: %s\n",
 		       dev, strerror(errno));
 		return 1;
 	}
 
-	/* before we can ask for the maximum resolution, we must set 
+	/* before we can ask for the maximum resolution, we must set
 	 * the correct tv norm */
 
 	if (ioctl(zr->vdes, MJPIOC_G_PARAMS, &zr->p) < 0) {
 		mp_msg(MSGT_VO, MSGL_ERR, "zr: device at %s is probably not a DC10(+)/buz/lml33\n", dev);
 		return 1;
 	}
-	
+
 	if (zr->p.norm != zr->norm && zr->norm != VIDEO_MODE_AUTO) {
 		/* attempt to set requested norm */
 		zr->p.norm = zr->norm;
@@ -186,16 +186,16 @@ int zoran_getcap(zr_info_t *zr) {
 			return 1;
 		}
 	}
-	
+
 	if (ioctl(zr->vdes, VIDIOCGCAP, &zr->vc) < 0) {
 		mp_msg(MSGT_VO, MSGL_ERR, "zr: error getting video capabilities from %s\n", dev);
 		return 1;
 	}
 	mp_msg(MSGT_VO, MSGL_V, "zr: MJPEG card reports maxwidth=%d, maxheight=%d\n", zr->vc.maxwidth, zr->vc.maxheight);
-	
+
 	return 0;
 }
-	
+
 int init_zoran(zr_info_t *zr, int stretchx, int stretchy) {
 	/* center the image, and stretch it as far as possible (try to keep
 	 * aspect) and check if it fits */
@@ -210,12 +210,12 @@ int init_zoran(zr_info_t *zr, int stretc
 	}
 
 	zr->p.decimation = 0;
-	zr->p.HorDcm = stretchx; 
+	zr->p.HorDcm = stretchx;
 	zr->p.VerDcm = stretchy;
 	zr->p.TmpDcm = 1;
 	zr->p.field_per_buff = zr->fields;
 	if (zr->xdoff == -1) {
-		zr->p.img_x = (zr->vc.maxwidth - 
+		zr->p.img_x = (zr->vc.maxwidth -
 				zr->p.HorDcm*(int)zr->image_width/zr->hdec)/2;
 	} else {
 		zr->p.img_x = zr->xdoff;
@@ -244,14 +244,14 @@ int init_zoran(zr_info_t *zr, int stretc
 	}
 
 	/* the buffer count allocated may be different to the request */
-	zr->buf = (unsigned char*)mmap(0, zr->zrq.count*zr->zrq.size, 
+	zr->buf = (unsigned char*)mmap(0, zr->zrq.count*zr->zrq.size,
 			PROT_READ|PROT_WRITE, MAP_SHARED, zr->vdes, 0);
 
 	if (zr->buf == MAP_FAILED) {
 		mp_msg(MSGT_VO, MSGL_ERR, "zr: error requesting %ld buffers of size %ld\n", zr->zrq.count, zr->zrq.size);
 		return 1;
 	}
-	
+
 	mp_msg(MSGT_VO, MSGL_V, "zr: got %ld buffers of size %ld (wanted %d buffers of size %d)\n", zr->zrq.count, zr->zrq.size, MJPEG_NBUFFERS, MJPEG_SIZE);
 	if (zr->zrq.count < MJPEG_NBUFFERS) {
 		mp_msg(MSGT_VO, MSGL_V, "zr: got not enough buffers\n");
@@ -270,13 +270,13 @@ void uninit_zoran(zr_info_t *zr) {
 		zr->image=NULL;
 	}
 	while (zr->queue > zr->synco + 1) {
-		if (ioctl(zr->vdes, MJPIOC_SYNC, &zr->zs) < 0) 
-			mp_msg(MSGT_VO, MSGL_ERR, "zr: error waiting for buffers to become free\n"); 
+		if (ioctl(zr->vdes, MJPIOC_SYNC, &zr->zs) < 0)
+			mp_msg(MSGT_VO, MSGL_ERR, "zr: error waiting for buffers to become free\n");
 		zr->synco++;
 	}
 	/* stop streaming */
 	zr->frame = -1;
-	if (ioctl(zr->vdes, MJPIOC_QBUF_PLAY, &zr->frame) < 0) 
+	if (ioctl(zr->vdes, MJPIOC_QBUF_PLAY, &zr->frame) < 0)
 		mp_msg(MSGT_VO, MSGL_ERR, "zr: error stopping playback of last frame\n");
 	if (munmap(zr->buf,zr->zrq.count*zr->zrq.size))
 	   mp_msg(MSGT_VO, MSGL_ERR, "zr: error unmapping buffer\n");
@@ -290,7 +290,7 @@ int zr_geometry_sane(geo_t *g, unsigned 
 			mp_msg(MSGT_VO, MSGL_ERR, "zr: arguments in -zrcrop must be multiples of 2\n");
 			return 1;
 		}
-		if (g->width <= 0 || g->height <= 0 || 
+		if (g->width <= 0 || g->height <= 0 ||
 				g->xoff < 0 || g->yoff < 0) {
 			mp_msg(MSGT_VO, MSGL_ERR, "zr: width and height must be positive and offset nonnegative\n");
 			return 1;
@@ -314,7 +314,7 @@ int zr_geometry_sane(geo_t *g, unsigned 
 }
 
 
-static int config(uint32_t width, uint32_t height, uint32_t d_width, 
+static int config(uint32_t width, uint32_t height, uint32_t d_width,
 	uint32_t d_height, uint32_t flags, char *title, uint32_t format)
 {
 	int i, tmp, stretchx, stretchy;
@@ -336,9 +336,9 @@ static int config(uint32_t width, uint32
 		/* make the scaling decision
 		 * we are capable of stretching the image in the horizontal
 		 * direction by factors 1, 2 and 4
-		 * we can stretch the image in the vertical direction by a 
+		 * we can stretch the image in the vertical direction by a
 		 * factor of 1 and 2 AND we must decide about interlacing */
-		if (g->width > zr->vc.maxwidth/2 || 
+		if (g->width > zr->vc.maxwidth/2 ||
 				g->height > zr->vc.maxheight/2) {
 			stretchx = 1;
 			stretchy = 1;
@@ -350,7 +350,7 @@ static int config(uint32_t width, uint32
 				stretchy = 2;
 			}
 			stretchx = zr->hdec;
-		} else if (g->width > zr->vc.maxwidth/4 || 
+		} else if (g->width > zr->vc.maxwidth/4 ||
 				g->height > zr->vc.maxheight/4) {
 			stretchx = 2;
 			stretchy = 1;
@@ -398,7 +398,7 @@ static int config(uint32_t width, uint32
 			g->xoff += 2*((g->width - zr->hdec*(tmp-16))/4);
 			/* g->off must be a multiple of 2 */
 			g->width = zr->hdec*(tmp - 16);
-			g->set = 0; /* we abuse this field to 
+			g->set = 0; /* we abuse this field to
 				       report that g has changed*/
 		}
 		tmp = 8*zr->fields*((g->height - 1)/(zr->vdec*zr->fields*8)+1);
@@ -408,7 +408,7 @@ static int config(uint32_t width, uint32
 			g->height = zr->vdec*(tmp - 8*zr->fields);
 			g->set = 0;
 		}
-		if (!g->set) 
+		if (!g->set)
 			mp_msg(MSGT_VO, MSGL_V, "zr: auto(re)cropping %dx%d+%d+%d to make the image fit on the screen\n", g->width, g->height, g->xoff, g->yoff);
 
 		/* the height must be a multiple of fields*8 and the width
@@ -426,7 +426,7 @@ static int config(uint32_t width, uint32
 		zr->off_c += (zr->image_width - g->width)/4;
 		zr->size = zr->image_width*zr->image_height;
 		mp_msg(MSGT_VO, MSGL_V, "zr: input: %dx%d, cropped: %dx%d, output: %dx%d, off_y=%d, off_c=%d\n", width, height, g->width, g->height, zr->image_width, zr->image_height, zr->off_y, zr->off_c);
-	
+
 		zr->image = malloc(2*zr->size); /* this buffer allows for YUV422 data,
 					 * so it is a bit too big for YUV420 */
 		if (!zr->image) {
@@ -442,16 +442,16 @@ static int config(uint32_t width, uint32
 				zr->y_data = zr->image;
 				zr->u_data = zr->image + zr->size;
 				zr->v_data = zr->image + 3*zr->size/2;
-	
+
 				zr->y_stride = zr->image_width;
 				zr->u_stride = zr->image_width/2;
 				zr->v_stride = zr->image_width/2;
-	
-				zr->j = jpeg_enc_init(zr->image_width/zr->hdec, 
+
+				zr->j = jpeg_enc_init(zr->image_width/zr->hdec,
 						zr->image_height/zr->fields,
 						zr->hdec, zr->y_stride*zr->fields,
 						zr->hdec, zr->u_stride*zr->fields,
-						zr->hdec, zr->v_stride*zr->fields, 
+						zr->hdec, zr->v_stride*zr->fields,
 						1, zr->quality, zr->bw);
 				break;
 			case IMGFMT_YUY2:
@@ -461,39 +461,39 @@ static int config(uint32_t width, uint32
 					zr->image[tmp+2] = 0;
 					zr->image[tmp+3] = 0x80;
 				}
-	
+
 				zr->y_data = zr->image;
 				zr->u_data = zr->image + 1;
 				zr->v_data = zr->image + 3;
-	
+
 				zr->y_stride = 2*zr->image_width;
 				zr->u_stride = 2*zr->image_width;
 				zr->v_stride = 2*zr->image_width;
-	
-				zr->j = jpeg_enc_init(zr->image_width/zr->hdec, 
+
+				zr->j = jpeg_enc_init(zr->image_width/zr->hdec,
 						zr->image_height/zr->fields,
-						zr->hdec*2, 
+						zr->hdec*2,
 						zr->y_stride*zr->fields,
-						zr->hdec*4, 
+						zr->hdec*4,
 						zr->u_stride*zr->fields,
-						zr->hdec*4, 
+						zr->hdec*4,
 						zr->v_stride*zr->fields,
 						0, zr->quality, zr->bw);
 				break;
 			default:
 				mp_msg(MSGT_VO, MSGL_FATAL, "zr: internal inconsistency in vo_zr\n");
 		}
-	
-	
+
+
 		if (zr->j == NULL) {
 			mp_msg(MSGT_VO, MSGL_ERR, "zr: error initializing the jpeg encoder\n");
 			return 1;
 		}
-	
+
 		if (init_zoran(zr, stretchx, stretchy)) {
 			return 1;
 		}
-	
+
 	}
 	return 0;
 }
@@ -508,26 +508,26 @@ static void flip_page (void) {
 	/* do we have a free buffer? */
 	for (j = 0; j < zr_count; j++) {
 		zr_info_t *zr = &zr_info[j];
-		/* using MJPEG_NBUFFERS here, using the real number of 
+		/* using MJPEG_NBUFFERS here, using the real number of
 		 * buffers may give sync issues (real number of buffers
 		 * is always sufficient) */
 		if (zr->queue-zr->synco < MJPEG_NBUFFERS) {
 			zr->frame = zr->queue;
 		} else {
-			if (ioctl(zr->vdes, MJPIOC_SYNC, &zr->zs) < 0) 
-				mp_msg(MSGT_VO, MSGL_ERR, "zr: error waiting for buffers to become free\n"); 
+			if (ioctl(zr->vdes, MJPIOC_SYNC, &zr->zs) < 0)
+				mp_msg(MSGT_VO, MSGL_ERR, "zr: error waiting for buffers to become free\n");
 			zr->frame = zr->zs.frame;
 			zr->synco++;
 		}
 		k=0;
-		for (i = 0; i < zr->fields; i++) 
-			k+=jpeg_enc_frame(zr->j, zr->y_data + i*zr->y_stride, 
-					zr->u_data + i*zr->u_stride, 
-					zr->v_data + i*zr->v_stride, 
+		for (i = 0; i < zr->fields; i++)
+			k+=jpeg_enc_frame(zr->j, zr->y_data + i*zr->y_stride,
+					zr->u_data + i*zr->u_stride,
+					zr->v_data + i*zr->v_stride,
 					zr->buf + zr->frame*zr->zrq.size+k);
 		if (k > zr->zrq.size) mp_msg(MSGT_VO, MSGL_WARN, "zr: jpeg image too large for maximum buffer size. Lower the jpeg encoding\nquality or the resolution of the movie.\n");
 	}
-	/* Warning: Only the first jpeg image contains huffman- and 
+	/* Warning: Only the first jpeg image contains huffman- and
 	 * quantisation tables, so don't expect files other than
 	 * test0001.jpg to be readable */
 	/*sprintf(filename, "test%04d.jpg", framenum);
@@ -538,10 +538,10 @@ static void flip_page (void) {
 	/*fp = fopen("test1.jpg", "r");
 	fread(buf+frame*zrq.size, 1, 2126, fp);
 	fclose(fp);*/
-	
+
 	for (j = 0; j < zr_count; j++) {
 		zr_info_t *zr = &zr_info[j];
-		if (ioctl(zr->vdes, MJPIOC_QBUF_PLAY, &zr->frame) < 0) 
+		if (ioctl(zr->vdes, MJPIOC_QBUF_PLAY, &zr->frame) < 0)
 			mp_msg(MSGT_VO, MSGL_ERR, "zr: error queueing buffer for playback\n");
 		zr->queue++;
 	}
@@ -569,7 +569,7 @@ static int draw_frame(uint8_t * src[]) {
 }
 
 static int query_format(uint32_t format) {
-	if(format==IMGFMT_YV12 || format==IMGFMT_YUY2) 
+	if(format==IMGFMT_YV12 || format==IMGFMT_YUY2)
 	    return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW;
 	return 0;
 }
@@ -642,7 +642,7 @@ static int draw_slice(uint8_t *srcimg[],
 		if (!zr->bw) {
     			// copy U+V:
 			uint8_t *dst1=zr->image + zr->size + zr->off_c+ (y/(zr->vdec*2))*zr->image_width/2+(x/2);
-			uint8_t *dst2=zr->image + 3*zr->size/2 + zr->off_c + 
+			uint8_t *dst2=zr->image + 3*zr->size/2 + zr->off_c +
 					(y/(zr->vdec*2))*
 					zr->image_width/2+(x/2);
 			for (i = 0; i< h/2; i++) {
@@ -702,7 +702,7 @@ vo_zr_parseoption(const m_option_t* conf
 		}
 	}
 	if (param == NULL) return ERR_MISSING_PARAM;
-	if (sscanf(param, "%dx%d+%d+%d", &g->width, &g->height, 
+	if (sscanf(param, "%dx%d+%d+%d", &g->width, &g->height,
 				&g->xoff, &g->yoff) != 4) {
 		g->xoff = 0; g->yoff = 0;
 		if (sscanf(param, "%dx%d", &g->width, &g->height) != 2) {
@@ -772,7 +772,7 @@ vo_zr_parseoption(const m_option_t* conf
 		    "  -zrnorm     specify norm PAL/NTSC (default: leave at current setting)\n"
 		    "\n"
 		    "Cinerama support: additional occurances of -zrcrop activate cinerama mode,\n"
-		    "suppose you have a 704x272 movie, two DC10+ cards and two beamers (or tv's),\n"              
+		    "suppose you have a 704x272 movie, two DC10+ cards and two beamers (or tv's),\n"
 		    "then you would issue the following command:\n\n"
 		    "mplayer -vo zr -zrcrop 352x272+0+0 -zrdev /dev/video0 -zrcrop 352x272+352+0 \\\n"
 		    "       -zrdev /dev/video1 movie.avi\n\n"
@@ -784,7 +784,7 @@ vo_zr_parseoption(const m_option_t* conf
 		    "a DC10+ (and no beamers) is tested, however)\n"
 	      );
 	exit(0);
-		
+
     }
     return ERR_NOT_AN_OPTION;
 }
@@ -822,7 +822,7 @@ void vo_zr_revertoption(const m_option_t
 
 static int preinit(const char *arg)
 {
-    if(arg) 
+    if(arg)
     {
 	printf("vo_zr: Unknown subdevice: %s\n",arg);
 	return ENOSYS;

Modified: trunk/libvo/vo_zr2.c
==============================================================================
--- trunk/libvo/vo_zr2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vo_zr2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -72,7 +72,7 @@ typedef struct {
 static vo_zr2_priv_t priv;
 
 #define ZR2_MJPEG_NBUFFERS	2
-#define ZR2_MJPEG_SIZE		1024*256	
+#define ZR2_MJPEG_SIZE		1024*256
 
 /* some convenient #define's, is this portable enough? */
 #define DBG2(...) mp_msg(MSGT_VO, MSGL_DBG2, "vo_zr2: " __VA_ARGS__)
@@ -83,7 +83,7 @@ static vo_zr2_priv_t priv;
 static void stop_playing(vo_zr2_priv_t *p) {
 	if (p->playing) {
 		p->frame = -1;
-		if (ioctl(p->vdes, MJPIOC_QBUF_PLAY, &p->frame) < 0)  
+		if (ioctl(p->vdes, MJPIOC_QBUF_PLAY, &p->frame) < 0)
 			ERROR("error stopping playback\n");
 		p->playing = 0;
 		p->sync = 0;
@@ -166,7 +166,7 @@ static uint32_t draw_image(mp_image_t *m
 
 	/* copy the jpeg image to the buffer which we acquired */
 	fast_memcpy(p->buf + p->zrq.size*p->frame, mpi->planes[0], size);
-			
+
 	return VO_TRUE;
 }
 
@@ -235,7 +235,7 @@ static int preinit(const char *arg) {
 		free(dev_arg);
 		return -1;
 	}
-				
+
 	/* interpret the strings we got from subopt_parse */
 	if (norm_arg) {
 		norm = get_norm(norm_arg);
@@ -258,7 +258,7 @@ static int preinit(const char *arg) {
 		uninit();
 		return 1;
 	}
-	
+
 	free(dev_arg);
 
 	/* check if we really are dealing with a zoran card */
@@ -268,12 +268,12 @@ static int preinit(const char *arg) {
 		return 1;
 	}
 
-	VERBOSE("kernel driver version %d.%d, current norm is %s\n", 
+	VERBOSE("kernel driver version %d.%d, current norm is %s\n",
 			p->zp.major_version, p->zp.minor_version,
 			normstring(p->zp.norm));
 
 	/* changing the norm in the zoran_params and MJPIOC_S_PARAMS
-	 * does nothing the last time I tried, so bail out if the norm 
+	 * does nothing the last time I tried, so bail out if the norm
 	 * is not correct */
 	if (norm != VIDEO_MODE_AUTO &&  p->zp.norm != norm) {
 		ERROR("mplayer currently can't change the video norm, "
@@ -281,19 +281,19 @@ static int preinit(const char *arg) {
 		uninit();
 		return 1;
 	}
-		
+
 	/* gather useful information */
 	if (ioctl(p->vdes, VIDIOCGCAP, &p->vc) < 0) {
 		ERROR("error getting video capabilities from %s\n", dev);
 		uninit();
 		return 1;
 	}
-	
-	VERBOSE("card reports maxwidth=%d, maxheight=%d\n", 
+
+	VERBOSE("card reports maxwidth=%d, maxheight=%d\n",
 			p->vc.maxwidth, p->vc.maxheight);
 
-	/* according to the mjpegtools source, some cards return a bogus 
-	 * vc.maxwidth, correct it here. If a new zoran card appears with a 
+	/* according to the mjpegtools source, some cards return a bogus
+	 * vc.maxwidth, correct it here. If a new zoran card appears with a
 	 * maxwidth different 640, 720 or 768 this code may lead to problems */
 	if (p->vc.maxwidth != 640 && p->vc.maxwidth != 768) {
 		VERBOSE("card probably reported bogus width (%d), "
@@ -305,16 +305,16 @@ static int preinit(const char *arg) {
 	p->zrq.size = ZR2_MJPEG_SIZE;
 
 	if (ioctl(p->vdes, MJPIOC_REQBUFS, &p->zrq)) {
-		ERROR("error requesting %d buffers of size %d\n", 
+		ERROR("error requesting %d buffers of size %d\n",
 				ZR2_MJPEG_NBUFFERS, ZR2_MJPEG_NBUFFERS);
 		uninit();
 		return 1;
 	}
-	
+
 	VERBOSE("got %ld buffers of size %ld (wanted %d buffers of size %d)\n",
 			p->zrq.count, p->zrq.size, ZR2_MJPEG_NBUFFERS,
 			ZR2_MJPEG_SIZE);
-	
+
 	p->buf = (unsigned char*)mmap(0, p->zrq.count*p->zrq.size,
 			PROT_READ|PROT_WRITE, MAP_SHARED, p->vdes, 0);
 
@@ -327,7 +327,7 @@ static int preinit(const char *arg) {
     	return 0;
 }
 
-static int config(uint32_t width, uint32_t height, uint32_t d_width, 
+static int config(uint32_t width, uint32_t height, uint32_t d_width,
 	uint32_t d_height, uint32_t flags, char *title, uint32_t format) {
 	int fields = 1, top_first = 1, err = 0;
 	int stretchx = 1, stretchy = 1;
@@ -361,9 +361,9 @@ static int config(uint32_t width, uint32
 		ERROR("input width=%d, must be multiple of 16\n", width);
 		err = 1;
 	}
-	
+
 	if (height%(fields*8) != 0) {
-		ERROR("input height=%d, must be multiple of %d\n", 
+		ERROR("input height=%d, must be multiple of %d\n",
 				height, 2*fields);
 		err = 1;
 	}
@@ -430,9 +430,9 @@ static int config(uint32_t width, uint32
 			zptmp.img_width, 2*zptmp.img_height,
 			zptmp.img_x, 2*zptmp.img_y,
 			width, height, (fields == 1) ? "non-interlaced" : "",
-			(fields == 2 && top_first == 1) 
+			(fields == 2 && top_first == 1)
 			?  "interlaced top first" : "",
-			(fields == 2 && top_first == 0) 
+			(fields == 2 && top_first == 0)
 			? "interlaced bottom first" : "");
 
 	if (memcmp(&zptmp, &p->zp, sizeof(zptmp))) {
@@ -476,7 +476,7 @@ static void flip_page(void) {
 	/* queueing the buffer for playback */
 	/* queueing the first buffer automatically starts playback */
 	if (p->playing == 0) p->playing = 1;
-	if (ioctl(p->vdes, MJPIOC_QBUF_PLAY, &p->frame) < 0) 
+	if (ioctl(p->vdes, MJPIOC_QBUF_PLAY, &p->frame) < 0)
 		ERROR("error queueing buffer for playback\n");
 	else p->queue++;
 }
@@ -490,7 +490,7 @@ static void uninit(void) {
 
 	stop_playing(p);
 
-	if (p->buf && munmap(p->buf, p->zrq.size*p->zrq.count)) 
+	if (p->buf && munmap(p->buf, p->zrq.size*p->zrq.count))
 		ERROR("error munmapping buffer: %s\n", strerror(errno));
 
 	if (p->vdes >= 0) close(p->vdes);

Modified: trunk/libvo/vosub_vidix.c
==============================================================================
--- trunk/libvo/vosub_vidix.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/vosub_vidix.c	Wed May 13 04:58:57 2009	(r29305)
@@ -134,7 +134,7 @@ static uint32_t vidix_draw_slice_420(uin
 	    src2+= stride[2];
 	}
     }
-    else 
+    else
     {
 		/* Plane V */
 		dest = vidix_mem + vidix_play.offsets[next_frame] + vidix_play.offset.v;
@@ -175,12 +175,12 @@ static uint32_t vidix_draw_slice_410(uin
         src+=stride[0];
         dest += dstrides.y;
     }
-    
+
     if (vidix_play.flags & VID_PLAY_INTERLEAVED_UV)
     {
 	mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SUB_VIDIX_InterleavedUvForYuv410pNotSupported);
     }
-    else 
+    else
     {
 		/* Plane V */
 		dest = vidix_mem + vidix_play.offsets[next_frame] + vidix_play.offset.v;
@@ -283,7 +283,7 @@ static void     vidix_flip_page(void)
   {
 	vdlPlaybackFrameSelect(vidix_handler,next_frame);
 	next_frame=(next_frame+1)%vidix_play.num_frames;
-  }	
+  }
 }
 
 static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
@@ -394,7 +394,7 @@ int      vidix_init(unsigned src_width,u
 	  mp_msg(MSGT_VO,MSGL_ERR, MSGTR_LIBVO_SUB_VIDIX_UnsupportedFourccForThisVidixDriver,
 	    format,vo_format_name(format));
 	  return -1;
-	} 
+	}
 
 	if(((vidix_cap.maxwidth != -1) && (vid_w > vidix_cap.maxwidth)) ||
 	    ((vidix_cap.minwidth != -1) && (vid_w < vidix_cap.minwidth)) ||
@@ -549,7 +549,7 @@ static uint32_t vidix_get_image(mp_image
     if(mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; /* slow video ram */
     if(( (mpi->stride[0]==dstrides.y && (!(mpi->flags&MP_IMGFLAG_PLANAR) ||
       (mpi->stride[1]==dstrides.u && mpi->stride[2]==dstrides.v)) )
-      || (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH))) && 
+      || (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH))) &&
        (!forced_fourcc && !(vidix_play.flags & VID_PLAY_INTERLEAVED_UV)))
     {
 	if(mpi->flags&MP_IMGFLAG_ACCEPT_WIDTH){
@@ -604,9 +604,9 @@ uint32_t vidix_control(uint32_t request,
     va_start(ap, data);
     value = va_arg(ap, int);
     va_end(ap);
-    
+
 //    printf("vidix seteq %s -> %d  \n",data,value);
-    
+
     /* vidix eq ranges are -1000..1000 */
     if (!strcasecmp(data, "brightness"))
     {
@@ -646,7 +646,7 @@ uint32_t vidix_control(uint32_t request,
     va_start(ap, data);
     value = va_arg(ap, int*);
     va_end(ap);
-    
+
     /* vidix eq ranges are -1000..1000 */
     if (!strcasecmp(data, "brightness"))
     {
@@ -686,7 +686,7 @@ int vidix_preinit(const char *drvname,vo
 	vidix_handler = vdlOpen(drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
 				TYPE_OUTPUT,
 				verbose);
-              
+
 	if(vidix_handler == NULL)
 	{
 		mp_msg(MSGT_VO,MSGL_ERR, MSGTR_LIBVO_SUB_VIDIX_CouldntFindWorkingVidixDriver);

Modified: trunk/libvo/w32_common.c
==============================================================================
--- trunk/libvo/w32_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/w32_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -176,7 +176,7 @@ static LRESULT CALLBACK WndProc(HWND hWn
                 break;
             }
     }
-    
+
     return DefWindowProc(hWnd, message, wParam, lParam);
 }
 
@@ -215,7 +215,7 @@ int vo_w32_check_events(void) {
         if (r.right != vo_dwidth || r.bottom != vo_dheight)
             MoveWindow(vo_window, 0, 0, r.right, r.bottom, FALSE);
     }
-    
+
     return event_flags;
 }
 
@@ -392,7 +392,7 @@ static int createRenderingContext(void) 
     }
 
     SetPixelFormat(vo_hdc, pf, &pfd);
-    
+
     mp_msg(MSGT_VO, MSGL_V, "vo: win32: running at %dx%d with depth %d\n", vo_screenwidth, vo_screenheight, vo_depthonscreen);
 
     ReleaseDC(vo_window, vo_hdc);
@@ -455,7 +455,7 @@ int vo_w32_init(void) {
         return 1;
 
     hInstance = GetModuleHandle(0);
-    
+
     if (GetModuleFileName(0, exedir, MAX_PATH))
         mplayerIcon = ExtractIcon(hInstance, exedir, 0);
     if (!mplayerIcon)

Modified: trunk/libvo/x11_common.c
==============================================================================
--- trunk/libvo/x11_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/libvo/x11_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -336,7 +336,7 @@ static int vo_wm_detect(void)
                    "[x11] Using workaround for Metacity bugs.\n");
         }
     }
-// --- netwm 
+// --- netwm
     if (x11_get_property(XA_NET_SUPPORTED, &args, &nitems))
     {
         mp_msg(MSGT_VO, MSGL_V, "[x11] Detected wm supports NetWM.\n");
@@ -416,7 +416,7 @@ int vo_init(void)
 // Window    mRootWin;
     XWindowAttributes attribs;
     char *dispName;
-	
+
 	if (vo_rootwin)
 		WinID = 0; // use root window
 
@@ -609,7 +609,7 @@ static const struct keymap keymap[] = {
     {wsGrayRight, KEY_KP6}, {wsGrayHome, KEY_KP7}, {wsGrayUp, KEY_KP8},
     {wsGrayPgUp, KEY_KP9}, {wsGrayDelete, KEY_KPDEL},
 
-    {0, 0} 
+    {0, 0}
 };
 
 void vo_x11_putkey(int key)
@@ -2135,7 +2135,7 @@ void vo_xv_print_ck_info(void)
 
   switch ( xv_ck_info.source )
   {
-    case CK_SRC_CUR:      
+    case CK_SRC_CUR:
       mp_msg( MSGT_VO, MSGL_V, "Using colorkey from Xv (0x%06lx).\n",
               xv_colorkey );
       break;
@@ -2198,12 +2198,12 @@ int vo_xv_init_colorkey(void)
     if ( xv_ck_info.source != CK_SRC_CUR )
     {
       xv_colorkey = vo_colorkey;
-  
+
       /* check if we have to set the colorkey too */
       if ( xv_ck_info.source == CK_SRC_SET )
       {
         xv_atom = XInternAtom(mDisplay, "XV_COLORKEY",False);
-  
+
         rez = XvSetPortAttribute( mDisplay, xv_port, xv_atom, vo_colorkey );
         if ( rez != Success )
         {
@@ -2213,7 +2213,7 @@ int vo_xv_init_colorkey(void)
         }
       }
     }
-    else 
+    else
     {
       int colorkey_ret;
 
@@ -2231,13 +2231,13 @@ int vo_xv_init_colorkey(void)
       }
     }
 
-    xv_atom = xv_intern_atom_if_exists( "XV_AUTOPAINT_COLORKEY" );    
+    xv_atom = xv_intern_atom_if_exists( "XV_AUTOPAINT_COLORKEY" );
 
     /* should we draw the colorkey ourselves or activate autopainting? */
     if ( xv_ck_info.method == CK_METHOD_AUTOPAINT )
     {
       rez = !Success; // reset rez to something different than Success
- 
+
       if ( xv_atom != None ) // autopaint is supported
       {
         rez = XvSetPortAttribute( mDisplay, xv_port, xv_atom, 1 );
@@ -2381,11 +2381,11 @@ void xv_setup_colorkeyhandling( char con
     else if ( strncmp( ck_method_str, "man", 3 ) == 0 )
     {
       xv_ck_info.method = CK_METHOD_MANUALFILL;
-    }    
+    }
     else if ( strncmp( ck_method_str, "auto", 4 ) == 0 )
     {
       xv_ck_info.method = CK_METHOD_AUTOPAINT;
-    }    
+    }
   }
 }
 

Modified: trunk/loader/afl.c
==============================================================================
--- trunk/loader/afl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/afl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -5,7 +5,7 @@
   Its content will be based mainly on wine/dlls/msacm32
   actually, for audio decompression only the following functions
   are needed:
-  
+
   acmStreamOpen ( takes formats of src and dest, returns stream handle )
   acmStreamPrepareHeader ( takes stream handler and info on data )
   acmStreamConvert ( the same as PrepareHeader )
@@ -13,13 +13,13 @@
   acmStreamClose
   acmStreamSize
   maybe acmStreamReset
-  
-  In future I'll also add functions for format enumeration, 
+
+  In future I'll also add functions for format enumeration,
   but not right now.
 
   Modified for use with MPlayer, detailed changelog at
   http://svn.mplayerhq.hu/mplayer/trunk/
-  
+
 ***************************************************************************/
 #include "config.h"
 #include "debug.h"
@@ -59,26 +59,26 @@ MMRESULT WINAPI acmDriverAddA(PHACMDRIVE
 {
     if (!phadid)
 	return MMSYSERR_INVALPARAM;
-    
+
     /* Check if any unknown flags */
-    if (fdwAdd & 
+    if (fdwAdd &
 	~(ACM_DRIVERADDF_FUNCTION|ACM_DRIVERADDF_NOTIFYHWND|
 	  ACM_DRIVERADDF_GLOBAL))
 	return MMSYSERR_INVALFLAG;
-    
+
     /* Check if any incompatible flags */
-    if ((fdwAdd & ACM_DRIVERADDF_FUNCTION) && 
+    if ((fdwAdd & ACM_DRIVERADDF_FUNCTION) &&
 	(fdwAdd & ACM_DRIVERADDF_NOTIFYHWND))
 	return MMSYSERR_INVALFLAG;
-    
-    /* FIXME: in fact, should GetModuleFileName(hinstModule) and do a 
+
+    /* FIXME: in fact, should GetModuleFileName(hinstModule) and do a
      * LoadDriver on it, to be sure we can call SendDriverMessage on the
      * hDrvr handle.
      */
     *phadid = (HACMDRIVERID) MSACM_RegisterDriver(NULL, 0, hinstModule);
-    
+
     /* FIXME: lParam, dwPriority and fdwAdd ignored */
-    
+
     return MMSYSERR_NOERROR;
 }
 
@@ -89,10 +89,10 @@ MMRESULT WINAPI acmDriverClose(HACMDRIVE
 {
     PWINE_ACMDRIVER  p;
     PWINE_ACMDRIVER* tp;
-    
+
     if (fdwClose)
 	return MMSYSERR_INVALFLAG;
-    
+
     p = MSACM_GetDriver(had);
     if (!p)
 	return MMSYSERR_INVALHANDLE;
@@ -103,12 +103,12 @@ MMRESULT WINAPI acmDriverClose(HACMDRIVE
 	    break;
 	}
     }
-    
+
     if (p->hDrvr && !p->obj.pACMDriverID->pACMDriverList)
 	CloseDriver(p->hDrvr);
-    
+
     HeapFree(MSACM_hHeap, 0, p);
-    
+
     return MMSYSERR_NOERROR;
 }
 
@@ -123,11 +123,11 @@ MMRESULT WINAPI acmDriverEnum(ACMDRIVERE
     if (!fnCallback) {
 	return MMSYSERR_INVALPARAM;
     }
-    
+
     if (fdwEnum && ~(ACM_DRIVERENUMF_NOLOCAL|ACM_DRIVERENUMF_DISABLED)) {
 	return MMSYSERR_INVALFLAG;
     }
-    
+
     for (p = MSACM_pFirstACMDriverID; p; p = p->pNextACMDriverID) {
 	fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC;
 	if (!p->bEnabled) {
@@ -138,7 +138,7 @@ MMRESULT WINAPI acmDriverEnum(ACMDRIVERE
 	}
 	(*fnCallback)((HACMDRIVERID) p, dwInstance, fdwSupport);
     }
-    
+
     return MMSYSERR_NOERROR;
 }
 
@@ -148,19 +148,19 @@ MMRESULT WINAPI acmDriverEnum(ACMDRIVERE
 MMRESULT WINAPI acmDriverID(HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID)
 {
     PWINE_ACMOBJ pao;
-    
+
     pao = MSACM_GetObj(hao);
     if (!pao)
 	return MMSYSERR_INVALHANDLE;
-    
+
     if (!phadid)
 	return MMSYSERR_INVALPARAM;
-    
+
     if (fdwDriverID)
 	return MMSYSERR_INVALFLAG;
-    
+
     *phadid = (HACMDRIVERID) pao->pACMDriverID;
-    
+
     return MMSYSERR_NOERROR;
 }
 
@@ -174,12 +174,12 @@ LRESULT WINAPI acmDriverMessage(HACMDRIV
     PWINE_ACMDRIVER pad = MSACM_GetDriver(had);
     if (!pad)
 	return MMSYSERR_INVALPARAM;
-    
+
     /* FIXME: Check if uMsg legal */
-    
+
     if (!SendDriverMessage(pad->hDrvr, uMsg, lParam1, lParam2))
 	return MMSYSERR_NOTSUPPORTED;
-    
+
     return MMSYSERR_NOERROR;
 }
 
@@ -198,14 +198,14 @@ MMRESULT WINAPI acmDriverOpen(PHACMDRIVE
 
     if (!phad)
 	return MMSYSERR_INVALPARAM;
-    
-    padid = MSACM_GetDriverID(hadid); 
+
+    padid = MSACM_GetDriverID(hadid);
     if (!padid)
 	return MMSYSERR_INVALHANDLE;
-    
+
     if (fdwOpen)
 	return MMSYSERR_INVALFLAG;
-    
+
     pad = (PWINE_ACMDRIVER) HeapAlloc(MSACM_hHeap, 0, sizeof(WINE_ACMDRIVER));
     if (!pad)
 	return MMSYSERR_NOMEM;
@@ -221,7 +221,7 @@ MMRESULT WINAPI acmDriverOpen(PHACMDRIVE
 	pad->hDrvr = OpenDriverA((long)&icopen);
     else
 	pad->hDrvr = padid->hInstModule;
-    
+
     if (!pad->hDrvr) {
 	HeapFree(MSACM_hHeap, 0, pad);
 	return MMSYSERR_ERROR;
@@ -245,16 +245,16 @@ MMRESULT WINAPI acmDriverOpen(PHACMDRIVE
 MMRESULT WINAPI acmDriverRemove(HACMDRIVERID hadid, DWORD fdwRemove)
 {
     PWINE_ACMDRIVERID padid;
-    
+
     padid = MSACM_GetDriverID(hadid);
     if (!padid)
 	return MMSYSERR_INVALHANDLE;
-    
+
     if (fdwRemove)
 	return MMSYSERR_INVALFLAG;
-    
+
     MSACM_UnregisterDriver(padid);
-    
+
     return MMSYSERR_NOERROR;
 }
 
@@ -267,7 +267,7 @@ PWINE_ACMDRIVERID MSACM_pFirstACMDriverI
 PWINE_ACMDRIVERID MSACM_pLastACMDriverID = NULL;
 
 /***********************************************************************
- *           MSACM_RegisterDriver32() 
+ *           MSACM_RegisterDriver32()
  */
 PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName,
 				       WORD wFormatTag,
@@ -295,7 +295,7 @@ PWINE_ACMDRIVERID MSACM_RegisterDriver(c
     MSACM_pLastACMDriverID = padid;
     if (!MSACM_pFirstACMDriverID)
 	MSACM_pFirstACMDriverID = padid;
-    
+
     return padid;
 }
 
@@ -306,13 +306,13 @@ PWINE_ACMDRIVERID MSACM_RegisterDriver(c
 PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p)
 {
     PWINE_ACMDRIVERID pNextACMDriverID;
-    
+
     while (p->pACMDriverList)
 	acmDriverClose((HACMDRIVER) p->pACMDriverList, 0);
-    
+
     if (p->pszFileName)
 	free(p->pszFileName);
-    
+
     if (p == MSACM_pFirstACMDriverID)
 	MSACM_pFirstACMDriverID = p->pNextACMDriverID;
     if (p == MSACM_pLastACMDriverID)
@@ -322,11 +322,11 @@ PWINE_ACMDRIVERID MSACM_UnregisterDriver
 	p->pPrevACMDriverID->pNextACMDriverID = p->pNextACMDriverID;
     if (p->pNextACMDriverID)
 	p->pNextACMDriverID->pPrevACMDriverID = p->pPrevACMDriverID;
-    
+
     pNextACMDriverID = p->pNextACMDriverID;
-    
+
     HeapFree(MSACM_hHeap, 0, p);
-    
+
     return pNextACMDriverID;
 }
 
@@ -343,7 +343,7 @@ void MSACM_UnregisterAllDrivers(void)
 }
 
 /***********************************************************************
- *           MSACM_GetDriverID32() 
+ *           MSACM_GetDriverID32()
  */
 PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID)
 {
@@ -380,16 +380,16 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
     MMRESULT		ret;
     int			wfxSrcSize;
     int			wfxDstSize;
-    
+
     TRACE("(%p, 0x%08x, %p, %p, %p, %ld, %ld, %ld)\n",
 	  phas, had, pwfxSrc, pwfxDst, pwfltr, dwCallback, dwInstance, fdwOpen);
 
-    TRACE("src [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", 
-	  pwfxSrc->wFormatTag, pwfxSrc->nChannels, pwfxSrc->nSamplesPerSec, pwfxSrc->nAvgBytesPerSec, 
+    TRACE("src [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n",
+	  pwfxSrc->wFormatTag, pwfxSrc->nChannels, pwfxSrc->nSamplesPerSec, pwfxSrc->nAvgBytesPerSec,
 	  pwfxSrc->nBlockAlign, pwfxSrc->wBitsPerSample, pwfxSrc->cbSize);
 
-    TRACE("dst [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", 
-	  pwfxDst->wFormatTag, pwfxDst->nChannels, pwfxDst->nSamplesPerSec, pwfxDst->nAvgBytesPerSec, 
+    TRACE("dst [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n",
+	  pwfxDst->wFormatTag, pwfxDst->nChannels, pwfxDst->nSamplesPerSec, pwfxDst->nAvgBytesPerSec,
 	  pwfxDst->nBlockAlign, pwfxDst->wBitsPerSample, pwfxDst->cbSize);
 
 #define SIZEOF_WFX(wfx) (sizeof(WAVEFORMATEX) + ((wfx->wFormatTag == WAVE_FORMAT_PCM) ? 0 : wfx->cbSize))
@@ -414,19 +414,19 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
     } else {
 	was->drvInst.pwfltr = NULL;
     }
-    was->drvInst.dwCallback = dwCallback;    
+    was->drvInst.dwCallback = dwCallback;
     was->drvInst.dwInstance = dwInstance;
     was->drvInst.fdwOpen = fdwOpen;
-    was->drvInst.fdwDriver = 0L;  
-    was->drvInst.dwDriver = 0L;     
+    was->drvInst.fdwDriver = 0L;
+    was->drvInst.dwDriver = 0L;
     was->drvInst.has = (HACMSTREAM)was;
-    
+
     if (had) {
 	if (!(wad = MSACM_GetDriver(had))) {
 	    ret = MMSYSERR_INVALPARAM;
 	    goto errCleanUp;
 	}
-	
+
 	was->obj.pACMDriverID = wad->obj.pACMDriverID;
 	was->pDrv = wad;
 	was->hAcmDriver = 0; /* not to close it in acmStreamClose */
@@ -446,13 +446,13 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
 		else
 		goto errCleanUp;
 
-	    ret=acmDriverOpen2(drv_tag); 
+	    ret=acmDriverOpen2(drv_tag);
 	    if (ret == MMSYSERR_NOERROR) {
 		if ((wad = MSACM_GetDriver(had)) != 0) {
 		    was->obj.pACMDriverID = wad->obj.pACMDriverID;
 		    was->pDrv = wad;
 		    was->hAcmDriver = had;
-		    
+
 		    ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L);
 		    if (ret == MMSYSERR_NOERROR) {
 			if (fdwOpen & ACM_STREAMOPENF_QUERY) {
@@ -464,7 +464,7 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
 		acmDriverClose(had, 0L);*/
 	//if(MSACM_pFirstACMDriverID==NULL)
 	//    MSACM_RegisterAllDrivers();
-	
+
 	for (wadi = MSACM_pFirstACMDriverID; wadi; wadi = wadi->pNextACMDriverID)
 	{
 	    /* Check Format */
@@ -476,7 +476,7 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
 		    was->obj.pACMDriverID = wad->obj.pACMDriverID;
 		    was->pDrv = wad;
 		    was->hAcmDriver = had;
-		    
+
 		    ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L);
 		    //lhacm - crash printf("RETOPEN %d\n", ret);
                     //ret = 0;
@@ -487,7 +487,7 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
 			break;
 		    }
 		}
-		// no match, close this acm driver and try next one 
+		// no match, close this acm driver and try next one
 		acmDriverClose(had, 0L);
 	    }
 	}
@@ -506,7 +506,7 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREA
 #endif
 	return ret;
     }
-errCleanUp:		
+errCleanUp:
     if (phas)
 	*phas = (HACMSTREAM)0;
     HeapFree(MSACM_hHeap, 0, was);
@@ -519,16 +519,16 @@ MMRESULT WINAPI acmStreamClose(HACMSTREA
 {
     PWINE_ACMSTREAM	was;
     MMRESULT		ret;
-		
+
     TRACE("(0x%08x, %ld)\n", has, fdwClose);
-    
+
     if ((was = ACM_GetStream(has)) == NULL) {
 	return MMSYSERR_INVALHANDLE;
     }
     ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_CLOSE, (DWORD)&was->drvInst, 0);
     if (ret == MMSYSERR_NOERROR) {
 	if (was->hAcmDriver)
-	    acmDriverClose(was->hAcmDriver, 0L);	
+	    acmDriverClose(was->hAcmDriver, 0L);
 	HeapFree(MSACM_hHeap, 0, was);
 #ifdef WIN32_LOADER
         CodecRelease();
@@ -541,7 +541,7 @@ MMRESULT WINAPI acmStreamClose(HACMSTREA
 /***********************************************************************
  *           acmStreamConvert (MSACM32.38)
  */
-MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, 
+MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash,
 				 DWORD fdwConvert)
 {
     PWINE_ACMSTREAM	was;
@@ -570,7 +570,7 @@ MMRESULT WINAPI acmStreamConvert(HACMSTR
 	padsh->pbPreparedDst != padsh->pbDst ||
 	padsh->cbPreparedDstLength < padsh->cbDstLength) {
 	return MMSYSERR_INVALPARAM;
-    }	
+    }
 
     padsh->fdwConvert = fdwConvert;
 
@@ -586,7 +586,7 @@ MMRESULT WINAPI acmStreamConvert(HACMSTR
 /***********************************************************************
  *           acmStreamPrepareHeader (MSACM32.41)
  */
-MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, 
+MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash,
 				       DWORD fdwPrepare)
 {
     PWINE_ACMSTREAM	was;
@@ -594,7 +594,7 @@ MMRESULT WINAPI acmStreamPrepareHeader(H
     PACMDRVSTREAMHEADER	padsh;
 
     TRACE("(0x%08x, %p, %ld)\n", has, pash, fdwPrepare);
-    
+
     if ((was = ACM_GetStream(has)) == NULL)
 	return MMSYSERR_INVALHANDLE;
     if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER))
@@ -669,15 +669,15 @@ MMRESULT WINAPI acmStreamReset(HACMSTREA
 /***********************************************************************
  *           acmStreamSize (MSACM32.43)
  */
-MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, 
+MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput,
 			      LPDWORD pdwOutputBytes, DWORD fdwSize)
 {
     PWINE_ACMSTREAM	was;
     ACMDRVSTREAMSIZE	adss;
     MMRESULT		ret;
-    
+
     TRACE("(0x%08x, %ld, %p, %ld)\n", has, cbInput, pdwOutputBytes, fdwSize);
-    
+
     if ((was = ACM_GetStream(has)) == NULL) {
 	return MMSYSERR_INVALHANDLE;
     }
@@ -686,7 +686,7 @@ MMRESULT WINAPI acmStreamSize(HACMSTREAM
     }
 
     *pdwOutputBytes = 0L;
-    
+
     switch (fdwSize & ACM_STREAMSIZEF_QUERYMASK) {
     case ACM_STREAMSIZEF_DESTINATION:
 	adss.cbDstLength = cbInput;
@@ -696,13 +696,13 @@ MMRESULT WINAPI acmStreamSize(HACMSTREAM
 	adss.cbSrcLength = cbInput;
 	adss.cbDstLength = 0;
 	break;
-    default:	
+    default:
 	return MMSYSERR_INVALFLAG;
     }
-    
+
     adss.cbStruct = sizeof(adss);
     adss.fdwSize = fdwSize;
-    ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_SIZE, 
+    ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_SIZE,
 			    (DWORD)&was->drvInst, (DWORD)&adss);
     if (ret == MMSYSERR_NOERROR) {
 	switch (fdwSize & ACM_STREAMSIZEF_QUERYMASK) {
@@ -721,7 +721,7 @@ MMRESULT WINAPI acmStreamSize(HACMSTREAM
 /***********************************************************************
  *           acmStreamUnprepareHeader (MSACM32.44)
  */
-MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, 
+MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash,
 					 DWORD fdwUnprepare)
 {
     PWINE_ACMSTREAM	was;
@@ -729,7 +729,7 @@ MMRESULT WINAPI acmStreamUnprepareHeader
     PACMDRVSTREAMHEADER	padsh;
 
     TRACE("(0x%08x, %p, %ld)\n", has, pash, fdwUnprepare);
-    
+
     if ((was = ACM_GetStream(has)) == NULL)
 	return MMSYSERR_INVALHANDLE;
     if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER))
@@ -750,7 +750,7 @@ MMRESULT WINAPI acmStreamUnprepareHeader
 	padsh->pbPreparedDst != padsh->pbDst ||
 	padsh->cbPreparedDstLength < padsh->cbDstLength) {
 	return MMSYSERR_INVALPARAM;
-    }	
+    }
 
     padsh->fdwConvert = fdwUnprepare;
 

Modified: trunk/loader/com.h
==============================================================================
--- trunk/loader/com.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/com.h	Wed May 13 04:58:57 2009	(r29305)
@@ -71,7 +71,7 @@ struct IClassFactory
     struct IClassFactory_vt* vt;
 };
 
-#ifdef WIN32_LOADER 
+#ifdef WIN32_LOADER
 long CoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter,
  		      long dwClsContext, const GUID* riid, void** ppv);
 void* CoTaskMemAlloc(unsigned long cb);

Modified: trunk/loader/dmo/DMO_AudioDecoder.c
==============================================================================
--- trunk/loader/dmo/DMO_AudioDecoder.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dmo/DMO_AudioDecoder.c	Wed May 13 04:58:57 2009	(r29305)
@@ -14,7 +14,7 @@
 #include "DMO_AudioDecoder.h"
 
 struct DMO_AudioDecoder
-{ 
+{
     DMO_MEDIA_TYPE m_sOurType, m_sDestType;
     DMO_Filter* m_pDMO_Filter;
     char* m_sVhdr;
@@ -44,17 +44,17 @@ DMO_AudioDecoder * DMO_AudioDecoder_Open
     Setup_LDT_Keeper();
     Setup_FS_Segment();
 #endif
-        
+
     this = malloc(sizeof(DMO_AudioDecoder));
-    
+
     this->m_iFlushed=1;
-    
+
     sz = 18 + wf->cbSize;
     this->m_sVhdr = malloc(sz);
     memcpy(this->m_sVhdr, wf, sz);
     this->m_sVhdr2 = malloc(18);
     memcpy(this->m_sVhdr2, this->m_sVhdr, 18);
-    
+
     pWF = (WAVEFORMATEX*)this->m_sVhdr2;
     pWF->wFormatTag = 1;
     pWF->wBitsPerSample = 16;
@@ -62,7 +62,7 @@ DMO_AudioDecoder * DMO_AudioDecoder_Open
     pWF->nBlockAlign = 2*pWF->nChannels; //pWF->nChannels * (pWF->wBitsPerSample + 7) / 8;
     pWF->nAvgBytesPerSec = pWF->nBlockAlign * pWF->nSamplesPerSec;
     pWF->cbSize = 0;
-    
+
     memset(&this->m_sOurType, 0, sizeof(this->m_sOurType));
     this->m_sOurType.majortype=MEDIATYPE_Audio;
     this->m_sOurType.subtype=MEDIASUBTYPE_PCM;
@@ -92,7 +92,7 @@ print_wave_header((WAVEFORMATEX *)this->
            free(this);
            return NULL;
         }
-        
+
     return this;
 }
 
@@ -120,7 +120,7 @@ int DMO_AudioDecoder_Convert(DMO_AudioDe
 #ifdef WIN32_LOADER
     Setup_FS_Segment();
 #endif
-    
+
     //m_pDMO_Filter->m_pMedia->vt->Lock(m_pDMO_Filter->m_pMedia, 1);
     bufferin = CMediaBufferCreate(in_size, (void*)in_data, in_size, 1);
     r = this->m_pDMO_Filter->m_pMedia->vt->ProcessInput(this->m_pDMO_Filter->m_pMedia, 0,
@@ -148,7 +148,7 @@ int DMO_AudioDecoder_Convert(DMO_AudioDe
 
 	((IMediaBuffer*)db.pBuffer)->vt->GetBufferAndLength((IMediaBuffer*)db.pBuffer, 0, &written);
 	((IMediaBuffer*)db.pBuffer)->vt->Release((IUnknown*)db.pBuffer);
- 
+
 	//printf("RESULTB: %d 0x%x %ld\n", r, r, written);
 	//printf("Converted  %d  -> %d\n", in_size, out_size);
     }

Modified: trunk/loader/dmo/DMO_VideoDecoder.c
==============================================================================
--- trunk/loader/dmo/DMO_VideoDecoder.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dmo/DMO_VideoDecoder.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,7 +20,7 @@
 struct DMO_VideoDecoder
 {
     IVideoDecoder iv;
-    
+
     DMO_Filter* m_pDMO_Filter;
     AM_MEDIA_TYPE m_sOurType, m_sDestType;
     VIDEOINFOHEADER* m_sVhdr;
@@ -63,7 +63,7 @@ struct ct {
     int cap;
     char *name;
 	    };
-            
+
 static ct check[] = {
     { fccI420, 12, &MEDIASUBTYPE_I420,   CAP_I420, NULL     },
     { fccYV12, 12, &MEDIASUBTYPE_YV12,   CAP_YV12, NULL     },
@@ -86,10 +86,10 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open
     DMO_VideoDecoder *this;
     HRESULT result;
     ct* c;
-                        
+
     this = malloc(sizeof(DMO_VideoDecoder));
     memset( this, 0, sizeof(DMO_VideoDecoder));
-    
+
     this->m_sVhdr2 = 0;
     this->m_iLastQuality = -1;
     this->m_iMaxAuto = maxauto;
@@ -103,10 +103,10 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open
     /*try*/
     {
         unsigned int bihs;
-        
+
 	bihs = (format->biSize < (int) sizeof(BITMAPINFOHEADER)) ?
 	    sizeof(BITMAPINFOHEADER) : format->biSize;
-     
+
         this->iv.m_bh = malloc(bihs);
         memcpy(this->iv.m_bh, format, bihs);
         this->iv.m_bh->biSize = bihs;
@@ -118,7 +118,7 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open
         this->iv.m_iPlaypos = -1;
         this->iv.m_fQuality = 0.0f;
         this->iv.m_bCapable16b = true;
-                
+
         bihs += sizeof(VIDEOINFOHEADER) - sizeof(BITMAPINFOHEADER);
 	this->m_sVhdr = malloc(bihs);
 	memset(this->m_sVhdr, 0, bihs);
@@ -162,7 +162,7 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open
 	this->m_sDestType.pUnk = 0;
 	this->m_sDestType.cbFormat = sizeof(VIDEOINFOHEADER);
 	this->m_sDestType.pbFormat = (char*)this->m_sVhdr2;
-        
+
         memset(&this->iv.m_obh, 0, sizeof(this->iv.m_obh));
 	memcpy(&this->iv.m_obh, this->iv.m_bh, sizeof(this->iv.m_obh) < (unsigned) this->iv.m_bh->biSize
 	       ? sizeof(this->iv.m_obh) : (unsigned) this->iv.m_bh->biSize);
@@ -175,7 +175,7 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open
 
 
 	this->m_pDMO_Filter = DMO_FilterCreate(dllname, guid, &this->m_sOurType, &this->m_sDestType);
-	
+
 	if (!this->m_pDMO_Filter)
 	{
 	    printf("Failed to create DMO filter\n");
@@ -217,7 +217,7 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open
 	    break;
 #endif
 	default:
-              
+
 	    this->m_Caps = CAP_NONE;
 
 	    printf("Decoder supports the following formats: ");
@@ -275,7 +275,7 @@ void DMO_VideoDecoder_StartInternal(DMO_
     Debug printf("DMO_VideoDecoder_StartInternal\n");
     //cout << "DSSTART" << endl;
     this->m_pDMO_Filter->Start(this->m_pDMO_Filter);
-    
+
     props.cBuffers = 1;
     props.cbBuffer = this->m_sDestType.lSampleSize;
 
@@ -283,7 +283,7 @@ void DMO_VideoDecoder_StartInternal(DMO_
     props.cbPrefix = 0;
     this->m_pDMO_Filter->m_pAll->vt->SetProperties(this->m_pDMO_Filter->m_pAll, &props, &props1);
     this->m_pDMO_Filter->m_pAll->vt->Commit(this->m_pDMO_Filter->m_pAll);
-#endif    
+#endif
     this->iv.m_State = START;
 }
 
@@ -301,7 +301,7 @@ int DMO_VideoDecoder_DecodeInternal(DMO_
     DMO_OUTPUT_DATA_BUFFER db;
     CMediaBuffer* bufferin;
 //+    uint8_t* imdata = dest ? dest->Data() : 0;
-    
+
     Debug printf("DMO_VideoDecoder_DecodeInternal(%p,%p,%d,%d,%p)\n",this,src,size,is_keyframe,imdata);
 
 //    this->m_pDMO_Filter->m_pAll->vt->GetBuffer(this->m_pDMO_Filter->m_pAll, &sample, 0, 0, 0);
@@ -362,14 +362,14 @@ int DMO_VideoDecoder_SetDestFmt(DMO_Vide
 {
     HRESULT result;
     int should_test=1;
-    
+
     Debug printf("DMO_VideoDecoder_SetDestFmt (%p, %d, %d)\n",this,bits,(int)csp);
-        
+
        /* if (!CImage::Supported(csp, bits))
 	return -1;
 */
     // BitmapInfo temp = m_obh;
-    
+
     if (!csp)	// RGB
     {
 	int ok = true;
@@ -400,7 +400,7 @@ int DMO_VideoDecoder_SetDestFmt(DMO_Vide
 	      this->iv.m_obh.biCompression=3;//BI_BITFIELDS
 	      this->iv.m_obh.biSizeImage=abs((int)(2*this->iv.m_obh.biWidth*this->iv.m_obh.biHeight));
 	    }
-            
+
             if( bits == 16 ) {
 	      this->iv.m_obh.colors[0]=0xF800;
 	      this->iv.m_obh.colors[1]=0x07E0;

Modified: trunk/loader/dshow/DS_AudioDecoder.c
==============================================================================
--- trunk/loader/dshow/DS_AudioDecoder.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/DS_AudioDecoder.c	Wed May 13 04:58:57 2009	(r29305)
@@ -11,7 +11,7 @@
 #include "DS_Filter.h"
 
 struct DS_AudioDecoder
-{ 
+{
     WAVEFORMATEX in_fmt;
     AM_MEDIA_TYPE m_sOurType, m_sDestType;
     DS_Filter* m_pDS_Filter;
@@ -44,22 +44,22 @@ DS_AudioDecoder * DS_AudioDecoder_Open(c
     Setup_LDT_Keeper();
     Setup_FS_Segment();
 #endif
-        
+
     this = malloc(sizeof(DS_AudioDecoder));
-    
+
     sz = 18 + wf->cbSize;
     this->m_sVhdr = malloc(sz);
     memcpy(this->m_sVhdr, wf, sz);
     this->m_sVhdr2 = malloc(18);
     memcpy(this->m_sVhdr2, this->m_sVhdr, 18);
-    
+
     pWF = (WAVEFORMATEX*)this->m_sVhdr2;
     pWF->wFormatTag = 1;
     pWF->wBitsPerSample = 16;
     pWF->nBlockAlign = pWF->nChannels * (pWF->wBitsPerSample + 7) / 8;
     pWF->cbSize = 0;
     pWF->nAvgBytesPerSec = pWF->nBlockAlign * pWF->nSamplesPerSec;
-    
+
     memcpy(&this->in_fmt,wf,sizeof(WAVEFORMATEX));
 
     memset(&this->m_sOurType, 0, sizeof(this->m_sOurType));
@@ -100,7 +100,7 @@ DS_AudioDecoder * DS_AudioDecoder_Open(c
            free(this);
            return NULL;
         }
-        
+
         //Commit should be done before binary codec start
         this->m_pDS_Filter->m_pAll->vt->Commit(this->m_pDS_Filter->m_pAll);
 
@@ -134,7 +134,7 @@ int DS_AudioDecoder_Convert(DS_AudioDeco
 {
     unsigned int written = 0;
     unsigned int read = 0;
-        
+
     if (!in_data || !out_data)
 	return -1;
 
@@ -185,7 +185,7 @@ int DS_AudioDecoder_GetSrcSize(DS_AudioD
     double efficiency =(double) this->in_fmt.nAvgBytesPerSec
 	/ (this->in_fmt.nSamplesPerSec*this->in_fmt.nBlockAlign);
     int frames = (int)(dest_size*efficiency);
-    
+
     if (frames < 1)
 	frames = 1;
     return frames * this->in_fmt.nBlockAlign;

Modified: trunk/loader/dshow/DS_Filter.c
==============================================================================
--- trunk/loader/dshow/DS_Filter.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/DS_Filter.c	Wed May 13 04:58:57 2009	(r29305)
@@ -26,8 +26,8 @@ const GUID IID_IClassFactory =
     {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}
 };
 
-HRESULT STDCALL CoInitialize(LPVOID pvReserved); 
-void STDCALL CoUninitialize(void); 
+HRESULT STDCALL CoInitialize(LPVOID pvReserved);
+void STDCALL CoUninitialize(void);
 #endif
 
 static void DS_Filter_Start(DS_Filter* This)
@@ -137,9 +137,9 @@ DS_Filter* DS_FilterCreate(const char* d
 #endif
 
     /*
-        tempAll is not used  anywhere. 
+        tempAll is not used  anywhere.
 	MemAllocatorCreate() is called to ensure that RegisterComObject for IMemoryAllocator
-	will be	called before possible call 
+	will be	called before possible call
 	to CoCreateInstance(...,&IID_IMemoryAllocator,...) from binary codec.
     */
     tempAll=MemAllocatorCreate();

Modified: trunk/loader/dshow/DS_VideoDecoder.c
==============================================================================
--- trunk/loader/dshow/DS_VideoDecoder.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/DS_VideoDecoder.c	Wed May 13 04:58:57 2009	(r29305)
@@ -14,7 +14,7 @@
 struct DS_VideoDecoder
 {
     IVideoDecoder iv;
-    
+
     DS_Filter* m_pDS_Filter;
     AM_MEDIA_TYPE m_sOurType, m_sDestType;
     VIDEOINFOHEADER* m_sVhdr;
@@ -53,7 +53,7 @@ static SampleProcUserData sampleProcData
 
 int DS_VideoDecoder_GetCapabilities(DS_VideoDecoder *this)
 {return this->m_Caps;}
-	    
+
 typedef struct ct ct;
 
 struct ct {
@@ -62,7 +62,7 @@ struct ct {
 		const GUID *subtype;
 		int cap;
 	    };
-            
+
 static ct check[] = {
 		{16, fccYUY2, &MEDIASUBTYPE_YUY2, CAP_YUY2},
 		{12, fccIYUV, &MEDIASUBTYPE_IYUV, CAP_IYUV},
@@ -81,10 +81,10 @@ DS_VideoDecoder * DS_VideoDecoder_Open(c
     DS_VideoDecoder *this;
     HRESULT result;
     ct* c;
-                        
+
     this = malloc(sizeof(DS_VideoDecoder));
     memset( this, 0, sizeof(DS_VideoDecoder));
-    
+
     this->m_sVhdr2 = 0;
     this->m_iLastQuality = -1;
     this->m_iMaxAuto = maxauto;
@@ -98,10 +98,10 @@ DS_VideoDecoder * DS_VideoDecoder_Open(c
     /*try*/
     {
         unsigned int bihs;
-        
+
 	bihs = (format->biSize < (int) sizeof(BITMAPINFOHEADER)) ?
 	    sizeof(BITMAPINFOHEADER) : format->biSize;
-     
+
         this->iv.m_bh = malloc(bihs);
         memcpy(this->iv.m_bh, format, bihs);
         this->iv.m_bh->biSize = bihs;
@@ -113,7 +113,7 @@ DS_VideoDecoder * DS_VideoDecoder_Open(c
         this->iv.m_iPlaypos = -1;
         this->iv.m_fQuality = 0.0f;
         this->iv.m_bCapable16b = true;
-                
+
         bihs += sizeof(VIDEOINFOHEADER) - sizeof(BITMAPINFOHEADER);
 	this->m_sVhdr = malloc(bihs);
 	memset(this->m_sVhdr, 0, bihs);
@@ -153,7 +153,7 @@ DS_VideoDecoder * DS_VideoDecoder_Open(c
 	this->m_sDestType.pUnk = 0;
 	this->m_sDestType.cbFormat = sizeof(VIDEOINFOHEADER);
 	this->m_sDestType.pbFormat = (char*)this->m_sVhdr2;
-        
+
         memset(&this->iv.m_obh, 0, sizeof(this->iv.m_obh));
 	memcpy(&this->iv.m_obh, this->iv.m_bh, sizeof(this->iv.m_obh) < (unsigned) this->iv.m_bh->biSize
 	       ? sizeof(this->iv.m_obh) : (unsigned) this->iv.m_bh->biSize);
@@ -166,7 +166,7 @@ DS_VideoDecoder * DS_VideoDecoder_Open(c
 
 
 	this->m_pDS_Filter = DS_FilterCreate(dllname, guid, &this->m_sOurType, &this->m_sDestType,&sampleProcData);
-	
+
 	if (!this->m_pDS_Filter)
 	{
 	    printf("Failed to create DirectShow filter\n");
@@ -207,7 +207,7 @@ DS_VideoDecoder * DS_VideoDecoder_Open(c
 	    break;
 #endif
 	default:
-              
+
 	    this->m_Caps = CAP_NONE;
 
 	    printf("Decoder supports the following YUV formats: ");
@@ -269,7 +269,7 @@ void DS_VideoDecoder_StartInternal(DS_Vi
     //cout << "DSSTART" << endl;
     this->m_pDS_Filter->m_pAll->vt->Commit(this->m_pDS_Filter->m_pAll);
     this->m_pDS_Filter->Start(this->m_pDS_Filter);
-    
+
     this->iv.m_State = START;
 }
 
@@ -284,17 +284,17 @@ int DS_VideoDecoder_DecodeInternal(DS_Vi
     IMediaSample* sample = 0;
     char* ptr;
     int result;
-    
+
     Debug printf("DS_VideoDecoder_DecodeInternal(%p,%p,%d,%d,%p)\n",this,src,size,is_keyframe,pImage);
-            
+
     this->m_pDS_Filter->m_pAll->vt->GetBuffer(this->m_pDS_Filter->m_pAll, &sample, 0, 0, 0);
-    
+
     if (!sample)
     {
 	Debug printf("ERROR: null sample\n");
 	return -1;
     }
-    
+
     //cout << "DECODE " << (void*) pImage << "   d: " << (void*) pImage->Data() << endl;
 
 
@@ -409,14 +409,14 @@ int DS_VideoDecoder_SetDestFmt(DS_VideoD
     ALLOCATOR_PROPERTIES props,props1;
     int should_test=1;
     int stopped = 0;
-    
+
     Debug printf("DS_VideoDecoder_SetDestFmt (%p, %d, %d)\n",this,bits,(int)csp);
-        
+
        /* if (!CImage::Supported(csp, bits))
 	return -1;
 */
     // BitmapInfo temp = m_obh;
-    
+
     if (!csp)	// RGB
     {
 	int ok = true;
@@ -450,7 +450,7 @@ int DS_VideoDecoder_SetDestFmt(DS_VideoD
 	      this->iv.m_obh.biCompression=3;//BI_BITFIELDS
 	      this->iv.m_obh.biSizeImage=abs((int)(2*this->iv.m_obh.biWidth*this->iv.m_obh.biHeight));
 	    }
-            
+
             if( bits == 16 ) {
 	      this->iv.m_obh.colors[0]=0xF800;
 	      this->iv.m_obh.colors[1]=0x07E0;
@@ -628,7 +628,7 @@ int DS_VideoDecoder_SetDestFmt(DS_VideoD
     if (stopped)
     {
 	DS_VideoDecoder_StartInternal(this);
-        this->iv.m_State = START; 
+        this->iv.m_State = START;
     }
 
     return 0;
@@ -814,7 +814,7 @@ int DS_VideoDecoder_SetValue(DS_VideoDec
 	}
         return 0;
     }
-#if 0    
+#if 0
     if (strcmp((const char*)record.dll, "ir50_32.dll") == 0)
     {
 	IHidden2* hidden = 0;
@@ -872,23 +872,23 @@ int DS_SetAttr_DivX(char* attribute, int
 	    {
 	        printf("VideoDecoder::SetExtAttr: registry failure\n");
 	        return -1;
-	    }    
+	    }
 	    result=RegSetValueExA(newkey, "Current Post Process Mode", 0, REG_DWORD, &value, 4);
             if(result!=0)
 	    {
 	        printf("VideoDecoder::SetExtAttr: error writing value\n");
 	        return -1;
-	    }    
+	    }
 	    value=-1;
 	    result=RegSetValueExA(newkey, "Force Post Process Mode", 0, REG_DWORD, &value, 4);
             if(result!=0)
 	    {
 		printf("VideoDecoder::SetExtAttr: error writing value\n");
 	    	return -1;
-	    }    
+	    }
    	    RegCloseKey(newkey);
    	    return 0;
-	}   	
+	}
 
         if(
 	(strcasecmp(attribute, "Saturation")==0) ||
@@ -903,16 +903,16 @@ int DS_SetAttr_DivX(char* attribute, int
 	    {
 	        printf("VideoDecoder::SetExtAttr: registry failure\n");
 	        return -1;
-	    }    
+	    }
 	    result=RegSetValueExA(newkey, attribute, 0, REG_DWORD, &value, 4);
             if(result!=0)
 	    {
 	        printf("VideoDecoder::SetExtAttr: error writing value\n");
 	        return -1;
-	    }    
+	    }
    	    RegCloseKey(newkey);
    	    return 0;
-	}   	
+	}
 
         printf("Unknown attribute!\n");
         return -200;

Modified: trunk/loader/dshow/allocator.c
==============================================================================
--- trunk/loader/dshow/allocator.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/allocator.c	Wed May 13 04:58:57 2009	(r29305)
@@ -147,7 +147,7 @@ static HRESULT STDCALL MemAllocator_SetP
     *pActual = *pRequest;
     /*
        DirectShow DOCS ("Negotiating Allocators" chapter) says that allocator might not
-       honor the requested properties. Thus, since WMSP audio codecs requests bufer with two 
+       honor the requested properties. Thus, since WMSP audio codecs requests bufer with two
        bytes length for unknown reason, we should correct requested value. Otherwise above
        codec don't want to load.
     */

Modified: trunk/loader/dshow/cmediasample.c
==============================================================================
--- trunk/loader/dshow/cmediasample.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/cmediasample.c	Wed May 13 04:58:57 2009	(r29305)
@@ -119,7 +119,7 @@ static long STDCALL CMediaSample_Release
  * \param[out] address of variable that receives pointer to sample's buffer
  *
  * \return S_OK success
- * \return apropriate error otherwise 
+ * \return apropriate error otherwise
  *
  * \note The calles should not free or reallocate buffer
  *
@@ -157,7 +157,7 @@ static long STDCALL CMediaSample_GetSize
  *
  * \return S_OK success
  * \return VFW_E_NO_STOP_TIME The sample has valid start time, but no stop time
- * \return VFW_E_SAMPLE_TIME_NOT_SET The sample is not time-stamped 
+ * \return VFW_E_SAMPLE_TIME_NOT_SET The sample is not time-stamped
  *
  * \remarks
  * Both values are relative to stream time
@@ -334,7 +334,7 @@ static HRESULT STDCALL CMediaSample_SetA
  *
  * \remarks
  * If media type is not changed from previous sample, ppMediaType is null
- * If method returns S_OK caller should free memory allocated for structure 
+ * If method returns S_OK caller should free memory allocated for structure
  * including pbFormat block
  */
 static HRESULT STDCALL CMediaSample_GetMediaType(IMediaSample* This,
@@ -384,7 +384,7 @@ static HRESULT STDCALL CMediaSample_SetM
 }
 
 /**
- * \brief IMediaSample::IsDiscontinuity (determines if this sample represents data break 
+ * \brief IMediaSample::IsDiscontinuity (determines if this sample represents data break
  *        in stream)
  *
  * \param[in] This pointer to CMediaSample object
@@ -392,7 +392,7 @@ static HRESULT STDCALL CMediaSample_SetM
  * \return S_OK if this sample is break in data stream
  * \return S_FALSE otherwise
  *
- * \remarks 
+ * \remarks
  * Discontinuity occures when filter seeks to different place in the stream or when drops
  * samples.
  *
@@ -404,7 +404,7 @@ static HRESULT STDCALL CMediaSample_IsDi
 }
 
 /**
- * \brief IMediaSample::IsDiscontinuity (specifies whether this sample represents data break 
+ * \brief IMediaSample::IsDiscontinuity (specifies whether this sample represents data break
  *        in stream)
  *
  * \param[in] This pointer to CMediaSample object
@@ -430,7 +430,7 @@ static HRESULT STDCALL CMediaSample_SetD
  * \param[out] pTimeEnd pointer to variable that receives end time
  *
  * \return S_OK success
- * \return VFW_E_MEDIA_TIME_NOT_SET The sample is not time-stamped 
+ * \return VFW_E_MEDIA_TIME_NOT_SET The sample is not time-stamped
  *
  */
 static HRESULT STDCALL CMediaSample_GetMediaTime(IMediaSample * This,

Modified: trunk/loader/dshow/inputpin.c
==============================================================================
--- trunk/loader/dshow/inputpin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/inputpin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -445,9 +445,9 @@ static long STDCALL CInputPin_QueryInter
  * \return S_OK - success
  * \return E_UNEXPECTED - The pin is output pin
  *
- * \note 
- * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream, 
- * IMemAllocator::GetBuffer runs in different (streaming) thread then other 
+ * \note
+ * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream,
+ * IMemAllocator::GetBuffer runs in different (streaming) thread then other
  * methods (application thread).
  * IMemoryInputPin::NewSegment runs either in streaming or application thread.
  * Developer must use critical sections for thread-safing work.
@@ -602,7 +602,7 @@ static long STDCALL CBaseFilter_GetClass
  *
  * \remarks
  * When filter is stopped it does onot deliver or process any samples and rejects any samples
- * from upstream filter. 
+ * from upstream filter.
  * Transition may be asynchronous. In this case method should return S_FALSE.
  * Method always sets filter's state to State_Stopped even if error occured.
  *
@@ -700,8 +700,8 @@ static long STDCALL CBaseFilter_SetSyncS
  * \brief IMediafilter::GetSyncSource (gets current reference clock)
  *
  * \param[in] This pointer to IBaseFilter interface
- * \param[out] pClock address of variable that receives pointer to clock's 
- *  IReferenceClock interface 
+ * \param[out] pClock address of variable that receives pointer to clock's
+ *  IReferenceClock interface
  *
  * \return S_OK success
  * \return E_POINTER Null pointer
@@ -790,7 +790,7 @@ static long STDCALL CBaseFilter_QueryFil
  *
  * \remarks
  * Filter should not call to graph's AddRef method.
- * The IFilterGraph is guaranteed to be valid until graph manager calls this method again with 
+ * The IFilterGraph is guaranteed to be valid until graph manager calls this method again with
  * the value NULL.
  *
  */
@@ -943,7 +943,7 @@ static long STDCALL CBaseFilter2_GetClas
  *
  * \remarks
  * When filter is stopped it does onot deliver or process any samples and rejects any samples
- * from upstream filter. 
+ * from upstream filter.
  * Transition may be asynchronous. In this case method should return S_FALSE.
  * Method always sets filter's state to State_Stopped even if error occured.
  *
@@ -1042,8 +1042,8 @@ static long STDCALL CBaseFilter2_SetSync
  * \brief IMediafilter::GetSyncSource (gets current reference clock)
  *
  * \param[in] This pointer to IBaseFilter interface
- * \param[out] pClock address of variable that receives pointer to clock's 
- *  IReferenceClock interface 
+ * \param[out] pClock address of variable that receives pointer to clock's
+ *  IReferenceClock interface
  *
  * \return S_OK success
  * \return E_POINTER Null pointer
@@ -1131,7 +1131,7 @@ static long STDCALL CBaseFilter2_QueryFi
  *
  * \remarks
  * Filter should not call to graph's AddRef method.
- * The IFilterGraph is guaranteed to be valid until graph manager calls this method again with 
+ * The IFilterGraph is guaranteed to be valid until graph manager calls this method again with
  * the value NULL.
  *
  */

Modified: trunk/loader/dshow/libwin32.h
==============================================================================
--- trunk/loader/dshow/libwin32.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/libwin32.h	Wed May 13 04:58:57 2009	(r29305)
@@ -31,7 +31,7 @@ typedef struct CodecInfo
 typedef struct CImage // public  your_libvo_mem
 {
     char* ptr;
-    
+
     /*char* (*Data)();
     {
 	return 0;
@@ -40,7 +40,7 @@ typedef struct CImage // public  your_li
     /*int (*Supported)(fourcc_t csp, int bits);
     {
 	return true;
-	// if you support such surface 
+	// if you support such surface
     }*/
 }CImage;
 
@@ -109,7 +109,7 @@ typedef struct BitmapInfo
     long  	biYPelsPerMeter;
     long 	biClrUsed;
     long 	biClrImportant;
-    int 	colors[3];    
+    int 	colors[3];
 } BitmapInfo;
 
 typedef struct IVideoDecoder

Modified: trunk/loader/dshow/mediatype.c
==============================================================================
--- trunk/loader/dshow/mediatype.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/mediatype.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,8 +32,8 @@ void DisplayMediaType(const char * label
     VIDEOINFOHEADER* Vhdr;
     int i;
     GUID* iid;
-    
-   
+
+
     Debug mp_msg(MSGT_LOADER,MSGL_DBG4,"=======================\n");
     if(label){
         Debug mp_msg(MSGT_LOADER,MSGL_DBG4,"AM_MEDIA_TYPE: %s\n",label);
@@ -103,7 +103,7 @@ HRESULT CopyMediaType(AM_MEDIA_TYPE * pD
     if(pSrc == pDest) return E_INVALIDARG;
 
     if(!pSrc->pbFormat && pSrc->cbFormat) return E_POINTER;
-    
+
     memcpy(pDest, pSrc, sizeof(AM_MEDIA_TYPE));
     if (!pSrc->pbFormat) return S_OK;
     if (!(pDest->pbFormat = CoTaskMemAlloc(pSrc->cbFormat)))

Modified: trunk/loader/dshow/mediatype.h
==============================================================================
--- trunk/loader/dshow/mediatype.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/mediatype.h	Wed May 13 04:58:57 2009	(r29305)
@@ -8,7 +8,7 @@
 #define MPLAYER_MEDIATYPE_H
 
 #include "guids.h"
-                  
+
 typedef struct __attribute__((__packed__)) MediaType
 {
     GUID	majortype;		//0x0
@@ -26,7 +26,7 @@ typedef struct __attribute__((__packed__
  * \brief print info from AM_MEDIA_TYPE structure
  * =param[in] label short lable for media type
  * \param[in] pmt pointer to AM_MEDIA_TYPE
- * 
+ *
  * routine used for debug purposes
  *
  */
@@ -61,7 +61,7 @@ void DeleteMediaType(AM_MEDIA_TYPE* pmt)
  *
  * \return S_OK - success
  * \return E_POINTER - pSrc or pDst is NULL or (pSrc->cbFormat && !pSrc->pbFormat)
- * \return E_INVALIDARG - (pSrc == pDst) 
+ * \return E_INVALIDARG - (pSrc == pDst)
  * \return E_OUTOFMEMORY - Insufficient memory
  *
  * \note

Modified: trunk/loader/dshow/outputpin.c
==============================================================================
--- trunk/loader/dshow/outputpin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/dshow/outputpin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -493,9 +493,9 @@ static HRESULT STDCALL COutputPin_QueryI
  * \return S_OK - success
  * \return E_UNEXPECTED - The pin is output pin
  *
- * \note 
- * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream, 
- * IMemAllocator::GetBuffer runs in different (streaming) thread then other 
+ * \note
+ * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream,
+ * IMemAllocator::GetBuffer runs in different (streaming) thread then other
  * methods (application thread).
  * IMemoryInputPin::NewSegment runs either in streaming or application thread.
  * Developer must use critical sections for thread-safing work.
@@ -697,9 +697,9 @@ static HRESULT STDCALL COutputMemPin_Get
  * In the last case method might block indefinitely. If this might
  * happen IMemInpuPin::ReceiveCAnBlock returns S_OK
  *
- * \note 
- * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream, 
- * IMemAllocator::GetBuffer runs in different (streaming) thread then other 
+ * \note
+ * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream,
+ * IMemAllocator::GetBuffer runs in different (streaming) thread then other
  * methods (application thread).
  * IMemoryInputPin::NewSegment runs either in streaming or application thread.
  * Developer must use critical sections for thread-safing work.
@@ -736,9 +736,9 @@ static HRESULT STDCALL COutputMemPin_Rec
  * \remarks
  * This method behaves like IMemInputPin::Receive but for array of samples
  *
- * \note 
- * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream, 
- * IMemAllocator::GetBuffer runs in different (streaming) thread then other 
+ * \note
+ * IMemoryInputPin::Receive,IMemoryInputPin::ReceiveMultiple, IMemoryInputPin::EndOfStream,
+ * IMemAllocator::GetBuffer runs in different (streaming) thread then other
  * methods (application thread).
  * IMemoryInputPin::NewSegment runs either in streaming or application thread.
  * Developer must use critical sections for thread-safing work.

Modified: trunk/loader/elfdll.c
==============================================================================
--- trunk/loader/elfdll.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/elfdll.c	Wed May 13 04:58:57 2009	(r29305)
@@ -213,7 +213,7 @@ static WINE_MODREF *ELFDLL_CreateModref(
 	/* Link MODREF into process list */
 
 //	EnterCriticalSection( &PROCESS_Current()->crit_section );
-	
+
 	if(local_wm)
         {
     	    local_wm->next = (modref_list*) malloc(sizeof(modref_list));
@@ -227,7 +227,7 @@ static WINE_MODREF *ELFDLL_CreateModref(
 	    local_wm = (modref_list*) malloc(sizeof(modref_list));
 	    local_wm->next=local_wm->prev=NULL;
     	    local_wm->wm=wm;
-	}	
+	}
 
 //	LeaveCriticalSection( &PROCESS_Current()->crit_section );
 	return wm;
@@ -263,7 +263,7 @@ WINE_MODREF *ELFDLL_LoadLibraryExA(LPCST
 /*	strcpy(soname, name);
 	strcat(soname, "_elfdll_image");
 	image = (struct elfdll_image *)dlsym(dlhandle, soname);
-	if(!image) 
+	if(!image)
 	{
 		ERR("Could not get elfdll image descriptor %s (%s)\n", soname, dlerror());
 		dlclose(dlhandle);

Modified: trunk/loader/ext.c
==============================================================================
--- trunk/loader/ext.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/ext.c	Wed May 13 04:58:57 2009	(r29305)
@@ -250,7 +250,7 @@ LPVOID FILE_dommap( int unix_handle, LPV
     {
         ret = mmap_anon( start, size_low, prot, flags, offset_low );
     }
-    else 
+    else
     {
         fd = unix_handle;
         ret = mmap( start, size_low, prot, flags, fd, offset_low );

Modified: trunk/loader/ldt_keeper.c
==============================================================================
--- trunk/loader/ldt_keeper.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/ldt_keeper.c	Wed May 13 04:58:57 2009	(r29305)
@@ -211,7 +211,7 @@ ldt_fs_t* Setup_LDT_Keeper(void)
     if (getenv("DYLD_BIND_AT_LAUNCH") == NULL)
         mp_msg(MSGT_LOADER, MSGL_WARN, MSGTR_LOADER_DYLD_Warning);
 #endif /* __APPLE__ */
-    
+
     fs_seg=
     ldt_fs->fs_seg = mmap_anon(NULL, getpagesize(), PROT_READ | PROT_WRITE, MAP_PRIVATE, 0);
     if (ldt_fs->fs_seg == (void*)-1)

Modified: trunk/loader/module.c
==============================================================================
--- trunk/loader/module.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/module.c	Wed May 13 04:58:57 2009	(r29305)
@@ -649,7 +649,7 @@ FARPROC WINAPI GetProcAddress( HMODULE h
 
 #ifdef DEBUG_QTX_API
 
-/* 
+/*
 http://lists.apple.com/archives/quicktime-api/2003/Jan/msg00278.html
 */
 
@@ -720,7 +720,7 @@ static int dump_component(char* name, in
     ++c_level;
     ret=orig(params,glob);
     --c_level;
-    
+
     if(ret>=0x1000)
 	fprintf(stderr,"%*s return=0x%X\n",3*c_level,"",ret);
     else
@@ -757,35 +757,35 @@ static int report_func(void *stack_base,
   char* pname=NULL;
   int plen=-1;
   // find the code:
-  
+
   dptr=0x62b67ae0;dptr+=2*((reg->eax>>16)&255);
 //  printf("FUNC: flag=%d ptr=%p\n",dptr[0],dptr[1]);
   if(dptr[0]&255){
       dptr=dptr[1];dptr+=4*(reg->eax&65535);
 //      printf("FUNC: ptr2=%p  eax=%p  edx=%p\n",dptr[1],dptr[0],dptr[2]);
-      pwrapper=dptr[1]; pptr=dptr[0]; plen=dptr[2]; 
+      pwrapper=dptr[1]; pptr=dptr[0]; plen=dptr[2];
   } else {
       pwrapper=0x62924910;
       switch(dptr[1]){
       case 0x629248d0:
           dptr=0x62b672c0;dptr+=2*(reg->eax&65535);
 //          printf("FUNC: ptr2=%p  eax=%p  edx=%p\n",0x62924910,dptr[0],dptr[1]);
-          pptr=dptr[0]; plen=dptr[1]; 
+          pptr=dptr[0]; plen=dptr[1];
 	  break;
       case 0x62924e40:
           dptr=0x62b67c70;dptr+=2*(reg->eax&65535);
 //          printf("FUNC: ptr2=%p  eax=%p  edx=%p\n",0x62924910,dptr[0],dptr[1]);
-          pptr=dptr[0]; plen=dptr[1]; 
+          pptr=dptr[0]; plen=dptr[1];
 	  break;
       case 0x62924e60:
           dptr=0x62b68108;if(reg->eax&0x8000) dptr+=2*(reg->eax|0xffff0000); else dptr+=2*(reg->eax&65535);
 //          printf("FUNC: ptr2=%p  eax=%p  edx=%p\n",0x62924910,dptr[0],dptr[1]);
-          pptr=dptr[0]; plen=dptr[1]; 
+          pptr=dptr[0]; plen=dptr[1];
 	  break;
       case 0x62924e80:
           dptr=0x62b68108;if(reg->eax&0x8000) dptr+=2*(reg->eax|0xffff0000); else dptr+=2*(reg->eax&65535);
 //          printf("FUNC: ptr2=%p  eax=%p  edx=%p\n",0x62924910,dptr[0],dptr[1]);
-          pptr=dptr[0]; plen=dptr[1]; 
+          pptr=dptr[0]; plen=dptr[1];
 	  break;
       default:
           printf("FUNC: unknown ptr & psize!\n");
@@ -823,7 +823,7 @@ static int report_func(void *stack_base,
   fflush(stdout);
 
 #endif
-  
+
 #if 1
   // emulate some functions:
   switch(reg->eax){
@@ -914,7 +914,7 @@ static int report_func(void *stack_base,
       }
   }
 
-  // print stack/reg information 
+  // print stack/reg information
   printf("ENTER(%d) stack = %d bytes @ %p\n"
 	 "eax = 0x%08x edx = 0x%08x ebx = 0x%08x ecx = 0x%08x\n"
 	 "esp = 0x%08x ebp = 0x%08x esi = 0x%08x edi = 0x%08x\n"
@@ -930,15 +930,15 @@ static int report_func(void *stack_base,
   ++ret_i;
 
 #if 0
-  // print first 7 longs in the stack (return address, arg[1], arg[2] ... ) 
+  // print first 7 longs in the stack (return address, arg[1], arg[2] ... )
   printf("stack[] = { ");
   for (i=0;i<7;i++) {
     printf("%08x ", ((uint32_t *)stack_base)[i]);
   }
   printf("}\n\n");
 #endif
-  
-//  // mess with function parameters 
+
+//  // mess with function parameters
 //  ((uint32_t *)stack_base)[1] = 0x66554433;
 
 //  // mess with return address...
@@ -966,7 +966,7 @@ static int report_func_ret(void *stack_b
   printf("\n");
   fflush(stdout);
 #else
-  // print stack/reg information 
+  // print stack/reg information
   printf("LEAVE(%d) stack = %d bytes @ %p\n"
 	 "eax = 0x%08x edx = 0x%08x ebx = 0x%08x ecx = 0x%08x\n"
 	 "esp = 0x%08x ebp = 0x%08x esi = 0x%08x edi = 0x%08x\n"
@@ -978,7 +978,7 @@ static int report_func_ret(void *stack_b
 #endif
 
 #if 0
-  // print first 7 longs in the stack (return address, arg[1], arg[2] ... ) 
+  // print first 7 longs in the stack (return address, arg[1], arg[2] ... )
   printf("stack[] = { ");
   for (i=0;i<7;i++) {
     printf("%08x ", ((uint32_t *)stack_base)[i]);
@@ -987,8 +987,8 @@ static int report_func_ret(void *stack_b
 #endif
 
 #endif
-  
-//  // mess with function parameters 
+
+//  // mess with function parameters
 //  ((uint32_t *)stack_base)[1] = 0x66554433;
 
 //  // mess with return address...

Modified: trunk/loader/pe_image.c
==============================================================================
--- trunk/loader/pe_image.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/pe_image.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  *  Copyright	1994	Eric Youndale & Erik Bos
  *  Copyright	1995	Martin von Löwis
  *  Copyright   1996-98 Marcus Meissner
@@ -16,12 +16,12 @@
 /* Notes:
  * Before you start changing something in this file be aware of the following:
  *
- * - There are several functions called recursively. In a very subtle and 
+ * - There are several functions called recursively. In a very subtle and
  *   obscure way. DLLs can reference each other recursively etc.
  * - If you want to enhance, speed up or clean up something in here, think
  *   twice WHY it is implemented in that strange way. There is usually a reason.
  *   Though sometimes it might just be lazyness ;)
- * - In PE_MapImage, right before fixup_imports() all external and internal 
+ * - In PE_MapImage, right before fixup_imports() all external and internal
  *   state MUST be correct since this function can be called with the SAME image
  *   AGAIN. (Thats recursion for you.) That means MODREF.module and
  *   NE_MODULE.module32.
@@ -69,7 +69,7 @@
 #define AdjustPtr(ptr,delta) ((char *)(ptr) + (delta))
 
 static void dump_exports( HMODULE hModule )
-{ 
+{
   char		*Module;
   unsigned int i, j;
   unsigned short	*ordinal;
@@ -85,7 +85,7 @@ static void dump_exports( HMODULE hModul
 
   Module = (char*)RVA(pe_exports->Name);
   TRACE("*******EXPORT DATA*******\n");
-  TRACE("Module name is %s, %ld functions, %ld names\n", 
+  TRACE("Module name is %s, %ld functions, %ld names\n",
         Module, pe_exports->NumberOfFunctions, pe_exports->NumberOfNames);
 
   ordinal=(unsigned short*) RVA(pe_exports->AddressOfNameOrdinals);
@@ -95,11 +95,11 @@ static void dump_exports( HMODULE hModul
   TRACE(" Ord    RVA     Addr   Name\n" );
   for (i=0;i<pe_exports->NumberOfFunctions;i++, function++)
   {
-      if (!*function) continue;  
+      if (!*function) continue;
       if (TRACE_ON(win32))
       {
 	dbg_printf( "%4ld %08lx %p", i + pe_exports->Base, *function, RVA(*function) );
-	
+
 	for (j = 0; j < pe_exports->NumberOfNames; j++)
           if (ordinal[j] == i)
           {
@@ -115,15 +115,15 @@ static void dump_exports( HMODULE hModul
 
 /* Look up the specified function or ordinal in the exportlist:
  * If it is a string:
- * 	- look up the name in the Name list. 
+ * 	- look up the name in the Name list.
  *	- look up the ordinal with that index.
  *	- use the ordinal as offset into the functionlist
  * If it is a ordinal:
  *	- use ordinal-pe_export->Base as offset into the functionlist
  */
-FARPROC PE_FindExportedFunction( 
-	WINE_MODREF *wm,	
-	LPCSTR funcName,	
+FARPROC PE_FindExportedFunction(
+	WINE_MODREF *wm,
+	LPCSTR funcName,
         WIN_BOOL snoop )
 {
 	unsigned short			* ordinals;
@@ -160,7 +160,7 @@ FARPROC PE_FindExportedFunction( 
 
 	if (HIWORD(funcName))
         {
-            
+
             int min = 0, max = exports->NumberOfNames - 1;
             while (min <= max)
             {
@@ -174,7 +174,7 @@ FARPROC PE_FindExportedFunction( 
                 if (res > 0) max = pos - 1;
                 else min = pos + 1;
             }
-            
+
 	    for (i = 0; i < exports->NumberOfNames; i++)
             {
 		ename = (const char*) RVA(name[i]);
@@ -187,10 +187,10 @@ FARPROC PE_FindExportedFunction( 
             }
             return NULL;
 	}
-        else  
+        else
         {
             ordinal = LOWORD(funcName) - exports->Base;
-            if (snoop && name)  
+            if (snoop && name)
             {
                 for (i = 0; i < exports->NumberOfNames; i++)
                     if (ordinals[i] == ordinal)
@@ -217,11 +217,11 @@ FARPROC PE_FindExportedFunction( 
                 if (!ename) ename = "@";
 //                proc = SNOOP_GetProcAddress(wm->module,ename,ordinal,proc);
 		TRACE("SNOOP_GetProcAddress n/a\n");
-		
+
             }
             return proc;
         }
-        else  
+        else
         {
                 WINE_MODREF *wm;
                 char *forward = RVA(addr);
@@ -248,7 +248,7 @@ static DWORD fixup_imports( WINE_MODREF 
     unsigned int load_addr	= wm->module;
     int				i,characteristics_detection=1;
     char			*modname;
-    
+
     assert(wm->type==MODULE32_PE);
     pem = &(wm->binfmt.pe);
     if (pem->pe_export)
@@ -256,10 +256,10 @@ static DWORD fixup_imports( WINE_MODREF 
     else
         modname = "<unknown>";
 
-    
+
     TRACE("Dumping imports list\n");
 
-    
+
     pe_imp = pem->pe_import;
     if (!pe_imp) return 0;
 
@@ -274,16 +274,16 @@ static DWORD fixup_imports( WINE_MODREF 
 		break;
 	i++;
     }
-    if (!i) return 0;  
+    if (!i) return 0;
+
 
-    
     wm->nDeps = i;
     wm->deps  = HeapAlloc( GetProcessHeap(), 0, i*sizeof(WINE_MODREF *) );
 
-    /* load the imported modules. They are automatically 
+    /* load the imported modules. They are automatically
      * added to the modref list of the process.
      */
- 
+
     for (i = 0, pe_imp = pem->pe_import; pe_imp->Name ; pe_imp++) {
 	IMAGE_IMPORT_BY_NAME	*pe_name;
 	PIMAGE_THUNK_DATA	import_list,thunk_list;
@@ -294,8 +294,8 @@ static DWORD fixup_imports( WINE_MODREF 
 
 //#warning FIXME: here we should fill imports
         TRACE("Loading imports for %s.dll\n", name);
-    
-	if (pe_imp->u.OriginalFirstThunk != 0) { 
+
+	if (pe_imp->u.OriginalFirstThunk != 0) {
 	    TRACE("Microsoft style imports used\n");
 	    import_list =(PIMAGE_THUNK_DATA) RVA(pe_imp->u.OriginalFirstThunk);
 	    thunk_list = (PIMAGE_THUNK_DATA) RVA(pe_imp->FirstThunk);
@@ -305,9 +305,9 @@ static DWORD fixup_imports( WINE_MODREF 
 		    int ordinal = IMAGE_ORDINAL(import_list->u1.Ordinal);
 
 //		    TRACE("--- Ordinal %s,%d\n", name, ordinal);
-		    
+
 		    thunk_list->u1.Function=LookupExternal(name, ordinal);
-		} else {		
+		} else {
 		    pe_name = (PIMAGE_IMPORT_BY_NAME)RVA(import_list->u1.AddressOfData);
 //		    TRACE("--- %s %s.%d\n", pe_name->Name, name, pe_name->Hint);
 		    thunk_list->u1.Function=LookupExternalByName(name, pe_name->Name);
@@ -315,12 +315,12 @@ static DWORD fixup_imports( WINE_MODREF 
 		import_list++;
 		thunk_list++;
 	    }
-	} else {	
+	} else {
 	    TRACE("Borland style imports used\n");
 	    thunk_list = (PIMAGE_THUNK_DATA) RVA(pe_imp->FirstThunk);
 	    while (thunk_list->u1.Ordinal) {
 		if (IMAGE_SNAP_BY_ORDINAL(thunk_list->u1.Ordinal)) {
-		    
+
 		    int ordinal = IMAGE_ORDINAL(thunk_list->u1.Ordinal);
 
 		    TRACE("--- Ordinal %s.%d\n",name,ordinal);
@@ -349,8 +349,8 @@ static int calc_vma_size( HMODULE hModul
     TRACE("   Name    VSz  Vaddr     SzRaw   Fileadr  *Reloc *Lineum #Reloc #Linum Char\n");
     for (i = 0; i< PE_HEADER(hModule)->FileHeader.NumberOfSections; i++)
     {
-        TRACE("%8s: %4.4lx %8.8lx %8.8lx %8.8lx %8.8lx %8.8lx %4.4x %4.4x %8.8lx\n", 
-                      pe_seg->Name, 
+        TRACE("%8s: %4.4lx %8.8lx %8.8lx %8.8lx %8.8lx %8.8lx %4.4x %4.4x %8.8lx\n",
+                      pe_seg->Name,
                       pe_seg->Misc.VirtualSize,
                       pe_seg->VirtualAddress,
                       pe_seg->SizeOfRawData,
@@ -374,7 +374,7 @@ static void do_relocations( unsigned int
     int	ldelta = delta & 0xFFFF;
 
 	if(delta == 0)
-		
+
 		return;
 	while(r->VirtualAddress)
 	{
@@ -383,7 +383,7 @@ static void do_relocations( unsigned int
 		int i;
 		TRACE_(fixup)("%x relocations for page %lx\n",
 			count, r->VirtualAddress);
-		
+
 		for(i=0;i<count;i++)
 		{
 			int offset = r->TypeOffset[i] & 0xFFF;
@@ -400,7 +400,7 @@ static void do_relocations( unsigned int
 				break;
 			case IMAGE_REL_BASED_HIGHLOW:
 				*(int*)(page+offset) += delta;
-				
+
 				break;
 			case IMAGE_REL_BASED_HIGHADJ:
 				FIXME("Don't know what to do with IMAGE_REL_BASED_HIGHADJ\n");
@@ -416,16 +416,16 @@ static void do_relocations( unsigned int
 		r = (IMAGE_BASE_RELOCATION*)((char*)r + r->SizeOfBlock);
 	}
 }
-		
 
-	
-	
+
+
+
 
 /**********************************************************************
  *			PE_LoadImage
  * Load one PE format DLL/EXE into memory
- * 
- * Unluckily we can't just mmap the sections where we want them, for 
+ *
+ * Unluckily we can't just mmap the sections where we want them, for
  * (at least) Linux does only support offsets which are page-aligned.
  *
  * BUT we have to map the whole image anyway, for Win32 programs sometimes
@@ -446,9 +446,9 @@ HMODULE PE_LoadImage( int handle, LPCSTR
     int unix_handle = handle;
     int page_size = getpagesize();
 
-    
-//    if ( GetFileInformationByHandle( hFile, &bhfi ) ) 
-//    	file_size = bhfi.nFileSizeLow; 
+
+//    if ( GetFileInformationByHandle( hFile, &bhfi ) )
+//    	file_size = bhfi.nFileSizeLow;
     file_size=lseek(handle, 0, SEEK_END);
     lseek(handle, 0, SEEK_SET);
 
@@ -476,14 +476,14 @@ HMODULE PE_LoadImage( int handle, LPCSTR
 
     nt = PE_HEADER( hModule );
 
-    
+
     if ( nt->Signature != IMAGE_NT_SIGNATURE )
     {
         WARN("%s image doesn't have PE signature, but 0x%08lx\n", filename, nt->Signature );
         goto error;
     }
 
-    
+
     if ( nt->FileHeader.Machine != IMAGE_FILE_MACHINE_I386 )
     {
         dbg_printf("Trying to load PE image for unsupported architecture (");
@@ -502,10 +502,10 @@ HMODULE PE_LoadImage( int handle, LPCSTR
         goto error;
     }
 
-    
+
     pe_sec = PE_SECTIONS( hModule );
     rawsize = 0; lowest_va = 0x10000;
-    for (i = 0; i < nt->FileHeader.NumberOfSections; i++) 
+    for (i = 0; i < nt->FileHeader.NumberOfSections; i++)
     {
         if (lowest_va > pe_sec[i].VirtualAddress)
            lowest_va = pe_sec[i].VirtualAddress;
@@ -514,17 +514,17 @@ HMODULE PE_LoadImage( int handle, LPCSTR
 	if (pe_sec[i].PointerToRawData+pe_sec[i].SizeOfRawData > rawsize)
 	    rawsize = pe_sec[i].PointerToRawData+pe_sec[i].SizeOfRawData;
     }
- 
-    
+
+
     if ( file_size && file_size < rawsize )
     {
         ERR("PE module is too small (header: %d, filesize: %d), "
-                    "probably truncated download?\n", 
+                    "probably truncated download?\n",
                     rawsize, file_size );
         goto error;
     }
 
-    
+
     aoep = nt->OptionalHeader.AddressOfEntryPoint;
     if (aoep && (aoep < lowest_va))
         FIXME("VIRUS WARNING: '%s' has an invalid entrypoint (0x%08lx) "
@@ -546,11 +546,11 @@ HMODULE PE_LoadImage( int handle, LPCSTR
     if ( nt->OptionalHeader.ImageBase & 0x80000000 &&
         !strstr(filename, "xanlib.dll"))
     {
-        HMODULE sharedMod = (HMODULE)nt->OptionalHeader.ImageBase; 
+        HMODULE sharedMod = (HMODULE)nt->OptionalHeader.ImageBase;
         IMAGE_NT_HEADERS *sharedNt = (PIMAGE_NT_HEADERS)
                ( (LPBYTE)sharedMod + ((LPBYTE)nt - (LPBYTE)hModule) );
 
-        /* Well, this check is not really comprehensive, 
+        /* Well, this check is not really comprehensive,
            but should be good enough for now ... */
         if (    !IsBadReadPtr( (LPBYTE)sharedMod, sizeof(IMAGE_DOS_HEADER) )
              && memcmp( (LPBYTE)sharedMod, (LPBYTE)hModule, sizeof(IMAGE_DOS_HEADER) ) == 0
@@ -563,21 +563,21 @@ HMODULE PE_LoadImage( int handle, LPCSTR
     }
 
 
-    
+
     load_addr = nt->OptionalHeader.ImageBase;
     vma_size = calc_vma_size( hModule );
 
     load_addr = (DWORD)VirtualAlloc( (void*)load_addr, vma_size,
                                      MEM_RESERVE | MEM_COMMIT,
                                      PAGE_EXECUTE_READWRITE );
-    if (load_addr == 0) 
+    if (load_addr == 0)
     {
-        
+
         FIXME("We need to perform base relocations for %s\n", filename);
 	dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_BASERELOC;
         if (dir->Size)
             reloc = dir->VirtualAddress;
-        else 
+        else
         {
             FIXME( "FATAL: Need to relocate %s, but no relocation records present (%s). Try to run that file directly !\n",
                    filename,
@@ -609,13 +609,13 @@ HMODULE PE_LoadImage( int handle, LPCSTR
                     filename, load_addr, vma_size );
 
 #if 0
-    
+
     *(PIMAGE_DOS_HEADER)load_addr = *(PIMAGE_DOS_HEADER)hModule;
     *PE_HEADER( load_addr ) = *nt;
     memcpy( PE_SECTIONS(load_addr), PE_SECTIONS(hModule),
             sizeof(IMAGE_SECTION_HEADER) * nt->FileHeader.NumberOfSections );
 
-    
+
     memcpy( load_addr, hModule, lowest_fa );
 #endif
 
@@ -623,11 +623,11 @@ HMODULE PE_LoadImage( int handle, LPCSTR
                      0, 0, PROT_EXEC | PROT_WRITE | PROT_READ,
                      MAP_PRIVATE | MAP_FIXED ) != (void*)load_addr)
     {
-        ERR_(win32)( "Critical Error: failed to map PE header to necessary address.\n");	
+        ERR_(win32)( "Critical Error: failed to map PE header to necessary address.\n");
         goto error;
     }
 
-    
+
     pe_sec = PE_SECTIONS( hModule );
     for (i = 0; i < nt->FileHeader.NumberOfSections; i++, pe_sec++)
     {
@@ -640,7 +640,7 @@ HMODULE PE_LoadImage( int handle, LPCSTR
                          PROT_EXEC | PROT_WRITE | PROT_READ,
                          MAP_PRIVATE | MAP_FIXED ) != (void*)RVA(pe_sec->VirtualAddress))
         {
-            
+
             ERR_(win32)( "Critical Error: failed to map PE section to necessary address.\n");
             goto error;
         }
@@ -657,21 +657,21 @@ HMODULE PE_LoadImage( int handle, LPCSTR
         }
     }
 
-    
+
     if ( reloc )
         do_relocations( load_addr, (IMAGE_BASE_RELOCATION *)RVA(reloc) );
 
-    
+
     *version =   ( (nt->OptionalHeader.MajorSubsystemVersion & 0xff) << 8 )
                |   (nt->OptionalHeader.MinorSubsystemVersion & 0xff);
 
-    
+
     UnmapViewOfFile( (LPVOID)hModule );
     return (HMODULE)load_addr;
 
 error:
     if (unix_handle != -1) close( unix_handle );
-    if (load_addr) 
+    if (load_addr)
     VirtualFree( (LPVOID)load_addr, 0, MEM_RELEASE );
     UnmapViewOfFile( (LPVOID)hModule );
     return 0;
@@ -690,10 +690,10 @@ error:
  * Note: This routine must always be called in the context of the
  *       process that is to own the module to be created.
  */
-WINE_MODREF *PE_CreateModule( HMODULE hModule, 
+WINE_MODREF *PE_CreateModule( HMODULE hModule,
                               LPCSTR filename, DWORD flags, WIN_BOOL builtin )
 {
-    DWORD load_addr = (DWORD)hModule;  
+    DWORD load_addr = (DWORD)hModule;
     IMAGE_NT_HEADERS *nt = PE_HEADER(hModule);
     IMAGE_DATA_DIRECTORY *dir;
     IMAGE_IMPORT_DESCRIPTOR *pe_import = NULL;
@@ -702,7 +702,7 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
     WINE_MODREF *wm;
 
 
-    
+
 
     dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_EXPORT;
     if (dir->Size)
@@ -722,8 +722,8 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
     dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_SECURITY;
     if (dir->Size) FIXME("Security directory ignored\n" );
 
-    
-    
+
+
 
     dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_DEBUG;
     if (dir->Size) TRACE("Debug directory ignored\n" );
@@ -734,7 +734,7 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
     dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_GLOBALPTR;
     if (dir->Size) FIXME("Global Pointer (MIPS) ignored\n" );
 
-    
+
 
     dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG;
     if (dir->Size) FIXME("Load Configuration directory ignored\n" );
@@ -769,7 +769,7 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
         TRACE_(delayhlp)("pe_delay->pUnloadIAT = %08x\n", pe_delay->pUnloadIAT);
         TRACE_(delayhlp)("pe_delay->dwTimeStamp = %08x\n", pe_delay->dwTimeStamp);
         }
-#endif 
+#endif
 	}
 
     dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR;
@@ -779,13 +779,13 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
     if (dir->Size) FIXME("Unknown directory 15 ignored\n" );
 
 
-    
 
-    wm = (WINE_MODREF *)HeapAlloc( GetProcessHeap(), 
+
+    wm = (WINE_MODREF *)HeapAlloc( GetProcessHeap(),
                                    HEAP_ZERO_MEMORY, sizeof(*wm) );
     wm->module = hModule;
 
-    if ( builtin ) 
+    if ( builtin )
         wm->flags |= WINE_MODREF_INTERNAL;
     if ( flags & DONT_RESOLVE_DLL_REFERENCES )
         wm->flags |= WINE_MODREF_DONT_RESOLVE_REFS;
@@ -811,8 +811,8 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
 
     if (    pe_import
          && !( wm->flags & WINE_MODREF_LOAD_AS_DATAFILE )
-         && !( wm->flags & WINE_MODREF_DONT_RESOLVE_REFS ) 
-         && fixup_imports( wm ) ) 
+         && !( wm->flags & WINE_MODREF_DONT_RESOLVE_REFS )
+         && fixup_imports( wm ) )
     {
         /* remove entry from modref chain */
          return NULL;
@@ -822,7 +822,7 @@ WINE_MODREF *PE_CreateModule( HMODULE hM
 }
 
 /******************************************************************************
- * The PE Library Loader frontend. 
+ * The PE Library Loader frontend.
  * FIXME: handle the flags.
  */
 WINE_MODREF *PE_LoadLibraryExA (LPCSTR name, DWORD flags)
@@ -833,17 +833,17 @@ WINE_MODREF *PE_LoadLibraryExA (LPCSTR n
 	int hFile;
 	WORD		version = 0;
 
-	
-	strncpy(filename, name, sizeof(filename));      
+
+	strncpy(filename, name, sizeof(filename));
 	hFile=open(filename, O_RDONLY);
 	if(hFile==-1)
 	    return NULL;
-	
-	
+
+
 	hModule32 = PE_LoadImage( hFile, filename, &version );
 	if (!hModule32)
 	{
-		SetLastError( ERROR_OUTOFMEMORY );	
+		SetLastError( ERROR_OUTOFMEMORY );
 		return NULL;
 	}
 
@@ -917,7 +917,7 @@ WIN_BOOL PE_InitDLL( WINE_MODREF *wm, DW
     WIN_BOOL retv = TRUE;
     assert( wm->type == MODULE32_PE );
 
-    
+
     if ((PE_HEADER(wm->module)->FileHeader.Characteristics & IMAGE_FILE_DLL) &&
         (PE_HEADER(wm->module)->OptionalHeader.AddressOfEntryPoint)
     ) {
@@ -925,11 +925,11 @@ WIN_BOOL PE_InitDLL( WINE_MODREF *wm, DW
 	entry = (void*)PE_FindExportedFunction(wm, "DllMain", 0);
 	if(entry==NULL)
 	    entry = (void*)RVA_PTR( wm->module,OptionalHeader.AddressOfEntryPoint );
-        
+
 	TRACE_(relay)("CallTo32(entryproc=%p,module=%08x,type=%ld,res=%p)\n",
                        entry, wm->module, type, lpReserved );
-	
-	
+
+
 	TRACE("Entering DllMain(");
 	switch(type)
 	{
@@ -945,7 +945,7 @@ WIN_BOOL PE_InitDLL( WINE_MODREF *wm, DW
 	    case DLL_THREAD_ATTACH:
 	        TRACE("DLL_THREAD_ATTACH) ");
 		break;
-	}	
+	}
 	TRACE("for %s\n", wm->filename);
 	extend_stack_for_dll_alloca();
         retv = entry( wm->module, type, lpReserved );

Modified: trunk/loader/pe_resource.c
==============================================================================
--- trunk/loader/pe_resource.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/pe_resource.c	Wed May 13 04:58:57 2009	(r29305)
@@ -29,7 +29,7 @@
 #include "ext.h"
 
 /**********************************************************************
- *  HMODULE32toPE_MODREF 
+ *  HMODULE32toPE_MODREF
  *
  * small helper function to get a PE_MODREF from a passed HMODULE32
  */
@@ -65,13 +65,13 @@ PIMAGE_RESOURCE_DIRECTORY GetResDirEntry
 		return GetResDirEntryW(resdirptr,(LPCWSTR)atoi(buf),root,allowdefault);
 	}
 	entryTable = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) (
-			(BYTE *) resdirptr + 
+			(BYTE *) resdirptr +
                         sizeof(IMAGE_RESOURCE_DIRECTORY));
 	namelen = lstrlenW(name);
 	for (entrynum = 0; entrynum < resdirptr->NumberOfNamedEntries; entrynum++)
 	{
 		PIMAGE_RESOURCE_DIR_STRING_U str =
-		(PIMAGE_RESOURCE_DIR_STRING_U) (root + 
+		(PIMAGE_RESOURCE_DIR_STRING_U) (root +
 			entryTable[entrynum].u1.s.NameOffset);
 		if(namelen != str->Length)
 			continue;
@@ -83,7 +83,7 @@ PIMAGE_RESOURCE_DIRECTORY GetResDirEntry
 	return NULL;
     } else {
 	entryTable = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) (
-			(BYTE *) resdirptr + 
+			(BYTE *) resdirptr +
                         sizeof(IMAGE_RESOURCE_DIRECTORY) +
 			resdirptr->NumberOfNamedEntries * sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY));
 	for (entrynum = 0; entrynum < resdirptr->NumberOfIdEntries; entrynum++)
@@ -108,7 +108,7 @@ PIMAGE_RESOURCE_DIRECTORY GetResDirEntry
 					   WIN_BOOL allowdefault )
 {
     PIMAGE_RESOURCE_DIRECTORY retv;
-    LPWSTR nameW = HIWORD(name)? HEAP_strdupAtoW( GetProcessHeap(), 0, name ) 
+    LPWSTR nameW = HIWORD(name)? HEAP_strdupAtoW( GetProcessHeap(), 0, name )
                                : (LPWSTR)name;
 
     retv = GetResDirEntryW( resdirptr, nameW, root, allowdefault );
@@ -178,7 +178,7 @@ PE_EnumResourceTypesA(HMODULE hmod,ENUMR
     PIMAGE_RESOURCE_DIRECTORY		resdir;
     PIMAGE_RESOURCE_DIRECTORY_ENTRY	et;
     WIN_BOOL	ret;
-    HANDLE	heap = GetProcessHeap();	
+    HANDLE	heap = GetProcessHeap();
 
     if (!pem || !pem->pe_resource)
     	return FALSE;
@@ -245,7 +245,7 @@ PE_EnumResourceNamesA(
     PIMAGE_RESOURCE_DIRECTORY		resdir;
     PIMAGE_RESOURCE_DIRECTORY_ENTRY	et;
     WIN_BOOL	ret;
-    HANDLE	heap = GetProcessHeap();	
+    HANDLE	heap = GetProcessHeap();
     LPWSTR	typeW;
 
     if (!pem || !pem->pe_resource)
@@ -325,7 +325,7 @@ PE_EnumResourceLanguagesA(
     PIMAGE_RESOURCE_DIRECTORY		resdir;
     PIMAGE_RESOURCE_DIRECTORY_ENTRY	et;
     WIN_BOOL	ret;
-    HANDLE	heap = GetProcessHeap();	
+    HANDLE	heap = GetProcessHeap();
     LPWSTR	nameW,typeW;
 
     if (!pem || !pem->pe_resource)

Modified: trunk/loader/qtx/list.c
==============================================================================
--- trunk/loader/qtx/list.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/qtx/list.c	Wed May 13 04:58:57 2009	(r29305)
@@ -16,7 +16,7 @@ void* GetProcAddress(void* handle,char* 
 
 #define __stdcall __attribute__((__stdcall__))
 #define __cdecl   __attribute__((__cdecl__))
-#define APIENTRY 
+#define APIENTRY
 
 int main(void) {
     void *handler;
@@ -51,7 +51,7 @@ int main(void) {
     desc.componentManufacturer=0;
     desc.componentFlags=0;
     desc.componentFlagsMask=0;
-    
+
     printf("Count = %ld\n",CountComponents(&desc));
 
     exit(0);

Modified: trunk/loader/qtx/qtxload.c
==============================================================================
--- trunk/loader/qtx/qtxload.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/qtx/qtxload.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@ void* GetProcAddress(void* handle,char* 
 
 #define __stdcall __attribute__((__stdcall__))
 #define __cdecl   __attribute__((__cdecl__))
-#define APIENTRY 
+#define APIENTRY
 
 unsigned int* x_table[0x00001837];
 
@@ -60,7 +60,7 @@ int main(void) {
 
     InitializeQTML = 0x6299e590;//GetProcAddress(handler, "InitializeQTML");
     InitializeQTML(6+16);
-    
+
     printf("loading svq3\n");
     handler2= LoadLibraryA("/root/.wine/fake_windows/Windows/System/QuickTime/QuickTimeEssentials.qtx");
     printf("done\n");
@@ -82,7 +82,7 @@ int main(void) {
     desc.componentManufacturer=0;
     desc.componentFlags=0;
     desc.componentFlagsMask=0;
-    
+
     params = malloc(sizeof(ComponentParameters)+2048);
 
     params->flags = 0;

Modified: trunk/loader/qtx/qtxsdk/components.h
==============================================================================
--- trunk/loader/qtx/qtxsdk/components.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/qtx/qtxsdk/components.h	Wed May 13 04:58:57 2009	(r29305)
@@ -704,13 +704,13 @@ static inline void dump_CodecDecompressP
     printf("sequenceID=%d\n",cd->sequenceID);
     idh=cd->imageDescription;
     if(idh && idh[0]) dump_ImageDescription(idh[0]);
-    
+
     for(i=0;i<sizeof(CodecDecompressParams);i++){
 	printf(" %02X",((unsigned char*)cd)[i]);
 	if((i%16)==15) printf("\n");
     }
     printf("\n");
-    
+
     printf("data=%p  size=%d\n",cd->data,cd->bufferSize);
     printf("frameno=%d  lines: %d .. %d   condflags=0x%X  callerflags=0x%X\n",
 	cd->frameNumber, cd->startLine, cd->stopLine, cd->conditionFlags,cd->callerFlags);

Modified: trunk/loader/resource.c
==============================================================================
--- trunk/loader/resource.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/resource.c	Wed May 13 04:58:57 2009	(r29305)
@@ -52,14 +52,14 @@ static HRSRC RES_FindResource2( HMODULE 
 				LPCSTR name, WORD lang, int unicode)
 {
     HRSRC hRsrc = 0;
-    LPWSTR typeStr, nameStr;    
+    LPWSTR typeStr, nameStr;
     WINE_MODREF *wm = MODULE32_LookupHMODULE( hModule );
 
     if(!wm)
-	return 0;    
+	return 0;
     /* 32-bit PE module */
 
-    
+
     if ( HIWORD( type ) && (!unicode))
 	typeStr = HEAP_strdupAtoW( GetProcessHeap(), 0, type );
     else
@@ -68,12 +68,12 @@ static HRSRC RES_FindResource2( HMODULE 
 	nameStr = HEAP_strdupAtoW( GetProcessHeap(), 0, name );
     else
 	nameStr = (LPWSTR)name;
-    
+
     hRsrc = PE_FindResourceExW( wm, nameStr, typeStr, lang );
-    
-    if ( HIWORD( type ) && (!unicode)) 
+
+    if ( HIWORD( type ) && (!unicode))
 	HeapFree( GetProcessHeap(), 0, typeStr );
-    if ( HIWORD( name ) && (!unicode)) 
+    if ( HIWORD( name ) && (!unicode))
 	HeapFree( GetProcessHeap(), 0, nameStr );
 
     return hRsrc;
@@ -111,7 +111,7 @@ static DWORD RES_SizeofResource( HMODULE
 
 //    HMODULE16 hMod16   = MapHModuleLS( hModule );
 //    NE_MODULE *pModule = NE_GetPtr( hMod16 );
-//    WINE_MODREF *wm    = pModule && pModule->module32? 
+//    WINE_MODREF *wm    = pModule && pModule->module32?
 //                         MODULE32_LookupHMODULE( pModule->module32 ) : NULL;
 //    WINE_MODREF *wm = MODULE32_LookupHMODULE( hModule );
 
@@ -124,7 +124,7 @@ static DWORD RES_SizeofResource( HMODULE
     {
 	printf("16-bit hRsrcs not supported\n");
 	return 0;
-    }	
+    }
     size = PE_SizeofResource( hModule, hRsrc );
     return size;
 }
@@ -201,29 +201,29 @@ static WIN_BOOL RES_FreeResource( HGLOBA
  */
 HANDLE WINAPI FindResourceA( HMODULE hModule, LPCSTR name, LPCSTR type )
 {
-    return RES_FindResource( hModule, type, name, 
+    return RES_FindResource( hModule, type, name,
                              WINE_LanguageId, 0);
 }
 HANDLE WINAPI FindResourceW( HMODULE hModule, LPCWSTR name, LPCWSTR type )
 {
-    return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name, 
+    return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name,
                              WINE_LanguageId, 1);
 }
 
 /**********************************************************************
  *	    FindResourceExA  (KERNEL32.129)
  */
-HANDLE WINAPI FindResourceExA( HMODULE hModule, 
+HANDLE WINAPI FindResourceExA( HMODULE hModule,
                                LPCSTR type, LPCSTR name, WORD lang )
 {
-    return RES_FindResource( hModule, type, name, 
+    return RES_FindResource( hModule, type, name,
                              lang, 0 );
 }
 
-HANDLE WINAPI FindResourceExW( HMODULE hModule, 
+HANDLE WINAPI FindResourceExW( HMODULE hModule,
                                LPCWSTR type, LPCWSTR name, WORD lang )
 {
-    return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name, 
+    return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name,
                              lang, 1 );
 }
 
@@ -333,21 +333,21 @@ INT WINAPI LoadStringW( HINSTANCE instan
     TRACE("instance = %04x, id = %04x, buffer = %08x, "
           "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
 
-    /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out 
+    /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
      * 20 - 31. */
     hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
                              RT_STRINGW );
     if (!hrsrc) return 0;
     hmem = LoadResource( instance, hrsrc );
     if (!hmem) return 0;
-    
+
     p = (WCHAR*) LockResource(hmem);
     string_num = resource_id & 0x000f;
     for (i = 0; i < string_num; i++)
 	p += *p + 1;
-    
+
     TRACE("strlen = %d\n", (int)*p );
-    
+
     if (buffer == NULL) return *p;
     i = min(buflen - 1, *p);
     if (i > 0) {
@@ -368,10 +368,10 @@ INT WINAPI LoadStringW( HINSTANCE instan
 }
 
 /* Messages...used by FormatMessage32* (KERNEL32.something)
- * 
+ *
  * They can be specified either directly or using a message ID and
  * loading them from the resource.
- * 
+ *
  * The resourcedata has following format:
  * start:
  * 0: DWORD nrofentries
@@ -409,7 +409,7 @@ INT WINAPI LoadMessageA( HMODULE instanc
     if (!hrsrc) return 0;
     hmem = LoadResource( instance, hrsrc );
     if (!hmem) return 0;
-    
+
     mrd = (PMESSAGE_RESOURCE_DATA)LockResource(hmem);
     mre = NULL;
     mrb = &(mrd->Blocks[0]);

Modified: trunk/loader/vfl.c
==============================================================================
--- trunk/loader/vfl.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/vfl.c	Wed May 13 04:58:57 2009	(r29305)
@@ -66,7 +66,7 @@ ICOpen(long filename,long fccHandler,uns
 	HDRVR		hdrv;
 	WINE_HIC	*whic;
 
-	/* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the 
+	/* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the
 	 * same layout as ICOPEN
 	 */
 	icopen.fccType		= 0x63646976; // "vidc" //fccType;
@@ -93,7 +93,7 @@ ICGetInfo(HIC hic,ICINFO *picinfo,long c
 	LRESULT		ret;
 
 	ret = ICSendMessage(hic,ICM_GETINFO,(long)picinfo,cb);
-	
+
 	return ret;
 }
 
@@ -129,7 +129,7 @@ ICCompress(
 /***********************************************************************
  *		ICDecompress			[MSVFW.26]
  */
-long VFWAPIV 
+long VFWAPIV
 ICDecompress(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER  lpbi,void* lpBits) {
 	ICDECOMPRESS	icd;
 	int result;
@@ -147,11 +147,11 @@ ICDecompress(HIC hic,long dwFlags,LPBITM
 /***********************************************************************
  *		ICDecompressEx			[MSVFW.26]
  */
-long VFWAPIV 
+long VFWAPIV
 ICDecompressEx(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER  lpbi,void* lpBits) {
 	ICDECOMPRESSEX	icd;
 	int result;
-	
+
 	icd.dwFlags	= dwFlags;
 
 	icd.lpbiSrc	= lpbiFormat;
@@ -159,7 +159,7 @@ ICDecompressEx(HIC hic,long dwFlags,LPBI
 
 	icd.lpbiDst	= lpbi;
 	icd.lpDst	= lpBits;
-	
+
 	icd.xSrc=icd.ySrc=0;
 	icd.dxSrc=lpbiFormat->biWidth;
 	icd.dySrc=abs(lpbiFormat->biHeight);
@@ -167,17 +167,17 @@ ICDecompressEx(HIC hic,long dwFlags,LPBI
 	icd.xDst=icd.yDst=0;
 	icd.dxDst=lpbi->biWidth;
 	icd.dyDst=abs(lpbi->biHeight);
-	
+
 	//icd.ckid	= 0;
 	result=ICSendMessage(hic,ICM_DECOMPRESSEX,(long)&icd,sizeof(icd));
 	return result;
 }
 
-long VFWAPIV 
+long VFWAPIV
 ICUniversalEx(HIC hic,int command,LPBITMAPINFOHEADER lpbiFormat,LPBITMAPINFOHEADER lpbi) {
 	ICDECOMPRESSEX	icd;
 	int result;
-	
+
 	icd.dwFlags	= 0;
 
 	icd.lpbiSrc	= lpbiFormat;
@@ -185,7 +185,7 @@ ICUniversalEx(HIC hic,int command,LPBITM
 
 	icd.lpbiDst	= lpbi;
 	icd.lpDst	= 0;
-	
+
 	icd.xSrc=icd.ySrc=0;
 	icd.dxSrc=lpbiFormat->biWidth;
 	icd.dySrc=abs(lpbiFormat->biHeight);
@@ -193,7 +193,7 @@ ICUniversalEx(HIC hic,int command,LPBITM
 	icd.xDst=icd.yDst=0;
 	icd.dxDst=lpbi->biWidth;
 	icd.dyDst=abs(lpbi->biHeight);
-	
+
 	//icd.ckid	= 0;
 	result=ICSendMessage(hic,command,(long)&icd,sizeof(icd));
 	return result;

Modified: trunk/loader/win32.c
==============================================================================
--- trunk/loader/win32.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/win32.c	Wed May 13 04:58:57 2009	(r29305)
@@ -203,7 +203,7 @@ static inline void dbgprintf(char* fmt, 
     if ( mp_msg_test(MSGT_WIN32,MSGL_DBG3) )
     {
 	va_list va;
-	
+
 	va_start(va, fmt);
 	vprintf(fmt, va);
 //	mp_dbg(MSGT_WIN32, MSGL_DBG3, fmt, va);
@@ -854,7 +854,7 @@ static void* WINAPI expWaitForMultipleOb
 
     dbgprintf("WaitForMultipleObjects(%d, 0x%x, %d, duration %d) =>\n",
 	count, objects, WaitAll, duration);
-    
+
     for (i = 0; i < count; i++)
     {
 	object = (void *)objects[i];
@@ -877,7 +877,7 @@ static HANDLE WINAPI expCreateMutexA(voi
 		    char bInitialOwner, const char *name)
 {
     HANDLE mlist = (HANDLE)expCreateEventA(pSecAttr, 0, 0, name);
-    
+
     if (name)
 	dbgprintf("CreateMutexA(0x%x, %d, '%s') => 0x%x\n",
 	    pSecAttr, bInitialOwner, name, mlist);
@@ -1396,7 +1396,7 @@ static void WINAPI expDeleteCriticalSect
 	dbgprintf("Win32 Warning: Deleting uninitialized Critical Section %p!!\n", c);
 	return;
     }
-    
+
     if (cs->locked)
     {
 	dbgprintf("Win32 Warning: Deleting unlocked Critical Section %p!!\n", c);
@@ -2513,7 +2513,7 @@ static int WINAPI expMonitorFromPoint(vo
     return 0;
 }
 
-static int WINAPI expEnumDisplayMonitors(void *dc, RECT *r, 
+static int WINAPI expEnumDisplayMonitors(void *dc, RECT *r,
     int WINAPI (*callback_proc)(), void *callback_param)
 {
     dbgprintf("EnumDisplayMonitors(0x%x, 0x%x, 0x%x, 0x%x) => ?\n",
@@ -2523,26 +2523,26 @@ static int WINAPI expEnumDisplayMonitors
 
 #if 0
 typedef struct tagMONITORINFO {
-    DWORD  cbSize; 
-    RECT   rcMonitor; 
-    RECT   rcWork; 
-    DWORD  dwFlags; 
-} MONITORINFO, *LPMONITORINFO; 
+    DWORD  cbSize;
+    RECT   rcMonitor;
+    RECT   rcWork;
+    DWORD  dwFlags;
+} MONITORINFO, *LPMONITORINFO;
 #endif
 
 #define CCHDEVICENAME 8
-typedef struct tagMONITORINFOEX {  
-    DWORD  cbSize; 
-    RECT   rcMonitor; 
-    RECT   rcWork; 
-    DWORD  dwFlags; 
+typedef struct tagMONITORINFOEX {
+    DWORD  cbSize;
+    RECT   rcMonitor;
+    RECT   rcWork;
+    DWORD  dwFlags;
     TCHAR  szDevice[CCHDEVICENAME];
-} MONITORINFOEX, *LPMONITORINFOEX; 
+} MONITORINFOEX, *LPMONITORINFOEX;
 
 static int WINAPI expGetMonitorInfoA(void *mon, LPMONITORINFO lpmi)
 {
     dbgprintf("GetMonitorInfoA(0x%x, 0x%x) => 1\n", mon, lpmi);
-    
+
     lpmi->rcMonitor.right = lpmi->rcWork.right = PSEUDO_SCREEN_WIDTH;
     lpmi->rcMonitor.left = lpmi->rcWork.left = 0;
     lpmi->rcMonitor.bottom = lpmi->rcWork.bottom = PSEUDO_SCREEN_HEIGHT;
@@ -2556,7 +2556,7 @@ static int WINAPI expGetMonitorInfoA(voi
 	dbgprintf("MONITORINFOEX!\n");
 	strncpy(lpmiex->szDevice, "Monitor1", CCHDEVICENAME);
     }
-    
+
     return 1;
 }
 
@@ -3433,7 +3433,7 @@ static int WINAPI expCreateDirectoryA(co
 	buf[0] = '.';
 	buf[1] = 0;
     }
-#if 0    
+#if 0
     if (strrchr(pathname, '\\'))
 	mkdir(strcat(strrchr(pathname, '\\')+1, '/'), 666);
     else
@@ -3826,7 +3826,7 @@ static HRESULT WINAPI expCoInitialize(
 static void WINAPI expCoUninitialize(void)
 {
     dbgprintf("CoUninitialize() called\n");
-} 
+}
 
 /* allow static linking */
 HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
@@ -3835,7 +3835,7 @@ HRESULT WINAPI CoInitializeEx(LPVOID lpR
 }
 HRESULT WINAPI CoInitialize(LPVOID lpReserved)
 {
-    return expCoInitialize(lpReserved); 
+    return expCoInitialize(lpReserved);
 }
 void WINAPI CoUninitialize(void)
 {
@@ -4625,25 +4625,25 @@ static int expDirectDrawCreate(void)
 }
 
 #if 1
-typedef struct tagPALETTEENTRY { 
-    BYTE peRed; 
-    BYTE peGreen; 
-    BYTE peBlue; 
-    BYTE peFlags; 
-} PALETTEENTRY; 
+typedef struct tagPALETTEENTRY {
+    BYTE peRed;
+    BYTE peGreen;
+    BYTE peBlue;
+    BYTE peFlags;
+} PALETTEENTRY;
 
 /* reversed the first 2 entries */
-typedef struct tagLOGPALETTE { 
-    WORD         palNumEntries; 
-    WORD         palVersion; 
-    PALETTEENTRY palPalEntry[1]; 
-} LOGPALETTE; 
+typedef struct tagLOGPALETTE {
+    WORD         palNumEntries;
+    WORD         palVersion;
+    PALETTEENTRY palPalEntry[1];
+} LOGPALETTE;
 
 static HPALETTE WINAPI expCreatePalette(CONST LOGPALETTE *lpgpl)
 {
     HPALETTE test;
     int i;
-    
+
     dbgprintf("CreatePalette(%x) => NULL\n", lpgpl);
 
     i = sizeof(LOGPALETTE)+((lpgpl->palNumEntries-1)*sizeof(PALETTEENTRY));
@@ -4671,10 +4671,10 @@ static int WINAPI expGetClientRect(HWND 
 }
 
 #if 0
-typedef struct tagPOINT { 
-    LONG x; 
-    LONG y; 
-} POINT, *PPOINT; 
+typedef struct tagPOINT {
+    LONG x;
+    LONG y;
+} POINT, *PPOINT;
 #endif
 
 static int WINAPI expClientToScreen(HWND win, POINT *p)
@@ -4718,7 +4718,7 @@ static void *exprealloc(void *ptr, size_
     if (!ptr)
 	return my_mreq(size,0);
     else
-	return my_realloc(ptr, size);        
+	return my_realloc(ptr, size);
 }
 
 /* Fake GetOpenFileNameA from comdlg32.dll for ViVD codec */

Modified: trunk/loader/wine/avifmt.h
==============================================================================
--- trunk/loader/wine/avifmt.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/avifmt.h	Wed May 13 04:58:57 2009	(r29305)
@@ -18,24 +18,24 @@ typedef DWORD FOURCC;
 #ifdef _MSC_VER
 #pragma warning(disable:4200)
 #endif
-    
+
 /* The following is a short description of the AVI file format.  Please
  * see the accompanying documentation for a full explanation.
  *
  * An AVI file is the following RIFF form:
  *
- *	RIFF('AVI' 
+ *	RIFF('AVI'
  *	      LIST('hdrl'
  *		    avih(<MainAVIHeader>)
  *                  LIST ('strl'
  *                      strh(<Stream header>)
  *                      strf(<Stream format>)
  *                      ... additional header data
- *            LIST('movi'	 
- *      	  { LIST('rec' 
+ *            LIST('movi'
+ *      	  { LIST('rec'
  *      		      SubChunk...
  *      		   )
- *      	      | SubChunk } ....	    
+ *      	      | SubChunk } ....
  *            )
  *            [ <AVIIndex> ]
  *      )
@@ -47,7 +47,7 @@ typedef DWORD FOURCC;
  *	be a BITMAPINFO structure, including palette.  For an audio stream,
  *	this should be a WAVEFORMAT (or PCMWAVEFORMAT) structure.
  *
- *	The actual data is contained in subchunks within the 'movi' LIST 
+ *	The actual data is contained in subchunks within the 'movi' LIST
  *	chunk.  The first two characters of each data chunk are the
  *	stream number with which that data is associated.
  *
@@ -62,17 +62,17 @@ typedef DWORD FOURCC;
  *
  * The grouping into LIST 'rec' chunks implies only that the contents of
  *   the chunk should be read into memory at the same time.  This
- *   grouping is used for files specifically intended to be played from 
+ *   grouping is used for files specifically intended to be played from
  *   CD-ROM.
  *
- * The index chunk at the end of the file should contain one entry for 
+ * The index chunk at the end of the file should contain one entry for
  *   each data chunk in the file.
- *       
+ *
  * Limitations for the current software:
  *	Only one video stream and one audio stream are allowed.
  *	The streams must start at the beginning of the file.
  *
- * 
+ *
  * To register codec types please obtain a copy of the Multimedia
  * Developer Registration Kit from:
  *
@@ -153,9 +153,9 @@ typedef WORD TWOCC;
 			    (ToHex(((stream) & 0xf0) >> 4)), tcc)
 
 /*
-** Main AVI File Header 
-*/	     
-		     
+** Main AVI File Header
+*/
+
 /* flags for use in <dwFlags> in AVIFileHdr */
 #define AVIF_HASINDEX		0x00000010	// Index at end of file?
 #define AVIF_MUSTUSEINDEX	0x00000020
@@ -178,10 +178,10 @@ typedef struct
     DWORD		dwInitialFrames;
     DWORD		dwStreams;
     DWORD		dwSuggestedBufferSize;
-    
+
     DWORD		dwWidth;
     DWORD		dwHeight;
-    
+
     DWORD		dwReserved[4];
 } MainAVIHeader;
 
@@ -193,7 +193,7 @@ typedef struct
 
 #define AVISF_VIDEO_PALCHANGES		0x00010000
 
-  
+
 typedef struct {
     FOURCC		fccType;
     FOURCC		fccHandler;
@@ -201,7 +201,7 @@ typedef struct {
     WORD		wPriority;
     WORD		wLanguage;
     DWORD		dwInitialFrames;
-    DWORD		dwScale;	
+    DWORD		dwScale;
     DWORD		dwRate;	/* dwRate / dwScale == samples/second */
     DWORD		dwStart;
     DWORD		dwLength; /* In units above... */

Modified: trunk/loader/wine/driver.h
==============================================================================
--- trunk/loader/wine/driver.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/driver.h	Wed May 13 04:58:57 2009	(r29305)
@@ -80,7 +80,7 @@ typedef struct
     CHAR         		szAliasName[128];
 } DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16;
 
-LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg, 
+LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg,
                                LPARAM dwParam1, LPARAM dwParam2);
 LRESULT WINAPI DefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr,
                                UINT Msg, LPARAM lParam1, LPARAM lParam2);

Modified: trunk/loader/wine/ldt.h
==============================================================================
--- trunk/loader/wine/ldt.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/ldt.h	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@ typedef struct
     enum seg_type type;            /* segment type */
 } ldt_entry;
 #ifdef __cplusplus
-extern "C" 
+extern "C"
 {
 #endif
 void LDT_BytesToEntry( const unsigned long *buffer, ldt_entry *content );

Modified: trunk/loader/wine/mmreg.h
==============================================================================
--- trunk/loader/wine/mmreg.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/mmreg.h	Wed May 13 04:58:57 2009	(r29305)
@@ -47,7 +47,7 @@ typedef struct __attribute__((__packed__
    DWORD           dwDelay;
 } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER;
 #endif  /* WAVEFILTER_ECHO */
-    
+
 #ifndef _WAVEFORMATEX_
 #define _WAVEFORMATEX_
 typedef struct __attribute__((__packed__)) WAVEFORMATEX {

Modified: trunk/loader/wine/module.h
==============================================================================
--- trunk/loader/wine/module.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/module.h	Wed May 13 04:58:57 2009	(r29305)
@@ -48,7 +48,7 @@ typedef struct
     FARPROC16 BootApp;       /* startup procedure */
     FARPROC16 LoadAppSeg;    /* procedure to load a segment */
     FARPROC16 reserved2;
-    FARPROC16 MyAlloc;       /* memory allocation procedure, 
+    FARPROC16 MyAlloc;       /* memory allocation procedure,
                               * wine must write this field */
     FARPROC16 EntryAddrProc;
     FARPROC16 ExitProc;      /* exit procedure */
@@ -65,7 +65,7 @@ typedef struct
     SEGPTR    reserved WINE_PACKED;
 } LOADPARAMS16;
 
-typedef struct 
+typedef struct
 {
     LPSTR lpEnvAddress;
     LPSTR lpCmdLine;

Modified: trunk/loader/wine/msacm.h
==============================================================================
--- trunk/loader/wine/msacm.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/msacm.h	Wed May 13 04:58:57 2009	(r29305)
@@ -339,7 +339,7 @@ typedef struct ACMFILTERCHOOSEA
 
   DWORD         fdwEnum;
   PWAVEFILTER   pwfltrEnum;
-    
+
   HINSTANCE   hInstance;
   LPCSTR        pszTemplateName;
   LPARAM        lCustData;
@@ -365,7 +365,7 @@ typedef struct ACMFILTERCHOOSEW
 
   DWORD         fdwEnum;
   PWAVEFILTER   pwfltrEnum;
-    
+
   HINSTANCE   hInstance;
   LPCWSTR       pszTemplateName;
   LPARAM        lCustData;
@@ -391,7 +391,7 @@ typedef struct ACMFILTERCHOOSE16
 
   DWORD          fdwEnum;
   LPWAVEFILTER   pwfltrEnum;
-    
+
   HINSTANCE16    hInstance;
   LPCSTR         pszTemplateName;
   LPARAM         lCustData;
@@ -468,22 +468,22 @@ typedef struct ACMFORMATCHOOSEA
 {
   DWORD           cbStruct;
   DWORD           fdwStyle;
- 
+
   HWND          hwndOwner;
 
   PWAVEFORMATEX   pwfx;
   DWORD           cbwfx;
   LPCSTR          pszTitle;
-    
+
   CHAR            szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-  CHAR            szFormat[ACMFORMATDETAILS_FORMAT_CHARS];    
+  CHAR            szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
 
   LPSTR           pszName;
   DWORD           cchName;
 
   DWORD           fdwEnum;
   PWAVEFORMATEX   pwfxEnum;
-    
+
   HINSTANCE     hInstance;
   LPCSTR          pszTemplateName;
   LPARAM          lCustData;
@@ -494,22 +494,22 @@ typedef struct ACMFORMATCHOOSEW
 {
   DWORD           cbStruct;
   DWORD           fdwStyle;
-    
+
   HWND          hwndOwner;
 
   PWAVEFORMATEX   pwfx;
   DWORD           cbwfx;
   LPCWSTR         pszTitle;
-    
+
   WCHAR           szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-  WCHAR           szFormat[ACMFORMATDETAILS_FORMAT_CHARS];    
+  WCHAR           szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
 
   LPWSTR          pszName;
   DWORD           cchName;
 
   DWORD           fdwEnum;
   LPWAVEFORMATEX  pwfxEnum;
-    
+
   HINSTANCE     hInstance;
   LPCWSTR         pszTemplateName;
   LPARAM          lCustData;
@@ -520,22 +520,22 @@ typedef struct ACMFORMATCHOOSE16
 {
   DWORD            cbStruct;
   DWORD            fdwStyle;
-    
+
   HWND16           hwndOwner;
 
   LPWAVEFORMATEX   pwfx;
   DWORD            cbwfx;
   LPCSTR           pszTitle;
-    
+
   CHAR             szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-  CHAR             szFormat[ACMFORMATDETAILS_FORMAT_CHARS];    
+  CHAR             szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
 
   LPSTR            pszName;
   DWORD            cchName;
 
   DWORD            fdwEnum;
   LPWAVEFORMATEX   pwfxEnum;
-    
+
   HINSTANCE16      hInstance;
   LPCSTR           pszTemplateName;
   LPARAM           lCustData;
@@ -744,7 +744,7 @@ MMRESULT16 WINAPI acmFormatEnum16(
   ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
 );
 MMRESULT16 WINAPI acmFormatSuggest16(
-  HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc, 
+  HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
   LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
 );
 MMRESULT16 WINAPI acmFilterTagDetails16(
@@ -774,7 +774,7 @@ MMRESULT16 WINAPI acmStreamClose16(
   HACMSTREAM16 has, DWORD fdwClose
 );
 MMRESULT16 WINAPI acmStreamSize16(
-  HACMSTREAM16 has, DWORD cbInput, 
+  HACMSTREAM16 has, DWORD cbInput,
   LPDWORD pdwOutputBytes, DWORD fdwSize
 );
 MMRESULT16 WINAPI acmStreamConvert16(
@@ -842,11 +842,11 @@ MMRESULT WINAPI acmFilterDetailsW(
   HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
 );
 MMRESULT WINAPI acmFilterEnumA(
-  HACMDRIVER had, PACMFILTERDETAILSA pafd, 
+  HACMDRIVER had, PACMFILTERDETAILSA pafd,
   ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
 );
 MMRESULT WINAPI acmFilterEnumW(
-  HACMDRIVER had, PACMFILTERDETAILSW pafd, 
+  HACMDRIVER had, PACMFILTERDETAILSW pafd,
   ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
 );
 MMRESULT WINAPI acmFilterTagDetailsA(
@@ -927,7 +927,7 @@ MMRESULT WINAPI acmStreamReset(
   HACMSTREAM has, DWORD fdwReset
 );
 MMRESULT WINAPI acmStreamSize(
-  HACMSTREAM has, DWORD cbInput, 
+  HACMSTREAM has, DWORD cbInput,
   LPDWORD pdwOutputBytes, DWORD fdwSize
 );
 MMRESULT WINAPI acmStreamUnprepareHeader(

Modified: trunk/loader/wine/msacmdrv.h
==============================================================================
--- trunk/loader/wine/msacmdrv.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/msacmdrv.h	Wed May 13 04:58:57 2009	(r29305)
@@ -19,7 +19,7 @@
 #define MAKE_ACM_VERSION(mjr, mnr, bld) \
   (((long)(mjr)<<24) | ((long)(mnr)<<16) | ((long)bld))
 
-#define ACMDRVOPENDESC_SECTIONNAME_CHARS    
+#define ACMDRVOPENDESC_SECTIONNAME_CHARS
 
 #define ACMDM_DRIVER_NOTIFY             (ACMDM_BASE + 1)
 #define ACMDM_DRIVER_DETAILS            (ACMDM_BASE + 10)

Modified: trunk/loader/wine/ntdef.h
==============================================================================
--- trunk/loader/wine/ntdef.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/ntdef.h	Wed May 13 04:58:57 2009	(r29305)
@@ -10,7 +10,7 @@
 extern "C" {
 #endif
 
-#define NTAPI   __stdcall 
+#define NTAPI   __stdcall
 
 #ifndef IN
 #define IN
@@ -32,7 +32,7 @@ typedef LONG NTSTATUS;
 typedef NTSTATUS *PNTSTATUS;
 
 typedef short CSHORT;
-typedef CSHORT *PCSHORT;  
+typedef CSHORT *PCSHORT;
 
 typedef WCHAR * PWCHAR;
 

Modified: trunk/loader/wine/vfw.h
==============================================================================
--- trunk/loader/wine/vfw.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/vfw.h	Wed May 13 04:58:57 2009	(r29305)
@@ -41,8 +41,8 @@ typedef struct {
 } BITMAPINFO, *LPBITMAPINFO;
 #endif
 
-#define VFWAPI	
-#define VFWAPIV	
+#define VFWAPI
+#define VFWAPIV
 #ifndef MPLAYER_WINDEF_H
 typedef long (__stdcall__ *DRIVERPROC)(long,HDRVR,unsigned int,long,long);
 #endif
@@ -229,14 +229,14 @@ long VFWAPIV ICCompress(
 	ICSendMessage(					\
 	    hic, ICM_GETDEFAULTKEYFRAMERATE,		\
 	    (long)(void*)(lpint), 			\
-	    0	)		
+	    0	)
 
 #define ICGetDefaultQuality(hic,lpint) 			\
 	ICSendMessage(					\
 	    hic, ICM_GETDEFAULTQUALITY,			\
 	    (long)(void*)(lpint), 			\
-	    0	)		
-	    	
+	    0	)
+
 
 #define ICCompressBegin(hic, lpbiInput, lpbiOutput) 			\
     ICSendMessage(							\
@@ -570,7 +570,7 @@ typedef struct AVIFILEINFOW {
     long               dwSuggestedBufferSize;
     long               dwWidth;
     long               dwHeight;
-    long               dwScale;        
+    long               dwScale;
     long               dwRate;
     long               dwLength;
     long               dwEditCount;
@@ -585,7 +585,7 @@ typedef struct AVIFILEINFOA {
     long               dwSuggestedBufferSize;
     long               dwWidth;
     long               dwHeight;
-    long               dwScale;        
+    long               dwScale;
     long               dwRate;
     long               dwLength;
     long               dwEditCount;

Modified: trunk/loader/wine/winbase.h
==============================================================================
--- trunk/loader/wine/winbase.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/winbase.h	Wed May 13 04:58:57 2009	(r29305)
@@ -321,9 +321,9 @@ typedef struct
 #define GETBASEIRQ	10
 
 /* Purge functions for Comm Port */
-#define PURGE_TXABORT       0x0001  /* Kill the pending/current writes to the 
+#define PURGE_TXABORT       0x0001  /* Kill the pending/current writes to the
 				       comm port */
-#define PURGE_RXABORT       0x0002  /*Kill the pending/current reads to 
+#define PURGE_RXABORT       0x0002  /*Kill the pending/current reads to
 				     the comm port */
 #define PURGE_TXCLEAR       0x0004  /* Kill the transmit queue if there*/
 #define PURGE_RXCLEAR       0x0008  /* Kill the typeahead buffer if there*/
@@ -398,7 +398,7 @@ typedef struct
 #define RT_GROUP_ICON        WINELIB_NAME_AW(RT_GROUP_ICON)
 
 
-#define LMEM_FIXED          0   
+#define LMEM_FIXED          0
 #define LMEM_MOVEABLE       0x0002
 #define LMEM_NOCOMPACT      0x0010
 #define LMEM_NODISCARD      0x0020
@@ -833,10 +833,10 @@ typedef struct LDT_ENTRY {
 	struct {
 	    BYTE	BaseMid;
 	    BYTE	Flags1;/*Declare as bytes to avoid alignment problems */
-	    BYTE	Flags2; 
+	    BYTE	Flags2;
 	    BYTE	BaseHi;
 	} Bytes;
-	struct {	    
+	struct {
 	    unsigned	BaseMid		: 8;
 	    unsigned	Type		: 5;
 	    unsigned	Dpl		: 2;
@@ -877,7 +877,7 @@ typedef struct DllVersionInfo {
  * This one seems to be a Win32 only definition. It also is defined with
  * WINAPI instead of CALLBACK in the windows headers.
  */
-typedef DWORD WINAPI (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, 
+typedef DWORD WINAPI (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
                                            LARGE_INTEGER, DWORD, DWORD, HANDLE,
                                            HANDLE, LPVOID);
 
@@ -1075,7 +1075,7 @@ typedef struct tagCOMMTIMEOUTS {
 	DWORD	WriteTotalTimeoutMultiplier;
 	DWORD	WriteTotalTimeoutConstant;
 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
-  
+
 #include "poppack.h"
 
 typedef void CALLBACK (*PAPCFUNC)(ULONG_PTR);
@@ -1095,7 +1095,7 @@ WIN_BOOL      WINAPI SetCommState(INT,LP
 WIN_BOOL      WINAPI TransmitCommChar(INT,CHAR);
 WIN_BOOL      WINAPI SetupComm(HANDLE, DWORD, DWORD);
 WIN_BOOL      WINAPI GetCommProperties(HANDLE, LPDCB *);
-  
+
 /*DWORD WINAPI GetVersion( void );*/
 WIN_BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16*);
 WIN_BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
@@ -1116,7 +1116,7 @@ void      WINAPI RaiseException(DWORD,DW
 WIN_BOOL    WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
 WIN_BOOL    WINAPI TerminateProcess(HANDLE,DWORD);
 WIN_BOOL    WINAPI TerminateThread(HANDLE,DWORD);
-WIN_BOOL    WINAPI GetExitCodeThread(HANDLE,LPDWORD); 
+WIN_BOOL    WINAPI GetExitCodeThread(HANDLE,LPDWORD);
 
 /* GetBinaryType return values.
  */
@@ -1368,7 +1368,7 @@ WIN_BOOL        WINAPI LookupAccountSidW
 #define     LookupAccountSid WINELIB_NAME_AW(LookupAccountSidW)
 WIN_BOOL        WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
 WIN_BOOL        WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WIN_BOOL        WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);    
+WIN_BOOL        WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
 WIN_BOOL        WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,LPVOID);
 WIN_BOOL        WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,LPVOID);
 #define     LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)

Modified: trunk/loader/wine/windef.h
==============================================================================
--- trunk/loader/wine/windef.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/windef.h	Wed May 13 04:58:57 2009	(r29305)
@@ -91,7 +91,7 @@ extern "C" {
 
 #ifdef __i386__
 # if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
-#  ifndef _EGCS_ 
+#  ifndef _EGCS_
 #define __stdcall __attribute__((__stdcall__))
 #define __cdecl   __attribute__((__cdecl__))
 #  define RESTORE_ES  __asm__ volatile("pushl %ds\n\tpopl %es")
@@ -99,7 +99,7 @@ extern "C" {
 # else
 // #  error You need gcc >= 2.7 to build Wine on a 386
 # endif
-#else 
+#else
 # define __stdcall
 # define __cdecl
 # define RESTORE_ES
@@ -360,7 +360,7 @@ typedef UINT16         *LPUINT16;
 	typedef HANDLE16 a##16; \
 	typedef a##16 *P##a##16; \
 	typedef a##16 *NP##a##16; \
-	typedef a##16 *LP##a##16 
+	typedef a##16 *LP##a##16
 
 DECLARE_HANDLE16(HACMDRIVERID);
 DECLARE_HANDLE16(HACMDRIVER);
@@ -500,15 +500,15 @@ typedef LRESULT CALLBACK (*WNDPROC16)(HW
 
 /* Macros to access unaligned or wrong-endian WORDs and DWORDs. */
 /* Note: These macros are semantically broken, at least for wrc.  wrc
-   spits out data in the platform's current binary format, *not* in 
+   spits out data in the platform's current binary format, *not* in
    little-endian format.  These macros are used throughout the resource
-   code to load and store data to the resources.  Since it is unlikely 
-   that we'll ever be dealing with little-endian resource data, the 
-   byte-swapping nature of these macros has been disabled.  Rather than 
+   code to load and store data to the resources.  Since it is unlikely
+   that we'll ever be dealing with little-endian resource data, the
+   byte-swapping nature of these macros has been disabled.  Rather than
    remove the use of these macros from the resource loading code, the
-   macros have simply been disabled.  In the future, someone may want 
+   macros have simply been disabled.  In the future, someone may want
    to reactivate these macros for other purposes.  In that case, the
-   resource code will have to be modified to use different macros. */ 
+   resource code will have to be modified to use different macros. */
 
 #if 1
 #define PUT_WORD(ptr,w)   (*(WORD *)(ptr) = (w))
@@ -619,7 +619,7 @@ typedef const RECT *LPCRECT;
 typedef struct tagRECTL
 {
     LONG left;
-    LONG top;  
+    LONG top;
     LONG right;
     LONG bottom;
 } RECTL, *PRECTL, *LPRECTL;

Modified: trunk/loader/wine/winnt.h
==============================================================================
--- trunk/loader/wine/winnt.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/winnt.h	Wed May 13 04:58:57 2009	(r29305)
@@ -152,11 +152,11 @@ typedef struct FLOATING_SAVE_AREA
 {
     DWORD   ControlWord;
     DWORD   StatusWord;
-    DWORD   TagWord;    
+    DWORD   TagWord;
     DWORD   ErrorOffset;
     DWORD   ErrorSelector;
     DWORD   DataOffset;
-    DWORD   DataSelector;    
+    DWORD   DataSelector;
     BYTE    RegisterArea[SIZE_OF_80387_REGISTERS];
     DWORD   Cr0NpxState;
 } FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
@@ -180,18 +180,18 @@ typedef struct CONTEXT86
     DWORD   SegGs;
     DWORD   SegFs;
     DWORD   SegEs;
-    DWORD   SegDs;    
+    DWORD   SegDs;
 
     /* These are selected by CONTEXT_INTEGER */
     DWORD   Edi;
     DWORD   Esi;
     DWORD   Ebx;
-    DWORD   Edx;    
+    DWORD   Edx;
     DWORD   Ecx;
     DWORD   Eax;
 
     /* These are selected by CONTEXT_CONTROL */
-    DWORD   Ebp;    
+    DWORD   Ebp;
     DWORD   Eip;
     DWORD   SegCs;
     DWORD   EFlags;
@@ -228,7 +228,7 @@ typedef CONTEXT86 CONTEXT;
 #if defined(_ALPHA_) || defined(__alpha__)
 
 #define CONTEXT_ALPHA   0x00020000
- 
+
 #define CONTEXT_CONTROL		(CONTEXT_ALPHA | 0x00000001L)
 #define CONTEXT_FLOATING_POINT	(CONTEXT_ALPHA | 0x00000002L)
 #define CONTEXT_INTEGER		(CONTEXT_ALPHA | 0x00000004L)
@@ -543,10 +543,10 @@ typedef struct STACK_FRAME_HEADER
 
 #ifdef __sparc__
 
-/* 
- * FIXME:  
+/*
+ * FIXME:
  *
- * There is no official CONTEXT structure defined for the SPARC 
+ * There is no official CONTEXT structure defined for the SPARC
  * architecture, so I just made one up.
  *
  * This structure is valid only for 32-bit SPARC architectures,
@@ -556,8 +556,8 @@ typedef struct STACK_FRAME_HEADER
  * the rest of the register window chain is not visible.
  *
  * The layout follows the Solaris 'prgregset_t' structure.
- * 
- */ 
+ *
+ */
 
 #define CONTEXT_SPARC            0x10000000
 
@@ -663,7 +663,7 @@ typedef HANDLE *PHANDLE;
 #define CH_reg(context)      (*((BYTE*)&ECX_reg(context)+1))
 #define DL_reg(context)      (*(BYTE*)&EDX_reg(context))
 #define DH_reg(context)      (*((BYTE*)&EDX_reg(context)+1))
-                            
+
 #define SET_CFLAG(context)   (EFL_reg(context) |= 0x0001)
 #define RESET_CFLAG(context) (EFL_reg(context) &= ~0x0001)
 #define SET_ZFLAG(context)   (EFL_reg(context) |= 0x0040)
@@ -756,7 +756,7 @@ typedef HANDLE *PHANDLE;
 #ifdef __sparc__
 # define GET_IP(context) ((LPVOID)(context)->pc)
 #endif
- 
+
 #if !defined(GET_IP) && !defined(RC_INVOKED)
 # error You must define GET_IP for this CPU
 #endif
@@ -772,7 +772,7 @@ typedef HANDLE *PHANDLE;
 #define STATUS_TIMEOUT                   0x00000102
 #define STATUS_PENDING                   0x00000103
 
-#define STATUS_GUARD_PAGE_VIOLATION      0x80000001    
+#define STATUS_GUARD_PAGE_VIOLATION      0x80000001
 #define STATUS_DATATYPE_MISALIGNMENT     0x80000002
 #define STATUS_BREAKPOINT                0x80000003
 #define STATUS_SINGLE_STEP               0x80000004
@@ -885,7 +885,7 @@ typedef HANDLE *PHANDLE;
 #define STATUS_FILE_LOCK_CONFLICT        0xC0000055  /* FIXME: not sure */
 #define	STATUS_UNKNOWN_REVISION          0xC0000058
 #define	STATUS_INVALID_SECURITY_DESCR    0xC0000079
-#define STATUS_DISK_FULL                 0xC000007F 
+#define STATUS_DISK_FULL                 0xC000007F
 #define STATUS_SECTION_NOT_EXTENDED      0xC0000087
 #define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C
 #define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D
@@ -963,11 +963,11 @@ typedef HANDLE *PHANDLE;
 #define ExceptionContinueSearch    1
 #define ExceptionNestedException   2
 #define ExceptionCollidedUnwind    3
- 
+
 /*
  * Return values from filters in except() and from UnhandledExceptionFilter
  */
- 
+
 #define EXCEPTION_EXECUTE_HANDLER        1
 #define EXCEPTION_CONTINUE_SEARCH        0
 #define EXCEPTION_CONTINUE_EXECUTION    -1
@@ -985,9 +985,9 @@ typedef HANDLE *PHANDLE;
 
 #define EXCEPTION_CONTINUABLE        0
 #define EXCEPTION_NONCONTINUABLE     EH_NONCONTINUABLE
- 
+
 /*
- * The exception record used by Win32 to give additional information 
+ * The exception record used by Win32 to give additional information
  * about exception to exception handlers.
  */
 
@@ -1008,7 +1008,7 @@ typedef struct EXCEPTION_RECORD
  * The exception pointers structure passed to exception filters
  * in except() and the UnhandledExceptionFilter().
  */
- 
+
 typedef struct EXCEPTION_POINTERS
 {
   PEXCEPTION_RECORD  ExceptionRecord;
@@ -1017,8 +1017,8 @@ typedef struct EXCEPTION_POINTERS
 
 
 /*
- * The exception frame, used for registering exception handlers 
- * Win32 cares only about this, but compilers generally emit 
+ * The exception frame, used for registering exception handlers
+ * Win32 cares only about this, but compilers generally emit
  * larger exception frames for their own use.
  */
 
@@ -1120,7 +1120,7 @@ typedef struct IMAGE_DOS_HEADER {
  * This is the Windows executable (NE) header.
  * the name IMAGE_OS2_HEADER is misleading, but in the SDK this way.
  */
-typedef struct 
+typedef struct
 {
     WORD  ne_magic;             /* 00 NE signature 'NE' */
     BYTE  ne_ver;               /* 02 Linker version number */
@@ -1232,7 +1232,7 @@ typedef struct IMAGE_VXD_HEADER {
 #define	IMAGE_FILE_MACHINE_R4000	0x166
 #define	IMAGE_FILE_MACHINE_R10000	0x168
 #define	IMAGE_FILE_MACHINE_ALPHA	0x184
-#define	IMAGE_FILE_MACHINE_POWERPC	0x1F0  
+#define	IMAGE_FILE_MACHINE_POWERPC	0x1F0
 
 #define	IMAGE_SIZEOF_FILE_HEADER	20
 
@@ -1379,8 +1379,8 @@ typedef struct IMAGE_SECTION_HEADER {
 #define IMAGE_SCN_CNT_INITIALIZED_DATA		0x00000040
 #define IMAGE_SCN_CNT_UNINITIALIZED_DATA	0x00000080
 
-#define	IMAGE_SCN_LNK_OTHER			0x00000100 
-#define	IMAGE_SCN_LNK_INFO			0x00000200  
+#define	IMAGE_SCN_LNK_OTHER			0x00000100
+#define	IMAGE_SCN_LNK_INFO			0x00000200
 /* #define	IMAGE_SCN_TYPE_OVER		0x00000400 - Reserved */
 #define	IMAGE_SCN_LNK_REMOVE			0x00000800
 #define	IMAGE_SCN_LNK_COMDAT			0x00001000
@@ -1635,7 +1635,7 @@ typedef struct IMAGE_IMPORT_DESCRIPTOR {
 	DWORD	ForwarderChain;	/* -1 if no forwarders */
 	DWORD	Name;
 	/* RVA to IAT (if bound this IAT has actual addresses) */
-	PIMAGE_THUNK_DATA FirstThunk;	
+	PIMAGE_THUNK_DATA FirstThunk;
 } IMAGE_IMPORT_DESCRIPTOR,*PIMAGE_IMPORT_DESCRIPTOR;
 
 #define	IMAGE_ORDINAL_FLAG		0x80000000
@@ -2037,7 +2037,7 @@ typedef struct tagMESSAGE_RESOURCE_DATA 
 
 /*
  * Here follows typedefs for security and tokens.
- */ 
+ */
 
 /*
  * First a constant for the following typdefs.
@@ -2053,17 +2053,17 @@ typedef PVOID PACCESS_TOKEN;
  */
 
 typedef enum TOKEN_INFORMATION_CLASS {
-  TokenUser = 1, 
-  TokenGroups, 
-  TokenPrivileges, 
-  TokenOwner, 
-  TokenPrimaryGroup, 
-  TokenDefaultDacl, 
-  TokenSource, 
-  TokenType, 
-  TokenImpersonationLevel, 
-  TokenStatistics 
-} TOKEN_INFORMATION_CLASS; 
+  TokenUser = 1,
+  TokenGroups,
+  TokenPrivileges,
+  TokenOwner,
+  TokenPrimaryGroup,
+  TokenDefaultDacl,
+  TokenSource,
+  TokenType,
+  TokenImpersonationLevel,
+  TokenStatistics
+} TOKEN_INFORMATION_CLASS;
 
 #ifndef SECURITY_DEFINED
 #define SECURITY_DEFINED
@@ -2101,8 +2101,8 @@ typedef struct SID {
 #define	SID_RECOMMENDED_SUB_AUTHORITIES	(1)	/* recommended subauths */
 
 
-/* 
- * ACL 
+/*
+ * ACL
  */
 
 #define ACL_REVISION1 1
@@ -2158,7 +2158,7 @@ typedef struct {
     PACL Dacl;
 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
 
-#define SECURITY_DESCRIPTOR_MIN_LENGTH   (sizeof(SECURITY_DESCRIPTOR)) 
+#define SECURITY_DESCRIPTOR_MIN_LENGTH   (sizeof(SECURITY_DESCRIPTOR))
 
 #include "poppack.h"
 
@@ -2166,15 +2166,15 @@ typedef struct {
 
 #include "pshpack1.h"
 
-/* 
+/*
  * SID_AND_ATTRIBUTES
  */
 
 typedef struct SID_AND_ATTRIBUTES {
-  PSID  Sid; 
-  DWORD Attributes; 
-} SID_AND_ATTRIBUTES ; 
- 
+  PSID  Sid;
+  DWORD Attributes;
+} SID_AND_ATTRIBUTES ;
+
 /* security entities */
 #define SECURITY_NULL_RID			(0x00000000L)
 #define SECURITY_WORLD_RID			(0x00000000L)
@@ -2190,7 +2190,7 @@ typedef struct SID_AND_ATTRIBUTES {
 
 /* S-1-3 */
 #define SECURITY_CREATOR_SID_AUTHORITY		{0,0,0,0,0,3}
-#define SECURITY_CREATOR_OWNER_RID		(0x00000000L) 
+#define SECURITY_CREATOR_OWNER_RID		(0x00000000L)
 #define SECURITY_CREATOR_GROUP_RID		(0x00000001L)
 #define SECURITY_CREATOR_OWNER_SERVER_RID	(0x00000002L)
 #define SECURITY_CREATOR_GROUP_SERVER_RID	(0x00000003L)
@@ -2199,7 +2199,7 @@ typedef struct SID_AND_ATTRIBUTES {
 #define SECURITY_NON_UNIQUE_AUTHORITY		{0,0,0,0,0,4}
 
 /* S-1-5 */
-#define SECURITY_NT_AUTHORITY			{0,0,0,0,0,5} 
+#define SECURITY_NT_AUTHORITY			{0,0,0,0,0,5}
 #define SECURITY_DIALUP_RID                     0x00000001L
 #define SECURITY_NETWORK_RID                    0x00000002L
 #define SECURITY_BATCH_RID                      0x00000003L
@@ -2234,17 +2234,17 @@ typedef struct SID_AND_ATTRIBUTES {
  */
 
 typedef struct TOKEN_USER {
-  SID_AND_ATTRIBUTES User; 
-} TOKEN_USER; 
+  SID_AND_ATTRIBUTES User;
+} TOKEN_USER;
 
 /*
  * TOKEN_GROUPS
  */
 
 typedef struct TOKEN_GROUPS  {
-  DWORD GroupCount; 
-  SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; 
-} TOKEN_GROUPS; 
+  DWORD GroupCount;
+  SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
+} TOKEN_GROUPS;
 
 /*
  * LUID_AND_ATTRIBUTES
@@ -2273,9 +2273,9 @@ typedef union ULARGE_INTEGER {
 typedef LARGE_INTEGER LUID,*PLUID;
 
 typedef struct LUID_AND_ATTRIBUTES {
-  LUID   Luid; 
-  DWORD  Attributes; 
-} LUID_AND_ATTRIBUTES; 
+  LUID   Luid;
+  DWORD  Attributes;
+} LUID_AND_ATTRIBUTES;
 
 /*
  * PRIVILEGE_SET
@@ -2292,25 +2292,25 @@ typedef struct PRIVILEGE_SET {
  */
 
 typedef struct TOKEN_PRIVILEGES {
-  DWORD PrivilegeCount; 
-  LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; 
-} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES; 
+  DWORD PrivilegeCount;
+  LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
+} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
 
 /*
  * TOKEN_OWNER
  */
 
 typedef struct TOKEN_OWNER {
-  PSID Owner; 
-} TOKEN_OWNER; 
+  PSID Owner;
+} TOKEN_OWNER;
 
 /*
  * TOKEN_PRIMARY_GROUP
  */
 
 typedef struct TOKEN_PRIMARY_GROUP {
-  PSID PrimaryGroup; 
-} TOKEN_PRIMARY_GROUP; 
+  PSID PrimaryGroup;
+} TOKEN_PRIMARY_GROUP;
 
 
 /*
@@ -2318,37 +2318,37 @@ typedef struct TOKEN_PRIMARY_GROUP {
  */
 
 typedef struct TOKEN_DEFAULT_DACL {
-  PACL DefaultDacl; 
-} TOKEN_DEFAULT_DACL; 
+  PACL DefaultDacl;
+} TOKEN_DEFAULT_DACL;
 
 /*
  * TOKEN_SOURCEL
  */
 
 typedef struct TOKEN_SOURCE {
-  char Sourcename[8]; 
-  LUID SourceIdentifier; 
-} TOKEN_SOURCE; 
+  char Sourcename[8];
+  LUID SourceIdentifier;
+} TOKEN_SOURCE;
 
 /*
  * TOKEN_TYPE
  */
 
 typedef enum tagTOKEN_TYPE {
-  TokenPrimary = 1, 
-  TokenImpersonation 
-} TOKEN_TYPE; 
+  TokenPrimary = 1,
+  TokenImpersonation
+} TOKEN_TYPE;
 
 /*
  * SECURITY_IMPERSONATION_LEVEL
  */
 
 typedef enum SECURITY_IMPERSONATION_LEVEL {
-  SecurityAnonymous, 
-  SecurityIdentification, 
-  SecurityImpersonation, 
-  SecurityDelegation 
-} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL; 
+  SecurityAnonymous,
+  SecurityIdentification,
+  SecurityImpersonation,
+  SecurityDelegation
+} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL;
 
 
 typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,
@@ -2369,20 +2369,20 @@ typedef struct SECURITY_QUALITY_OF_SERVI
  */
 
 typedef struct TOKEN_STATISTICS {
-  LUID  TokenId; 
-  LUID  AuthenticationId; 
-  LARGE_INTEGER ExpirationTime; 
-  TOKEN_TYPE    TokenType; 
-  SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 
-  DWORD DynamicCharged; 
-  DWORD DynamicAvailable; 
-  DWORD GroupCount; 
-  DWORD PrivilegeCount; 
-  LUID  ModifiedId; 
-} TOKEN_STATISTICS; 
+  LUID  TokenId;
+  LUID  AuthenticationId;
+  LARGE_INTEGER ExpirationTime;
+  TOKEN_TYPE    TokenType;
+  SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+  DWORD DynamicCharged;
+  DWORD DynamicAvailable;
+  DWORD GroupCount;
+  DWORD PrivilegeCount;
+  LUID  ModifiedId;
+} TOKEN_STATISTICS;
 
-/* 
- *	ACLs of NT 
+/*
+ *	ACLs of NT
  */
 
 #define	ACL_REVISION	2
@@ -2414,7 +2414,7 @@ typedef struct ACE_HEADER {
 #define	SUCCESSFUL_ACCESS_ACE_FLAG	0x40
 #define	FAILED_ACCESS_ACE_FLAG		0x80
 
-/* different ACEs depending on AceType 
+/* different ACEs depending on AceType
  * SidStart marks the begin of a SID
  * so the thing finally looks like this:
  * 0: ACE_HEADER
@@ -2513,8 +2513,8 @@ typedef enum tagSID_NAME_USE {
 #define THREAD_DIRECT_IMPERSONATION 0x0200
 #define THREAD_ALL_ACCESS          (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3ff)
 
-#define THREAD_BASE_PRIORITY_LOWRT  15 
-#define THREAD_BASE_PRIORITY_MAX    2 
+#define THREAD_BASE_PRIORITY_LOWRT  15
+#define THREAD_BASE_PRIORITY_MAX    2
 #define THREAD_BASE_PRIORITY_MIN   -2
 #define THREAD_BASE_PRIORITY_IDLE  -15
 

Modified: trunk/loader/wine/winreg.h
==============================================================================
--- trunk/loader/wine/winreg.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/winreg.h	Wed May 13 04:58:57 2009	(r29305)
@@ -34,7 +34,7 @@ extern "C" {
 /*
  *	registry provider structs
  */
-typedef struct value_entA 
+typedef struct value_entA
 {   LPSTR	ve_valuename;
     DWORD	ve_valuelen;
     DWORD_PTR	ve_valueptr;

Modified: trunk/loader/wine/winuser.h
==============================================================================
--- trunk/loader/wine/winuser.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wine/winuser.h	Wed May 13 04:58:57 2009	(r29305)
@@ -599,7 +599,7 @@ typedef struct
 #define WM_IME_COMPOSITION          0x010f
 #define WM_IME_KEYLAST              0x010f
 
-#define WM_INITDIALOG       0x0110 
+#define WM_INITDIALOG       0x0110
 #define WM_COMMAND          0x0111
 #define WM_SYSCOMMAND       0x0112
 #define WM_TIMER	    0x0113
@@ -644,7 +644,7 @@ typedef struct
 
 
 #define WM_MOUSELAST	    WM_MOUSEWHEEL
- 
+
 #define WHEEL_DELTA      120
 #define WHEEL_PAGESCROLL  (UINT_MAX)
 #define WM_PARENTNOTIFY     0x0210
@@ -733,19 +733,19 @@ typedef struct
 #define WM_QUERYAFXWNDPROC  0x0360
 #define WM_SIZEPARENT       0x0361
 #define WM_SETMESSAGESTRING 0x0362
-#define WM_IDLEUPDATECMDUI  0x0363 
+#define WM_IDLEUPDATECMDUI  0x0363
 #define WM_INITIALUPDATE    0x0364
 #define WM_COMMANDHELP      0x0365
 #define WM_HELPHITTEST      0x0366
 #define WM_EXITHELPMODE     0x0367
 #define WM_RECALCPARENT     0x0368
 #define WM_SIZECHILD        0x0369
-#define WM_KICKIDLE         0x036A 
+#define WM_KICKIDLE         0x036A
 #define WM_QUERYCENTERWND   0x036B
 #define WM_DISABLEMODAL     0x036C
-#define WM_FLOATSTATUS      0x036D 
-#define WM_ACTIVATETOPLEVEL 0x036E 
-#define WM_QUERY3DCONTROLS  0x036F 
+#define WM_FLOATSTATUS      0x036D
+#define WM_ACTIVATETOPLEVEL 0x036E
+#define WM_QUERY3DCONTROLS  0x036F
 #define WM_SOCKET_NOTIFY    0x0373
 #define WM_SOCKET_DEAD      0x0374
 #define WM_POPMESSAGESTRING 0x0375
@@ -789,7 +789,7 @@ typedef struct
 #define IDYES               6
 #define IDNO                7
 #define IDCLOSE             8
-#define IDHELP              9      
+#define IDHELP              9
 
 /****** Window classes ******/
 
@@ -838,7 +838,7 @@ typedef struct
     BYTE    rgbReserved[32];
 } PAINTSTRUCT, *PPAINTSTRUCT, *LPPAINTSTRUCT;
 
-typedef struct 
+typedef struct
 {
     HMENU   hWindowMenu;
     UINT    idFirstChild;
@@ -874,7 +874,7 @@ typedef struct
 DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
 DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
 
-#define MDITILE_VERTICAL     0x0000   
+#define MDITILE_VERTICAL     0x0000
 #define MDITILE_HORIZONTAL   0x0001
 #define MDITILE_SKIPDISABLED 0x0002
 
@@ -1058,7 +1058,7 @@ typedef struct
 #define PRF_ERASEBKGND      0x00000008L
 #define PRF_CHILDREN        0x00000010L
 #define PRF_OWNED           0x00000020L
- 
+
   /* Offsets for GetClassLong() and GetClassWord() */
 #define GCL_MENUNAME        (-8)
 #define GCW_HBRBACKGROUND   (-10)
@@ -1295,7 +1295,7 @@ typedef struct tagMSG
 
 #define POINTSTOPOINT(pt, pts)                          \
         { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts);   \
-          (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }          
+          (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }
 
 #define POINTTOPOINTS(pt)      (MAKELONG((short)((pt).x), (short)((pt).y)))
 
@@ -1345,7 +1345,7 @@ typedef struct
 #define TPM_NONOTIFY      0x0080
 #define TPM_RETURNCMD     0x0100
 
-typedef struct 
+typedef struct
 {
     UINT   cbSize;
     RECT   rcExclude;
@@ -1518,7 +1518,7 @@ typedef WIN_BOOL CALLBACK (*DRAWSTATEPRO
 #define BST_CHECKED          0x0001
 #define BST_INDETERMINATE    0x0002
 #define BST_PUSHED           0x0004
-#define BST_FOCUS            0x0008      
+#define BST_FOCUS            0x0008
 
 /* Static Control Styles */
 #define SS_LEFT             0x00000000L
@@ -1578,8 +1578,8 @@ typedef struct
     INT     nPos;
     INT     nTrackPos;
 } SCROLLINFO, *LPSCROLLINFO;
- 
-/* GetScrollInfo() flags */ 
+
+/* GetScrollInfo() flags */
 #define SIF_RANGE           0x0001
 #define SIF_PAGE            0x0002
 #define SIF_POS             0x0004
@@ -1781,7 +1781,7 @@ typedef struct
 #define	HELPINFO_MENUITEM	0x0002
 
 /* Structure pointed to by lParam of WM_HELP */
-typedef struct			
+typedef struct
 {
     UINT	cbSize;		/* Size in bytes of this struct  */
     INT	iContextType;	/* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
@@ -1843,28 +1843,28 @@ typedef struct numberfmt32w {
 } NUMBERFMTW;
 
 typedef struct currencyfmt32a
-{   
-	UINT      NumDigits;   
-	UINT      LeadingZero; 
-	UINT      Grouping;   
-	LPCSTR    lpDecimalSep;   
-	LPCSTR    lpThousandSep; 
-	UINT      NegativeOrder;   
-	UINT      PositiveOrder; 
+{
+	UINT      NumDigits;
+	UINT      LeadingZero;
+	UINT      Grouping;
+	LPCSTR    lpDecimalSep;
+	LPCSTR    lpThousandSep;
+	UINT      NegativeOrder;
+	UINT      PositiveOrder;
 	LPCSTR    lpCurrencySymbol;
-} CURRENCYFMTA; 
+} CURRENCYFMTA;
 
 typedef struct currencyfmt32w
-{   
-	UINT      NumDigits;   
-	UINT      LeadingZero; 
-	UINT      Grouping;   
-	LPCWSTR   lpDecimalSep;   
-	LPCWSTR   lpThousandSep; 
-	UINT      NegativeOrder;   
-	UINT      PositiveOrder; 
+{
+	UINT      NumDigits;
+	UINT      LeadingZero;
+	UINT      Grouping;
+	LPCWSTR   lpDecimalSep;
+	LPCWSTR   lpThousandSep;
+	UINT      NegativeOrder;
+	UINT      PositiveOrder;
 	LPCWSTR   lpCurrencySymbol;
-} CURRENCYFMTW; 
+} CURRENCYFMTW;
 
 #define MONITOR_DEFAULTTONULL       0x00000000
 #define MONITOR_DEFAULTTOPRIMARY    0x00000001
@@ -2070,7 +2070,7 @@ typedef struct
 #define MNC_IGNORE 0
 #define MNC_CLOSE 1
 #define MNC_EXECUTE 2
-#define MNC_SELECT 3 
+#define MNC_SELECT 3
 
 /* SystemParametersInfo */
 /* defines below are for all win versions */
@@ -2764,7 +2764,7 @@ typedef struct
 #define VK_NONAME           0xFC
 #define VK_PA1              0xFD
 #define VK_OEM_CLEAR        0xFE
-  
+
   /* Key status flags for mouse events */
 #define MK_LBUTTON	    0x0001
 #define MK_RBUTTON	    0x0002

Modified: trunk/loader/wrapper.S
==============================================================================
--- trunk/loader/wrapper.S	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/loader/wrapper.S	Wed May 13 04:58:57 2009	(r29305)
@@ -6,10 +6,10 @@ caller_return:
 report_entry:
 	.long null_call
 .globl report_ret
-report_ret:	
+report_ret:
 	.long null_call
 .global wrapper_target
-wrapper_target:	
+wrapper_target:
 	.long null_call
 
 .section .text
@@ -22,43 +22,43 @@ null_call:
 	.type wrapper, @function
 	.balign 16,0x90
 wrapper:
-	pusha			# store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI) 
+	pusha			# store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI)
 	pushf			# store flags
-	
-	push %ebp		# set up a stack frame 
+
+	push %ebp		# set up a stack frame
 	movl %esp, %ebp
 
 	leal 4(%ebp), %eax	# push flags addr
 	push %eax
 	leal 8(%ebp), %eax	# push registers addr
 	push %eax
-	
-	leal 40(%ebp), %edx	
+
+	leal 40(%ebp), %edx
 	movl (%ebp), %eax
 	subl %edx, %eax
 	push %eax
 	push %edx
-	
+
 	call *report_entry	# report entry
-	
+
 	test %eax, %eax
 	jnz .Ldone
 
 	leave			# restore %esp, %ebp
 	popf			# restore flags
 	popa			# restore registers
-	
+
 	popl caller_return	# switch return addresses
-	pushl $.Lwrapper_return 
-	
+	pushl $.Lwrapper_return
+
 	jmp *wrapper_target	# wrapper_target should return at .Lwrapper_return
 
 	.balign 16, 0x90
-.Lwrapper_return:	
+.Lwrapper_return:
 	pushl caller_return	# restore the original return address
 	pusha			# more for reference sake here
 	pushf
-	
+
 	push %ebp		# set up a stack frame
 	movl %esp, %ebp
 
@@ -74,10 +74,10 @@ wrapper:
 	push %edx
 
 	call *report_ret	# report the return information (same args)
-.Ldone:	
+.Ldone:
 
 	leave
 	popf
 	popa
 	ret
-	
+

Modified: trunk/m_config.c
==============================================================================
--- trunk/m_config.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_config.c	Wed May 13 04:58:57 2009	(r29305)
@@ -60,7 +60,7 @@ m_config_new(void) {
   for(i = 0 ; config->self_opts[i].name ; i++)
     config->self_opts[i].priv = config;
   m_config_register_options(config,config->self_opts);
-  
+
   return config;
 }
 
@@ -74,7 +74,7 @@ m_config_free(m_config_t* config) {
 #ifdef MP_DEBUG
   assert(config != NULL);
 #endif
-  
+
   while(i) {
     if (i->flags & M_CFG_OPT_ALIAS)
       sl = NULL;
@@ -104,7 +104,7 @@ m_config_free(m_config_t* config) {
     free(p);
   }
   free(config->self_opts);
-  free(config);  
+  free(config);
 }
 
 void
@@ -131,8 +131,8 @@ m_config_push(m_config_t* config) {
 
     // Update the current status
     m_option_save(co->opt,co->slots->data,co->opt->p);
-    
-    // Allocate a new slot    
+
+    // Allocate a new slot
     slot = calloc(1,sizeof(m_config_save_slot_t) + co->opt->type->size);
     slot->lvl = config->lvl;
     slot->prev = co->slots;
@@ -141,7 +141,7 @@ m_config_push(m_config_t* config) {
     // Reset our set flag
     co->flags &= ~M_CFG_OPT_SET;
   }
-  
+
   mp_msg(MSGT_CFGPARSER, MSGL_DBG2,"Config pushed level is now %d\n",config->lvl);
 }
 
@@ -165,7 +165,7 @@ m_config_pop(m_config_t* config) {
       continue;
     if(co->slots->lvl > config->lvl)
       mp_msg(MSGT_CFGPARSER, MSGL_WARN,MSGTR_SaveSlotTooOld,config->lvl,co->slots->lvl);
-    
+
     while(co->slots->lvl >= config->lvl) {
       m_option_free(co->opt,co->slots->data);
       slot = co->slots;
@@ -261,13 +261,13 @@ m_config_register_options(m_config_t *co
   return 1;
 }
 
-static m_config_option_t* 
+static m_config_option_t*
 m_config_get_co(m_config_t *config, char* arg) {
   m_config_option_t *co;
 
   for(co = config->opts ; co ; co = co->next ) {
     int l = strlen(co->name) - 1;
-    if((co->opt->type->flags & M_OPT_TYPE_ALLOW_WILDCARD) && 
+    if((co->opt->type->flags & M_OPT_TYPE_ALLOW_WILDCARD) &&
        (co->name[l] == '*')) {
       if(strncasecmp(co->name,arg,l) == 0)
 	return co;
@@ -346,7 +346,7 @@ m_config_parse_option(m_config_t *config
       free(lst[2*i]);
       free(lst[2*i+1]);
     }
-    if(lst) free(lst);      
+    if(lst) free(lst);
   } else
     r = m_option_parse(co->opt,arg,param,set ? co->slots->data : NULL,config->mode);
 
@@ -516,7 +516,7 @@ parse_profile(const m_option_t *opt, con
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, "\n");
     return M_OPT_EXIT-1;
   }
-    
+
   r = m_option_type_string_list.parse(opt,name,param,&list,src);
   if(r < 0) return r;
   if(!list || !list[0]) return M_OPT_INVALID;
@@ -568,10 +568,10 @@ show_profile(m_option_t *opt, char* name
     for(j = 0 ; j < config->profile_depth ; j++)
       spc[j] = ' ';
     spc[config->profile_depth] = '\0';
-    
+
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s%s=%s\n", spc,
 	   p->opts[2*i], p->opts[2*i+1]);
-    
+
 
     if(config->profile_depth < MAX_PROFILE_DEPTH &&
        !strcmp(p->opts[2*i],"profile")) {

Modified: trunk/m_config.h
==============================================================================
--- trunk/m_config.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_config.h	Wed May 13 04:58:57 2009	(r29305)
@@ -66,7 +66,7 @@ struct m_profile {
 typedef struct m_config {
   /// Registered options.
   /** This contains all options and suboptions.
-   */ 
+   */
   m_config_option_t* opts;
   /// Current stack level.
   int lvl;
@@ -174,7 +174,7 @@ m_config_add_profile(m_config_t* config,
 
 /// Set the description of a profile.
 /** Used by the config file parser when defining a profile.
- * 
+ *
  *  \param p The profile object.
  *  \param arg The profile's name.
  */
@@ -183,7 +183,7 @@ m_profile_set_desc(m_profile_t* p, char*
 
 /// Add an option to a profile.
 /** Used by the config file parser when defining a profile.
- * 
+ *
  *  \param config The config object.
  *  \param p The profile object.
  *  \param name The option's name.
@@ -195,7 +195,7 @@ m_config_set_profile_option(m_config_t* 
 
 /// Enables profile usage
 /** Used by the config file parser when loading a profile.
- * 
+ *
  *  \param config The config object.
  *  \param p The profile object.
  */

Modified: trunk/m_option.c
==============================================================================
--- trunk/m_option.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_option.c	Wed May 13 04:58:57 2009	(r29305)
@@ -46,7 +46,7 @@ static void copy_opt(const m_option_t* o
 }
 
 // Helper for the print funcs (from man printf)
-static char* dup_printf(const char *fmt, ...) {       
+static char* dup_printf(const char *fmt, ...) {
   /* Guess we need no more than 50 bytes. */
   int n, size = 50;
   char *p;
@@ -59,7 +59,7 @@ static char* dup_printf(const char *fmt,
     n = vsnprintf (p, size, fmt, ap);
     va_end(ap);
     /* If that worked, return the string. */
-    if (n > -1 && n < size)      
+    if (n > -1 && n < size)
       return p;
     /* Else try again with more space. */
     if (n > -1)    /* glibc 2.1 */
@@ -365,7 +365,7 @@ const m_option_type_t m_option_type_posi
 #define VAL(x) (*(char**)(x))
 
 static int parse_str(const m_option_t* opt,const char *name, char *param, void* dst, int src) {
-  
+
 
   if (param == NULL)
       return M_OPT_MISSING_PARAM;
@@ -404,7 +404,7 @@ static void copy_str(const m_option_t* o
     VAL(dst) = VAL(src) ? strdup(VAL(src)) : NULL;
   }
 }
-  
+
 static void free_str(void* src) {
   if(src && VAL(src)){
 #ifndef NO_FREE
@@ -426,7 +426,7 @@ const m_option_type_t m_option_type_stri
   copy_str,
   free_str
 };
-  
+
 //////////// String list
 
 #define LIST_SEPARATOR ','
@@ -466,17 +466,17 @@ static int str_list_add(char** add, int 
     /**/;
 
   lst = realloc(lst,(n+ln+1)*sizeof(char*));
-  
+
   if(pre) {
     memmove(&lst[n],lst,(ln+1)*sizeof(char*));
     memcpy(lst,add,n*sizeof(char*));
-  } else 
+  } else
     memcpy(&lst[ln],add,(n+1)*sizeof(char*));
 
   free(add);
 
   VAL(dst) = lst;
-  
+
   return 1;
 }
 
@@ -484,7 +484,7 @@ static int str_list_del(char** del, int 
   char **lst,*ep,**d;
   int i,ln,s;
   long idx;
-  
+
   if(!dst) return M_OPT_PARSER_ERR;
   lst = VAL(dst);
 
@@ -530,7 +530,7 @@ static int str_list_del(char** del, int 
 
   return 1;
 }
-  
+
 static char *get_nextsep(char *ptr, char sep, int modify) {
     char *last_ptr = ptr;
     for(;;){
@@ -587,7 +587,7 @@ static int parse_str_list(const m_option
   }
   if(n == 0)
     return M_OPT_INVALID;
-  if( ((opt->flags & M_OPT_MIN) && (n < opt->min)) || 
+  if( ((opt->flags & M_OPT_MIN) && (n < opt->min)) ||
       ((opt->flags & M_OPT_MAX) && (n > opt->max)) )
     return M_OPT_OUT_OF_RANGE;
 
@@ -630,7 +630,7 @@ static int parse_str_list(const m_option
 
   return 1;
 }
-  
+
 static void copy_str_list(const m_option_t* opt,void* dst, void* src) {
   int n;
   char **d,**s;
@@ -659,7 +659,7 @@ static char* print_str_list(const m_opti
   char **lst = NULL;
   char *ret = NULL,*last = NULL;
   int i;
-  
+
   if(!(src && VAL(src))) return NULL;
   lst = VAL(src);
 
@@ -683,7 +683,7 @@ const m_option_type_t m_option_type_stri
   "\t-pre: Add the given parameters at the beginning of the list.\n"
   "\t-del: Remove the entry at the given indices.\n"
   "\t-clr: Clear the list.\n"
-  "e.g: -vf-add flip,mirror -vf-del 2,5\n",  
+  "e.g: -vf-add flip,mirror -vf-del 2,5\n",
   sizeof(char**),
   M_OPT_TYPE_DYNAMIC | M_OPT_TYPE_ALLOW_WILDCARD,
   parse_str_list,
@@ -693,8 +693,8 @@ const m_option_type_t m_option_type_stri
   copy_str_list,
   free_str_list
 };
- 
- 
+
+
 ///////////////////  Func based options
 
 // A chained list to save the various calls for func_param and func_full
@@ -714,7 +714,7 @@ static void free_func_pf(void* src) {
   if(!src) return;
 
   s = VAL(src);
-  
+
   while(s) {
     n = s->next;
     free(s->name);
@@ -767,8 +767,8 @@ static void copy_func_pf(const m_option_
     last = d;
     s = s->next;
   }
-  
-    
+
+
 }
 
 /////////////////// Func_param
@@ -778,7 +778,7 @@ static void set_func_param(const m_optio
 
   if(!src) return;
   s = VAL(src);
-  
+
   if(!s) return;
 
   // Revert if needed
@@ -861,7 +861,7 @@ const m_option_type_t m_option_type_func
 /////////////////// Print
 
 static int parse_print(const m_option_t* opt,const char *name, char *param, void* dst, int src) {
-  if(opt->type == CONF_TYPE_PRINT_INDIRECT) 
+  if(opt->type == CONF_TYPE_PRINT_INDIRECT)
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", *(char **) opt->p);
   else if(opt->type == CONF_TYPE_PRINT_FUNC)
     return ((m_opt_func_full_t) opt->p)(opt,name,param);
@@ -977,7 +977,7 @@ static int parse_subconf(const m_option_
         mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Incorrect termination for '%s'\n", subopt);
         return M_OPT_INVALID;
       }
-			    
+
       switch(sscanf_ret)
 	{
 	case 1:
@@ -1087,7 +1087,7 @@ static int parse_imgfmt(const m_option_t
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, "\n");
     return M_OPT_EXIT - 1;
   }
-  
+
   if (sscanf(param, "0x%x", &fmt) != 1)
   {
   for(i = 0 ; mp_imgfmt_list[i].name ; i++) {
@@ -1175,7 +1175,7 @@ static int parse_afmt(const m_option_t* 
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, "\n");
     return M_OPT_EXIT - 1;
   }
-  
+
   if (sscanf(param, "0x%x", &fmt) != 1)
   {
   for(i = 0 ; mp_afmt_list[i].name ; i++) {
@@ -1222,7 +1222,7 @@ static double parse_timestring(const cha
     return d;
   return -1e100;
 }
-    
+
 
 static int parse_time(const m_option_t* opt,const char *name, char *param, void* dst, int src)
 {
@@ -1230,14 +1230,14 @@ static int parse_time(const m_option_t* 
 
   if (param == NULL || strlen(param) == 0)
     return M_OPT_MISSING_PARAM;
-  
+
   time = parse_timestring(param);
   if (time == -1e100) {
     mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Option %s: invalid time: '%s'\n",
            name,param);
     return M_OPT_INVALID;
   }
-  
+
   if (dst)
     *(double *)dst = time;
   return 1;
@@ -1266,7 +1266,7 @@ static int parse_time_size(const m_optio
 
   if (param == NULL || strlen(param) == 0)
     return M_OPT_MISSING_PARAM;
-  
+
   ts.pos=0;
   /* End at size parsing */
   if(sscanf(param, "%lf%3s", &end_at, unit) == 2) {
@@ -1295,7 +1295,7 @@ static int parse_time_size(const m_optio
            name,param);
     return M_OPT_INVALID;
   }
-  
+
   ts.type = END_AT_TIME;
   ts.pos  = end_at;
 out:
@@ -1317,7 +1317,7 @@ const m_option_type_t m_option_type_time
   NULL
 };
 
- 
+
 //// Objects (i.e. filters, etc) settings
 
 #include "m_struct.h"
@@ -1465,7 +1465,7 @@ static int get_obj_params(const char* op
   ret = malloc((n+2)*2*sizeof(char*));
   n = nold = 0;
   last_ptr = params;
-  
+
   while(last_ptr && last_ptr[0] != '\0') {
     ptr = strchr(last_ptr,separator);
     if(!ptr) {
@@ -1483,9 +1483,9 @@ static int get_obj_params(const char* op
     n++;
     last_ptr = ptr+1;
   }
-  ret[n*2] = ret[n*2+1] = NULL;  
+  ret[n*2] = ret[n*2+1] = NULL;
   *_ret = ret;
-  
+
   return 1;
 }
 
@@ -1496,11 +1496,11 @@ static int parse_obj_params(const m_opti
   m_obj_params_t* p = opt->priv;
   const m_struct_t* desc;
   char* cpy;
-  
+
   // We need the object desc
   if(!p)
     return M_OPT_INVALID;
-  
+
   desc = p->desc;
   cpy = strdup(param);
   r = get_obj_params(name,desc->name,cpy,desc,p->separator,dst ? &opts : NULL);
@@ -1515,7 +1515,7 @@ static int parse_obj_params(const m_opti
   for(r = 0 ; opts[r] ; r += 2)
     m_struct_set(desc,dst,opts[r],opts[r+1]);
 
-  return 1;     
+  return 1;
 }
 
 
@@ -1558,7 +1558,7 @@ static int parse_obj_settings(const char
   char *param,**plist = NULL;
   const m_struct_t* desc;
   m_obj_settings_t *ret = _ret ? *_ret : NULL;
-  
+
 
   // Now check that the object exists
   param = strchr(str,'=');
@@ -1699,7 +1699,7 @@ static int parse_obj_settings_list(const
 	     " Negative index can be used (i.e. -1 is the last element)\n\n"
 	     "  %s-clr\n"
 	     " Clear the current list.\n",name,n,prefix,prefix,prefix,prefix);
-      
+
       return M_OPT_UNKNOWN;
     }
   }
@@ -1771,10 +1771,10 @@ static int parse_obj_settings_list(const
   if(n == 0)
     return M_OPT_INVALID;
 
-  if( ((opt->flags & M_OPT_MIN) && (n < opt->min)) || 
+  if( ((opt->flags & M_OPT_MIN) && (n < opt->min)) ||
       ((opt->flags & M_OPT_MAX) && (n > opt->max)) )
     return M_OPT_OUT_OF_RANGE;
-  
+
   if(dst) {
     if(queue) {
       int qsize;
@@ -1793,7 +1793,7 @@ static int parse_obj_settings_list(const
       memcpy(&head[hsize],res,(n+1)*sizeof(m_obj_settings_t));
       free(res);
       res = head;
-    }      
+    }
     VAL(dst) = res;
   }
   return 1;
@@ -1828,9 +1828,9 @@ static void copy_obj_settings_list(const
   if(VAL(dst))
     free_obj_settings_list(dst);
   if(!s) return;
-    
-    
-  
+
+
+
   for(n = 0 ; s[n].name ; n++)
     /* NOP */;
   d = malloc((n+1)*sizeof(m_obj_settings_t));
@@ -1882,8 +1882,8 @@ static int parse_obj_presets(const m_opt
 
   if(!strcmp(param,"help")) {
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, "Available presets for %s->%s:",out_desc->name,name);
-    for(pre = obj_p->presets;(pre_name = M_ST_MB(char*,pre,obj_p->name_off)) ; 
-	pre +=  s) 
+    for(pre = obj_p->presets;(pre_name = M_ST_MB(char*,pre,obj_p->name_off)) ;
+	pre +=  s)
       mp_msg(MSGT_CFGPARSER, MSGL_ERR, " %s",pre_name);
     mp_msg(MSGT_CFGPARSER, MSGL_ERR, "\n");
     return M_OPT_EXIT - 1;
@@ -1896,15 +1896,15 @@ static int parse_obj_presets(const m_opt
   if(!pre_name) {
     mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Option %s: There is no preset named %s\n"
 	   "Available presets are:",name,param);
-    for(pre = obj_p->presets;(pre_name = M_ST_MB(char*,pre,obj_p->name_off)) ; 
-	pre +=  s) 
+    for(pre = obj_p->presets;(pre_name = M_ST_MB(char*,pre,obj_p->name_off)) ;
+	pre +=  s)
       mp_msg(MSGT_CFGPARSER, MSGL_ERR, " %s",pre_name);
     mp_msg(MSGT_CFGPARSER, MSGL_ERR, "\n");
     return M_OPT_INVALID;
   }
 
   if(!dst) return 1;
-  
+
   for(i = 0 ; in_desc->fields[i].name ; i++) {
     const m_option_t* out_opt = m_option_list_find(out_desc->fields,
 					     in_desc->fields[i].name);
@@ -1936,7 +1936,7 @@ static int parse_custom_url(const m_opti
   int pos1, pos2, r, v6addr = 0;
   char *ptr1=NULL, *ptr2=NULL, *ptr3=NULL, *ptr4=NULL;
   m_struct_t* desc = opt->priv;
-  
+
   if(!desc) {
     mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Option %s: Custom URL needs a pointer to a m_struct_t in the priv field.\n",name);
     return M_OPT_PARSER_ERR;
@@ -1982,7 +1982,7 @@ static int parse_custom_url(const m_opti
     ptr2 = NULL;
   }
   if( ptr2!=NULL ) {
-    
+
     // We got something, at least a username...
     if(!m_option_list_find(desc->fields,"username")) {
       mp_msg(MSGT_CFGPARSER, MSGL_WARN, "Option %s: This URL doesn't have a username part.\n",name);
@@ -1994,7 +1994,7 @@ static int parse_custom_url(const m_opti
 	if(!m_option_list_find(desc->fields,"password")) {
 	  mp_msg(MSGT_CFGPARSER, MSGL_WARN, "Option %s: This URL doesn't have a password part.\n",name);
 	  // skip
-	} else { // Username and password   
+	} else { // Username and password
 	  if(dst) {
 	    ptr3[0] = '\0';
 	    r = m_struct_set(desc,dst,"username",ptr1);
@@ -2039,7 +2039,7 @@ static int parse_custom_url(const m_opti
     ptr2 = ptr3;
     v6addr = 1;
   } else {
-    ptr2 = ptr1;  
+    ptr2 = ptr1;
   }
 
   // look if the port is given
@@ -2139,4 +2139,4 @@ const m_option_type_t m_option_type_cust
   NULL,
   NULL,
   NULL
-};	
+};

Modified: trunk/m_option.h
==============================================================================
--- trunk/m_option.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_option.h	Wed May 13 04:58:57 2009	(r29305)
@@ -187,10 +187,10 @@ struct m_option_type {
   unsigned int size;
   /// See \ref OptionTypeFlags.
   unsigned int flags;
-  
+
   /// Parse the data from a string.
   /** It is the only required function, all others can be NULL.
-   * 
+   *
    *  \param opt The option that is parsed.
    *  \param name The full option name.
    *  \param param The parameter to parse.
@@ -201,7 +201,7 @@ struct m_option_type {
    *          consumed. For details see \ref OptionParserReturn.
    */
   int (*parse)(const m_option_t* opt,const char *name, char *param, void* dst, int src);
-  
+
   /// Print back a value in string form.
   /** \param opt The option to print.
    *  \param val Pointer to the memory holding the data to be printed.
@@ -224,7 +224,7 @@ struct m_option_type {
    *  \param src Pointer to the source memory.
    */
   void (*save)(const m_option_t* opt,void* dst, void* src);
-  
+
   /// Set the value in the program (dst) from a save slot.
   /** \param opt The option to copy.
    *  \param dst Pointer to the destination memory.
@@ -256,20 +256,20 @@ struct m_option_type {
 struct m_option {
   /// Option name.
   const char *name;
-  
+
   /// Reserved for higher level APIs, it shouldn't be used by parsers.
   /** The suboption parser and func types do use it. They should instead
    *  use the priv field but this was inherited from older versions of the
    *  config code.
    */
   void *p;
-  
+
   /// Option type.
   const m_option_type_t* type;
-  
+
   /// See \ref OptionFlags.
   unsigned int flags;
-  
+
   /// \brief Mostly useful for numeric types, the \ref M_OPT_MIN flags must
   /// also be set.
   double min;
@@ -277,7 +277,7 @@ struct m_option {
   /// \brief Mostly useful for numeric types, the \ref M_OPT_MAX flags must
   /// also be set.
   double max;
-  
+
   /// Type dependent data (for all kinds of extended settings).
   /** This used to be a function pointer to hold a 'reverse to defaults' func.
    *  Now it can be used to pass any type of extra args needed by the parser.
@@ -427,7 +427,7 @@ struct m_option {
 /// Returned when the given parameter couldn't be parsed.
 #define M_OPT_INVALID		-3
 
-/// \brief Returned if the value is "out of range". The exact meaning may 
+/// \brief Returned if the value is "out of range". The exact meaning may
 /// vary from type to type.
 #define M_OPT_OUT_OF_RANGE	-4
 
@@ -456,7 +456,7 @@ struct m_option {
 /** \ingroup Options
  *  This function takes the possible wildcards into account (see
  *  \ref M_OPT_TYPE_ALLOW_WILDCARD).
- * 
+ *
  *  \param list Pointer to an array of \ref m_option.
  *  \param name Name of the option.
  *  \return The matching option or NULL.

Modified: trunk/m_property.c
==============================================================================
--- trunk/m_property.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_property.c	Wed May 13 04:58:57 2009	(r29305)
@@ -101,7 +101,7 @@ char* m_properties_expand_string(const m
     int l,fr=0,pos=0,size=strlen(str)+512;
     char *p = NULL,*e,*ret = malloc(size), num_val;
     int skip = 0, lvl = 0, skip_lvl = 0;
-    
+
     while(str[0]) {
         if(str[0] == '\\') {
             int sl = 1;
@@ -114,7 +114,7 @@ char* m_properties_expand_string(const m
                 p = "\r", l = 1; break;
             case 't':
                 p = "\t", l = 1; break;
-            case 'x': 
+            case 'x':
                 if(str[2]) {
                     char num[3] = { str[2], str[3], 0 };
                     char* end = num;
@@ -145,7 +145,7 @@ char* m_properties_expand_string(const m
             str = e+1;
         } else if(str[0] == '?' && str[1] == '(' && (e = strchr(str+2,':'))) {
             lvl++;
-            if(!skip) {            
+            if(!skip) {
                 int is_not = str[2] == '!';
                 int pl = e - str - (is_not ? 3 : 2);
                 char pname[pl+1];
@@ -161,9 +161,9 @@ char* m_properties_expand_string(const m
             str = e+1, l = 0;
         } else
             p = str, l = 1, str++;
-        
+
         if(skip || l <= 0) continue;
-        
+
         if(pos+l+1 > size) {
             size = pos+l+512;
             ret = realloc(ret,size);
@@ -172,7 +172,7 @@ char* m_properties_expand_string(const m
         pos += l;
         if(fr) free(p), fr = 0;
     }
-    
+
     ret[pos] = 0;
     return ret;
 }
@@ -180,7 +180,7 @@ char* m_properties_expand_string(const m
 void m_properties_print_help_list(const m_option_t* list) {
     char min[50],max[50];
     int i,count = 0;
-    
+
     mp_msg(MSGT_CFGPARSER, MSGL_INFO, MSGTR_PropertyListHeader);
     for(i = 0 ; list[i].name ; i++) {
         const m_option_t* opt = &list[i];

Modified: trunk/m_property.h
==============================================================================
--- trunk/m_property.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_property.h	Wed May 13 04:58:57 2009	(r29305)
@@ -128,7 +128,7 @@ void m_properties_print_help_list(const 
  *  ${NAME} is expanded to the value of property NAME or an empty
  *  string in case of error. $(NAME:STR) expand STR only if the property
  *  NAME is available.
- * 
+ *
  *  \param prop_list An array of \ref m_option describing the available
  *                   properties.
  *  \param str The string to expand.

Modified: trunk/m_struct.c
==============================================================================
--- trunk/m_struct.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/m_struct.c	Wed May 13 04:58:57 2009	(r29305)
@@ -41,7 +41,7 @@ m_struct_alloc(const m_struct_t* st) {
 
   r = calloc(1,st->size);
   memcpy(r,st->defaults,st->size);
- 
+
   for(i = 0 ; st->fields[i].name ; i++) {
     if(st->fields[i].type->flags & M_OPT_TYPE_DYNAMIC)
       memset(M_ST_MB_P(r,st->fields[i].p),0,st->fields[i].type->size);
@@ -58,14 +58,14 @@ m_struct_set(const m_struct_t* st, void*
     mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Struct %s doesn't have any %s field\n",
 	   st->name,field);
     return 0;
-  } 
+  }
 
   if(f->type->parse(f,field,param,M_ST_MB_P(obj,f->p),M_CONFIG_FILE) < 0) {
     mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Struct %s, field %s parsing error: %s\n",
 	   st->name,field,param);
     return 0;
   }
-  
+
   return 1;
 }
 
@@ -82,7 +82,7 @@ m_struct_reset(const m_struct_t* st, voi
 
   // Only one
   f = m_struct_get_field(st,field);
-  if(!f) {    
+  if(!f) {
     mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Struct %s doesn't have any %s field\n",
 	   st->name,field);
     return;
@@ -104,7 +104,7 @@ void*
 m_struct_copy(const m_struct_t* st, void* obj) {
   void* r = malloc(st->size);
   int i;
-  
+
   memcpy(r,obj,st->size);
   for(i = 0 ; st->fields[i].name ; i++) {
     if(st->fields[i].type->flags & M_OPT_TYPE_DYNAMIC)

Modified: trunk/mencoder.c
==============================================================================
--- trunk/mencoder.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mencoder.c	Wed May 13 04:58:57 2009	(r29305)
@@ -114,8 +114,8 @@ static char* spudec_ifo=NULL;
 
 static char** audio_codec_list=NULL;  // override audio codec
 static char** video_codec_list=NULL;  // override video codec
-static char** audio_fm_list=NULL;     // override audio codec family 
-static char** video_fm_list=NULL;     // override video codec family 
+static char** audio_fm_list=NULL;     // override audio codec family
+static char** video_fm_list=NULL;     // override video codec family
 extern char *demuxer_name; // override demuxer
 extern char *audio_demuxer_name; // override audio demuxer
 extern char *sub_demuxer_name; // override sub demuxer
@@ -305,7 +305,7 @@ static void parse_cfgfiles( m_config_t* 
   char *conffile;
   if (!disable_system_conf &&
       m_config_parse_config_file(conf, MPLAYER_CONFDIR "/mencoder.conf") < 0)
-    mencoder_exit(1,MSGTR_ConfigFileError); 
+    mencoder_exit(1,MSGTR_ConfigFileError);
 
   if (!disable_user_conf) {
     if ((conffile = get_path("mencoder.conf")) == NULL) {
@@ -418,7 +418,7 @@ user_correct_pts = 0;
 #if (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_WIN32DLL)
   set_path_env();
 #endif
-  
+
   InitTimer();
 
 // check codec.conf
@@ -439,13 +439,13 @@ if(!codecs_file || !parse_codec_cfg(code
 
 {
 	char *extension;
-	
+
 	if (!out_filename) mencoder_exit(1,MSGTR_MissingOutputFilename);
 	extension=strrchr(out_filename,'.');
 	if (extension != NULL && strlen(extension) > 3 && strlen(extension) < 6)
 	{
 		extension++;
-		
+
 		switch (out_file_format)
 		{
 			case MUXER_TYPE_AVI:
@@ -456,12 +456,12 @@ if(!codecs_file || !parse_codec_cfg(code
 			case MUXER_TYPE_MPEG:
 			if (strcasecmp(extension,"mpg") &&
 				strcasecmp(extension,"mpeg") &&
-				strcasecmp(extension,"vob")) 
+				strcasecmp(extension,"vob"))
 				mp_msg(MSGT_MENCODER, MSGL_WARN, MSGTR_MencoderWrongFormatMPG);
 			break;
 		}
 	}
-}				
+}
  /* Display what configure line was used */
  mp_msg(MSGT_MENCODER, MSGL_V, "Configuration: " CONFIGURATION "\n");
 
@@ -477,7 +477,7 @@ if (frameno_filename) {
 
 #ifdef CONFIG_PRIORITY
   set_priority();
-#endif	
+#endif
 
 // check font
 #ifdef CONFIG_FREETYPE
@@ -511,7 +511,7 @@ play_next_file:
   m_config_push(mconfig);
   m_entry_set_options(mconfig,&filelist[curfile]);
   filename = filelist[curfile].name;
- 
+
   if(!filename){
 	mp_msg(MSGT_CPLAYER, MSGL_FATAL, MSGTR_MissingFilename);
 	mencoder_exit(1,NULL);
@@ -554,7 +554,7 @@ if(stream->type==STREAMTYPE_DVDNAV){
   }
 
   select_audio(demuxer, audio_id, audio_lang);
- 
+
   if (dvdsub_id < 0 && dvdsub_lang)
     dvdsub_id = demuxer_sub_track_by_lang(demuxer, dvdsub_lang);
 
@@ -584,7 +584,7 @@ sh_video=d_video->sh;
 
   if(!sh_video)
   {
-	mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_VideoStreamRequired); 
+	mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_VideoStreamRequired);
 	mencoder_exit(1,NULL);
   }
 
@@ -822,7 +822,7 @@ default: {
         sh_video->vfilter=vf_open_encoder(NULL,"xvid",(char *)mux_v); break;
     case VCODEC_QTVIDEO:
         sh_video->vfilter=vf_open_encoder(NULL,"qtvideo",(char *)mux_v); break;
-    case VCODEC_NUV:        
+    case VCODEC_NUV:
         sh_video->vfilter=vf_open_encoder(NULL,"nuv",(char *)mux_v); break;
     case VCODEC_X264:
         sh_video->vfilter=vf_open_encoder(NULL,"x264",(char *)mux_v); break;
@@ -904,7 +904,7 @@ if(mux_a->codec != ACODEC_COPY) {
     aencoder = new_audio_encoder(mux_a, &aparams);
     if(!aencoder)
         mencoder_exit(1, NULL);
-    if(!init_audio_filters(sh_audio, 
+    if(!init_audio_filters(sh_audio,
         new_srate,
         &aparams.sample_rate, &aparams.channels, &aencoder->input_format)) {
       mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_NoMatchingFilter);
@@ -1035,7 +1035,7 @@ if (out_file_format == MUXER_TYPE_MPEG)
 	}
 	}
 
-if(file_format == DEMUXER_TYPE_TV) 
+if(file_format == DEMUXER_TYPE_TV)
 	{
 	mp_msg(MSGT_MENCODER, MSGL_WARN, MSGTR_ZeroingAudioPreloadAndMaxPtsCorrection);
 	audio_preload = 0.0;
@@ -1147,11 +1147,11 @@ if(sh_audio){
 				len = aencoder->decode_buffer_size;
 
 			len = dec_audio(sh_audio, aencoder->decode_buffer, len);
-			mux_a->buffer_len += aencoder->encode(aencoder, mux_a->buffer + mux_a->buffer_len, 
+			mux_a->buffer_len += aencoder->encode(aencoder, mux_a->buffer + mux_a->buffer_len,
 				aencoder->decode_buffer, len, mux_a->buffer_size-mux_a->buffer_len);
 			if(mux_a->buffer_len < mux_a->wf->nBlockAlign)
 				len = 0;
-			else 
+			else
 				len = mux_a->wf->nBlockAlign*(mux_a->buffer_len/mux_a->wf->nBlockAlign);
 		}
 		else	/* VBR */
@@ -1210,7 +1210,7 @@ if(sh_audio){
 
 	audiosamples++;
 	audiorate+= (GetTimerMS() - ptimer_start);
-	
+
     }
 }
 
@@ -1296,9 +1296,9 @@ default:
     {void *decoded_frame = decode_video(sh_video,frame_data.start,frame_data.in_size,
       skip_flag>0 && (!sh_video->vfilter || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_SKIP_NEXT_FRAME, 0) != CONTROL_TRUE), MP_NOPTS_VALUE);
     blit_frame = decoded_frame && filter_video(sh_video, decoded_frame, MP_NOPTS_VALUE);}
-    
+
     if (sh_video->vf_initialized < 0) mencoder_exit(1, NULL);
-    
+
     if(!blit_frame){
       if (play_n_frames >= 0)
         play_n_frames++;
@@ -1356,7 +1356,7 @@ if(sh_audio && !demuxer2){
 //	printf("samples=%d  \n",samples);
         a_pts=samples*(float)sh_audio->audio.dwScale/(float)sh_audio->audio.dwRate;
       delay_corrected=1;
-    } else 
+    } else
 #endif
     {
       // PTS = (last timestamp) + (bytes after last timestamp)/(bytes per sec)
@@ -1425,7 +1425,7 @@ if(sh_audio && !demuxer2){
 		mp_msg(MSGT_STATUSLINE,MSGL_STATUS,"Pos:%6.1fs %6df (%2d%%) %3dfps Trem:%4dmin %3dmb  A-V:%5.3f [%d:%d] A/Vms %d/%d D/B/S %d/%d/%d \r",
 	    	mux_v->timer, decoded_frameno, (int)(p*100),
 	    	(t>1) ? (int)(decoded_frameno/t+0.5) : 0,
-	    	(p>0.001) ? (int)((t/p-t)/60) : 0, 
+	    	(p>0.001) ? (int)((t/p-t)/60) : 0,
 	    	(p>0.001) ? (int)(stream_tell(muxer->stream)/p/1024/1024) : 0,
 	    	v_pts_corr,
 	    	(mux_v->timer>1) ? (int)(mux_v->size/mux_v->timer/125) : 0,
@@ -1437,7 +1437,7 @@ if(sh_audio && !demuxer2){
 	mp_msg(MSGT_STATUSLINE,MSGL_STATUS,"Pos:%6.1fs %6df (%2d%%) %5.2ffps Trem:%4dmin %3dmb  A-V:%5.3f [%d:%d]\r",
 	    mux_v->timer, decoded_frameno, (int)(p*100),
 	    (t>1) ? (float)(decoded_frameno/t) : 0,
-	    (p>0.001) ? (int)((t/p-t)/60) : 0, 
+	    (p>0.001) ? (int)((t/p-t)/60) : 0,
 	    (p>0.001) ? (int)(stream_tell(muxer->stream)/p/1024/1024) : 0,
 	    v_pts_corr,
 	    (mux_v->timer>1) ? (int)(mux_v->size/mux_v->timer/125) : 0,

Modified: trunk/mixer.c
==============================================================================
--- trunk/mixer.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mixer.c	Wed May 13 04:58:57 2009	(r29305)
@@ -112,7 +112,7 @@ void mixer_mute(mixer_t *mixer)
 {
  if (mixer->muted) mixer_setvolume(mixer, mixer->last_l, mixer->last_r);
   else
-   { 
+   {
     mixer_getvolume(mixer, &mixer->last_l, &mixer->last_r);
     mixer_setvolume(mixer, 0, 0);
     mixer->muted=1;

Modified: trunk/mp3lib/dct12.c
==============================================================================
--- trunk/mp3lib/dct12.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/dct12.c	Wed May 13 04:58:57 2009	(r29305)
@@ -39,7 +39,7 @@ static void dct12(real *in,real *rawout1
      register real *out1 = rawout1;
      ts[SBLIMIT*0] = out1[0]; ts[SBLIMIT*1] = out1[1]; ts[SBLIMIT*2] = out1[2];
      ts[SBLIMIT*3] = out1[3]; ts[SBLIMIT*4] = out1[4]; ts[SBLIMIT*5] = out1[5];
- 
+
      DCT12_PART1
 
      {
@@ -73,7 +73,7 @@ static void dct12(real *in,real *rawout1
   {
      real in0,in1,in2,in3,in4,in5;
      register real *out2 = rawout2;
- 
+
      DCT12_PART1
 
      {
@@ -102,7 +102,7 @@ static void dct12(real *in,real *rawout1
      ts[(17-2)*SBLIMIT] += in4 * wi[5-2];
   }
 
-  in++; 
+  in++;
 
   {
      real in0,in1,in2,in3,in4,in5;

Modified: trunk/mp3lib/dct36.c
==============================================================================
--- trunk/mp3lib/dct36.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/dct36.c	Wed May 13 04:58:57 2009	(r29305)
@@ -4,7 +4,7 @@
  * $Id$
  */
 
-/* 
+/*
 // This is an optimized DCT from Jeff Tsay's maplay 1.2+ package.
 // Saved one multiplication by doing the 'twiddle factor' stuff
 // together with the window mul. (MH)
@@ -187,7 +187,7 @@ static void dct36(real *inbuf,real *o1,r
     out2[8-(v)] = tmp * w[26-(v)];  } \
     sum0 -= sum1; \
     ts[SBLIMIT*(8-(v))] = out1[8-(v)] + sum0 * w[8-(v)]; \
-    ts[SBLIMIT*(9+(v))] = out1[9+(v)] + sum0 * w[9+(v)]; 
+    ts[SBLIMIT*(9+(v))] = out1[9+(v)] + sum0 * w[9+(v)];
 #define MACRO1(v) { \
 	real sum0,sum1; \
     sum0 = tmp1a + tmp2a; \
@@ -212,7 +212,7 @@ static void dct36(real *inbuf,real *o1,r
     tb33 = in[2*3+1] * c[3];
     tb66 = in[2*6+1] * c[6];
 
-    { 
+    {
       real tmp1a,tmp2a,tmp1b,tmp2b;
       tmp1a =             in[2*1+0] * c[1] + ta33 + in[2*5+0] * c[5] + in[2*7+0] * c[7];
       tmp1b =             in[2*1+1] * c[1] + tb33 + in[2*5+1] * c[5] + in[2*7+1] * c[7];

Modified: trunk/mp3lib/dct64_altivec.c
==============================================================================
--- trunk/mp3lib/dct64_altivec.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/dct64_altivec.c	Wed May 13 04:58:57 2009	(r29305)
@@ -46,7 +46,7 @@ void dct64_altivec(real *a,real *b,real 
 {
   real __attribute__ ((aligned(16))) b1[0x20];
   real __attribute__ ((aligned(16))) b2[0x20];
-  
+
   real *out0 = a;
   real *out1 = b;
   real *samples = c;
@@ -57,7 +57,7 @@ void dct64_altivec(real *a,real *b,real 
 
   if (((unsigned long)b1 & 0x0000000F) ||
       ((unsigned long)b2 & 0x0000000F))
-    
+
   {
     printf("MISALIGNED:\t%p\t%p\t%p\t%p\t%p\n",
            b1, b2, a, b, samples);
@@ -65,7 +65,7 @@ void dct64_altivec(real *a,real *b,real 
 
 
 #ifdef ALTIVEC_USE_REFERENCE_C_CODE
-  
+
   {
     register real *costab = mp3lib_pnts[0];
 
@@ -249,7 +249,7 @@ void dct64_altivec(real *a,real *b,real 
       costabv3 = vec_perm(costabv3, costabv4, costab_perm);
       costabv5 = vec_ld(64, costab);
       costabv4 = vec_perm(costabv4, costabv5, costab_perm);
-    
+
       temp1 = vec_sub(vec_perm(samplesv4, samplesv4, reverse),
                       samplesv5);
       temp2 = vec_madd(temp1,
@@ -257,7 +257,7 @@ void dct64_altivec(real *a,real *b,real 
                        vczero);
       //vec_st(temp2, 64, b1);
       b1v4 = temp2;
-    
+
       temp1 = vec_sub(vec_perm(samplesv3, samplesv3, reverse),
                       samplesv6);
       temp2 = vec_madd(temp1,
@@ -272,7 +272,7 @@ void dct64_altivec(real *a,real *b,real 
                        vczero);
       //vec_st(temp2, 96, b1);
       b1v6 = temp2;
-    
+
       temp1 = vec_sub(vec_perm(samplesv1, samplesv1, reverse),
                       samplesv8);
       temp2 = vec_madd(temp1,
@@ -299,7 +299,7 @@ void dct64_altivec(real *a,real *b,real 
         costabv2 = vec_perm(costabv2, costabv3 , costab_perm);
         costabv1r = vec_perm(costabv1, costabv1, reverse);
         costabv2r = vec_perm(costabv2, costabv2, reverse);
-    
+
         temp1 = vec_add(b1v0, vec_perm(b1v3, b1v3, reverse));
         //vec_st(temp1, 0, b2);
         b2v0 = temp1;
@@ -333,7 +333,7 @@ void dct64_altivec(real *a,real *b,real 
       {
         register real *costab = mp3lib_pnts[2];
 
-    
+
         vector float costabv1r, costabv1, costabv2;
         vector unsigned char costab_perm = vec_lvsl(0, costab);
 
@@ -341,13 +341,13 @@ void dct64_altivec(real *a,real *b,real 
         costabv2 = vec_ld(16, costab);
         costabv1 = vec_perm(costabv1, costabv2, costab_perm);
         costabv1r = vec_perm(costabv1, costabv1, reverse);
-    
+
         temp1 = vec_add(b2v0, vec_perm(b2v1, b2v1, reverse));
         vec_st(temp1, 0, b1);
         temp2 = vec_sub(vec_perm(b2v0, b2v0, reverse), b2v1);
         temp1 = vec_madd(temp2, costabv1r, vczero);
         vec_st(temp1, 16, b1);
-    
+
         temp1 = vec_add(b2v2, vec_perm(b2v3, b2v3, reverse));
         vec_st(temp1, 32, b1);
         temp2 = vec_sub(b2v3, vec_perm(b2v2, b2v2, reverse));
@@ -365,7 +365,7 @@ void dct64_altivec(real *a,real *b,real 
         temp2 = vec_sub(b2v7, vec_perm(b2v6, b2v6, reverse));
         temp1 = vec_madd(temp2, costabv1r, vczero);
         vec_st(temp1, 112, b1);
-    
+
       }
     }
   }

Modified: trunk/mp3lib/decod386.c
==============================================================================
--- trunk/mp3lib/decod386.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/decod386.c	Wed May 13 04:58:57 2009	(r29305)
@@ -107,7 +107,7 @@ static synth_func_t synth_func;
 #else /* HAVE_ALTIVEC */
 #define dct64_base(a,b,c) dct64(a,b,c)
 #endif /* HAVE_ALTIVEC */
- 
+
 static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt)
 {
   static real buffs[2][2][0x110];

Modified: trunk/mp3lib/huffman.h
==============================================================================
--- trunk/mp3lib/huffman.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/huffman.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,19 +1,19 @@
 /*
  * huffman tables ... recalcualted to work with my optimzed
  * decoder scheme (MH)
- * 
- * probably we could save a few bytes of memory, because the 
+ *
+ * probably we could save a few bytes of memory, because the
  * smaller tables are often the part of a bigger table
  */
 
-struct newhuff 
+struct newhuff
 {
   unsigned int linbits;
   short *table;
 };
 
-static short tab0[] = 
-{ 
+static short tab0[] =
+{
    0
 };
 
@@ -286,7 +286,7 @@ static short tab_c1[] =
 
 
 
-static struct newhuff ht[] = 
+static struct newhuff ht[] =
 {
  { /* 0 */ 0 , tab0  } ,
  { /* 2 */ 0 , tab1  } ,
@@ -323,7 +323,7 @@ static struct newhuff ht[] = 
  { /* 16 */ 13, tab24 }
 };
 
-static struct newhuff htc[] = 
+static struct newhuff htc[] =
 {
  { /* 1 , 1 , */ 0 , tab_c0 } ,
  { /* 1 , 1 , */ 0 , tab_c1 }

Modified: trunk/mp3lib/l2tables.h
==============================================================================
--- trunk/mp3lib/l2tables.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/l2tables.h	Wed May 13 04:58:57 2009	(r29305)
@@ -5,9 +5,9 @@
  */
 
 /*
- * Layer 2 Alloc tables .. 
+ * Layer 2 Alloc tables ..
  * most other tables are calculated on program start (which is (of course)
- * not ISO-conform) .. 
+ * not ISO-conform) ..
  * Layer-3 huffman table is in huffman.h
  */
 

Modified: trunk/mp3lib/layer1.c
==============================================================================
--- trunk/mp3lib/layer1.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/layer1.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,10 +1,10 @@
-/* 
- * Mpeg Layer-1 audio decoder 
+/*
+ * Mpeg Layer-1 audio decoder
  * --------------------------
  * copyright (c) 1995 by Michael Hipp, All rights reserved. See also 'README'
  * near unoptimzed ...
  *
- * may have a few bugs after last optimization ... 
+ * may have a few bugs after last optimization ...
  *
  */
 
@@ -28,7 +28,7 @@ static void I_step_one(unsigned int ball
   if(fr->stereo == 2) {
     int i;
     int jsbound = fr->jsbound;
-    for (i=0;i<jsbound;i++) { 
+    for (i=0;i<jsbound;i++) {
       *ba++ = getbits(4);
       *ba++ = getbits(4);
     }
@@ -80,7 +80,7 @@ static void I_step_two(real fraction[2][
       if ((n = *ba++))
         *sample++ = getbits(n+1);
     }
-    for (i=jsbound;i<SBLIMIT;i++) 
+    for (i=jsbound;i<SBLIMIT;i++)
       if ((n = *ba++))
         *sample++ = getbits(n+1);
 
@@ -137,7 +137,7 @@ static int do_layer1(struct frame *fr,in
 //  printf("do_layer1(0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X )\n",
 //    wordpointer[0],wordpointer[1],wordpointer[2],wordpointer[3],wordpointer[4],wordpointer[5],wordpointer[6],wordpointer[7]);
 
-  fr->jsbound = (fr->mode == MPG_MD_JOINT_STEREO) ? 
+  fr->jsbound = (fr->mode == MPG_MD_JOINT_STEREO) ?
                          (fr->mode_ext<<2)+4 : 32;
 
   if(stereo == 1 || single == 3)

Modified: trunk/mp3lib/layer2.c
==============================================================================
--- trunk/mp3lib/layer2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/layer2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -4,8 +4,8 @@
  * $Id$
  */
 
-/* 
- * Mpeg Layer-2 audio decoder 
+/*
+ * Mpeg Layer-2 audio decoder
  * --------------------------
  * copyright (c) 1995 by Michael Hipp, All rights reserved. See also 'README'
  *
@@ -56,7 +56,7 @@ static void init_layer2(void)
   {
     double m=mulmul[k];
     table = muls[k];
-    if(_has_mmx) 
+    if(_has_mmx)
     {
         for(j=3,i=0;i<63;i++,j--)
 	  *table++ = 16384 * m * pow(2.0,(double) j / 3.0);
@@ -116,21 +116,21 @@ static void II_step_one(unsigned int *bi
 
     bita = bit_alloc;
     scfsi=scfsi_buf;
-    for (i=sblimit2;i>0;i--) 
+    for (i=sblimit2;i>0;i--)
       if (*bita++)
-        switch (*scfsi++) 
+        switch (*scfsi++)
         {
-          case 0: 
+          case 0:
                 *scale++ = getbits_fast(6);
                 *scale++ = getbits_fast(6);
                 *scale++ = getbits_fast(6);
                 break;
-          case 1 : 
+          case 1 :
                 *scale++ = sc = getbits_fast(6);
                 *scale++ = sc;
                 *scale++ = getbits_fast(6);
                 break;
-          case 2: 
+          case 2:
                 *scale++ = sc = getbits_fast(6);
                 *scale++ = sc;
                 *scale++ = sc;
@@ -159,17 +159,17 @@ static void II_step_two(unsigned int *bi
       step = alloc1->bits;
       for (j=0;j<stereo;j++)
       {
-        if ( (ba=*bita++) ) 
+        if ( (ba=*bita++) )
         {
           k=(alloc2 = alloc1+ba)->bits;
-          if( (d1=alloc2->d) < 0) 
+          if( (d1=alloc2->d) < 0)
           {
             real cm=muls[k][scale[x1]];
             fraction[j][0][i] = ((real) ((int)getbits(k) + d1)) * cm;
             fraction[j][1][i] = ((real) ((int)getbits(k) + d1)) * cm;
             fraction[j][2][i] = ((real) ((int)getbits(k) + d1)) * cm;
-          }        
-          else 
+          }
+          else
           {
             static int *table[] = { 0,0,0,grp_3tab,0,grp_5tab,0,0,0,grp_9tab };
             unsigned int idx,*tab,m=scale[x1];
@@ -177,7 +177,7 @@ static void II_step_two(unsigned int *bi
             tab = (unsigned int *) (table[d1] + idx + idx + idx);
             fraction[j][0][i] = muls[*tab++][m];
             fraction[j][1][i] = muls[*tab++][m];
-            fraction[j][2][i] = muls[*tab][m];  
+            fraction[j][2][i] = muls[*tab][m];
           }
           scale+=3;
         }
@@ -220,13 +220,13 @@ static void II_step_two(unsigned int *bi
         fraction[0][0][i] = fraction[0][1][i] = fraction[0][2][i] =
         fraction[1][0][i] = fraction[1][1][i] = fraction[1][2][i] = 0.0;
       }
-/* 
+/*
    should we use individual scalefac for channel 2 or
    is the current way the right one , where we just copy channel 1 to
-   channel 2 ?? 
+   channel 2 ??
    The current 'strange' thing is, that we throw away the scalefac
    values for the second channel ...!!
--> changed .. now we use the scalefac values of channel one !! 
+-> changed .. now we use the scalefac values of channel one !!
 */
     }
 
@@ -299,10 +299,10 @@ static int do_layer2(struct frame *fr,in
 
   II_step_one(bit_alloc, scale, fr);
 
-  for (i=0;i<SCALE_BLOCK;i++) 
+  for (i=0;i<SCALE_BLOCK;i++)
   {
     II_step_two(bit_alloc,fraction,scale,fr,i>>2);
-    for (j=0;j<3;j++) 
+    for (j=0;j<3;j++)
     {
       if(single >= 0)
       {

Modified: trunk/mp3lib/layer3.c
==============================================================================
--- trunk/mp3lib/layer3.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/layer3.c	Wed May 13 04:58:57 2009	(r29305)
@@ -4,16 +4,16 @@
  * $Id$
  */
 
-/* 
- * Mpeg Layer-3 audio decoder 
+/*
+ * Mpeg Layer-3 audio decoder
  * --------------------------
  * copyright (c) 1995-1999 by Michael Hipp.
  * All rights reserved. See also 'README'
  *
- * Optimize-TODO: put short bands into the band-field without the stride 
+ * Optimize-TODO: put short bands into the band-field without the stride
  *                of 3 reals
  * Length-optimze: unify long and short band code where it is possible
- */ 
+ */
 
 #if 0
 #define L3_DEBUG 1
@@ -53,7 +53,7 @@ struct bandInfoStruct {
 static int longLimit[9][23];
 static int shortLimit[9][14];
 
-static const struct bandInfoStruct bandInfo[9] = { 
+static const struct bandInfoStruct bandInfo[9] = {
 
 /* MPEG 1.0 */
  { {0,4,8,12,16,20,24,30,36,44,52,62,74, 90,110,134,162,196,238,288,342,418,576},
@@ -331,11 +331,11 @@ static int III_get_side_info(struct III_
 
    static const int tabs[2][5] = { { 2,9,5,3,4 } , { 1,8,1,2,9 } };
    const int *tab = tabs[lsf];
-   
+
    si->main_data_begin = getbits(tab[1]);
    if (stereo == 1)
      si->private_bits = getbits_fast(tab[2]);
-   else 
+   else
      si->private_bits = getbits_fast(tab[3]);
 
    if(!lsf) {
@@ -383,8 +383,8 @@ if(2*gr_info->big_values > bandInfo[sfre
              fprintf(stderr,"Blocktype == 0 and window-switching == 1 not allowed.\n");
            return 0;
          }
-      
-         /* region_count/start parameters are implicit in this case. */       
+
+         /* region_count/start parameters are implicit in this case. */
          if(!lsf || gr_info->block_type == 2)
            gr_info->region1start = 36>>1;
          else {
@@ -474,7 +474,7 @@ static int III_get_scale_factors_1(int *
           numbits += num0 * 6;
         }
         else {
-          scf += 6; 
+          scf += 6;
         }
 
         if(!(scfsi & 0x4)) {
@@ -492,7 +492,7 @@ static int III_get_scale_factors_1(int *
           numbits += num1 * 5;
         }
         else {
-          scf += 5; 
+          scf += 5;
         }
 
         if(!(scfsi & 0x1)) {
@@ -523,7 +523,7 @@ static int III_get_scale_factors_2(int *
    { { 9, 9, 9,9 } , { 9, 9,12,6 } , { 18,18,0,0} ,
      {12,12,12,0 } , {12, 9, 9,6 } , { 15,12,9,0} } ,
    { { 6, 9, 9,9 } , { 6, 9,12,6 } , { 15,18,0,0} ,
-     { 6,15,12,0 } , { 6,12, 9,6 } , {  6,18,9,0} } }; 
+     { 6,15,12,0 } , { 6,12, 9,6 } , {  6,18,9,0} } };
 
   if(i_stereo) /* i_stereo AND second channel -> do_layer3() checks this */
     slen = i_slen2[gr_info->scalefac_compress>>1];
@@ -532,7 +532,7 @@ static int III_get_scale_factors_2(int *
 
   gr_info->preflag = (slen>>15) & 0x1;
 
-  n = 0;  
+  n = 0;
   if( gr_info->block_type == 2 ) {
     n++;
     if(gr_info->mixed_block_flag) n++;
@@ -551,7 +551,7 @@ static int III_get_scale_factors_2(int *
       for(j=0;j<(int)(pnt[i]);j++) *scf++ = 0;
     }
   }
-  
+
   n = (n << 1) + 1;
   for(i=0;i<n;i++) *scf++ = 0;
 
@@ -596,10 +596,10 @@ static int III_dequantize_sample(real xr
     int region1  = gr_info->region1start;
     int region2  = gr_info->region2start;
 
-    l3 = ((576>>1)-bv)>>1;   
+    l3 = ((576>>1)-bv)>>1;
 /*
- * we may lose the 'odd' bit here !! 
- * check this later again 
+ * we may lose the 'odd' bit here !!
+ * check this later again
  */
     if(bv <= region1) {
       l[0] = bv; l[1] = l[2] = 0;
@@ -614,10 +614,10 @@ static int III_dequantize_sample(real xr
       }
     }
   }
- 
+
   if(gr_info->block_type == 2) {
     /*
-     * decoding with short or mixed mode BandIndex table 
+     * decoding with short or mixed mode BandIndex table
      */
     int i,max[4];
     int step=0,lwin=3,cb=0;
@@ -759,7 +759,7 @@ static int III_dequantize_sample(real xr
           if(part2remain+num <= 0) {
             break;
           }
-          if(mask < 0) 
+          if(mask < 0)
             *xrpnt = -v;
           else
             *xrpnt = v;
@@ -922,7 +922,7 @@ static int III_dequantize_sample(real xr
             mc = *m++;
             cb = *m++;
 #ifdef CUT_HF
-            if(cb == 21) { 
+            if(cb == 21) {
               fprintf(stderr,"c");
               v = 0.0;
             }
@@ -958,7 +958,7 @@ static int III_dequantize_sample(real xr
   bitindex -= num; wordpointer += (bitindex>>3); bitindex &= 0x7;
   num = 0;
 
-  while(xrpnt < &xr[SBLIMIT][0]) 
+  while(xrpnt < &xr[SBLIMIT][0])
     *xrpnt++ = 0.0;
 
   while( part2remain > 16 ) {
@@ -977,7 +977,7 @@ static int III_dequantize_sample(real xr
 
 
 
-/* 
+/*
  * III_stereo: calculate real channel values for Joint-I-Stereo-mode
  */
 static void III_i_stereo(real xr_buf[2][SBLIMIT][SSLIMIT],int *scalefac,
@@ -989,10 +989,10 @@ static void III_i_stereo(real xr_buf[2][
       const real *tab1,*tab2;
 
       int tab;
-      static const real *tabs[3][2][2] = { 
+      static const real *tabs[3][2][2] = {
          { { tan1_1,tan2_1 }     , { tan1_2,tan2_2 } },
          { { pow1_1[0],pow2_1[0] } , { pow1_2[0],pow2_2[0] } } ,
-         { { pow1_1[1],pow2_1[1] } , { pow1_2[1],pow2_2[1] } } 
+         { { pow1_1[1],pow2_1[1] } , { pow1_2[1],pow2_2[1] } }
       };
 
       tab = lsf + (gr_info->scalefac_compress & lsf);
@@ -1032,7 +1032,7 @@ static void III_i_stereo(real xr_buf[2][
              do_l = 0;
 
            for(;sfb<12;sfb++) {
-             is_p = scalefac[sfb*3+lwin-gr_info->mixed_block_flag]; /* scale: 0-15 */ 
+             is_p = scalefac[sfb*3+lwin-gr_info->mixed_block_flag]; /* scale: 0-15 */
              if(is_p != 7) {
                real t1,t2;
                sb  = bi->shortDiff[sfb];
@@ -1047,7 +1047,7 @@ static void III_i_stereo(real xr_buf[2][
            }
 
 #if 1
-/* in the original: copy 10 to 11 , here: copy 11 to 12 
+/* in the original: copy 10 to 11 , here: copy 11 to 12
 maybe still wrong??? (copy 12 to 13?) */
            is_p = scalefac[11*3+lwin-gr_info->mixed_block_flag]; /* scale: 0-15 */
            sb   = bi->shortDiff[12];
@@ -1060,7 +1060,7 @@ maybe still wrong??? (copy 12 to 13?) */
            if(is_p != 7) {
              real t1,t2;
              t1 = tab1[is_p]; t2 = tab2[is_p];
-             for ( ; sb > 0; sb--,idx+=3 ) {  
+             for ( ; sb > 0; sb--,idx+=3 ) {
                real v = xr[0][idx];
                xr[0][idx] = REAL_MUL(v, t1);
                xr[1][idx] = REAL_MUL(v, t2);
@@ -1069,7 +1069,7 @@ maybe still wrong??? (copy 12 to 13?) */
          } /* end for(lwin; .. ; . ) */
 
 /* also check l-part, if ALL bands in the three windows are 'empty'
- * and mode = mixed_mode 
+ * and mode = mixed_mode
  */
          if (do_l) {
            int sfb = gr_info->maxbandl;
@@ -1087,17 +1087,17 @@ maybe still wrong??? (copy 12 to 13?) */
                  xr[1][idx] = REAL_MUL(v, t2);
                }
              }
-             else 
+             else
                idx += sb;
            }
-         }     
-      } 
+         }
+      }
       else { /* ((gr_info->block_type != 2)) */
        int sfb = gr_info->maxbandl;
        int is_p,idx = bi->longIdx[sfb];
 
 /* hmm ... maybe the maxbandl stuff for i-stereo is buggy? */
-       if(sfb <= 21) { 
+       if(sfb <= 21) {
         for ( ; sfb<21; sfb++) {
           int sb = bi->longDiff[sfb];
           is_p = scalefac[sfb]; /* scale: 0-15 */
@@ -1117,7 +1117,7 @@ maybe still wrong??? (copy 12 to 13?) */
         is_p = scalefac[20];
         if(is_p != 7) {  /* copy l-band 20 to l-band 21 */
           int sb;
-          real t1 = tab1[is_p],t2 = tab2[is_p]; 
+          real t1 = tab1[is_p],t2 = tab2[is_p];
 
           for ( sb = bi->longDiff[21]; sb > 0; sb--,idx++ ) {
             real v = xr[0][idx];
@@ -1133,9 +1133,9 @@ static void III_antialias(real xr[SBLIMI
    int sblim;
 
    if(gr_info->block_type == 2) {
-      if(!gr_info->mixed_block_flag) 
+      if(!gr_info->mixed_block_flag)
         return;
-      sblim = 1; 
+      sblim = 1;
    }
    else {
      sblim = gr_info->maxb-1;
@@ -1159,7 +1159,7 @@ static void III_antialias(real xr[SBLIMI
          *xr1++ = (bd * (*cs++) ) + (bu * (*ca++) );
        }
      }
-     
+
   }
 }
 
@@ -1172,9 +1172,9 @@ static void III_antialias(real xr[SBLIMI
 /*
  * III_hybrid
  */
- 
+
 static dct36_func_t dct36_func;
-  
+
 static void III_hybrid(real fsIn[SBLIMIT][SSLIMIT],real tsOut[SSLIMIT][SBLIMIT],
    int ch,struct gr_info_s *gr_info)
 {
@@ -1199,7 +1199,7 @@ static void III_hybrid(real fsIn[SBLIMIT
      (*dct36_func)(fsIn[1],rawout1+18,rawout2+18,win1[0],tspnt+1);
      rawout1 += 36; rawout2 += 36; tspnt += 2;
    }
- 
+
    bt = gr_info->block_type;
    if(bt == 2) {
      for (; sb<gr_info->maxb; sb+=2,tspnt+=2,rawout1+=36,rawout2+=36) {
@@ -1255,7 +1255,7 @@ static int do_layer3(struct frame *fr,in
 
   if(!III_get_side_info(&sideinfo,stereo,ms_stereo,sfreq,single,fr->lsf))
     return -1;
-  
+
   set_pointer(sideinfo.main_data_begin);
 
   granules = (fr->lsf) ? 1 : 2;
@@ -1275,9 +1275,9 @@ static int do_layer3(struct frame *fr,in
 
     if(stereo == 2) {
       struct gr_info_s *gr_info = &(sideinfo.ch[1].gr[gr]);
-      
+
       int part2bits;
-      if(fr->lsf) 
+      if(fr->lsf)
         part2bits = III_get_scale_factors_2(scalefacs[1],gr_info,i_stereo);
       else
         part2bits = III_get_scale_factors_1(scalefacs[1],gr_info);
@@ -1302,7 +1302,7 @@ static int do_layer3(struct frame *fr,in
         III_i_stereo(hybridIn,scalefacs[1],gr_info,sfreq,ms_stereo,fr->lsf);
 
       if(ms_stereo || i_stereo || (single == 3) ) {
-        if(gr_info->maxb > sideinfo.ch[0].gr[gr].maxb) 
+        if(gr_info->maxb > sideinfo.ch[0].gr[gr].maxb)
           sideinfo.ch[0].gr[gr].maxb = gr_info->maxb;
         else
           gr_info->maxb = sideinfo.ch[0].gr[gr].maxb;
@@ -1313,7 +1313,7 @@ static int do_layer3(struct frame *fr,in
           register int i;
           register real *in0 = (real *) hybridIn[0],*in1 = (real *) hybridIn[1];
           for(i=0;i<SSLIMIT*gr_info->maxb;i++,in0++)
-            *in0 = (*in0 + *in1++); /* *0.5 done by pow-scale */ 
+            *in0 = (*in0 + *in1++); /* *0.5 done by pow-scale */
           break; }
         case 1: {
           register int i;
@@ -1340,7 +1340,7 @@ static int do_layer3(struct frame *fr,in
 		    clip += (fr->synth)(hybridOut[1][ss],1,pcm_sample,&pcm_point);
       }
     }
-    
+
   }
 
   return clip;

Modified: trunk/mp3lib/sr1.c
==============================================================================
--- trunk/mp3lib/sr1.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/sr1.c	Wed May 13 04:58:57 2009	(r29305)
@@ -191,7 +191,7 @@ LOCAL int stream_head_read(unsigned char
    * we may not be able to address unaligned 32-bit data on non-x86 cpus.
    * Fall back to some portable code.
    */
-  *newhead = 
+  *newhead =
       hbuf[0] << 24 |
       hbuf[1] << 16 |
       hbuf[2] <<  8 |
@@ -215,7 +215,7 @@ LOCAL int stream_head_shift(unsigned cha
 LOCAL int decode_header(struct frame *fr,uint32_t newhead){
 
     // head_check:
-    if( (newhead & 0xffe00000) != 0xffe00000 ||  
+    if( (newhead & 0xffe00000) != 0xffe00000 ||
         (newhead & 0x0000fc00) == 0x0000fc00) return FALSE;
 
     fr->lay = 4-((newhead>>17)&3);

Modified: trunk/mp3lib/test.c
==============================================================================
--- trunk/mp3lib/test.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/test.c	Wed May 13 04:58:57 2009	(r29305)
@@ -18,7 +18,7 @@ static inline unsigned int GetTimer(void
   gettimeofday(&tv,&tz);
 //  s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec;
   return (tv.tv_sec*1000000+tv.tv_usec);
-}  
+}
 
 static FILE* mp3file=NULL;
 
@@ -38,10 +38,10 @@ int main(int argc,char* argv[]){
   FILE *f=NULL;
   f=fopen("test.pcm","wb");
 #endif
-  
+
   mp3file=fopen((argc>1)?argv[1]:"test.mp3","rb");
   if(!mp3file){  printf("file not found\n");  exit(1); }
-  
+
   GetCpuCaps(&gCpuCaps);
 
   // MPEG Audio:
@@ -51,7 +51,7 @@ int main(int argc,char* argv[]){
   MP3_Init();
 #endif
   MP3_samplerate=MP3_channels=0;
-  
+
   time1=GetTimer();
   while((len=MP3_DecodeFrame(buffer,-1))>0 && total<2000000){
       total+=len;
@@ -66,7 +66,7 @@ int main(int argc,char* argv[]){
   printf("\nDecoding time: %8.6f\n",(float)time1*0.000001f);
   printf("Uncompressed size: %d bytes  (%8.3f secs)\n",total,length);
   printf("CPU usage at normal playback: %5.2f %%\n",time1*0.0001f/length);
-  
+
   fclose(mp3file);
   return 0;
 }

Modified: trunk/mp3lib/test2.c
==============================================================================
--- trunk/mp3lib/test2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp3lib/test2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -26,10 +26,10 @@ int main(int argc,char* argv[]){
   int total=0;
   int r;
   int audio_fd;
-  
+
   mp3file=fopen((argc>1)?argv[1]:"test.mp3","rb");
   if(!mp3file){  printf("file not found\n");  exit(1); }
-  
+
   GetCpuCaps(&gCpuCaps);
 
   // MPEG Audio:
@@ -40,19 +40,19 @@ int main(int argc,char* argv[]){
 #endif
   MP3_samplerate=MP3_channels=0;
   len=MP3_DecodeFrame(buffer,-1);
-  
+
   audio_fd=open("/dev/dsp", O_WRONLY);
   if(audio_fd<0){  printf("Can't open audio device\n");exit(1); }
   r=AFMT_S16_LE;ioctl (audio_fd, SNDCTL_DSP_SETFMT, &r);
   r=MP3_channels-1;ioctl (audio_fd, SNDCTL_DSP_STEREO, &r);
   r=MP3_samplerate;ioctl (audio_fd, SNDCTL_DSP_SPEED, &r);
   printf("audio_setup: using %d Hz samplerate (requested: %d)\n",r,MP3_samplerate);
-  
+
   while(1){
       int len2;
       if(len==0) len=MP3_DecodeFrame(buffer,-1);
       if(len<=0) break; // EOF
-      
+
       // play it
       len2=write(audio_fd,buffer,len);
       if(len2<0) break; // ERROR?
@@ -63,7 +63,7 @@ int main(int argc,char* argv[]){
           putchar('!');fflush(stdout);
       }
   }
-  
+
   fclose(mp3file);
   return 0;
 }

Modified: trunk/mp_msg.c
==============================================================================
--- trunk/mp_msg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mp_msg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -219,7 +219,7 @@ void mp_msg(int mod, int lev, const char
         print_msg_module(stream, mod);
     set_msg_color(stream, lev);
     header = tmp[strlen(tmp)-1] == '\n' || tmp[strlen(tmp)-1] == '\r';
- 
+
     fprintf(stream, "%s", tmp);
     fflush(stream);
 }

Modified: trunk/mpcommon.c
==============================================================================
--- trunk/mpcommon.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mpcommon.c	Wed May 13 04:58:57 2009	(r29305)
@@ -91,7 +91,7 @@ void update_subtitles(sh_video_t *sh_vid
         current_module = "find_sub";
         if (pts > sub_last_pts || pts < sub_last_pts-1.0) {
             find_sub(subdata, (pts+sub_delay) *
-                     (subdata->sub_uses_time ? 100. : sub_fps)); 
+                     (subdata->sub_uses_time ? 100. : sub_fps));
             if (vo_sub) vo_sub_last = vo_sub;
             // FIXME! frame counter...
             sub_last_pts = pts;

Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/mplayer.c	Wed May 13 04:58:57 2009	(r29305)
@@ -251,8 +251,8 @@ int abs_seek_pos=0;
 // codecs:
 char **audio_codec_list=NULL; // override audio codec
 char **video_codec_list=NULL; // override video codec
-char **audio_fm_list=NULL;    // override audio codec family 
-char **video_fm_list=NULL;    // override video codec family 
+char **audio_fm_list=NULL;    // override audio codec family
+char **video_fm_list=NULL;    // override video codec family
 
 // demuxer:
 extern char *demuxer_name; // override demuxer
@@ -472,7 +472,7 @@ char *get_metadata (metadata_t type) {
   {
     return strdup (mp_basename2 (filename));
   }
-    
+
   case META_VIDEO_CODEC:
   {
     if (sh_video->format == 0x10000001)
@@ -495,14 +495,14 @@ char *get_metadata (metadata_t type) {
     }
     return meta;
   }
-  
+
   case META_VIDEO_BITRATE:
   {
     meta = malloc (16);
     sprintf (meta, "%d kbps", (int) (sh_video->i_bps * 8 / 1024));
     return meta;
   }
-  
+
   case META_VIDEO_RESOLUTION:
   {
     meta = malloc (16);
@@ -516,14 +516,14 @@ char *get_metadata (metadata_t type) {
       meta = strdup (sh_audio->codec->name);
     return meta;
   }
-  
+
   case META_AUDIO_BITRATE:
   {
     meta = malloc (16);
     sprintf (meta, "%d kbps", (int) (sh_audio->i_bps * 8/1000));
     return meta;
   }
-  
+
   case META_AUDIO_SAMPLES:
   {
     meta = malloc (16);
@@ -534,7 +534,7 @@ char *get_metadata (metadata_t type) {
   /* check for valid demuxer */
   case META_INFO_TITLE:
     return get_demuxer_info ("Title");
-  
+
   case META_INFO_ARTIST:
     return get_demuxer_info ("Artist");
 
@@ -599,7 +599,7 @@ void uninit_player(unsigned int mask){
     vf_menu=NULL;
 #endif
   }
- 
+
   if(mask&INITIALIZED_DEMUXER){
     initialized_flags&=~INITIALIZED_DEMUXER;
     current_module="free_demuxer";
@@ -654,7 +654,7 @@ void uninit_player(unsigned int mask){
   if(mask&INITIALIZED_AO){
     initialized_flags&=~INITIALIZED_AO;
     current_module="uninit_ao";
-    if (mpctx->edl_muted) mixer_mute(&mpctx->mixer); 
+    if (mpctx->edl_muted) mixer_mute(&mpctx->mixer);
     mpctx->audio_out->uninit(mpctx->eof?0:1); mpctx->audio_out=NULL;
   }
 
@@ -681,7 +681,7 @@ void uninit_player(unsigned int mask){
 
 void exit_player_with_rc(exit_reason_t how, int rc){
 
-  if (mpctx->user_muted && !mpctx->edl_muted) mixer_mute(&mpctx->mixer); 
+  if (mpctx->user_muted && !mpctx->edl_muted) mixer_mute(&mpctx->mixer);
   uninit_player(INITIALIZED_ALL);
 #if defined(__MINGW32__) || defined(__CYGWIN__)
   timeEndPeriod(1);
@@ -712,7 +712,7 @@ void exit_player_with_rc(exit_reason_t h
 // free mplayer config
   if(mconfig)
     m_config_free(mconfig);
-  
+
   if(mpctx->playtree)
     play_tree_free(mpctx->playtree, 1);
 
@@ -744,7 +744,7 @@ void exit_player(exit_reason_t how){
 }
 
 #ifndef __MINGW32__
-static void child_sighandler(int x){  
+static void child_sighandler(int x){
   pid_t pid;
   while((pid=waitpid(-1,NULL,WNOHANG)) > 0);
 }
@@ -764,9 +764,9 @@ static void exit_sighandler(int x){
   if(initialized_flags==0 && sig_count>1) exit(1);
   if(sig_count==5)
     {
-      /* We're crashing bad and can't uninit cleanly :( 
-       * by popular request, we make one last (dirty) 
-       * effort to restore the user's 
+      /* We're crashing bad and can't uninit cleanly :(
+       * by popular request, we make one last (dirty)
+       * effort to restore the user's
        * terminal. */
       getch2_disable();
       exit(1);
@@ -813,14 +813,14 @@ static void exit_sighandler(int x){
           getch2_disable(); // allow terminal to work properly with gdb
           if (execlp("gdb", "gdb", prog_path, spid, "-ex", "bt", NULL) == -1)
             mp_msg(MSGT_CPLAYER, MSGL_ERR, "Couldn't start gdb\n");
-        } else if (gdb_pid < 0) 
+        } else if (gdb_pid < 0)
           mp_msg(MSGT_CPLAYER, MSGL_ERR, "Couldn't fork\n");
         else {
           waitpid(gdb_pid, NULL, 0);
         }
         if (x == SIGTRAP) return;
       }
-#endif  
+#endif
   }
   getch2_disable();
   exit(1);
@@ -869,7 +869,7 @@ static void load_per_protocol_config (m_
     char *str;
     char protocol[strlen (PROFILE_CFG_PROTOCOL) + strlen (file) + 1];
     m_profile_t *p;
-    
+
     /* does filename actually uses a protocol ? */
     str = strstr (file, "://");
     if (!str)
@@ -933,7 +933,7 @@ static void load_per_file_config (m_conf
     char *name;
 
     sprintf (cfg, "%s.conf", file);
-    
+
     if (use_filedir_conf && !stat (cfg, &st))
     {
 	mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_LoadingConfig, cfg);
@@ -974,7 +974,7 @@ static int libmpdemux_was_interrupted(in
        } break;
        case MP_CMD_PLAY_TREE_UP_STEP: {
 	 eof = (cmd->args[0].v.i > 0) ? PT_UP_NEXT : PT_UP_PREV;
-       } break;	  
+       } break;
        case MP_CMD_PLAY_ALT_SRC_STEP: {
 	 eof = (cmd->args[0].v.i > 0) ?  PT_NEXT_SRC : PT_PREV_SRC;
        } break;
@@ -999,7 +999,7 @@ static int playtree_add_playlist(play_tr
   } else
 #endif
   {
-  if(!entry) {      
+  if(!entry) {
     entry = mpctx->playtree_iter->tree;
     if(play_tree_iter_step(mpctx->playtree_iter,1,0) != PLAY_TREE_ITER_ENTRY) {
         return PT_NEXT_ENTRY;
@@ -1017,7 +1017,7 @@ static int playtree_add_playlist(play_tr
   entry = mpctx->playtree_iter->tree;
   if(play_tree_iter_step(mpctx->playtree_iter,1,0) != PLAY_TREE_ITER_ENTRY) {
     return PT_NEXT_ENTRY;
-  }      
+  }
   play_tree_remove(entry,1,1);
   }
   return PT_NEXT_SRC;
@@ -1047,11 +1047,11 @@ void add_subtitles(char *filename, float
 
     if (!asst && !subd)
 #else
-    if(!subd) 
+    if(!subd)
 #endif
         mp_msg(MSGT_CPLAYER, noerr ? MSGL_WARN : MSGL_ERR, MSGTR_CantLoadSub,
 		filename_recode(filename));
-    
+
 #ifdef CONFIG_ASS
     if (!asst && !subd) return;
     mpctx->set_of_ass_tracks[mpctx->set_of_sub_size] = asst;
@@ -1133,7 +1133,7 @@ void init_vo_spudec(void) {
 
 /*
  * In Mac OS X the SDL-lib is built upon Cocoa. The easiest way to
- * make it all work is to use the builtin SDL-bootstrap code, which 
+ * make it all work is to use the builtin SDL-bootstrap code, which
  * will be done automatically by replacing our main() if we include SDL.h.
  */
 #if defined(__APPLE__) && defined(CONFIG_SDL)
@@ -1206,7 +1206,7 @@ static void print_status(float a_pos, fl
   width--;
 #endif
   line = malloc(width + 1); // one additional char for the terminating null
-  
+
   // Audio time
   if (mpctx->sh_audio) {
     saddf(line, &pos, width, "A:%6.1f ", a_pos);
@@ -1252,7 +1252,7 @@ static void print_status(float a_pos, fl
   }
 
   // VO stats
-  if (sh_video) 
+  if (sh_video)
     saddf(line, &pos, width, "%d %d ", drop_frame_cnt, output_quality);
 
 #ifdef CONFIG_STREAM_CACHE
@@ -1336,17 +1336,17 @@ static mp_osd_msg_t* osd_msg_stack = NUL
 
 /**
  *  \brief Add a message on the OSD message stack
- * 
+ *
  *  If a message with the same id is already present in the stack
  *  it is pulled on top of the stack, otherwise a new message is created.
- *  
+ *
  */
 
 void set_osd_msg(int id, int level, int time, const char* fmt, ...) {
     mp_osd_msg_t *msg,*last=NULL;
     va_list va;
     int r;
-   
+
     // look if the id is already in the stack
     for(msg = osd_msg_stack ; msg && msg->id != id ;
 	last = msg, msg = msg->prev);
@@ -1369,19 +1369,19 @@ void set_osd_msg(int id, int level, int 
     msg->id = id;
     msg->level = level;
     msg->time = time;
-    
+
 }
 
 /**
  *  \brief Remove a message from the OSD stack
- * 
+ *
  *  This function can be used to get rid of a message right away.
- * 
+ *
  */
 
 void rm_osd_msg(int id) {
     mp_osd_msg_t *msg,*last=NULL;
-    
+
     // Search for the msg
     for(msg = osd_msg_stack ; msg && msg->id != id ;
 	last = msg, msg = msg->prev);
@@ -1397,7 +1397,7 @@ void rm_osd_msg(int id) {
 
 /**
  *  \brief Remove all messages from the OSD stack
- * 
+ *
  */
 
 static void clear_osd_msgs(void) {
@@ -1412,10 +1412,10 @@ static void clear_osd_msgs(void) {
 
 /**
  *  \brief Get the current message from the OSD stack.
- * 
+ *
  *  This function decrements the message timer and destroys the old ones.
  *  The message that should be displayed is returned (if any).
- *  
+ *
  */
 
 static mp_osd_msg_t* get_osd_msg(void) {
@@ -1439,9 +1439,9 @@ static mp_osd_msg_t* get_osd_msg(void) {
 
     if(!last_update) last_update = now;
     diff = now >= last_update ? now - last_update : 0;
-    
+
     last_update = now;
-    
+
     // Look for the first message in the stack with high enough level.
     for(msg = osd_msg_stack ; msg ; last = msg, msg = prev) {
         prev = msg->prev;
@@ -1478,9 +1478,9 @@ static mp_osd_msg_t* get_osd_msg(void) {
  */
 
 void set_osd_bar(int type,const char* name,double min,double max,double val) {
-    
+
     if(osd_level < 1) return;
-    
+
     if(mpctx->sh_video) {
         osd_visible = (GetTimerMS() + 1000) | 1;
         vo_osd_progbar_type = type;
@@ -1488,7 +1488,7 @@ void set_osd_bar(int type,const char* na
         vo_osd_changed(OSDTYPE_PROGBAR);
         return;
     }
-    
+
     set_osd_msg(OSD_MSG_BAR,1,osd_duration,"%s: %d %%",
                 name,ROUND(100*(val-min)/(max-min)));
 }
@@ -1500,27 +1500,27 @@ void set_osd_bar(int type,const char* na
  * This function displays the current message on the vo OSD or on the term.
  * If the stack is empty and the OSD level is high enough the timer
  * is displayed (only on the vo OSD).
- * 
+ *
  */
 
 static void update_osd_msg(void) {
     mp_osd_msg_t *msg;
     static char osd_text[128] = "";
     static char osd_text_timer[128];
-    
+
     // we need some mem for vo_osd_text
     vo_osd_text = (unsigned char*)osd_text;
-    
+
     // Look if we have a msg
     if((msg = get_osd_msg())) {
         if(strcmp(osd_text,msg->msg)) {
             strncpy((char*)osd_text, msg->msg, 127);
-            if(mpctx->sh_video) vo_osd_changed(OSDTYPE_OSD); else 
+            if(mpctx->sh_video) vo_osd_changed(OSDTYPE_OSD); else
             if(term_osd) mp_msg(MSGT_CPLAYER,MSGL_STATUS,"%s%s\n",term_osd_esc,msg->msg);
         }
         return;
     }
-        
+
     if(mpctx->sh_video) {
         // fallback on the timer
         if(osd_level>=2) {
@@ -1528,16 +1528,16 @@ static void update_osd_msg(void) {
             int percentage = -1;
             char percentage_text[10];
             int pts = demuxer_get_current_time(mpctx->demuxer);
-            
+
             if (mpctx->osd_show_percentage)
                 percentage = demuxer_get_percent_pos(mpctx->demuxer);
-            
+
             if (percentage >= 0)
                 snprintf(percentage_text, 9, " (%d%%)", percentage);
             else
                 percentage_text[0] = 0;
-            
-            if (osd_level == 3) 
+
+            if (osd_level == 3)
                 snprintf(osd_text_timer, 63,
                          "%c %02d:%02d:%02d / %02d:%02d:%02d%s",
                          mpctx->osd_function,pts/3600,(pts/60)%60,pts%60,
@@ -1548,18 +1548,18 @@ static void update_osd_msg(void) {
                          pts%60,percentage_text);
         } else
             osd_text_timer[0]=0;
-        
+
         // always decrement the percentage timer
         if(mpctx->osd_show_percentage)
             mpctx->osd_show_percentage--;
-        
+
         if(strcmp(osd_text,osd_text_timer)) {
             strncpy(osd_text, osd_text_timer, 63);
             vo_osd_changed(OSDTYPE_OSD);
         }
         return;
     }
-        
+
     // Clear the term osd line
     if(term_osd && osd_text[0]) {
         osd_text[0] = 0;
@@ -1599,7 +1599,7 @@ if(mpctx->sh_audio){
       mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_AudioFilterChainPreinitError);
       exit_player(EXIT_ERROR);
   }
-#endif  
+#endif
   current_module="ao2_init";
   if(!(mpctx->audio_out=init_best_audio_out(audio_driver_list,
       0, // plugin flag
@@ -1861,7 +1861,7 @@ static void mp_dvdnav_reset_stream (MPCo
     }
 
     if (ctx->d_sub) dvdsub_id = -2;
-        
+
     audio_delay = 0.0f;
 
     /// clear all EOF related flags
@@ -1900,7 +1900,7 @@ static mp_image_t *mp_dvdnav_restore_smp
             mp_dvdnav_skip_wait(mpctx->stream);
         }
         mpctx->sh_video->pts += 1 / mpctx->sh_video->fps;
-    
+
         if (mpctx->nav_buffer) {
             *start = mpctx->nav_start;
             *in_size = mpctx->nav_in_size;
@@ -1919,7 +1919,7 @@ static void mp_dvdnav_save_smpi(int in_s
 {
     if (mpctx->stream->type != STREAMTYPE_DVDNAV)
         return;
-  
+
     if (mpctx->nav_buffer)
         free(mpctx->nav_buffer);
 
@@ -1989,10 +1989,10 @@ static void adjust_sync_and_print_status
 	    if(!quiet)
 		print_status(a_pts - audio_delay, AV_delay, c_total);
 	}
-    
+
     } else {
 	// No audio:
-    
+
 	if (!quiet)
 	    print_status(0, 0, 0);
     }
@@ -2053,7 +2053,7 @@ static int fill_audio_out_buffers(void)
 	if (!playsize)
 	    break;
 
-	// play audio:  
+	// play audio:
 	current_module="play_audio";
 
 	// Is this pts value actually useful for the aos that access it?
@@ -2420,7 +2420,7 @@ static void edl_update(MPContext *mpctx)
     if (!mpctx->sh_video) {
 	mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_EdlNOsh_video);
 	free_edl(edl_records);
-	next_edl_record = NULL; 
+	next_edl_record = NULL;
 	edl_records = NULL;
 	return;
     }
@@ -2472,7 +2472,7 @@ static int seek(MPContext *mpctx, double
 	update_subtitles(mpctx->sh_video, mpctx->d_sub, 1);
 	update_teletext(mpctx->sh_video, mpctx->demuxer, 1);
     }
-      
+
     if (mpctx->sh_audio) {
 	current_module = "seek_audio_reset";
 	mpctx->audio_out->reset(); // stop audio, throwing away buffered data
@@ -2517,7 +2517,7 @@ int gui_no_filename=0;
 
   InitTimer();
   srand(GetTimerMS());
-  
+
   mp_msg_init();
 
   // Create the config context and register the options
@@ -2564,7 +2564,7 @@ int gui_no_filename=0;
     mpctx->playtree = play_tree_cleanup(mpctx->playtree);
     if(mpctx->playtree) {
       mpctx->playtree_iter = play_tree_iter_new(mpctx->playtree,mconfig);
-      if(mpctx->playtree_iter) {  
+      if(mpctx->playtree_iter) {
 	if(play_tree_iter_step(mpctx->playtree_iter,0,0) != PLAY_TREE_ITER_ENTRY) {
 	  play_tree_iter_free(mpctx->playtree_iter);
 	  mpctx->playtree_iter = NULL;
@@ -2573,7 +2573,7 @@ int gui_no_filename=0;
       }
     }
     }
-	
+
   print_version("MPlayer");
 
 #if (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_GUI)
@@ -2596,7 +2596,7 @@ int gui_no_filename=0;
 	SetErrorMode(0x8003);
 	// request 1ms timer resolution
 	timeBeginPeriod(1);
-#endif	
+#endif
 
 #ifdef CONFIG_PRIORITY
     set_priority();
@@ -2619,13 +2619,13 @@ int gui_no_filename=0;
       // Free Playtree and Playtree-Iter as it's not used by the GUI.
       play_tree_iter_free(mpctx->playtree_iter);
       mpctx->playtree_iter=NULL;
-      
+
       if (getcwd(cwd, PATH_MAX) != (char *)NULL)
       {
 	  strcat(cwd, "/");
           // Prefix relative paths with current working directory
           play_tree_add_bpf(mpctx->playtree, cwd);
-      }      
+      }
       // Import initital playtree into GUI.
       import_initial_playtree_into_gui(mpctx->playtree, mconfig, enqueue);
     }
@@ -2843,7 +2843,7 @@ stream_set_interrupt_callback(mp_input_c
    }
  }
 #endif
-  
+
 initialized_flags|=INITIALIZED_INPUT;
 current_module = NULL;
 
@@ -2923,7 +2923,7 @@ if(!noconsolecontrols && !slave_mode){
       guiGetEvent( guiSetDefaults,0 );
       while ( guiIntfStruct.Playing != 1 )
        {
-        mp_cmd_t* cmd;                                                                                   
+        mp_cmd_t* cmd;
 	usec_sleep(20000);
 	guiEventHandling();
 	guiGetEvent( guiReDraw,NULL );
@@ -2931,7 +2931,7 @@ if(!noconsolecontrols && !slave_mode){
 	  guiGetEvent(guiIEvent, (char *)cmd->id);
 	  mp_cmd_free(cmd);
 	}
-       } 
+       }
       guiGetEvent( guiSetParameters,NULL );
       if ( guiIntfStruct.StreamType == STREAMTYPE_STREAM )
        {
@@ -2953,7 +2953,7 @@ if(!noconsolecontrols && !slave_mode){
 	    filename = play_tree_iter_get_file(mpctx->playtree_iter,1);
 	   }
          }
-       } 
+       }
     }
 #endif /* CONFIG_GUI */
 
@@ -3061,7 +3061,7 @@ if (edl_output_filename) {
           psub = realloc(psub,l);
           strcat(psub,bname);
           vo_vobsub=vobsub_open(psub,spudec_ifo,0,&vo_spudec);
-          free(psub);          
+          free(psub);
       }
       free(buf);
     }
@@ -3201,15 +3201,15 @@ mpctx->demuxer=demux_open(mpctx->stream,
 // HACK to get MOV Reference Files working
 
 if (mpctx->demuxer && mpctx->demuxer->type==DEMUXER_TYPE_PLAYLIST)
-{ 
+{
   unsigned char* playlist_entry;
   play_tree_t *list = NULL, *entry = NULL;
 
   current_module="handle_demux_playlist";
   while (ds_get_packet(mpctx->demuxer->video,&playlist_entry)>0)
-  {	 
+  {
     char *temp, *bname;
-    
+
     mp_msg(MSGT_CPLAYER,MSGL_V,"Adding file %s to element entry.\n",
 	    filename_recode(playlist_entry));
 
@@ -3221,7 +3221,7 @@ if (mpctx->demuxer && mpctx->demuxer->ty
         continue;
 
     entry = play_tree_new();
-    
+
     if (filename && !strcmp(mp_basename(playlist_entry),playlist_entry)) // add reference path of current file
     {
       temp=malloc((strlen(filename)-strlen(mp_basename(filename))+strlen(playlist_entry)+1));
@@ -3237,7 +3237,7 @@ if (mpctx->demuxer && mpctx->demuxer->ty
     }
     else
       play_tree_add_file(entry,playlist_entry);
-    
+
     if(!list)
       list = entry;
     else
@@ -3255,7 +3255,7 @@ if (mpctx->demuxer && mpctx->demuxer->ty
   }
 }
 
-if(!mpctx->demuxer) 
+if(!mpctx->demuxer)
   goto goto_next_file;
 if(dvd_chapter>1) {
   float pts;
@@ -3314,7 +3314,7 @@ if((stream_dump_type)&&(stream_dump_type
   case 2: ds=mpctx->d_video;break;
   case 3: ds=mpctx->d_sub;break;
   }
-  if(!ds){        
+  if(!ds){
       mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_DumpSelectedStreamMissing);
       exit_player(EXIT_ERROR);
   }
@@ -3386,11 +3386,11 @@ if(!mpctx->sh_video && !mpctx->sh_audio)
 			dir = DVB_CHANNEL_HIGHER;
 		else
 			dir = DVB_CHANNEL_LOWER;
-			
+
 		if(dvb_step_channel(mpctx->stream, dir))
 			mpctx->eof = mpctx->dvbin_reopen = 1;
 	}
-#endif	
+#endif
     goto goto_next_file; // exit_player(MSGTR_Exit_error);
 }
 
@@ -3409,9 +3409,9 @@ if(mpctx->sh_video) {
 // check .sub
   current_module="read_subtitles_file";
   if(sub_name){
-    for (i = 0; sub_name[i] != NULL; ++i) 
-        add_subtitles (sub_name[i], mpctx->sh_video->fps, 0); 
-  } 
+    for (i = 0; sub_name[i] != NULL; ++i)
+        add_subtitles (sub_name[i], mpctx->sh_video->fps, 0);
+  }
   if(sub_auto) { // auto load sub file ...
     char *psub = get_path( "sub/" );
     char **tmp = sub_filenames((psub ? psub : ""), filename);
@@ -3497,7 +3497,7 @@ if (mpctx->global_sub_size) {
       if (mpctx->demuxer->num_chapters == 0)
           stream_control(mpctx->demuxer->stream, STREAM_CTRL_GET_NUM_CHAPTERS, &mpctx->demuxer->num_chapters);
       mp_msg(MSGT_IDENTIFY,MSGL_INFO,"ID_CHAPTERS=%d\n", mpctx->demuxer->num_chapters);
-  } 
+  }
 
 if(!mpctx->sh_video) goto main; // audio-only
 
@@ -3524,7 +3524,7 @@ current_module="main";
         mp_msg(MSGT_CPLAYER,MSGL_INFO,"%s",msg);
         free(msg);
     }
-        
+
 
 // Disable the term OSD in verbose mode
 if(verbose) term_osd = 0;
@@ -3704,7 +3704,7 @@ if(!mpctx->sh_video) {
   }
 
 // ==========================================================================
-    
+
 //    current_module="draw_osd";
 //    if(vo_config_count) mpctx->video_out->draw_osd();
 
@@ -3796,7 +3796,7 @@ if(auto_quality>0){
    }
  }
 #endif
- 
+
 //============================ Handle PAUSE ===============================
 
   current_module="pause";

Modified: trunk/osdep/getch2-win.c
==============================================================================
--- trunk/osdep/getch2-win.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/getch2-win.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,7 +59,7 @@ static int getch2_internal(void)
 	INPUT_RECORD eventbuffer[128];
     DWORD retval;
    	int i=0;
-    if(!getch2_status)return -1;    
+    if(!getch2_status)return -1;
     /*check if there are input events*/
 	if(!GetNumberOfConsoleInputEvents(stdin,&retval))
 	{
@@ -67,18 +67,18 @@ static int getch2_internal(void)
 		return -1;
 	}
     if(retval<=0)return -1;
-    
-	/*read all events*/	
+
+	/*read all events*/
 	if(!ReadConsoleInput(stdin,eventbuffer,128,&retval))
 	{
 		printf("getch: can't read input events\n");
 		return -1;
 	}
- 
+
 	/*filter out keyevents*/
-    for (i = 0; i < retval; i++) 
+    for (i = 0; i < retval; i++)
     {
-		switch(eventbuffer[i].EventType) 
+		switch(eventbuffer[i].EventType)
 		{
 			case KEY_EVENT:
 				/*only a pressed key is interresting for us*/
@@ -114,26 +114,26 @@ static int getch2_internal(void)
 					case VK_DOWN:
 						return KEY_DOWN;
                     case VK_SHIFT:
-                        continue;              
+                        continue;
 					}
 					/*check for function keys*/
         			if(0x87 >= eventbuffer[i].Event.KeyEvent.wVirtualKeyCode && eventbuffer[i].Event.KeyEvent.wVirtualKeyCode >= 0x70)
 						return KEY_F + 1 + eventbuffer[i].Event.KeyEvent.wVirtualKeyCode - 0x70;
- 						
+
 					/*only characters should be remaining*/
-					//printf("getch2: YOU PRESSED \"%c\" \n",eventbuffer[i].Event.KeyEvent.uChar.AsciiChar); 
+					//printf("getch2: YOU PRESSED \"%c\" \n",eventbuffer[i].Event.KeyEvent.uChar.AsciiChar);
 				    return eventbuffer[i].Event.KeyEvent.uChar.AsciiChar;
 				}
-				break; 
-			
+				break;
+
 			case MOUSE_EVENT:
-            case WINDOW_BUFFER_SIZE_EVENT: 
-            case FOCUS_EVENT:  
+            case WINDOW_BUFFER_SIZE_EVENT:
+            case FOCUS_EVENT:
             case MENU_EVENT:
             default:
-				//printf("getch2: unsupported event type"); 
-			    break; 
-        } 
+				//printf("getch2: unsupported event type");
+			    break;
+        }
     }
 	return -1;
 }
@@ -184,7 +184,7 @@ static const struct {
     { 65001, "UTF-8" },
     { 0, NULL }
 };
- 
+
 char* get_term_charset(void)
 {
     static char codepage[10];

Modified: trunk/osdep/glob-win.c
==============================================================================
--- trunk/osdep/glob-win.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/glob-win.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,7 +42,7 @@ int glob(const char *pattern, int flags,
 		    //printf("could not find a file matching your search criteria\n");
 	        return 1;
 		}
-		else 
+		else
 		{
 			//printf("glob():ERROR:FindFirstFile: %i\n",GetLastError());
 			return 1;
@@ -69,9 +69,9 @@ int glob(const char *pattern, int flags,
 		else
 		{
             //printf("glob: found file %s\n",found_file.cFileName);
-            pglob->gl_pathc++;       
+            pglob->gl_pathc++;
             pglob->gl_pathv = realloc(pglob->gl_pathv,pglob->gl_pathc * sizeof(char*));
-            pglob->gl_pathv[pglob->gl_pathc-1] = strdup(found_file.cFileName);       
+            pglob->gl_pathv[pglob->gl_pathc-1] = strdup(found_file.cFileName);
  		}
     }
     FindClose(searchhndl);
@@ -98,7 +98,7 @@ int main(void){
         for(i=0;i<gg.gl_pathc;i++)printf("GLOBED:%i %s\n",i,gg.gl_pathv[i]);
     }
    globfree(&gg);
-   
+
    return 0;
 }
 #endif

Modified: trunk/osdep/keycodes.h
==============================================================================
--- trunk/osdep/keycodes.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/keycodes.h	Wed May 13 04:58:57 2009	(r29305)
@@ -72,7 +72,7 @@
 #define KEY_VOLUME_UP (KEY_MM_BASE+10)
 #define KEY_VOLUME_DOWN (KEY_MM_BASE+11)
 #define KEY_MUTE (KEY_MM_BASE+12)
-  
+
 /* Keypad keys */
 #define KEY_KEYPAD (KEY_BASE+32)
 #define KEY_KP0 (KEY_KEYPAD+0)

Modified: trunk/osdep/macosx_finder_args.c
==============================================================================
--- trunk/osdep/macosx_finder_args.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/macosx_finder_args.c	Wed May 13 04:58:57 2009	(r29305)
@@ -29,8 +29,8 @@ static play_tree_t *files=NULL;
 static inline void add_entry(play_tree_t **last_parentp, play_tree_t **last_entryp, play_tree_t *entry) {
 
 	if(*last_entryp==NULL)
-		play_tree_set_child(*last_parentp, entry);		      
-	else 
+		play_tree_set_child(*last_parentp, entry);
+	else
 		play_tree_append_entry(*last_entryp, entry);
 
 	*last_entryp=entry;
@@ -97,7 +97,7 @@ long itemsInList;
 		}
 		else
 			mp_msg(MSGT_CFGPARSER, MSGL_ERR, "AECountItems() error %d\n", res);
-		
+
 		AEDisposeDesc(&docList);
 	}
 	else

Modified: trunk/osdep/mmap_anon.c
==============================================================================
--- trunk/osdep/mmap_anon.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/mmap_anon.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,9 +34,9 @@
 /*
  * mmap() anonymous space, depending on the system's mmap() style. On systems
  * that use the /dev/zero mapping idiom, zerofd will be set to the file descriptor
- * of the opened /dev/zero. 
+ * of the opened /dev/zero.
  */
- 
+
  /**
  * \brief mmap() anonymous space, depending on the system's mmap() style. On systems
  * that use the /dev/zero mapping idiom, zerofd will be set to the file descriptor
@@ -47,7 +47,7 @@
  * \param prot protections (region accessibility).
  * \param flags specifies the type of the mapped object.
  * \param offset start mapping at byte offset.
- * \param zerofd 
+ * \param zerofd
  * \return a pointer to the mapped region upon successful completion, -1 otherwise.
  */
 void *mmap_anon(void *addr, size_t len, int prot, int flags, off_t offset)

Modified: trunk/osdep/mplayer.rc
==============================================================================
--- trunk/osdep/mplayer.rc	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/mplayer.rc	Wed May 13 04:58:57 2009	(r29305)
@@ -18,7 +18,7 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#include <winver.h>   
+#include <winver.h>
 #include "version.h"
 
 1 VERSIONINFO
@@ -27,8 +27,8 @@ PRODUCTVERSION 0,0,9,0
 FILEOS VOS__WINDOWS32
 FILETYPE VFT_APP
 {
-    BLOCK "StringFileInfo" 
-    {  
+    BLOCK "StringFileInfo"
+    {
 	    BLOCK "000004b0" // LANG_NEUTRAL,UNICODE_CP
         {
 		    VALUE "Comments","MPlayer is distributed under the terms of the GNU General Public License Version 2. Source code is available at http://www.mplayerhq.hu\000"
@@ -44,7 +44,7 @@ FILETYPE VFT_APP
             //VALUE "SpecialBuild","\000"
         }
     }
-    BLOCK "VarFileInfo"  
+    BLOCK "VarFileInfo"
     {
 	    VALUE "Translation",0,0x04b0
     }

Modified: trunk/osdep/strsep.c
==============================================================================
--- trunk/osdep/strsep.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/strsep.c	Wed May 13 04:58:57 2009	(r29305)
@@ -53,6 +53,6 @@ char *strsep(char **stringp, const char 
   }
   else
     *stringp = NULL;
- 
+
   return begin;
 }

Modified: trunk/osdep/timer-darwin.c
==============================================================================
--- trunk/osdep/timer-darwin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/timer-darwin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -38,9 +38,9 @@ const char *timer_name = "Darwin accurat
 float sleep_accurate(float time_frame)
 {
 	uint64_t deadline = time_frame / timebase_ratio + mach_absolute_time();
-	
+
 	mach_wait_until(deadline);
-	
+
 	return (mach_absolute_time() - deadline) * timebase_ratio;
 }
 
@@ -67,10 +67,10 @@ unsigned int GetTimerMS(void)
 float GetRelativeTime(void)
 {
   double last_time = relative_time;
-  
+
   if (!relative_time)
     InitTimer();
-  
+
   relative_time = mach_absolute_time() * timebase_ratio;
 
   return (float)(relative_time-last_time);
@@ -82,9 +82,9 @@ void InitTimer(void)
   struct mach_timebase_info timebase;
 
   mach_timebase_info(&timebase);
-  timebase_ratio = (double)timebase.numer / (double)timebase.denom 
+  timebase_ratio = (double)timebase.numer / (double)timebase.denom
     * (double)1e-9;
-    
+
   relative_time = (double)(mach_absolute_time() * timebase_ratio);
 }
 
@@ -94,7 +94,7 @@ void InitTimer(void)
 int main(void) {
   int i,j, r, c = 200;
   long long t = 0;
-  
+
   InitTimer();
 
   for (i = 0; i < c; i++) {

Modified: trunk/osdep/timer-win2.c
==============================================================================
--- trunk/osdep/timer-win2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/osdep/timer-win2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,10 +37,10 @@ unsigned int GetTimerMS(void)
 }
 
 int usec_sleep(int usec_delay){
-  // Sleep(0) won't sleep for one clocktick as the unix usleep 
+  // Sleep(0) won't sleep for one clocktick as the unix usleep
   // instead it will only make the thread ready
   // it may take some time until it actually starts to run again
-  if(usec_delay<1000)usec_delay=1000;  
+  if(usec_delay<1000)usec_delay=1000;
   Sleep( usec_delay/1000);
   return 0;
 }

Modified: trunk/parser-cfg.c
==============================================================================
--- trunk/parser-cfg.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/parser-cfg.c	Wed May 13 04:58:57 2009	(r29305)
@@ -67,7 +67,7 @@ int m_config_parse_config_file(m_config_
 		ret = -1;
 		goto out;
 	} else
-	  
+
 	config->mode = M_CONFIG_FILE;
 
 	if ((line = malloc(MAX_LINE_LEN + 1)) == NULL) {
@@ -124,7 +124,7 @@ int m_config_parse_config_file(m_config_
 			continue;
 		}
 		opt[opt_pos] = '\0';
-		
+
 		/* Profile declaration */
 		if(opt_pos > 2 && opt[0] == '[' && opt[opt_pos-1] == ']') {
 			opt[opt_pos-1] = '\0';
@@ -232,7 +232,7 @@ int m_config_parse_config_file(m_config_
 			errors++;
 			continue;
 			/* break */
-		}	
+		}
 nextline:
 		;
 	}

Modified: trunk/parser-mecmd.c
==============================================================================
--- trunk/parser-mecmd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/parser-mecmd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -47,7 +47,7 @@ m_entry_set_options(m_config_t *config, 
 }
 
 
-  
+
 
 m_entry_t*
 m_config_parse_me_command_line(m_config_t *config, int argc, char **argv)
@@ -58,7 +58,7 @@ m_config_parse_me_command_line(m_config_
   int no_more_opts = 0;
   int opt_exit = 0;
   m_entry_t *lst = NULL, *entry = NULL;
-	
+
 #ifdef MP_DEBUG
   assert(config != NULL);
   assert(argv != NULL);
@@ -83,7 +83,7 @@ m_config_parse_me_command_line(m_config_
 	  }
 	continue;
       }
-			
+
     if ((no_more_opts == 0) && (*opt == '-') && (*(opt+1) != 0)) /* option */
       {
 	const m_option_t* mp_opt = NULL;

Modified: trunk/parser-mpcmd.c
==============================================================================
--- trunk/parser-mpcmd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/parser-mpcmd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -56,8 +56,8 @@ static int is_entry_option(char *opt, ch
 static inline void add_entry(play_tree_t **last_parentp,
 	play_tree_t **last_entryp, play_tree_t *entry) {
     if(*last_entryp == NULL)
-      play_tree_set_child(*last_parentp,entry);		      
-    else 
+      play_tree_set_child(*last_parentp,entry);
+    else
       play_tree_append_entry(*last_entryp,entry);
     *last_entryp = entry;
 }
@@ -88,7 +88,7 @@ m_config_parse_mp_command_line(m_config_
   mode = GLOBAL;
 #ifdef CONFIG_MACOSX_FINDER
   root=macosx_finder_args(config, argc, argv);
-  if(root) 
+  if(root)
   	return root;
 #endif
 
@@ -136,7 +136,7 @@ m_config_parse_mp_command_line(m_config_
 	last_parent = last_entry->parent;
 	continue;
       }
-			
+
     if ((no_more_opts == 0) && (*opt == '-') && (*(opt+1) != 0)) /* option */
       {
 	int tmp = 0;
@@ -230,12 +230,12 @@ m_config_parse_mp_command_line(m_config_
                } else {
                    end_title=strtol(splitpos+1,NULL,10);
                }
-              
-               if (dvd_range(start_title) && dvd_range(end_title) && (start_title<end_title))      
+
+               if (dvd_range(start_title) && dvd_range(end_title) && (start_title<end_title))
                {
                  for (j=start_title;j<=end_title;j++)
                  {
-                  if (j!=start_title) 
+                  if (j!=start_title)
                       entry=play_tree_new();
                   snprintf(entbuf,9,"dvd://%d",j);
                   play_tree_add_file(entry,entbuf);
@@ -245,7 +245,7 @@ m_config_parse_mp_command_line(m_config_
                } else {
                  mp_msg(MSGT_CFGPARSER, MSGL_ERR, MSGTR_InvalidPlayEntry, argv[i]);
                }
-         
+
 	     } else { // dvd:// or dvd://x entry
                 play_tree_add_file(entry,argv[i]);
              }

Modified: trunk/playtree.c
==============================================================================
--- trunk/playtree.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/playtree.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,7 +37,7 @@ play_tree_free(play_tree_t* pt, int chil
   assert(pt != NULL);
 #endif
 
-  if(children) {    
+  if(children) {
     for(iter = pt->child; iter != NULL; ) {
       play_tree_t* nxt=iter->next;
       play_tree_free(iter,1);
@@ -78,7 +78,7 @@ play_tree_free_list(play_tree_t* pt, int
     play_tree_free(iter, children);
     iter = nxt;
   }
-    
+
 
 }
 
@@ -130,7 +130,7 @@ play_tree_prepend_entry(play_tree_t* pt,
 
 void
 play_tree_insert_entry(play_tree_t* pt, play_tree_t* entry) {
-  
+
 #ifdef MP_DEBUG
   assert(pt != NULL);
   assert(entry != NULL);
@@ -144,12 +144,12 @@ play_tree_insert_entry(play_tree_t* pt, 
 #endif
     entry->next = pt->next;
     entry->next->prev = entry;
-  } else 
+  } else
     entry->next = NULL;
   pt->next = entry;
 
 }
-    
+
 void
 play_tree_remove(play_tree_t* pt, int free_it, int with_children) {
 
@@ -166,7 +166,7 @@ play_tree_remove(play_tree_t* pt, int fr
     pt->prev->next = pt->next;
     pt->next->prev = pt->prev;
   } // End of list
-  else if(pt->prev) { 
+  else if(pt->prev) {
 #ifdef MP_DEBUG
     assert(pt->prev->next == pt);
 #endif
@@ -182,7 +182,7 @@ play_tree_remove(play_tree_t* pt, int fr
       assert(pt->parent->child == pt);
 #endif
       pt->parent->child = pt->next;
-    } 
+    }
   } // The only one
   else if(pt->parent) {
 #ifdef MP_DEBUG
@@ -210,7 +210,7 @@ play_tree_set_child(play_tree_t* pt, pla
   // Attention in using this function!
   for(iter = pt->child ; iter != NULL ; iter = iter->next)
     iter->parent = NULL;
-  
+
   // Go back to first one
   for(iter = child ; iter->prev != NULL ; iter = iter->prev)
     /* NOTHING */;
@@ -244,8 +244,8 @@ play_tree_set_parent(play_tree_t* pt, pl
   } else
     parent->child = pt;
 
-}  
-  
+}
+
 
 void
 play_tree_add_file(play_tree_t* pt,char* file) {
@@ -258,7 +258,7 @@ play_tree_add_file(play_tree_t* pt,char*
   assert(file != NULL);
 #endif
 
-  if(pt->entry_type != PLAY_TREE_ENTRY_NODE && 
+  if(pt->entry_type != PLAY_TREE_ENTRY_NODE &&
      pt->entry_type != PLAY_TREE_ENTRY_FILE)
     return;
 
@@ -437,7 +437,7 @@ play_tree_unset_flag(play_tree_t* pt, in
 
 //////////////////////////////////// ITERATOR //////////////////////////////////////
 
-static void 
+static void
 play_tree_iter_push_params(play_tree_iter_t* iter) {
   int n;
   play_tree_t* pt;
@@ -456,12 +456,12 @@ play_tree_iter_push_params(play_tree_ite
   if(pt->params == NULL)
     return;
 
-  
+
   for(n = 0; pt->params[n].name != NULL ; n++) {
     int e;
     if((e = m_config_set_option(iter->config,pt->params[n].name,pt->params[n].value)) < 0) {
       mp_msg(MSGT_PLAYTREE,MSGL_ERR,"Error %d while setting option '%s' with value '%s'\n",e,
-	     pt->params[n].name,pt->params[n].value);      
+	     pt->params[n].name,pt->params[n].value);
     }
   }
 
@@ -478,7 +478,7 @@ play_tree_iter_new(play_tree_t* pt,m_con
   assert(pt != NULL);
   assert(config != NULL);
 #endif
-  
+
   if( ! play_tree_is_valid(pt))
     return NULL;
 
@@ -490,7 +490,7 @@ play_tree_iter_new(play_tree_t* pt,m_con
   iter->root = pt;
   iter->tree = NULL;
   iter->config = config;
- 
+
   if(pt->parent)
     iter->loop = pt->parent->loop;
 
@@ -529,7 +529,7 @@ play_tree_rnd_step(play_tree_t* pt) {
     if(!(i->flags & PLAY_TREE_RND_PLAYED)) count++;
 
   if(!count) return NULL;
-  
+
   r = (int)((float)(count) * rand() / (RAND_MAX + 1.0));
 
   for(i = head ; i  ; i=i->next) {
@@ -548,7 +548,7 @@ play_tree_iter_step(play_tree_iter_t* it
 
   if ( !iter ) return PLAY_TREE_ITER_ENTRY;
   if ( !iter->root ) return PLAY_TREE_ITER_ENTRY;
-  
+
 #ifdef MP_DEBUG
   assert(iter != NULL);
   assert(iter->root != NULL);
@@ -587,7 +587,7 @@ play_tree_iter_step(play_tree_iter_t* it
     d = i ? i : -1;
   } else
     pt = iter->tree;
-  
+
   if(pt == NULL) { // No next
     // Must we loop?
     if (iter->mode == PLAY_TREE_ITER_RND) {
@@ -598,7 +598,7 @@ play_tree_iter_step(play_tree_iter_t* it
       // try again
       return play_tree_iter_step(iter, 0, with_nodes);
     } else
-    if(iter->tree->parent && iter->tree->parent->loop != 0 && ((d > 0 && iter->loop != 0) || ( d < 0 && (iter->loop < 0 || iter->loop < iter->tree->parent->loop) ) ) ) { 
+    if(iter->tree->parent && iter->tree->parent->loop != 0 && ((d > 0 && iter->loop != 0) || ( d < 0 && (iter->loop < 0 || iter->loop < iter->tree->parent->loop) ) ) ) {
       if(d > 0) { // Go back to the first one
 	for(pt = iter->tree ; pt->prev != NULL; pt = pt->prev)
 	  /* NOTHNG */;
@@ -619,7 +619,7 @@ play_tree_iter_step(play_tree_iter_t* it
   // Is there any valid child?
   if(pt->child && play_tree_is_valid(pt->child)) {
     iter->tree = pt;
-    if(with_nodes) { // Stop on the node      
+    if(with_nodes) { // Stop on the node
       return PLAY_TREE_ITER_NODE;
     } else      // Or follow it
       return play_tree_iter_down_step(iter,d,with_nodes);
@@ -639,7 +639,7 @@ play_tree_iter_step(play_tree_iter_t* it
 #endif
 
   iter->tree = pt;
-    
+
   for(d = 0 ; iter->tree->files[d] != NULL ; d++)
     /* NOTHING */;
   iter->num_files = d;
@@ -686,7 +686,7 @@ play_tree_iter_up_step(play_tree_iter_t*
   assert(iter->tree != NULL);
   //printf("PT : Go UP\n");
 #endif
-  
+
   iter->file = -1;
   if(iter->tree->parent == iter->root->parent)
     return PLAY_TREE_ITER_END;
@@ -720,7 +720,7 @@ play_tree_iter_up_step(play_tree_iter_t*
 
   return play_tree_iter_step(iter,d,with_nodes);
 }
-  
+
 int
 play_tree_iter_down_step(play_tree_iter_t* iter, int d,int with_nodes) {
 
@@ -818,7 +818,7 @@ play_tree_cleanup(play_tree_t* pt) {
     iter = iter->next;
     play_tree_cleanup(tmp);
   }
-    
+
   return pt;
 
 }
@@ -860,12 +860,12 @@ play_tree_iter_t* pt_iter_create(play_tr
 #ifdef MP_DEBUG
   assert(*ppt!=NULL);
 #endif
-  
+
   *ppt=play_tree_cleanup(*ppt);
-  
+
   if(*ppt) {
     r = play_tree_iter_new(*ppt,config);
-    if (r && play_tree_iter_step(r,0,0) != PLAY_TREE_ITER_ENTRY) 
+    if (r && play_tree_iter_step(r,0,0) != PLAY_TREE_ITER_ENTRY)
     {
       play_tree_iter_free(r);
       r = NULL;
@@ -891,9 +891,9 @@ char* pt_iter_get_file(play_tree_iter_t*
 
   if (iter==NULL)
     return NULL;
-  
+
   r = play_tree_iter_get_file(iter,d);
-  
+
   while (!r && d!=0)
   {
     if (play_tree_iter_step(iter,d,0) != PLAY_TREE_ITER_ENTRY)
@@ -934,7 +934,7 @@ void pt_add_file(play_tree_t** ppt, char
 #ifdef MP_DEBUG
   assert(entry!=NULL);
 #endif
- 
+
   play_tree_add_file(entry, filename);
   if (pt)
     play_tree_append_entry(pt, entry);

Modified: trunk/playtree.h
==============================================================================
--- trunk/playtree.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/playtree.h	Wed May 13 04:58:57 2009	(r29305)
@@ -106,7 +106,7 @@ struct play_tree_iter {
   int num_files;
   int entry_pushed;
   int mode;
- 
+
   ///  loop/valid stack to save/revert status when we go up/down.
   int* status_stack;
   /// status stack size
@@ -115,7 +115,7 @@ struct play_tree_iter {
 ///@}
 
 /// Create a new empty playtree item.
-play_tree_t* 
+play_tree_t*
 play_tree_new(void);
 
 /// Free a playtree item.
@@ -201,7 +201,7 @@ play_tree_iter_free(play_tree_iter_t* it
  *  \param with_node TRUE == stop on nodes with children, FALSE == go directly to the next child
  *  \return See \ref PlaytreeIterReturn.
  */
-int 
+int
 play_tree_iter_step(play_tree_iter_t* iter, int d,int with_nodes);
 
 /// Step up, useful to break a loop, etc.
@@ -268,7 +268,7 @@ void pt_iter_replace_entry(play_tree_ite
 /// Adds a new file to the playtree, if it is not valid it is created.
 void pt_add_file(play_tree_t** ppt, char* filename);
 
-/// \brief Performs a convert to playtree-syntax, by concat path/file 
+/// \brief Performs a convert to playtree-syntax, by concat path/file
 /// and performs pt_add_file
 void pt_add_gui_file(play_tree_t** ppt, char* path, char* file);
 

Modified: trunk/playtreeparser.c
==============================================================================
--- trunk/playtreeparser.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/playtreeparser.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,7 +59,7 @@ play_tree_parser_get_line(play_tree_pars
 
   if(p->stream->eof && (p->buffer_end == 0 || p->iter[0] == '\0'))
     return NULL;
-    
+
   assert(p->buffer_end < p->buffer_size);
   assert(!p->buffer[p->buffer_end]);
   while(1) {
@@ -71,7 +71,7 @@ play_tree_parser_get_line(play_tree_pars
       p->buffer_size += BUF_STEP;
       resize = 0;
     }
-    
+
     if(p->buffer_size - p->buffer_end > 1 && ! p->stream->eof) {
       r = stream_read(p->stream,p->buffer + p->buffer_end,p->buffer_size - p->buffer_end - 1);
       if(r > 0) {
@@ -83,7 +83,7 @@ play_tree_parser_get_line(play_tree_pars
       }
       assert(!p->buffer[p->buffer_end]);
     }
-    
+
     end = strchr(p->iter,'\n');
     if(!end) {
       if(p->stream->eof) {
@@ -145,7 +145,7 @@ parse_asx(play_tree_parser_t* p) {
   char* line = NULL;
 
   mp_msg(MSGT_PLAYTREE,MSGL_V,"Trying asx...\n");
-  
+
   while(1) {
     if(get_line) {
       line = play_tree_parser_get_line(p);
@@ -190,7 +190,7 @@ parse_asx(play_tree_parser_t* p) {
 	get_line = 1;
     }
   }
-	
+
   mp_msg(MSGT_PLAYTREE,MSGL_V,"Detected asx format\n");
 
   // We have an asx : load it in memory and parse
@@ -205,7 +205,7 @@ parse_asx(play_tree_parser_t* p) {
 static char*
 pls_entry_get_value(char* line) {
   char* i;
-  
+
   i = strchr(line,'=');
   if(!i || i[1] == '\0')
     return NULL;
@@ -306,7 +306,7 @@ parse_pls(play_tree_parser_t* p) {
 	mp_msg(MSGT_PLAYTREE,MSGL_ERR,"No value in entry %s\n",line);
       else
 	entries[num-1].length = strdup(v);
-    } else 
+    } else
       mp_msg(MSGT_PLAYTREE,MSGL_WARN,"Unknown entry type %s\n",line);
     line = play_tree_parser_get_line(p);
   }
@@ -338,7 +338,7 @@ parse_pls(play_tree_parser_t* p) {
   free(entries);
 
   entry = play_tree_new();
-  play_tree_set_child(entry,list);	
+  play_tree_set_child(entry,list);
   return entry;
 }
 
@@ -384,7 +384,7 @@ parse_ref_ini(play_tree_parser_t* p) {
 
   if(!list) return NULL;
   entry = play_tree_new();
-  play_tree_set_child(entry,list);	
+  play_tree_set_child(entry,list);
   return entry;
 }
 
@@ -429,11 +429,11 @@ parse_m3u(play_tree_parser_t* p) {
       play_tree_append_entry(last_entry,entry);
     last_entry = entry;
   }
-   
+
   if(!list) return NULL;
   entry = play_tree_new();
   play_tree_set_child(entry,list);
-  return entry;    
+  return entry;
 }
 
 static play_tree_t*
@@ -480,7 +480,7 @@ parse_smil(play_tree_parser_t* p) {
     }
   }
 
-  //Get entries from smil 
+  //Get entries from smil
   src_line = line;
   line = NULL;
   do {
@@ -526,7 +526,7 @@ parse_smil(play_tree_parser_t* p) {
     }
     pos = line;
    while (pos) {
-    if (!entrymode) { // all entries filled so far 
+    if (!entrymode) { // all entries filled so far
      while ((pos=strchr(pos, '<'))) {
       if (strncasecmp(pos,"<video",6)==0  || strncasecmp(pos,"<audio",6)==0 || strncasecmp(pos,"<media",6)==0) {
           entrymode=1;
@@ -623,11 +623,11 @@ parse_textplain(play_tree_parser_t* p) {
     if (strlen(line) > 5)
       for(c = line; c[0]; c++ )
         if ( ((c[0] == '.') && //start with . and next have smil with optional ? or &
-           (tolower(c[1]) == 's') && (tolower(c[2])== 'm') && 
+           (tolower(c[1]) == 's') && (tolower(c[2])== 'm') &&
            (tolower(c[3]) == 'i') && (tolower(c[4]) == 'l') &&
            (!c[5] || c[5] == '?' || c[5] == '&')) || // or
           ((c[0] == '.') && // start with . and next have smi or ram with optional ? or &
-          ( ((tolower(c[1]) == 's') && (tolower(c[2])== 'm') && (tolower(c[3]) == 'i')) || 
+          ( ((tolower(c[1]) == 's') && (tolower(c[2])== 'm') && (tolower(c[3]) == 'i')) ||
             ((tolower(c[1]) == 'r') && (tolower(c[2])== 'a') && (tolower(c[3]) == 'm')) )
            && (!c[4] || c[4] == '?' || c[4] == '&')) ){
           entry=embedded_playlist_parse(line);
@@ -648,11 +648,11 @@ parse_textplain(play_tree_parser_t* p) {
       last_entry = entry;
     }
   }
-   
+
   if(!list) return NULL;
   entry = play_tree_new();
   play_tree_set_child(entry,list);
-  return entry;    
+  return entry;
 }
 
 play_tree_t*
@@ -713,7 +713,7 @@ play_tree_add_basepath(play_tree_t* pt, 
 void play_tree_add_bpf(play_tree_t* pt, char* filename)
 {
   char *ls, *file;
-  
+
   if (pt && filename)
   {
     file = strdup(filename);
@@ -805,7 +805,7 @@ play_tree_parser_get_play_tree(play_tree
     tree = parse_m3u(p);
     if(tree) break;
     play_tree_parser_reset(p);
-    
+
     tree = parse_ref_ini(p);
     if(tree) break;
     play_tree_parser_reset(p);
@@ -813,7 +813,7 @@ play_tree_parser_get_play_tree(play_tree
     tree = parse_smil(p);
     if(tree) break;
     play_tree_parser_reset(p);
-     
+
     // Here come the others formats ( textplain must stay the last one )
     if (forced)
     {
@@ -825,12 +825,12 @@ play_tree_parser_get_play_tree(play_tree
 
   if(tree)
     mp_msg(MSGT_PLAYTREE,MSGL_V,"Playlist successfully parsed\n");
-  else 
+  else
     mp_msg(MSGT_PLAYTREE,((forced==1)?MSGL_ERR:MSGL_V),"Error while parsing playlist\n");
 
   if(tree)
     tree = play_tree_cleanup(tree);
-  
+
   if(!tree) mp_msg(MSGT_PLAYTREE,((forced==1)?MSGL_WARN:MSGL_V),"Warning: empty playlist\n");
 
   return tree;

Modified: trunk/rpm/mplayer.spec
==============================================================================
--- trunk/rpm/mplayer.spec	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/rpm/mplayer.spec	Wed May 13 04:58:57 2009	(r29305)
@@ -101,7 +101,7 @@ Group:          Applications/Multimedia
 Requires:       mplayer = %{version}-%{release}
 
 %description -n mencoder
-This package contains the MPlayer movie encoder. 
+This package contains the MPlayer movie encoder.
 
 %package        doc
 Summary:        MPlayer documentation in various languages
@@ -221,7 +221,7 @@ mv -f mplayer gmplayer
 
 %{__make}
 
-# build HTML documentation from XML files 
+# build HTML documentation from XML files
 pushd DOCS/xml
 %{__make} html-chunked
 popd

Modified: trunk/spudec.c
==============================================================================
--- trunk/spudec.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/spudec.c	Wed May 13 04:58:57 2009	(r29305)
@@ -196,7 +196,7 @@ static inline void spudec_cut_image(spud
 	  this->image_size = 0;
 	  return;
   }
-  
+
 //  printf("new h %d new start %d (sz %d st %d)---\n\n", this->height, this->start_row, this->image_size, this->stride);
 
   image = malloc(2 * this->stride * this->height);
@@ -593,7 +593,7 @@ void spudec_reset(void *this)	// called 
 }
 
 void spudec_heartbeat(void *this, unsigned int pts100)
-{ 
+{
   spudec_handle_t *spu = (spudec_handle_t*) this;
   spu->now_pts = pts100;
 
@@ -761,7 +761,7 @@ void sws_spu_image(unsigned char *d1, un
 		firsttime = 0;
 		oldvar = spu_gaussvar;
 	}
-	
+
 	ctx=sws_getContext(sw, sh, PIX_FMT_GRAY8, dw, dh, PIX_FMT_GRAY8, SWS_GAUSS, &filter, NULL, NULL);
 	sws_scale(ctx,&s1,&ss,0,sh,&d1,&ds);
 	for (i=ss*sh-1; i>=0; i--) if (!s2[i]) s2[i] = 255; //else s2[i] = 1;
@@ -778,8 +778,8 @@ void spudec_draw_scaled(void *me, unsign
 
   if (spu->start_pts <= spu->now_pts && spu->now_pts < spu->end_pts) {
 
-    // check if only forced subtitles are requested 
-    if( (spu->forced_subs_only) && !(spu->is_forced_sub) ){ 
+    // check if only forced subtitles are requested
+    if( (spu->forced_subs_only) && !(spu->is_forced_sub) ){
 	return;
     }
 
@@ -903,7 +903,7 @@ void spudec_draw_scaled(void *me, unsign
 
 	       The original rectangular region that the scaled pixel
 	       represents is cut in 9 rectangular areas like this:
-	       
+
 	       +---+-----------------+---+
 	       | 1 |        2        | 3 |
 	       +---+-----------------+---+
@@ -1012,7 +1012,7 @@ void spudec_draw_scaled(void *me, unsign
 		      alpha += tmp;
 		      color += tmp * spu->image[base + walkx];
 		    }
-		  }		    
+		  }
 		}
 		/* 6: center right part */
 		if (right > 0.0 && height > 0) {

Modified: trunk/stream/ai_alsa.c
==============================================================================
--- trunk/stream/ai_alsa.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/ai_alsa.c	Wed May 13 04:58:57 2009	(r29305)
@@ -105,19 +105,19 @@ int ai_alsa_setup(audio_in_t *ai)
 int ai_alsa_init(audio_in_t *ai)
 {
     int err;
-    
+
     err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0);
     if (err < 0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_ErrorOpeningAudio, snd_strerror(err));
 	return -1;
     }
-    
+
     err = snd_output_stdio_attach(&ai->alsa.log, stderr, 0);
-    
+
     if (err < 0) {
 	return -1;
     }
-    
+
     err = ai_alsa_setup(ai);
 
     return err;
@@ -139,7 +139,7 @@ int ai_alsa_xrun(audio_in_t *ai)
 {
     snd_pcm_status_t *status;
     int res;
-	
+
     snd_pcm_status_alloca(&status);
     if ((res = snd_pcm_status(ai->alsa.handle, status))<0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaStatusError, snd_strerror(res));

Modified: trunk/stream/ai_alsa1x.c
==============================================================================
--- trunk/stream/ai_alsa1x.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/ai_alsa1x.c	Wed May 13 04:58:57 2009	(r29305)
@@ -119,19 +119,19 @@ int ai_alsa_setup(audio_in_t *ai)
 int ai_alsa_init(audio_in_t *ai)
 {
     int err;
-    
+
     err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0);
     if (err < 0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_ErrorOpeningAudio, snd_strerror(err));
 	return -1;
     }
-    
+
     err = snd_output_stdio_attach(&ai->alsa.log, stderr, 0);
-    
+
     if (err < 0) {
 	return -1;
     }
-    
+
     err = ai_alsa_setup(ai);
 
     return err;
@@ -153,7 +153,7 @@ int ai_alsa_xrun(audio_in_t *ai)
 {
     snd_pcm_status_t *status;
     int res;
-	
+
     snd_pcm_status_alloca(&status);
     if ((res = snd_pcm_status(ai->alsa.handle, status))<0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaStatusError, snd_strerror(res));

Modified: trunk/stream/ai_oss.c
==============================================================================
--- trunk/stream/ai_oss.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/ai_oss.c	Wed May 13 04:58:57 2009	(r29305)
@@ -75,11 +75,11 @@ int ai_oss_init(audio_in_t *ai)
 	       ai->oss.device, strerror(errno));
 	return -1;
     }
-	
+
     ioctl_param = 0 ;
     mp_msg(MSGT_TV, MSGL_V, "ioctl dsp getfmt: %d\n",
 	   ioctl(ai->oss.audio_fd, SNDCTL_DSP_GETFMTS, &ioctl_param));
-	
+
     mp_msg(MSGT_TV, MSGL_V, "Supported formats: %x\n", ioctl_param);
     if (!(ioctl_param & AFMT_S16_LE))
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIOSS_UnsupportedFmt);
@@ -93,7 +93,7 @@ int ai_oss_init(audio_in_t *ai)
     }
 
     if (ai_oss_set_channels(ai) < 0) return -1;
-	
+
     ioctl_param = ai->req_samplerate;
     mp_msg(MSGT_TV, MSGL_V, "ioctl dsp speed: %d\n",
 	   err = ioctl(ai->oss.audio_fd, SNDCTL_DSP_SPEED, &ioctl_param));

Modified: trunk/stream/asf_mmst_streaming.c
==============================================================================
--- trunk/stream/asf_mmst_streaming.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/asf_mmst_streaming.c	Wed May 13 04:58:57 2009	(r29305)
@@ -69,7 +69,7 @@ extern int video_id;
 #define HDR_BUF_SIZE 8192
 #define MAX_STREAMS 20
 
-typedef struct 
+typedef struct
 {
   uint8_t buf[BUF_SIZE];
   int     num_bytes;
@@ -82,7 +82,7 @@ static int stream_ids[MAX_STREAMS];
 
 static int get_data (int s, char *buf, size_t count);
 
-static void put_32 (command_t *cmd, uint32_t value) 
+static void put_32 (command_t *cmd, uint32_t value)
 {
   cmd->buf[cmd->num_bytes  ] = value % 256;
   value = value >> 8;
@@ -95,7 +95,7 @@ static void put_32 (command_t *cmd, uint
   cmd->num_bytes += 4;
 }
 
-static uint32_t get_32 (unsigned char *cmd, int offset) 
+static uint32_t get_32 (unsigned char *cmd, int offset)
 {
   uint32_t ret;
 
@@ -107,9 +107,9 @@ static uint32_t get_32 (unsigned char *c
   return ret;
 }
 
-static void send_command (int s, int command, uint32_t switches, 
+static void send_command (int s, int command, uint32_t switches,
 			  uint32_t extra, int length,
-			  char *data) 
+			  char *data)
 {
   command_t  cmd;
   int        len8;
@@ -175,7 +175,7 @@ static void string_utf16(char *dest, cha
 #endif
 }
 
-static void get_answer (int s) 
+static void get_answer (int s)
 {
   char  data[BUF_SIZE];
   int   command = 0x1b;
@@ -191,12 +191,12 @@ static void get_answer (int s) 
 
     command = get_32 (data, 36) & 0xFFFF;
 
-    if (command == 0x1b) 
+    if (command == 0x1b)
       send_command (s, 0x1b, 0, 0, 0, data);
   }
 }
 
-static int get_data (int s, char *buf, size_t count) 
+static int get_data (int s, char *buf, size_t count)
 {
   ssize_t  len;
   size_t total = 0;
@@ -223,7 +223,7 @@ static int get_data (int s, char *buf, s
 
 }
 
-static int get_header (int s, uint8_t *header, streaming_ctrl_t *streaming_ctrl) 
+static int get_header (int s, uint8_t *header, streaming_ctrl_t *streaming_ctrl)
 {
   unsigned char  pre_header[8];
   int            header_len;
@@ -236,9 +236,9 @@ static int get_header (int s, uint8_t *h
       return 0;
     }
     if (pre_header[4] == 0x02) {
-      
+
       int packet_len;
-      
+
       packet_len = (pre_header[7] << 8 | pre_header[6]) - 8;
 
 //      mp_msg(MSGT_NETWORK,MSGL_INFO,"asf header packet detected, len=%d\n", packet_len);
@@ -256,7 +256,7 @@ static int get_header (int s, uint8_t *h
       header_len += packet_len;
 
       if ( (header[header_len-1] == 1) && (header[header_len-2]==1)) {
-	
+
 
      if( streaming_bufferize( streaming_ctrl, header, header_len )<0 ) {
 				return -1;
@@ -266,7 +266,7 @@ static int get_header (int s, uint8_t *h
 
 	return header_len;
 
-      } 
+      }
 
     } else {
 
@@ -278,9 +278,9 @@ static int get_header (int s, uint8_t *h
 	mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_MMST_packet_lenReadFailed);
 	return 0;
       }
-      
+
       packet_len = get_32 ((unsigned char*)&packet_len, 0) + 4;
-      
+
 //      mp_msg(MSGT_NETWORK,MSGL_INFO,"command packet detected, len=%d\n", packet_len);
 
       if (packet_len < 0 || packet_len > BUF_SIZE) {
@@ -288,26 +288,26 @@ static int get_header (int s, uint8_t *h
                 MSGTR_MPDEMUX_MMST_InvalidRTSPPacketSize);
         return 0;
       }
-      
+
       if (!get_data (s, data, packet_len)) {
 	mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_MMST_CmdDataReadFailed);
 	return 0;
       }
-      
+
       command = get_32 (data, 24) & 0xFFFF;
-      
+
 //      mp_msg(MSGT_NETWORK,MSGL_INFO,"command: %02x\n", command);
-      
-      if (command == 0x1b) 
+
+      if (command == 0x1b)
 	send_command (s, 0x1b, 0, 0, 0, data);
-      
+
     }
 
 //    mp_msg(MSGT_NETWORK,MSGL_INFO,"get header packet succ\n");
   }
 }
 
-static int interp_header (uint8_t *header, int header_len) 
+static int interp_header (uint8_t *header, int header_len)
 {
   int i;
   int packet_length=-1;
@@ -318,24 +318,24 @@ static int interp_header (uint8_t *heade
 
   i = 30;
   while (i<header_len) {
-    
+
     uint64_t  guid_1, guid_2, length;
 
-    guid_2 = (uint64_t)header[i] | ((uint64_t)header[i+1]<<8) 
+    guid_2 = (uint64_t)header[i] | ((uint64_t)header[i+1]<<8)
       | ((uint64_t)header[i+2]<<16) | ((uint64_t)header[i+3]<<24)
       | ((uint64_t)header[i+4]<<32) | ((uint64_t)header[i+5]<<40)
       | ((uint64_t)header[i+6]<<48) | ((uint64_t)header[i+7]<<56);
     i += 8;
 
-    guid_1 = (uint64_t)header[i] | ((uint64_t)header[i+1]<<8) 
+    guid_1 = (uint64_t)header[i] | ((uint64_t)header[i+1]<<8)
       | ((uint64_t)header[i+2]<<16) | ((uint64_t)header[i+3]<<24)
       | ((uint64_t)header[i+4]<<32) | ((uint64_t)header[i+5]<<40)
       | ((uint64_t)header[i+6]<<48) | ((uint64_t)header[i+7]<<56);
     i += 8;
-    
+
 //    mp_msg(MSGT_NETWORK,MSGL_INFO,"guid found: %016llx%016llx\n", guid_1, guid_2);
 
-    length = (uint64_t)header[i] | ((uint64_t)header[i+1]<<8) 
+    length = (uint64_t)header[i] | ((uint64_t)header[i+1]<<8)
       | ((uint64_t)header[i+2]<<16) | ((uint64_t)header[i+3]<<24)
       | ((uint64_t)header[i+4]<<32) | ((uint64_t)header[i+5]<<40)
       | ((uint64_t)header[i+6]<<48) | ((uint64_t)header[i+7]<<56);
@@ -366,7 +366,7 @@ static int interp_header (uint8_t *heade
       } else {
         mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_MMST_2ManyStreamID);
       }
-      
+
     } else {
 #if 0
       int b = i;
@@ -420,7 +420,7 @@ static int get_media_packet (int s, int 
       mp_msg(MSGT_NETWORK, MSGL_FATAL, MSGTR_MPDEMUX_MMST_InvalidRTSPPacketSize);
       return 0;
     }
-      
+
     if (!get_data (s, data, packet_len)) {
       mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_MMST_MediaDataReadFailed);
       return 0;
@@ -461,7 +461,7 @@ static int get_media_packet (int s, int 
 
 //    mp_msg(MSGT_NETWORK,MSGL_INFO,"\ncommand packet detected, len=%d  cmd=0x%X\n", packet_len, command);
 
-    if (command == 0x1b) 
+    if (command == 0x1b)
       send_command (s, 0x1b, 0, 0, 0, data);
     else if (command == 0x1e) {
       mp_msg(MSGT_NETWORK,MSGL_INFO,MSGTR_MPDEMUX_MMST_PatentedTechnologyJoke);
@@ -486,10 +486,10 @@ static int get_media_packet (int s, int 
 
 static int packet_length1;
 
-static int asf_mmst_streaming_read( int fd, char *buffer, int size, streaming_ctrl_t *stream_ctrl ) 
+static int asf_mmst_streaming_read( int fd, char *buffer, int size, streaming_ctrl_t *stream_ctrl )
 {
   int len;
-  
+
   while( stream_ctrl->buffer_size==0 ) {
           // buffer is empty - fill it!
 	  int ret = get_media_packet( fd, packet_length1, stream_ctrl);
@@ -499,7 +499,7 @@ static int asf_mmst_streaming_read( int 
 	  } else if (ret==0) //EOF?
 		  return ret;
   }
-  
+
 	  len = stream_ctrl->buffer_size-stream_ctrl->buffer_pos;
 	  if(len>size) len=size;
 	  memcpy( buffer, (stream_ctrl->buffer)+(stream_ctrl->buffer_pos), len );
@@ -514,7 +514,7 @@ static int asf_mmst_streaming_read( int 
 
 }
 
-static int asf_mmst_streaming_seek( int fd, off_t pos, streaming_ctrl_t *streaming_ctrl ) 
+static int asf_mmst_streaming_seek( int fd, off_t pos, streaming_ctrl_t *streaming_ctrl )
 {
 	return -1;
 	// Shut up gcc warning
@@ -538,7 +538,7 @@ int asf_mmst_streaming_start(stream_t *s
 	  closesocket( stream->fd );
 	  stream->fd = -1;
   }
-  
+
   /* parse url */
   path = strchr(url1->file,'/') + 1;
 
@@ -548,11 +548,11 @@ int asf_mmst_streaming_start(stream_t *s
   unescpath=malloc(strlen(path)+1);
   if (!unescpath) {
 	mp_msg(MSGT_NETWORK,MSGL_FATAL,MSGTR_MemAllocFailed);
-	return -1; 
+	return -1;
   }
   url_unescape_string(unescpath,path);
   path=unescpath;
-  
+
 
   if( url1->port==0 ) {
 	url1->port=1755;
@@ -563,13 +563,13 @@ int asf_mmst_streaming_start(stream_t *s
 	  return s;
   }
   mp_msg(MSGT_NETWORK,MSGL_INFO,MSGTR_MPDEMUX_MMST_Connected);
-  
+
   seq_num=0;
 
   /*
-  * Send the initial connect info including player version no. Client GUID (random) and the host address being connected to. 
-  * This command is sent at the very start of protocol initiation. It sends local information to the serve 
-  * cmd 1 0x01 
+  * Send the initial connect info including player version no. Client GUID (random) and the host address being connected to.
+  * This command is sent at the very start of protocol initiation. It sends local information to the serve
+  * cmd 1 0x01
   * */
 
   /* prepare for the url encoding conversion */
@@ -588,7 +588,7 @@ int asf_mmst_streaming_start(stream_t *s
 
   len = recv (s, data, BUF_SIZE, 0) ;
 
-  /*This sends details of the local machine IP address to a Funnel system at the server. 
+  /*This sends details of the local machine IP address to a Funnel system at the server.
   * Also, the TCP or UDP transport selection is sent.
   *
   * here 192.168.0.1 is local ip address TCP/UDP states the tronsport we r using
@@ -612,8 +612,8 @@ int asf_mmst_streaming_start(stream_t *s
 
   get_answer (s);
 
-  /* The ASF header chunk request. Includes ?session' variable for pre header value. 
-  * After this command is sent, 
+  /* The ASF header chunk request. Includes ?session' variable for pre header value.
+  * After this command is sent,
   * the server replies with 0x11 command and then the header chunk with header data follows.
   * 0x15 */
 
@@ -634,14 +634,14 @@ int asf_mmst_streaming_start(stream_t *s
   packet_length = interp_header (asf_header, asf_header_len);
 
 
-  /* 
-  * This command is the media stream MBR selector. Switches are always 6 bytes in length.  
-  * After all switch elements, data ends with bytes [00 00] 00 20 ac 40 [02]. 
-  * Where:  
-  * [00 00] shows 0x61 0x00 (on the first 33 sent) or 0xff 0xff for ASF files, and with no ending data for WMV files. 
-  * It is not yet understood what all this means. 
-  * And the last [02] byte is probably the header ?session' value. 
-  *  
+  /*
+  * This command is the media stream MBR selector. Switches are always 6 bytes in length.
+  * After all switch elements, data ends with bytes [00 00] 00 20 ac 40 [02].
+  * Where:
+  * [00 00] shows 0x61 0x00 (on the first 33 sent) or 0xff 0xff for ASF files, and with no ending data for WMV files.
+  * It is not yet understood what all this means.
+  * And the last [02] byte is probably the header ?session' value.
+  *
   *  0x33 */
 
   memset (data, 0, 40);
@@ -664,10 +664,10 @@ int asf_mmst_streaming_start(stream_t *s
 
   get_answer (s);
 
-  /* Start sending file from packet xx. 
-  * This command is also used for resume downloads or requesting a lost packet. 
-  * Also used for seeking by sending a play point value which seeks to the media time point. 
-  * Includes ?session' value in pre header and the maximum media stream time. 
+  /* Start sending file from packet xx.
+  * This command is also used for resume downloads or requesting a lost packet.
+  * Also used for seeking by sending a play point value which seeks to the media time point.
+  * Includes ?session' value in pre header and the maximum media stream time.
   * 0x07 */
 
   memset (data, 0, 40);

Modified: trunk/stream/asf_streaming.c
==============================================================================
--- trunk/stream/asf_streaming.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/asf_streaming.c	Wed May 13 04:58:57 2009	(r29305)
@@ -53,7 +53,7 @@ static int asf_read_wrapper(int fd, void
 //   internet connection, the TCP connection will not get
 //   through
 // * Then we can try HTTP.
-// 
+//
 // Note: Using 	WMP sequence  MMSU then MMST and then HTTP.
 
 static int asf_streaming_start( stream_t *stream, int *demuxer_type) {
@@ -82,7 +82,7 @@ static int asf_streaming_start( stream_t
 		if( fd==-2 ) return -1;
 	}
 
-    //Is protocol http, http_proxy, or mms? 
+    //Is protocol http, http_proxy, or mms?
     if (!strcasecmp(proto, "http_proxy") || !strcasecmp(proto, "http") ||
 	!strcasecmp(proto, "mms") || !strcasecmp(proto, "mmsh") ||
 	!strcasecmp(proto, "mmshttp"))
@@ -100,7 +100,7 @@ static int asf_streaming_start( stream_t
 }
 
 static int asf_streaming(ASF_stream_chunck_t *stream_chunck, int *drop_packet ) {
-/*	
+/*
 printf("ASF stream chunck size=%d\n", stream_chunck->size);
 printf("length: %d\n", length );
 printf("0x%02X\n", stream_chunck->type );
@@ -115,7 +115,7 @@ printf("0x%02X\n", stream_chunck->type )
 		mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_SizeConfirmMismatch, stream_chunck->size, stream_chunck->size_confirm);
 		return -1;
 	}
-/*	
+/*
 	printf("  type: 0x%02X\n", stream_chunck->type );
 	printf("  size: %d (0x%02X)\n", stream_chunck->size, stream_chunck->size );
 	printf("  sequence_number: 0x%04X\n", stream_chunck->sequence_number );
@@ -175,7 +175,7 @@ static int asf_streaming_parse_header(in
   int bw = streaming_ctrl->bandwidth;
   int *v_rates = NULL, *a_rates = NULL;
   int v_rate = 0, a_rate = 0, a_idx = -1, v_idx = -1;
-  
+
   if(asf_ctrl == NULL) return -1;
 
 	// The ASF header can be in several network chunks. For example if the content description
@@ -196,7 +196,7 @@ static int asf_streaming_parse_header(in
 	    mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_NoHeaderAtFirstChunk);
 	    return -1;
 	  }
-	  
+
 	  // audit: do not overflow buffer_size
 	  if (size > SIZE_MAX - buffer_size) return -1;
 	  buffer = malloc(size+buffer_size);
@@ -211,7 +211,7 @@ static int asf_streaming_parse_header(in
 	  chunk_buffer = buffer;
 	  buffer += buffer_size;
 	  buffer_size += size;
-	  
+
 	  if (asf_read_wrapper(fd, buffer, size, streaming_ctrl) <= 0)
 	    return -1;
 
@@ -227,9 +227,9 @@ static int asf_streaming_parse_header(in
   } while( buffer_size<chunk_size2read);
   buffer = chunk_buffer;
   size = buffer_size;
-	  
+
   start = sizeof(ASF_header_t);
-  
+
   pos = find_asf_guid(buffer, asf_file_header_guid, start, size);
   if (pos >= 0) {
     ASF_file_header_t *fileh = (ASF_file_header_t *) &buffer[pos];
@@ -242,7 +242,7 @@ static int asf_streaming_parse_header(in
       }
 */
       asf_ctrl->packet_size = AV_RL32(&fileh->max_packet_size);
-      // before playing. 
+      // before playing.
       // preroll: time in ms to bufferize before playing
       streaming_ctrl->prebuffer_size = (unsigned int)(((double)fileh->preroll/1000.0)*((double)fileh->max_bitrate/8.0));
   }
@@ -289,7 +289,7 @@ static int asf_streaming_parse_header(in
 	int stream_count;
 	char *ptr = &buffer[pos];
 	char *end = &buffer[size];
-	
+
 	mp_msg(MSGT_NETWORK, MSGL_V, "Stream bitrate properties object\n");
 		if (ptr + 2 > end) goto len_err_out;
 		stream_count = AV_RL16(ptr);
@@ -354,7 +354,7 @@ static int asf_streaming_parse_header(in
 
   // find best audio stream
   a_idx = max_idx(asf_ctrl->n_audio, a_rates, bw - v_rate);
-    
+
   free(v_rates);
   free(a_rates);
 
@@ -403,7 +403,7 @@ static int asf_http_streaming_read( int 
     if (rest == 0 && waiting == 0) {
       if (asf_read_wrapper(fd, &chunk, sizeof(ASF_stream_chunck_t), streaming_ctrl) <= 0)
         return -1;
-      
+
       // Endian handling of the stream chunk
       le2me_ASF_stream_chunck_t(&chunk);
       chunk_size = asf_streaming( &chunk, &drop_chunk );
@@ -412,7 +412,7 @@ static int asf_http_streaming_read( int 
 	return -1;
       }
       chunk_size -= sizeof(ASF_stream_chunck_t);
-	
+
       if(chunk.type != ASF_STREAMING_HEADER && (!drop_chunk)) {
 	if (asf_http_ctrl->packet_size < chunk_size) {
 	  mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrChunkBiggerThanPacket);
@@ -475,7 +475,7 @@ static int asf_http_streaming_type(char 
 	if( 	!strcasecmp(content_type, "application/octet-stream") ||
 		!strcasecmp(content_type, "application/vnd.ms.wms-hdr.asfv1") ||        // New in Corona, first request
 		!strcasecmp(content_type, "application/x-mms-framed") ||                // New in Corana, second request
-		!strcasecmp(content_type, "video/x-ms-asf")) {               
+		!strcasecmp(content_type, "video/x-ms-asf")) {
 
 		if( strstr(features, "broadcast") ) {
 			mp_msg(MSGT_NETWORK,MSGL_V,"=====> ASF Live stream\n");
@@ -560,10 +560,10 @@ static HTTP_header_t *asf_http_request(s
 		http_set_uri( http_hdr, url->file );
 		sprintf( str, "Host: %.220s:%d", url->hostname, url->port );
 	}
-	
+
 	http_set_field( http_hdr, str );
 	http_set_field( http_hdr, "Pragma: xClientGUID={c77e7400-738a-11d2-9add-0020af0a3278}" );
-	sprintf(str, 
+	sprintf(str,
 		"Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=%u:%u,request-context=%d,max-duration=%u",
 		offset_hi, offset_lo, asf_http_ctrl->request, length );
 	http_set_field( http_hdr, str );
@@ -645,7 +645,7 @@ static int asf_http_parse_response(asf_h
 		char *comma_ptr=NULL;
 		char *end;
 //printf("Pragma: [%s]\n", pragma );
-		// The pragma line can get severals attributes 
+		// The pragma line can get severals attributes
 		// separeted with a comma ','.
 		do {
 			if( !strncasecmp( pragma, "features=", 9) ) {
@@ -653,7 +653,7 @@ static int asf_http_parse_response(asf_h
 				end = strstr( pragma, "," );
 				if( end==NULL ) {
 				  len = strlen(pragma);
-				} else { 
+				} else {
 				  len = (unsigned int)(end-pragma);
 				}
 				if(len > sizeof(features) - 1) {
@@ -718,7 +718,7 @@ static int asf_http_streaming_start( str
 				goto err_out;
 			}
 			i += r;
-		}       
+		}
 		http_free( http_hdr );
 		http_hdr = http_new_header();
 		do {
@@ -783,7 +783,7 @@ static int asf_http_streaming_start( str
 				mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_UnknownASFStreamingType);
 				goto err_out;
 		}
-	// Check if we got a redirect.	
+	// Check if we got a redirect.
 	} while(!done);
 
 	stream->fd = fd;
@@ -820,7 +820,7 @@ static int open_s(stream_t *stream,int m
 	url = url_new(stream->url);
 	stream->streaming_ctrl->url = check4proxies(url);
 	url_free(url);
-	
+
 	mp_msg(MSGT_OPEN, MSGL_INFO, MSGTR_MPDEMUX_ASF_InfoStreamASFURL, stream->url);
 	if((!strncmp(stream->url, "http", 4)) && (*file_format!=DEMUXER_TYPE_ASF && *file_format!=DEMUXER_TYPE_UNKNOWN)) {
 		streaming_ctrl_free(stream->streaming_ctrl);
@@ -834,7 +834,7 @@ static int open_s(stream_t *stream,int m
 		stream->streaming_ctrl = NULL;
 		return STREAM_UNSUPPORTED;
 	}
-	
+
 	if (*file_format != DEMUXER_TYPE_PLAYLIST)
 		*file_format = DEMUXER_TYPE_ASF;
 	stream->type = STREAMTYPE_STREAM;

Modified: trunk/stream/audio_in.c
==============================================================================
--- trunk/stream/audio_in.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/audio_in.c	Wed May 13 04:58:57 2009	(r29305)
@@ -43,7 +43,7 @@ int audio_in_init(audio_in_t *ai, int ty
 
 int audio_in_setup(audio_in_t *ai)
 {
-    
+
     switch (ai->type) {
 #ifdef CONFIG_ALSA
     case AUDIO_IN_ALSA:
@@ -178,7 +178,7 @@ int audio_in_start_capture(audio_in_t *a
 int audio_in_read_chunk(audio_in_t *ai, unsigned char *buffer)
 {
     int ret;
-    
+
     switch (ai->type) {
 #ifdef CONFIG_ALSA
     case AUDIO_IN_ALSA:

Modified: trunk/stream/audio_in.h
==============================================================================
--- trunk/stream/audio_in.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/audio_in.h	Wed May 13 04:58:57 2009	(r29305)
@@ -27,11 +27,11 @@ typedef struct {
 } ai_oss_t;
 #endif
 
-typedef struct 
+typedef struct
 {
     int type;
     int setup;
-    
+
     /* requested values */
     int req_channels;
     int req_samplerate;
@@ -42,7 +42,7 @@ typedef struct 
     int blocksize;
     int bytes_per_sample;
     int samplesize;
-    
+
 #ifdef CONFIG_ALSA
     ai_alsa_t alsa;
 #endif

Modified: trunk/stream/cache2.c
==============================================================================
--- trunk/stream/cache2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/cache2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -86,7 +86,7 @@ int cache_read(cache_vars_t* s,unsigned 
     int pos,newb,len;
 
   //printf("CACHE2_READ: 0x%X <= 0x%X <= 0x%X  \n",s->min_filepos,s->read_filepos,s->max_filepos);
-    
+
     if(s->read_filepos>=s->max_filepos || s->read_filepos<s->min_filepos){
 	// eof?
 	if(s->eof) break;
@@ -106,21 +106,21 @@ int cache_read(cache_vars_t* s,unsigned 
 
     if(newb>s->buffer_size-pos) newb=s->buffer_size-pos; // handle wrap...
     if(newb>size) newb=size;
-    
+
     // check:
     if(s->read_filepos<s->min_filepos) mp_msg(MSGT_CACHE,MSGL_ERR,"Ehh. s->read_filepos<s->min_filepos !!! Report bug...\n");
-    
+
     // len=write(mem,newb)
     //printf("Buffer read: %d bytes\n",newb);
     memcpy(buf,&s->buffer[pos],newb);
     buf+=newb;
     len=newb;
     // ...
-    
+
     s->read_filepos+=len;
     size-=len;
     total+=len;
-    
+
   }
   cache_fill_status=(s->max_filepos-s->read_filepos)/(s->buffer_size / 100);
   return total;
@@ -129,7 +129,7 @@ int cache_read(cache_vars_t* s,unsigned 
 int cache_fill(cache_vars_t* s){
   int back,back2,newb,space,len,pos;
   off_t read=s->read_filepos;
-  
+
   if(read<s->min_filepos || read>s->max_filepos){
       // seek...
       mp_msg(MSGT_CACHE,MSGL_DBG2,"Out of boundaries... seeking to 0x%"PRIX64"  \n",(int64_t)read);
@@ -144,36 +144,36 @@ int cache_fill(cache_vars_t* s){
         mp_msg(MSGT_CACHE,MSGL_DBG2,"Seek done. new pos: 0x%"PRIX64"  \n",(int64_t)stream_tell(s->stream));
       }
   }
-  
+
   // calc number of back-bytes:
   back=read - s->min_filepos;
   if(back<0) back=0; // strange...
   if(back>s->back_size) back=s->back_size;
-  
+
   // calc number of new bytes:
   newb=s->max_filepos - read;
   if(newb<0) newb=0; // strange...
 
   // calc free buffer space:
   space=s->buffer_size - (newb+back);
-  
+
   // calc bufferpos:
   pos=s->max_filepos - s->offset;
   if(pos>=s->buffer_size) pos-=s->buffer_size; // wrap-around
-  
+
   if(space<s->fill_limit){
 //    printf("Buffer is full (%d bytes free, limit: %d)\n",space,s->fill_limit);
     return 0; // no fill...
   }
 
 //  printf("### read=0x%X  back=%d  newb=%d  space=%d  pos=%d\n",read,back,newb,space,pos);
-     
+
   // reduce space if needed:
   if(space>s->buffer_size-pos) space=s->buffer_size-pos;
-  
+
 //  if(space>32768) space=32768; // limit one-time block size
   if(space>4*s->sector_size) space=4*s->sector_size;
-  
+
 //  if(s->seek_lock) return 0; // FIXME
 
 #if 1
@@ -183,7 +183,7 @@ int cache_fill(cache_vars_t* s){
 #else
   s->min_filepos=read-back; // avoid seeking-back to temp area...
 #endif
-  
+
   // ....
   //printf("Buffer fill: %d bytes of %d\n",space,s->buffer_size);
   //len=stream_fill_buffer(s->stream);
@@ -191,15 +191,15 @@ int cache_fill(cache_vars_t* s){
   // ....
   len=stream_read(s->stream,&s->buffer[pos],space);
   if(!len) s->eof=1;
-  
+
   s->max_filepos+=len;
   if(pos+len>=s->buffer_size){
       // wrap...
       s->offset+=s->buffer_size;
   }
-  
+
   return len;
-  
+
 }
 
 static int cache_execute_control(cache_vars_t *s) {
@@ -254,7 +254,7 @@ cache_vars_t* cache_init(int size,int se
   cache_vars_t* s=malloc(sizeof(cache_vars_t));
 #endif
   if(s==NULL) return NULL;
-  
+
   memset(s,0,sizeof(cache_vars_t));
   num=size/sector;
   if(num < 16){
@@ -332,7 +332,7 @@ int stream_enable_cache(stream_t *stream
   if (min > s->buffer_size - s->fill_limit) {
      min = s->buffer_size - s->fill_limit;
   }
-  
+
 #if !defined(__MINGW32__) && !defined(PTHREAD_CACHE) && !defined(__OS2__)
   if((stream->cache_pid=fork())){
 #else
@@ -367,7 +367,7 @@ int stream_enable_cache(stream_t *stream
     mp_msg(MSGT_CACHE,MSGL_STATUS,"\n");
     return 1; // parent exits
   }
-  
+
 #if defined(__MINGW32__) || defined(PTHREAD_CACHE) || defined(__OS2__)
 }
 #ifdef PTHREAD_CACHE
@@ -376,7 +376,7 @@ static void *ThreadProc( void *s ){
 static void ThreadProc( void *s ){
 #endif
 #endif
-  
+
 #ifdef CONFIG_GUI
   use_gui = 0; // mp_msg may not use gui stuff in forked code
 #endif
@@ -421,10 +421,10 @@ int cache_stream_seek_long(stream_t *str
   cache_vars_t* s;
   off_t newpos;
   if(!stream->cache_pid) return stream_seek_long(stream,pos);
-  
+
   s=stream->cache_data;
 //  s->seek_lock=1;
-  
+
   mp_msg(MSGT_CACHE,MSGL_DBG2,"CACHE2_SEEK: 0x%"PRIX64" <= 0x%"PRIX64" (0x%"PRIX64") <= 0x%"PRIX64"  \n",s->min_filepos,pos,s->read_filepos,s->max_filepos);
 
   newpos=pos/s->sector_size; newpos*=s->sector_size; // align

Modified: trunk/stream/cdd.h
==============================================================================
--- trunk/stream/cdd.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/cdd.h	Wed May 13 04:58:57 2009	(r29305)
@@ -11,7 +11,7 @@
 #endif
 
 typedef struct {
-	char cddb_hello[1024];	
+	char cddb_hello[1024];
 	unsigned long disc_id;
 	unsigned int tracks;
 	char *cache_dir;

Modified: trunk/stream/cdinfo.c
==============================================================================
--- trunk/stream/cdinfo.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/cdinfo.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,5 +1,5 @@
 /*
- * CD Info 
+ * CD Info
  * by Bertrand Baudet <bertrand_baudet at yahoo.com>
  * (C) 2002, MPlayer team.
 */
@@ -22,15 +22,15 @@
 cd_info_t*
 cd_info_new(void) {
 	cd_info_t *cd_info = NULL;
-	
+
 	cd_info = malloc(sizeof(cd_info_t));
 	if( cd_info==NULL ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MemAllocFailed);
 		return NULL;
 	}
-	
+
 	memset(cd_info, 0, sizeof(cd_info_t));
-	
+
 	return cd_info;
 }
 
@@ -54,16 +54,16 @@ cd_info_free(cd_info_t *cd_info) {
 cd_track_t*
 cd_info_add_track(cd_info_t *cd_info, char *track_name, unsigned int track_nb, unsigned int min, unsigned int sec, unsigned int msec, unsigned long frame_begin, unsigned long frame_length) {
 	cd_track_t *cd_track;
-	
+
 	if( cd_info==NULL || track_name==NULL ) return NULL;
-	
+
 	cd_track = malloc(sizeof(cd_track_t));
 	if( cd_track==NULL ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MemAllocFailed);
 		return NULL;
 	}
 	memset(cd_track, 0, sizeof(cd_track_t));
-	
+
 	cd_track->name = malloc(strlen(track_name)+1);
 	if( cd_track->name==NULL ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MemAllocFailed);
@@ -86,12 +86,12 @@ cd_info_add_track(cd_info_t *cd_info, ch
 	}
 
 	cd_track->prev = cd_info->last;
-	
+
 	cd_info->last = cd_track;
 	cd_info->current = cd_track;
 
 	cd_info->nb_tracks++;
-	
+
 	return cd_track;
 }
 

Modified: trunk/stream/cookies.c
==============================================================================
--- trunk/stream/cookies.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/cookies.c	Wed May 13 04:58:57 2009	(r29305)
@@ -191,8 +191,8 @@ static struct cookie_list_type *load_coo
     if (dir) {
 	while ((ent = readdir(dir)) != NULL) {
 	    if ((ent->d_name)[0] != '.') {
-		buf = malloc(strlen(getenv("HOME")) + 
-                             sizeof("/.mozilla/default/") + 
+		buf = malloc(strlen(getenv("HOME")) +
+                             sizeof("/.mozilla/default/") +
                              strlen(ent->d_name) + sizeof("cookies.txt") + 1);
 		sprintf(buf, "%s/.mozilla/default/%s/cookies.txt",
 			 getenv("HOME"), ent->d_name);

Modified: trunk/stream/cookies.h
==============================================================================
--- trunk/stream/cookies.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/cookies.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,7 +1,7 @@
 /*
  * HTTP Cookies
  * Reads Netscape and Mozilla cookies.txt files
- * 
+ *
  * by Dave Lambley <mplayer at davel.me.uk>
  */
 

Modified: trunk/stream/dvb_tune.c
==============================================================================
--- trunk/stream/dvb_tune.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/dvb_tune.c	Wed May 13 04:58:57 2009	(r29305)
@@ -165,7 +165,7 @@ int dvb_fix_demuxes(dvb_priv_t *priv, in
 #else
 	sprintf(demux_dev, "/dev/ost/demux%d", priv->card);
 #endif
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "FIX %d -> %d\n", priv->demux_fds_cnt, cnt);
 	if(priv->demux_fds_cnt >= cnt)
 	{
@@ -189,9 +189,9 @@ int dvb_fix_demuxes(dvb_priv_t *priv, in
 			}
 			else
 				priv->demux_fds_cnt++;
-		}	
+		}
 	}
-	
+
 	return 1;
 }
 
@@ -396,7 +396,7 @@ static int check_status(int fd_frontend,
 		strength=0;
 		if(ioctl(fd_frontend,FE_READ_UNCORRECTED_BLOCKS,&strength) >= 0)
 		mp_msg(MSGT_DEMUX, MSGL_V, "UNC: %d\n",strength);
-		
+
 		print_status(festatus);
 	}
 	else
@@ -415,7 +415,7 @@ static int check_status(int fd_frontend,
 	int32_t strength;
 	fe_status_t festatus;
 	FrontendEvent event;
-	
+
 	struct pollfd pfd[1];
 
 	i = 0; res = -1;
@@ -484,12 +484,12 @@ static int check_status(int fd_frontend,
 
 		festatus=0;
 		mp_msg(MSGT_DEMUX, MSGL_V, "FE_STATUS:");
-		
+
 		if(ioctl(fd_frontend,FE_READ_STATUS,&festatus) >= 0)
 			print_status(festatus);
 		else
 			mp_msg(MSGT_DEMUX, MSGL_ERR, " ERROR, UNABLE TO READ_STATUS");
-		    
+
 		mp_msg(MSGT_DEMUX, MSGL_V, "\n");
 	}
 	else
@@ -568,14 +568,14 @@ static int do_diseqc(int secfd, int sat_
         scmd.u.diseqc.params[0] = 0xf0 |
                                   (((sat_no) << 2) & 0x0F) |
 				  (hi_lo ? 1 : 0) |
-                                  (polv ? 0 : 2); 
+                                  (polv ? 0 : 2);
 
         if (ioctl(secfd,SEC_SEND_SEQUENCE,&scmds) < 0)
 	{
           mp_msg(MSGT_DEMUX, MSGL_ERR, "Error sending DisEqC");
           return -1;
         }
-	
+
 	return 0;
 }
 #endif

Modified: trunk/stream/freesdp/common.h
==============================================================================
--- trunk/stream/freesdp/common.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/freesdp/common.h	Wed May 13 04:58:57 2009	(r29305)
@@ -127,7 +127,7 @@ typedef enum
 } fsdp_error_t;
 
 /**
- * @short Type of network 
+ * @short Type of network
  *
  * Initially, SDP defines "Internet". New network types may be
  * registered with IANA. However, the number of types is expected to
@@ -154,7 +154,7 @@ typedef enum
 } fsdp_address_type_t;
 
 /**
- * @short Type of bandwith modifiers 
+ * @short Type of bandwith modifiers
  *
  * Bandwidth modifiers specify the meaning of the bandwidth
  * value. Initially "Conference Total" and "Application Specific" are

Modified: trunk/stream/freesdp/parser.c
==============================================================================
--- trunk/stream/freesdp/parser.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/freesdp/parser.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,7 +1,7 @@
 /*
   This file is part of FreeSDP
   Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at altern.org>
-  
+
   FreeSDP is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
@@ -380,7 +380,7 @@ fsdp_parse (const char *text_description
   }
 
   /* `k=' line (encryption key) [optional] */
-  /* k=<method> 
+  /* k=<method>
      k=<method>:<encryption key> */
   result = fsdp_parse_k (&p, &(dsc->k_encryption_method),
 			 &(dsc->k_encryption_content));
@@ -687,7 +687,7 @@ fsdp_parse (const char *text_description
         return result;
 
       /* `k=' line (encryption key) [optional] */
-      /* k=<method> 
+      /* k=<method>
          k=<method>:<encryption key> */
       result = fsdp_parse_k (&p, &(media->k_encryption_method),
                              &(media->k_encryption_content));

Modified: trunk/stream/freesdp/parser.h
==============================================================================
--- trunk/stream/freesdp/parser.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/freesdp/parser.h	Wed May 13 04:58:57 2009	(r29305)
@@ -46,7 +46,7 @@ BEGIN_C_DECLS
  * functions.
  *
  * @param description a multimedia session description formatted in
- * SDP.  
+ * SDP.
  * @param dsc pointer that is updated to point to a fsdp_description_t
  * object. This fsdp_description_t object should have been previously
  * allocated using <code>fsdp_description_new()</code>; to free it,
@@ -60,12 +60,12 @@ fsdp_error_t fsdp_parse (const char *des
 /**
  * Get the SDP protocol version of the description.
  *
- * @return SDP protocol version number. 
+ * @return SDP protocol version number.
  **/
 unsigned int fsdp_get_version (const fsdp_description_t * dsc);
 
 /**
- * Get the username provided by the originator of the session. 
+ * Get the username provided by the originator of the session.
  *
  * @param dsc SDP description object.
  * @return username of the session owner
@@ -73,7 +73,7 @@ unsigned int fsdp_get_version (const fsd
 const char *fsdp_get_owner_username (const fsdp_description_t * dsc);
 
 /**
- * Get the id for the session described in <code>dsc</code>. 
+ * Get the id for the session described in <code>dsc</code>.
  *
  * @param dsc SDP description object.
  * @return id string for this session.
@@ -241,7 +241,7 @@ unsigned int fsdp_get_bw_modifier_count 
  * @param dsc SDP description object.
  * @param index number of bandwidth modifier.
  *
- * @return global bandwidth modifier type.  
+ * @return global bandwidth modifier type.
  * @retval FSDP_BW_MOD_TYPE_UNDEFINED if no global bandwith modifier
  * type is defined or invalid index.
  * @retval FSDP_BW_MOD_TYPE_UNKNOWN if an unknown bandwith modifier is
@@ -254,7 +254,7 @@ fsdp_get_bw_modifier_type (const fsdp_de
 			   unsigned int index);
 
 /**
- * Get the textual bandwidth modifier type when it is unknown. 
+ * Get the textual bandwidth modifier type when it is unknown.
  *
  * @param dsc SDP description object.
  * @param index number of bandwidth modifier.
@@ -267,7 +267,7 @@ const char *fsdp_get_bw_modifier_type_un
 					       unsigned int index);
 
 /**
- * Get the value for the bandwidth modifier. 
+ * Get the value for the bandwidth modifier.
  *
  * @param dsc SDP description object.
  * @param index number of bandwidth modifier.
@@ -474,7 +474,7 @@ unsigned int fsdp_get_sdplang_count (con
 const char *fsdp_get_sdplang (const fsdp_description_t * dsc,
 			      unsigned int index);
 
-/** 
+/**
  * Get the mode of the conference, specified with attributes sendrecv,
  * sendonly, recvonly and inactive.
  *

Modified: trunk/stream/freesdp/parserpriv.h
==============================================================================
--- trunk/stream/freesdp/parserpriv.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/freesdp/parserpriv.h	Wed May 13 04:58:57 2009	(r29305)
@@ -33,12 +33,12 @@
  * Parse a connection (c=<network type> <address type> <connection
  * address>) line. If the textual description in <code>p</code> begins
  * with a connection line, it is parsed. If not, nothing is done.
- * 
+ *
  * @param p fraction of textual SDP description.
  * @param ntype where to store the network type.
  * @param atype where to store the address type.
  * @param address where to store the connection address as a string.
- * 
+ *
  * @return parse error code.
  **/
 static fsdp_error_t
@@ -51,7 +51,7 @@ fsdp_parse_c (const char **p, fsdp_netwo
  * textual description in <code>p</code> begins with a bandwidth line,
  * it is parsed as well as all b lines inmediately after it. If not,
  * nothing is done.
- * 
+ *
  * @param p fraction of textual SDP description.
  * @param bw_modifiers pointer to empty array of bandwidth modifiers to fill.
  * @param bw_modifiers_count where to set the number of bandwidth
@@ -96,11 +96,11 @@ static fsdp_error_t
 fsdp_parse_rtpmap (fsdp_rtpmap_t *** rtpmap, unsigned int *counter,
 		   const char *value);
 
-/** 
+/**
  * Maximun default field len for "expected to be short" fields, like
  * username, session_id or inet addresses.
  *
- * MDFLENS value must be MAXSHORTFIELDLEN - 1 
+ * MDFLENS value must be MAXSHORTFIELDLEN - 1
  **/
 #define MAXSHORTFIELDLEN 96
 #define MSFLENS "95"

Modified: trunk/stream/freesdp/priv.h
==============================================================================
--- trunk/stream/freesdp/priv.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/freesdp/priv.h	Wed May 13 04:58:57 2009	(r29305)
@@ -51,13 +51,13 @@
 
 /**
  * @example formatdemo.c
- * 
+ *
  * A basic SDP descriptions formatter based on FreeSDP.
  **/
 
 /**
  * @example parsedemo.c
- * 
+ *
  * A basic SDP descriptions parser based on FreeSDP.
  **/
 

Modified: trunk/stream/frequencies.c
==============================================================================
--- trunk/stream/frequencies.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/frequencies.c	Wed May 13 04:58:57 2009	(r29305)
@@ -75,7 +75,7 @@ static const struct CHANLIST ntsc_bcast[
     { "67",	789250 },
     { "68",	795250 },
     { "69",	801250 },
- 
+
     { "70",	807250 },
     { "71",	813250 },
     { "72",	819250 },
@@ -115,7 +115,7 @@ static const struct CHANLIST ntsc_cable[
     { "18",	145250 },
     { "19",	151250 },
     { "20",	157250 },
- 
+
     { "21",	163250 },
     { "22",	169250 },
     { "23",	217250 },
@@ -165,7 +165,7 @@ static const struct CHANLIST ntsc_cable[
     { "67",	481250 },
     { "68",	487250 },
     { "69",	493250 },
- 
+
     { "70",	499250 },
     { "71",	505250 },
     { "72",	511250 },
@@ -222,7 +222,7 @@ static const struct CHANLIST ntsc_cable[
     { "123",	787250 },
     { "124",	793250 },
     { "125",	799250 },
- 
+
     { "T7", 	  8250 },
     { "T8",	 14250 },
     { "T9",	 20250 },
@@ -236,11 +236,11 @@ static const struct CHANLIST ntsc_cable[
 /* US HRC */
 static const struct CHANLIST ntsc_hrc[] = {
     { "1",	  72000 },
-    { "2",	  54000 }, 
-    { "3",	  60000 }, 
-    { "4",	  66000 }, 
-    { "5",	  78000 }, 
-    { "6",	  84000 }, 
+    { "2",	  54000 },
+    { "3",	  60000 },
+    { "4",	  66000 },
+    { "5",	  78000 },
+    { "6",	  84000 },
     { "7",	 174000 },
     { "8",	 180000 },
     { "9",	 186000 },
@@ -256,7 +256,7 @@ static const struct CHANLIST ntsc_hrc[] 
     { "18",	 144000 },
     { "19",	 150000 },
     { "20",	 156000 },
- 
+
     { "21",	 162000 },
     { "22",	 168000 },
     { "23",	 216000 },
@@ -306,7 +306,7 @@ static const struct CHANLIST ntsc_hrc[] 
     { "67",	 480000 },
     { "68",	 486000 },
     { "69",	 492000 },
- 
+
     { "70",	 498000 },
     { "71",	 504000 },
     { "72",	 510000 },
@@ -363,15 +363,15 @@ static const struct CHANLIST ntsc_hrc[] 
     { "123",	 786000 },
     { "124",	 792000 },
     { "125",	 798000 },
- 
-    { "T7",	   7000 },  
-    { "T8",	  13000 }, 
-    { "T9",	  19000 }, 
-    { "T10",	  25000 }, 
-    { "T11",	  31000 }, 
-    { "T12",	  37000 }, 
-    { "T13",	  43000 }, 
-    { "T14",	  49000 }, 
+
+    { "T7",	   7000 },
+    { "T8",	  13000 },
+    { "T9",	  19000 },
+    { "T10",	  25000 },
+    { "T11",	  31000 },
+    { "T12",	  37000 },
+    { "T13",	  43000 },
+    { "T14",	  49000 },
 };
 
 /* --------------------------------------------------------------------- */
@@ -454,7 +454,7 @@ static const struct CHANLIST ntsc_cable_
     { "18",	139250 },
     { "19",	145250 },
     { "20",	151250 },
- 
+
     { "21",	157250 },
     { "22",	165250 },
     { "23",	223250 },
@@ -840,8 +840,8 @@ static const struct CHANLIST secam_franc
 /* --------------------------------------------------------------------- */
 
 static const struct CHANLIST pal_newzealand[] = {
-    { "1", 	  45250 }, 
-    { "2",	  55250 }, 
+    { "1", 	  45250 },
+    { "2",	  55250 },
     { "3",	  62250 },
     { "4",	 175250 },
     { "5",	 182250 },

Modified: trunk/stream/frequencies.h
==============================================================================
--- trunk/stream/frequencies.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/frequencies.h	Wed May 13 04:58:57 2009	(r29305)
@@ -3,7 +3,7 @@
  *
  * Nathan Laredo (laredo at broked.net)
  *
- * Frequencies are given in kHz 
+ * Frequencies are given in kHz
  */
 
 #ifndef MPLAYER_FREQUENCIES_H
@@ -20,7 +20,7 @@
    containing 8 bits frame sync, 5 bits control, 11 bits additional data, and
    704 bits audio data.  The bit rate is reduced by transmitting only 10 bits
    plus parity of each 14 bit sample, the largest sample in a frame determines
-   which 10 bits are transmitted.  The parity bits for audio samples also 
+   which 10 bits are transmitted.  The parity bits for audio samples also
    specify the scaling factor used for that channel during that frame.  The
    companeded audio data is interleaved to reduce the influence of dropouts
    and the whole frame except for sync bits is scrambled for spectrum shaping.

Modified: trunk/stream/http.c
==============================================================================
--- trunk/stream/http.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/http.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  * HTTP Helper
  * by Bertrand Baudet <bertrand_baudet at yahoo.com>
  * (C) 2001, MPlayer team.
@@ -204,7 +204,7 @@ static int nop_streaming_start( stream_t
 
 	fd = stream->fd;
 	if( fd<0 ) {
-		fd = http_send_request( stream->streaming_ctrl->url, 0 ); 
+		fd = http_send_request( stream->streaming_ctrl->url, 0 );
 		if( fd<0 ) return -1;
 		http_hdr = http_read_response( fd );
 		if( http_hdr==NULL ) return -1;
@@ -233,7 +233,7 @@ static int nop_streaming_start( stream_t
 				if (next_url != NULL && rd_url != NULL) {
 					mp_msg(MSGT_NETWORK,MSGL_STATUS,"Redirected: Using this url instead %s\n",next_url);
 							stream->streaming_ctrl->url=check4proxies(rd_url);
-					ret=nop_streaming_start(stream); //recursively get streaming started 
+					ret=nop_streaming_start(stream); //recursively get streaming started
 				} else {
 					mp_msg(MSGT_NETWORK,MSGL_ERR,"Redirection failed\n");
 					closesocket( fd );
@@ -333,7 +333,7 @@ int
 http_is_header_entire( HTTP_header_t *http_hdr ) {
 	if( http_hdr==NULL ) return -1;
 	if( http_hdr->buffer==NULL ) return 0; // empty
-	
+
 	if( strstr(http_hdr->buffer, "\r\n\r\n")==NULL &&
 	    strstr(http_hdr->buffer, "\n\n")==NULL ) return 0;
 	return 1;
@@ -424,7 +424,7 @@ http_response_parse( HTTP_header_t *http
 		http_set_field( http_hdr, field );
 		hdr_ptr = ptr+((*ptr=='\r')?2:1);
 	} while( hdr_ptr<(http_hdr->buffer+pos_hdr_sep) );
-	
+
 	if( field!=NULL ) free( field );
 
 	if( pos_hdr_sep+hdr_sep_len<http_hdr->buffer_size ) {
@@ -459,7 +459,7 @@ http_build_request( HTTP_header_t *http_
 	// Add the Method line
 	len = strlen(http_hdr->method)+strlen(uri)+12;
 	// Add the fields
-	field = http_hdr->first_field; 
+	field = http_hdr->first_field;
 	while( field!=NULL ) {
 		len += strlen(field->field_name)+2;
 		field = field->next;
@@ -499,7 +499,7 @@ http_build_request( HTTP_header_t *http_
 	}
 
 	if( uri ) free( uri );
-	return http_hdr->buffer;	
+	return http_hdr->buffer;
 }
 
 char *
@@ -522,7 +522,7 @@ http_get_next_field( HTTP_header_t *http
 	if( http_hdr==NULL ) return NULL;
 
 	field = http_hdr->field_search_pos;
-	while( field!=NULL ) { 
+	while( field!=NULL ) {
 		ptr = strstr( field->field_name, ":" );
 		if( ptr==NULL ) return NULL;
 		if( !strncasecmp( field->field_name, http_hdr->field_search, ptr-(field->field_name) ) ) {
@@ -598,7 +598,7 @@ http_add_basic_authentication( HTTP_head
 	if( password!=NULL ) {
 		pass_len = strlen(password);
 	}
-	
+
 	usr_pass = malloc(strlen(username)+pass_len+2);
 	if( usr_pass==NULL ) {
 		mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed\n");
@@ -622,22 +622,22 @@ http_add_basic_authentication( HTTP_head
 	}
 
 	b64_usr_pass[out_len]='\0';
-	
+
 	auth = malloc(encoded_len+22);
 	if( auth==NULL ) {
 		mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed\n");
 		goto out;
 	}
-	
+
 	sprintf( auth, "Authorization: Basic %s", b64_usr_pass);
 	http_set_field( http_hdr, auth );
 	res = 0;
-	
+
 out:
 	free( usr_pass );
 	free( b64_usr_pass );
 	free( auth );
-	
+
 	return res;
 }
 
@@ -665,7 +665,7 @@ http_debug_hdr( HTTP_header_t *http_hdr 
 	mp_msg(MSGT_NETWORK,MSGL_V,"--- HTTP DEBUG HEADER --- END ---\n");
 }
 
-int 
+int
 base64_encode(const void *enc, int encLen, char *out, int outMax) {
 	static const char	b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
@@ -764,7 +764,7 @@ static int http_streaming_start(stream_t
 		if( mp_msg_test(MSGT_NETWORK,MSGL_V) ) {
 			http_debug_hdr( http_hdr );
 		}
-		
+
 		// Check if we can make partial content requests and thus seek in http-streams
 		if( http_hdr!=NULL && http_hdr->status_code==200 ) {
 		    char *accept_ranges;
@@ -780,8 +780,8 @@ static int http_streaming_start(stream_t
 			switch( http_hdr->status_code ) {
 				case 200: { // OK
 					char *field_data;
-					// If content-type == video/nsv we most likely have a winamp video stream 
-					// otherwise it should be mp3. if there are more types consider adding mime type 
+					// If content-type == video/nsv we most likely have a winamp video stream
+					// otherwise it should be mp3. if there are more types consider adding mime type
 					// handling like later
 					if ( (field_data = http_get_field(http_hdr, "content-type")) != NULL && (!strcmp(field_data, "video/nsv") || !strcmp(field_data, "misc/ultravox")))
 						*file_format = DEMUXER_TYPE_NSV;
@@ -810,7 +810,7 @@ static int http_streaming_start(stream_t
 			}
 		}
 
-		// Assume standard http if not ICY			
+		// Assume standard http if not ICY
 		switch( http_hdr->status_code ) {
 			case 200: // OK
 				// Look if we can use the Content-Type
@@ -858,7 +858,7 @@ static int http_streaming_start(stream_t
 						free(url->protocol);
 						url->protocol = strdup("unsv");
 					}
-					redirect = 1;	
+					redirect = 1;
 				}
 				break;
 			case 401: // Authentication required
@@ -922,7 +922,7 @@ static int open_s1(stream_t *stream,int 
 	url = url_new(stream->url);
 	stream->streaming_ctrl->url = check4proxies(url);
 	url_free(url);
-	
+
 	mp_msg(MSGT_OPEN, MSGL_V, "STREAM_HTTP(1), URL: %s\n", stream->url);
 	seekable = http_streaming_start(stream, file_format);
 	if((seekable < 0) || (*file_format == DEMUXER_TYPE_ASF)) {
@@ -951,7 +951,7 @@ static int open_s2(stream_t *stream,int 
 	url = url_new(stream->url);
 	stream->streaming_ctrl->url = check4proxies(url);
 	url_free(url);
-	
+
 	mp_msg(MSGT_OPEN, MSGL_V, "STREAM_HTTP(2), URL: %s\n", stream->url);
 	seekable = http_streaming_start(stream, file_format);
 	if(seekable < 0) {

Modified: trunk/stream/http.h
==============================================================================
--- trunk/stream/http.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/http.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  * HTTP Helper
  * by Bertrand Baudet <bertrand_baudet at yahoo.com>
  * (C) 2001, MPlayer team.

Modified: trunk/stream/librtsp/rtsp.c
==============================================================================
--- trunk/stream/librtsp/rtsp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/librtsp/rtsp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,12 +59,12 @@
 /*
  * network utilities
  */
- 
+
 static int write_stream(int s, const char *buf, int len) {
   int total, timeout;
 
   total = 0; timeout = 30;
-  while (total < len){ 
+  while (total < len){
     int n;
 
     n = send (s, &buf[total], len - total, 0);
@@ -87,37 +87,37 @@ static int write_stream(int s, const cha
 }
 
 static ssize_t read_stream(int fd, void *buf, size_t count) {
-  
+
   ssize_t ret, total;
 
   total = 0;
 
   while (total < count) {
-  
+
     ret=recv (fd, ((uint8_t*)buf)+total, count-total, 0);
 
     if (ret<0) {
       if(errno == EAGAIN) {
         fd_set rset;
         struct timeval timeout;
-    
+
         FD_ZERO (&rset);
         FD_SET  (fd, &rset);
-        
+
         timeout.tv_sec  = 30;
         timeout.tv_usec = 0;
-        
+
         if (select (fd+1, &rset, NULL, NULL, &timeout) <= 0) {
           return -1;
         }
         continue;
       }
-      
+
       mp_msg(MSGT_OPEN, MSGL_ERR, "rtsp: read error.\n");
       return ret;
     } else
       total += ret;
-    
+
     /* end of stream */
     if (!ret) break;
   }
@@ -129,7 +129,7 @@ static ssize_t read_stream(int fd, void 
  * rtsp_get gets a line from stream
  * and returns a null terminated string.
  */
- 
+
 static char *rtsp_get(rtsp_t *s) {
 
   int n=1;
@@ -154,7 +154,7 @@ static char *rtsp_get(rtsp_t *s) {
 #ifdef LOG
   mp_msg(MSGT_OPEN, MSGL_INFO, "librtsp: << '%s'\n", string);
 #endif
-  
+
 
   free(buffer);
   return string;
@@ -163,7 +163,7 @@ static char *rtsp_get(rtsp_t *s) {
 /*
  * rtsp_put puts a line on stream
  */
- 
+
 static void rtsp_put(rtsp_t *s, const char *string) {
 
   int len=strlen(string);
@@ -178,7 +178,7 @@ static void rtsp_put(rtsp_t *s, const ch
   buf[len+1]=0x0a;
 
   write_stream(s->s, buf, len+2);
-  
+
 #ifdef LOG
   mp_msg(MSGT_OPEN, MSGL_INFO, " done.\n");
 #endif
@@ -194,7 +194,7 @@ static int rtsp_get_code(const char *str
 
   char buf[4];
   int code=0;
- 
+
   if (!strncmp(string, RTSP_PROTOCOL_VERSION, strlen(RTSP_PROTOCOL_VERSION)))
   {
     memcpy(buf, string+strlen(RTSP_PROTOCOL_VERSION)+1, 3);
@@ -218,9 +218,9 @@ static void rtsp_send_request(rtsp_t *s,
 
   char **payload=s->scheduled;
   char *buf;
-  
+
   buf = malloc(strlen(type)+strlen(what)+strlen(RTSP_PROTOCOL_VERSION)+3);
-  
+
   sprintf(buf,"%s %s %s",type, what, RTSP_PROTOCOL_VERSION);
   rtsp_put(s,buf);
   free(buf);
@@ -240,10 +240,10 @@ static void rtsp_send_request(rtsp_t *s,
 static void rtsp_schedule_standard(rtsp_t *s) {
 
   char tmp[17];
-  
+
   snprintf(tmp, 17, "CSeq: %u", s->cseq);
   rtsp_schedule_field(s, tmp);
-  
+
   if (s->session) {
     char *buf;
     buf = malloc(strlen(s->session)+15);
@@ -255,7 +255,7 @@ static void rtsp_schedule_standard(rtsp_
 /*
  * get the answers, if server responses with something != 200, return NULL
  */
- 
+
 static int rtsp_get_answers(rtsp_t *s) {
 
   char *answer=NULL;
@@ -263,7 +263,7 @@ static int rtsp_get_answers(rtsp_t *s) {
   char **answer_ptr=s->answers;
   int code;
   int ans_count = 0;
-  
+
   answer=rtsp_get(s);
   if (!answer)
     return 0;
@@ -271,13 +271,13 @@ static int rtsp_get_answers(rtsp_t *s) {
   free(answer);
 
   rtsp_free_answers(s);
-  
+
   do { /* while we get answer lines */
-  
+
     answer=rtsp_get(s);
     if (!answer)
       return 0;
-    
+
     if (!strncasecmp(answer,"CSeq:",5)) {
       sscanf(answer,"%*s %u",&answer_seq);
       if (s->cseq != answer_seq) {
@@ -315,12 +315,12 @@ static int rtsp_get_answers(rtsp_t *s) {
     *answer_ptr=answer;
     answer_ptr++;
   } while ((strlen(answer)!=0) && (++ans_count < MAX_FIELDS));
-  
+
   s->cseq++;
-  
+
   *answer_ptr=NULL;
   rtsp_schedule_standard(s);
-    
+
   return code;
 }
 
@@ -330,7 +330,7 @@ static int rtsp_get_answers(rtsp_t *s) {
 
 int rtsp_send_ok(rtsp_t *s) {
   char cseq[16];
-  
+
   rtsp_put(s, "RTSP/1.0 200 OK");
   sprintf(cseq,"CSeq: %u", s->cseq);
   rtsp_put(s, cseq);
@@ -373,7 +373,7 @@ int rtsp_request_describe(rtsp_t *s, con
   }
   rtsp_send_request(s,RTSP_METHOD_DESCRIBE,buf);
   free(buf);
-  
+
   return rtsp_get_answers(s);
 }
 
@@ -388,12 +388,12 @@ int rtsp_request_setup(rtsp_t *s, const 
     int len = strlen (s->host) + strlen (s->path) + 16;
     if (control)
       len += strlen (control) + 1;
-    
+
     buf = malloc (len);
     sprintf (buf, "rtsp://%s:%i/%s%s%s", s->host, s->port, s->path,
              control ? "/" : "", control ? control : "");
   }
-  
+
   rtsp_send_request (s, RTSP_METHOD_SETUP, buf);
   free (buf);
   return rtsp_get_answers (s);
@@ -412,7 +412,7 @@ int rtsp_request_setparameter(rtsp_t *s,
   }
   rtsp_send_request(s,RTSP_METHOD_SET_PARAMETER,buf);
   free(buf);
-  
+
   return rtsp_get_answers(s);
 }
 
@@ -420,7 +420,7 @@ int rtsp_request_play(rtsp_t *s, const c
 
   char *buf;
   int ret;
-  
+
   if (what) {
     buf=strdup(what);
   } else
@@ -430,7 +430,7 @@ int rtsp_request_play(rtsp_t *s, const c
   }
   rtsp_send_request(s,RTSP_METHOD_PLAY,buf);
   free(buf);
-  
+
   ret = rtsp_get_answers (s);
   if (ret == RTSP_STATUS_OK)
     s->server_state = RTSP_PLAYING;
@@ -441,7 +441,7 @@ int rtsp_request_play(rtsp_t *s, const c
 int rtsp_request_teardown(rtsp_t *s, const char *what) {
 
   char *buf;
-  
+
   if (what)
     buf = strdup (what);
   else
@@ -474,7 +474,7 @@ int rtsp_read_data(rtsp_t *s, char *buff
     {
       char *rest=rtsp_get(s);
       if (!rest)
-        return -1;      
+        return -1;
 
       seq=-1;
       do {
@@ -540,10 +540,10 @@ rtsp_t *rtsp_connect(int fd, char* mrl, 
   s->server=NULL;
   s->server_state=0;
   s->server_caps=0;
-  
+
   s->cseq=0;
   s->session=NULL;
-  
+
   if (user_agent)
     s->user_agent=strdup(user_agent);
   else
@@ -587,7 +587,7 @@ char *rtsp_search_answers(rtsp_t *s, con
 
   char **answer;
   char *ptr;
-  
+
   if (!s->answers) return NULL;
   answer=s->answers;
 
@@ -652,7 +652,7 @@ char *rtsp_get_param(rtsp_t *s, const ch
   }
   return NULL;
 }
-  
+
 /*
  * schedules a field for transmission
  */
@@ -660,7 +660,7 @@ char *rtsp_get_param(rtsp_t *s, const ch
 void rtsp_schedule_field(rtsp_t *s, const char *string) {
 
   int i=0;
-  
+
   if (!string) return;
 
   while(s->scheduled[i]) {
@@ -670,13 +670,13 @@ void rtsp_schedule_field(rtsp_t *s, cons
 }
 
 /*
- * removes the first scheduled field which prefix matches string. 
+ * removes the first scheduled field which prefix matches string.
  */
 
 void rtsp_unschedule_field(rtsp_t *s, const char *string) {
 
   char **ptr=s->scheduled;
-  
+
   if (!string) return;
 
   while(*ptr) {
@@ -699,7 +699,7 @@ void rtsp_unschedule_field(rtsp_t *s, co
 void rtsp_unschedule_all(rtsp_t *s) {
 
   char **ptr;
-  
+
   if (!s->scheduled) return;
   ptr=s->scheduled;
 
@@ -716,7 +716,7 @@ void rtsp_unschedule_all(rtsp_t *s) {
 void rtsp_free_answers(rtsp_t *s) {
 
   char **answer;
-  
+
   if (!s->answers) return;
   answer=s->answers;
 

Modified: trunk/stream/librtsp/rtsp.h
==============================================================================
--- trunk/stream/librtsp/rtsp.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/librtsp/rtsp.h	Wed May 13 04:58:57 2009	(r29305)
@@ -28,7 +28,7 @@
  *    2006, Benjamin Zores and Vincent Mussard
  *      fixed a lot of RFC compliance issues.
  */
- 
+
 #ifndef MPLAYER_RTSP_H
 #define MPLAYER_RTSP_H
 
@@ -65,7 +65,7 @@ struct rtsp_s {
   char         *server;
   unsigned int  server_state;
   uint32_t      server_caps;
-  
+
   unsigned int  cseq;
   char         *session;
 

Modified: trunk/stream/librtsp/rtsp_rtp.c
==============================================================================
--- trunk/stream/librtsp/rtsp_rtp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/librtsp/rtsp_rtp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -57,7 +57,7 @@
 #define RTSP_NPT_NOW "npt=now-"
 #define RTSP_MEDIA_CONTAINER_MPEG_TS "33"
 #define RTSP_TRANSPORT_REQUEST "Transport: RTP/AVP;%s;%s%i-%i;mode=\"PLAY\""
-  
+
 #define RTSP_TRANSPORT_MULTICAST "multicast"
 #define RTSP_TRANSPORT_UNICAST "unicast"
 
@@ -82,7 +82,7 @@ rtcp_send_rr (rtsp_t *s, struct rtp_rtsp
 {
   if (st->rtcp_socket == -1)
     return;
-  
+
   /* send RTCP RR every RTCP_SEND_FREQUENCY packets
    * FIXME : NOT CORRECT, HARDCODED, BUT MAKES SOME SERVERS HAPPY
    * not rfc compliant
@@ -108,14 +108,14 @@ static struct rtp_rtsp_session_t *
 rtp_session_new (void)
 {
   struct rtp_rtsp_session_t *st = NULL;
-  
+
   st = malloc (sizeof (struct rtp_rtsp_session_t));
-  
+
   st->rtp_socket = -1;
   st->rtcp_socket = -1;
   st->control_url = NULL;
   st->count = 0;
-  
+
   return st;
 }
 
@@ -153,7 +153,7 @@ parse_port (const char *line, const char
   char *parse1;
   char *parse2;
   char *parse3;
-  
+
   char *line_copy = strdup (line);
 
   parse1 = strstr (line_copy, param);
@@ -161,14 +161,14 @@ parse_port (const char *line, const char
   if (parse1)
   {
     parse2 = strstr (parse1, "-");
-    
+
     if (parse2)
     {
       parse3 = strstr (parse2, ";");
-      
+
       if (parse3)
 	parse3[0] = 0;
-      
+
       parse2[0] = 0;
     }
     else
@@ -182,12 +182,12 @@ parse_port (const char *line, const char
     free (line_copy);
     return 0;
   }
-  
+
   *rtp_port = atoi (parse1 + strlen (param));
   *rtcp_port = atoi (parse2 + 1);
 
   free (line_copy);
-  
+
   return 1;
 }
 
@@ -200,21 +200,21 @@ parse_destination (const char *line)
   char *dest = NULL;
   char *line_copy = strdup (line);
   int len;
-  
+
   parse1 = strstr (line_copy, RTSP_SETUP_DESTINATION);
   if (!parse1)
   {
     free (line_copy);
     return NULL;
   }
-  
+
   parse2 = strstr (parse1, ";");
   if (!parse2)
   {
     free (line_copy);
     return NULL;
   }
- 
+
   len = strlen (parse1) - strlen (parse2)
     - strlen (RTSP_SETUP_DESTINATION) + 1;
   dest = (char *) malloc (len + 1);
@@ -230,7 +230,7 @@ rtcp_connect (int client_port, int serve
   struct sockaddr_in sin;
   struct hostent *hp;
   int s;
-  
+
   if (client_port <= 1023)
     return -1;
 
@@ -249,7 +249,7 @@ rtcp_connect (int client_port, int serve
   sin.sin_family = AF_INET;
   sin.sin_addr.s_addr = INADDR_ANY;
   sin.sin_port = htons (client_port);
-  
+
   if (bind (s, (struct sockaddr *) &sin, sizeof (sin)))
   {
 #if !HAVE_WINSOCK2_H
@@ -262,7 +262,7 @@ rtcp_connect (int client_port, int serve
       return -1;
     }
   }
-  
+
   sin.sin_family = AF_INET;
   memcpy (&(sin.sin_addr.s_addr), hp->h_addr, sizeof (hp->h_addr));
   sin.sin_port = htons (server_port);
@@ -328,7 +328,7 @@ rtp_connect (char *hostname, int port)
       return -1;
     }
   }
-  
+
   /* datagram socket */
   if (bind (s, (struct sockaddr *) &sin, sizeof (sin)))
   {
@@ -346,10 +346,10 @@ rtp_connect (char *hostname, int port)
 
   tv.tv_sec = 1; /* 1 second timeout */
   tv.tv_usec = 0;
-  
+
   FD_ZERO (&set);
   FD_SET (s, &set);
-  
+
   err = select (s + 1, &set, NULL, NULL, &tv);
   if (err < 0)
   {
@@ -363,7 +363,7 @@ rtp_connect (char *hostname, int port)
     close (s);
     return -1;
   }
-  
+
   err_len = sizeof (err);
   getsockopt (s, SOL_SOCKET, SO_ERROR, &err, (socklen_t *) &err_len);
   if (err)
@@ -372,7 +372,7 @@ rtp_connect (char *hostname, int port)
     close (s);
     return -1;
   }
-  
+
   return s;
 }
 
@@ -383,7 +383,7 @@ is_multicast_address (char *addr)
 
   if (!addr)
     return -1;
-  
+
   sin.sin_family = AF_INET;
 
 #if HAVE_INET_PTON
@@ -393,7 +393,7 @@ is_multicast_address (char *addr)
 #elif HAVE_WINSOCK2_H
     sin.sin_addr.s_addr = htonl (INADDR_ANY);
 #endif
-  
+
   if ((ntohl (sin.sin_addr.s_addr) >> 28) == 0xe)
     return 1;
 
@@ -416,7 +416,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
   int statut;
   int content_length = 0;
   int is_multicast = 0;
-  
+
   fsdp_description_t *dsc = NULL;
   fsdp_error_t result;
 
@@ -451,7 +451,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
     return NULL;
   }
   sdp[content_length] = 0;
-  
+
   /* 3. parse SDP message */
   dsc = fsdp_description_new ();
   result = fsdp_parse (sdp, dsc);
@@ -490,7 +490,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
   }
 
   /* 6. parse the `m=<media>  <port>  <transport> <fmt list>' line */
- 
+
   /* check for an A/V media */
   if (fsdp_get_media_type (med_dsc) != FSDP_MEDIA_VIDEO &&
       fsdp_get_media_type (med_dsc) != FSDP_MEDIA_AUDIO)
@@ -498,7 +498,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
     fsdp_description_delete (dsc);
     return NULL;
   }
-  
+
   /* only RTP/AVP transport method is supported right now */
   if (fsdp_get_media_transport_protocol (med_dsc) != FSDP_TP_RTP_AVP)
   {
@@ -535,7 +535,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
 
   /* RTCP port generally is RTP port + 1 */
   client_rtcp_port = client_rtp_port + 1;
-  
+
   mp_msg (MSGT_OPEN, MSGL_V,
           "RTP Port from SDP appears to be: %d\n", client_rtp_port);
   mp_msg (MSGT_OPEN, MSGL_V,
@@ -573,7 +573,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
     /* no control for media: try global one instead */
     server_addr = strdup (fsdp_get_global_conn_address (dsc));
   }
-    
+
   if (!server_addr)
   {
     fsdp_description_delete (dsc);
@@ -611,7 +611,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
             is_multicast ? RTSP_MULTICAST_PORT : RTSP_UNICAST_CLIENT_PORT,
             client_rtp_port, client_rtcp_port);
   mp_msg (MSGT_OPEN, MSGL_V, "RTSP Transport: %s\n", temp_buf);
-  
+
   rtsp_unschedule_field (rtsp_session, RTSP_SESSION);
   rtsp_schedule_field (rtsp_session, temp_buf);
 
@@ -622,7 +622,7 @@ rtp_setup_and_play (rtsp_t *rtsp_session
   else /* relative URL */
     statut = rtsp_request_setup (rtsp_session,
                                  NULL, rtp_session->control_url);
-    
+
   if (statut < 200 || statut > 299)
   {
     free (server_addr);

Modified: trunk/stream/librtsp/rtsp_session.c
==============================================================================
--- trunk/stream/librtsp/rtsp_session.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/librtsp/rtsp_session.c	Wed May 13 04:58:57 2009	(r29305)
@@ -77,7 +77,7 @@ struct rtsp_session_s {
 };
 
 /*
- * closes an rtsp connection 
+ * closes an rtsp connection
  */
 
 static void rtsp_close(rtsp_t *s) {
@@ -96,7 +96,7 @@ static void rtsp_close(rtsp_t *s) {
   if (s->user_agent) free(s->user_agent);
   rtsp_free_answers(s);
   rtsp_unschedule_all(s);
-  free(s);  
+  free(s);
 }
 
 //rtsp_session_t *rtsp_session_start(char *mrl) {
@@ -112,7 +112,7 @@ rtsp_session_t *rtsp_session_start(int f
   rtsp_session->s = NULL;
   rtsp_session->real_session = NULL;
   rtsp_session->rtp_session = NULL;
- 
+
 //connect:
   *redir = 0;
 
@@ -164,7 +164,7 @@ rtsp_session_t *rtsp_session_start(int f
         return NULL;
       }
     }
-	
+
     rtsp_session->real_session = init_real_rtsp_session ();
     if(!strncmp(h->streams[0]->mime_type, "application/vnd.rn-rmadriver", h->streams[0]->mime_type_size) ||
        !strncmp(h->streams[0]->mime_type, "application/smil", h->streams[0]->mime_type_size)) {
@@ -239,12 +239,12 @@ rtsp_session_t *rtsp_session_start(int f
     }
   }
   free(server);
-  
+
   return rtsp_session;
 }
 
 int rtsp_session_read (rtsp_session_t *this, char *data, int len) {
-  
+
   if (this->real_session) {
   int to_copy=len;
   char *dest=data;
@@ -257,7 +257,7 @@ int rtsp_session_read (rtsp_session_t *t
   if (len < 0) return 0;
   if (this->real_session->recv_size < 0) return -1;
   while (to_copy > fill) {
-    
+
     memcpy(dest, source, fill);
     to_copy -= fill;
     dest += fill;
@@ -278,7 +278,7 @@ int rtsp_session_read (rtsp_session_t *t
       return len-to_copy;
     }
   }
-  
+
   memcpy(dest, source, to_copy);
   this->real_session->recv_read += to_copy;
 
@@ -298,7 +298,7 @@ int rtsp_session_read (rtsp_session_t *t
 
     if (l == 0)
       rtsp_session_end (this);
-    
+
     return l;
   }
 

Modified: trunk/stream/network.c
==============================================================================
--- trunk/stream/network.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/network.c	Wed May 13 04:58:57 2009	(r29305)
@@ -139,7 +139,7 @@ check4proxies( URL_t *url ) {
 					MSGTR_MPDEMUX_NW_InvalidProxySettingTryingWithout);
 				return url_out;
 			}
-			
+
 #ifdef HAVE_AF_INET6
 			if (network_ipv4_only_proxy && (gethostbyname(url->hostname)==NULL)) {
 				mp_msg(MSGT_NETWORK,MSGL_WARN,
@@ -208,14 +208,14 @@ http_send_request( URL_t *url, off_t pos
 	if( strcasecmp(url->protocol, "noicyx") )
 	    http_set_field(http_hdr, "Icy-MetaData: 1");
 
-	if(pos>0) { 
+	if(pos>0) {
 	// Extend http_send_request with possibility to do partial content retrieval
 	    snprintf(str, 256, "Range: bytes=%"PRId64"-", (int64_t)pos);
 	    http_set_field(http_hdr, str);
 	}
-	    
+
 	if (network_cookies_enabled) cookies_set( http_hdr, server_url->hostname, server_url->url );
-	
+
 	http_set_field( http_hdr, "Connection: close");
 	http_add_basic_authentication( http_hdr, url->username, url->password );
 	if( http_build_request( http_hdr )==NULL ) {
@@ -235,13 +235,13 @@ http_send_request( URL_t *url, off_t pos
 		goto err_out;
 	}
 	mp_msg(MSGT_NETWORK,MSGL_DBG2,"Request: [%s]\n", http_hdr->buffer );
-	
+
 	ret = send( fd, http_hdr->buffer, http_hdr->buffer_size, 0 );
 	if( ret!=(int)http_hdr->buffer_size ) {
 		mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_NW_ErrSendingHTTPRequest);
 		goto err_out;
 	}
-	
+
 	http_free( http_hdr );
 
 	return fd;
@@ -265,7 +265,7 @@ http_read_response( int fd ) {
 	}
 
 	do {
-		i = recv( fd, response, BUFFER_SIZE, 0 ); 
+		i = recv( fd, response, BUFFER_SIZE, 0 );
 		if( i<0 ) {
 			mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_NW_ReadFailed);
 			http_free( http_hdr );
@@ -277,7 +277,7 @@ http_read_response( int fd ) {
 			return NULL;
 		}
 		http_response_append( http_hdr, response, i );
-	} while( !http_is_header_entire( http_hdr ) ); 
+	} while( !http_is_header_entire( http_hdr ) );
 	http_response_parse( http_hdr );
 	return http_hdr;
 }
@@ -340,7 +340,7 @@ http_seek( stream_t *stream, off_t pos )
 	if( stream==NULL ) return 0;
 
 	if( stream->fd>0 ) closesocket(stream->fd); // need to reconnect to seek in http-stream
-	fd = http_send_request( stream->streaming_ctrl->url, pos ); 
+	fd = http_send_request( stream->streaming_ctrl->url, pos );
 	if( fd<0 ) return 0;
 
 	http_hdr = http_read_response( fd );
@@ -420,7 +420,7 @@ nop_streaming_read( int fd, char *buffer
 		len += ret;
 //printf("read %d bytes from network\n", len );
 	}
-	
+
 	return len;
 }
 

Modified: trunk/stream/open.c
==============================================================================
--- trunk/stream/open.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/open.c	Wed May 13 04:58:57 2009	(r29305)
@@ -31,7 +31,7 @@ int dvd_title=0;
 // Open a new stream  (stdin/file/vcd/url)
 
 stream_t* open_stream(char* filename,char** options, int* file_format){
-  // Check if playlist or unknown 
+  // Check if playlist or unknown
   if (*file_format != DEMUXER_TYPE_PLAYLIST){
     *file_format=DEMUXER_TYPE_UNKNOWN;
   }

Modified: trunk/stream/pnm.c
==============================================================================
--- trunk/stream/pnm.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/pnm.c	Wed May 13 04:58:57 2009	(r29305)
@@ -19,7 +19,7 @@
  *
  * $Id$
  *
- * pnm protocol implementation 
+ * pnm protocol implementation
  * based upon code from joschka
  */
 
@@ -152,26 +152,26 @@ static const unsigned char pnm_header[] 
         0x00, 0x01 };
 
 static const unsigned char pnm_client_caps[] = {
-    0x07, 0x8a, 'p','n','r','v', 
-       0, 0x90, 'p','n','r','v', 
-       0, 0x64, 'd','n','e','t', 
-       0, 0x46, 'p','n','r','v', 
-       0, 0x32, 'd','n','e','t', 
-       0, 0x2b, 'p','n','r','v', 
-       0, 0x28, 'd','n','e','t', 
-       0, 0x24, 'p','n','r','v', 
-       0, 0x19, 'd','n','e','t', 
-       0, 0x18, 'p','n','r','v', 
-       0, 0x14, 's','i','p','r', 
-       0, 0x14, 'd','n','e','t', 
-       0, 0x24, '2','8','_','8', 
-       0, 0x12, 'p','n','r','v', 
-       0, 0x0f, 'd','n','e','t', 
-       0, 0x0a, 's','i','p','r', 
-       0, 0x0a, 'd','n','e','t', 
-       0, 0x08, 's','i','p','r', 
-       0, 0x06, 's','i','p','r', 
-       0, 0x12, 'l','p','c','J', 
+    0x07, 0x8a, 'p','n','r','v',
+       0, 0x90, 'p','n','r','v',
+       0, 0x64, 'd','n','e','t',
+       0, 0x46, 'p','n','r','v',
+       0, 0x32, 'd','n','e','t',
+       0, 0x2b, 'p','n','r','v',
+       0, 0x28, 'd','n','e','t',
+       0, 0x24, 'p','n','r','v',
+       0, 0x19, 'd','n','e','t',
+       0, 0x18, 'p','n','r','v',
+       0, 0x14, 's','i','p','r',
+       0, 0x14, 'd','n','e','t',
+       0, 0x24, '2','8','_','8',
+       0, 0x12, 'p','n','r','v',
+       0, 0x0f, 'd','n','e','t',
+       0, 0x0a, 's','i','p','r',
+       0, 0x0a, 'd','n','e','t',
+       0, 0x08, 's','i','p','r',
+       0, 0x06, 's','i','p','r',
+       0, 0x12, 'l','p','c','J',
        0, 0x07, '0','5','_','6' };
 
 static const uint32_t pnm_default_bandwidth=10485800;
@@ -185,7 +185,7 @@ static const unsigned char pnm_twentyfou
 /* now other data follows. marked with 0x0000 at the beginning */
 static const unsigned char after_chunks[]={
     0x00, 0x00, /* mark */
-    
+
     0x50, 0x84, /* seems to be fixated */
     0x1f, 0x3a  /* varies on each request (checksum ?)*/
     };
@@ -196,7 +196,7 @@ static int rm_write(int s, const char *b
   int total, timeout;
 
   total = 0; timeout = 30;
-  while (total < len){ 
+  while (total < len){
     int n;
 
     n = send (s, &buf[total], len - total, 0);
@@ -219,26 +219,26 @@ static int rm_write(int s, const char *b
 }
 
 static ssize_t rm_read(int fd, void *buf, size_t count) {
-  
+
   ssize_t ret, total;
 
   total = 0;
 
   while (total < count) {
-  
+
     fd_set rset;
     struct timeval timeout;
 
     FD_ZERO (&rset);
     FD_SET  (fd, &rset);
-    
+
     timeout.tv_sec  = 3;
     timeout.tv_usec = 0;
-    
+
     if (select (fd+1, &rset, NULL, NULL, &timeout) <= 0) {
       return -1;
     }
-    
+
     ret=recv (fd, ((uint8_t*)buf)+total, count-total, 0);
 
     if (ret<=0) {
@@ -254,7 +254,7 @@ static ssize_t rm_read(int fd, void *buf
 /*
  * debugging utilities
  */
- 
+
 static void hexdump (char *buf, int length) {
 
   int i;
@@ -288,10 +288,10 @@ static void hexdump (char *buf, int leng
 
 /*
  * pnm_get_chunk gets a chunk from stream
- * and returns number of bytes read 
+ * and returns number of bytes read
  */
 
-static int pnm_get_chunk(pnm_t *p, 
+static int pnm_get_chunk(pnm_t *p,
                          unsigned int max,
                          unsigned int *chunk_type,
                          char *data, int *need_response) {
@@ -299,7 +299,7 @@ static int pnm_get_chunk(pnm_t *p, 
   unsigned int chunk_size;
   unsigned int n;
   char *ptr;
- 
+
   if (max < PREAMBLE_SIZE)
     return -1;
 
@@ -309,7 +309,7 @@ static int pnm_get_chunk(pnm_t *p, 
     rm_read (p->s, data, PREAMBLE_SIZE);
   else
     rm_read (p->s, data+CHECKSUM_SIZE, PREAMBLE_SIZE-CHECKSUM_SIZE);
-  
+
   max -= PREAMBLE_SIZE;
 
   *chunk_type = AV_RB32(data);
@@ -347,7 +347,7 @@ static int pnm_get_chunk(pnm_t *p, 
 	  mp_msg(MSGT_OPEN, MSGL_WARN, "%s\n",ptr+3);
 	  return -1;
 	}
-	
+
 	if (*ptr == 'F') /* checking for server error */
 	{
 	  mp_msg(MSGT_OPEN, MSGL_ERR, "input_pnm: server error.\n");
@@ -391,7 +391,7 @@ static int pnm_get_chunk(pnm_t *p, 
       break;
     default:
       *chunk_type = 0;
-      chunk_size  = PREAMBLE_SIZE; 
+      chunk_size  = PREAMBLE_SIZE;
       break;
   }
 
@@ -402,13 +402,13 @@ static int pnm_get_chunk(pnm_t *p, 
  * writes a chunk to a buffer, returns number of bytes written
  */
 
-static int pnm_write_chunk(uint16_t chunk_id, uint16_t length, 
+static int pnm_write_chunk(uint16_t chunk_id, uint16_t length,
     const char *chunk, char *data) {
 
   AV_WB16(&data[0], chunk_id);
   AV_WB16(&data[2], length);
   memcpy(&data[4],chunk,length);
-  
+
   return length+4;
 }
 
@@ -446,7 +446,7 @@ static void pnm_send_request(pnm_t *p, u
           pnm_guid,&p->buffer[c]);
   c+=pnm_write_chunk(PNA_TWENTYFOUR,sizeof(pnm_twentyfour),
           pnm_twentyfour,&p->buffer[c]);
-  
+
   /* data after chunks */
   memcpy(&p->buffer[c],after_chunks,sizeof(after_chunks));
   c+=sizeof(after_chunks);
@@ -468,7 +468,7 @@ static void pnm_send_request(pnm_t *p, u
   /* some trailing bytes */
   p->buffer[c]='y';
   p->buffer[c+1]='B';
-  
+
   rm_write(p->s,p->buffer,c+2);
 }
 
@@ -533,12 +533,12 @@ static int pnm_get_headers(pnm_t *p, int
     size+=chunk_size;
     ptr+=chunk_size;
   }
-  
+
   if (!prop_hdr) {
     mp_msg(MSGT_OPEN, MSGL_ERR, "input_pnm: error while parsing headers.\n");
     return 0;
   }
-  
+
   /* set data offset */
   AV_WB32(&prop_hdr[42], size - 1);
 
@@ -549,18 +549,18 @@ static int pnm_get_headers(pnm_t *p, int
   /* now write a data header */
   memcpy(ptr, pnm_data_header, sizeof(pnm_data_header));
   size+=sizeof(pnm_data_header);
-/*  
+/*
   h=rmff_scan_header(p->header);
   rmff_fix_header(h);
   p->header_len=rmff_get_header_size(h);
   rmff_dump_header(h, p->header, HEADER_SIZE);
 */
   p->header_len=size;
-  
+
   return 1;
 }
 
-/* 
+/*
  * determine correct stream number by looking at indices
  */
 
@@ -638,7 +638,7 @@ static int pnm_get_stream_chunk(pnm_t *p
 
   /* send a keepalive                               */
   /* realplayer seems to do that every 43th package */
-  if (p->packet%43 == 42)  
+  if (p->packet%43 == 42)
     rm_write(p->s,&keepalive,1);
 
   /* data chunks begin with: 'Z' <o> <o> <i1> 'Z' <i2>
@@ -646,11 +646,11 @@ static int pnm_get_stream_chunk(pnm_t *p
    * <i1> is a 16 bit index
    * <i2> is a 8 bit index which counts from 0x10 to somewhere
    */
-  
+
   n = rm_read (p->s, p->buffer, 8);
   if (n<0) return -1;
   if (n<8) return 0;
-  
+
   /* skip 8 bytes if 0x62 is read */
   if (p->buffer[0] == 0x62)
   {
@@ -660,7 +660,7 @@ static int pnm_get_stream_chunk(pnm_t *p
     mp_msg(MSGT_OPEN, MSGL_WARN, "input_pnm: had to seek 8 bytes on 0x62\n");
 #endif
   }
-  
+
   /* a server message */
   if (p->buffer[0] == 'X')
   {
@@ -713,7 +713,7 @@ static int pnm_get_stream_chunk(pnm_t *p
 
   /* get first index */
   p->seq_current[0]=AV_RB16(&p->buffer[5]);
-  
+
   /* now read the rest of stream chunk */
   n = rm_read (p->s, &p->recv[5], fof1-5);
   if (n<fof1-5) return 0;
@@ -723,15 +723,15 @@ static int pnm_get_stream_chunk(pnm_t *p
 
   /* get timestamp */
   p->ts_current=AV_RB32(&p->recv[6]);
-  
+
   /* get stream number */
   stream=pnm_calc_stream(p);
 
   /* saving timestamp */
   p->ts_last[stream]=p->ts_current;
-  
+
   /* constructing a data packet header */
-  
+
   p->recv[0]=0;        /* object version */
   p->recv[1]=0;
 
@@ -739,7 +739,7 @@ static int pnm_get_stream_chunk(pnm_t *p
 
   p->recv[4]=0;         /* stream number */
   p->recv[5]=stream;
-  
+
   p->recv[10] &= 0xfe; /* streambox seems to do that... */
 
   p->packet++;
@@ -751,10 +751,10 @@ static int pnm_get_stream_chunk(pnm_t *p
 
 // pnm_t *pnm_connect(const char *mrl) {
 static pnm_t *pnm_connect(int fd, char *path) {
-  
+
   pnm_t *p=malloc(sizeof(pnm_t));
   int need_response=0;
-  
+
   p->path=strdup(path);
   p->s=fd;
 
@@ -769,7 +769,7 @@ static pnm_t *pnm_connect(int fd, char *
     pnm_send_response(p, pnm_response);
   p->ts_last[0]=0;
   p->ts_last[1]=0;
-  
+
   /* copy header to recv */
 
   memcpy(p->recv, p->header, p->header_len);
@@ -780,16 +780,16 @@ static pnm_t *pnm_connect(int fd, char *
 }
 
 static int pnm_read (pnm_t *this, char *data, int len) {
-  
+
   int to_copy=len;
   char *dest=data;
   char *source=this->recv + this->recv_read;
   int fill=this->recv_size - this->recv_read;
   int retval;
-  
+
   if (len < 0) return 0;
   while (to_copy > fill) {
-    
+
     memcpy(dest, source, fill);
     to_copy -= fill;
     dest += fill;
@@ -839,12 +839,12 @@ static int open_s(stream_t *stream,int m
 
   fd = connect2Server( stream->streaming_ctrl->url->hostname,
     stream->streaming_ctrl->url->port ? stream->streaming_ctrl->url->port : 7070,1 );
-  
+
   if(fd<0)
     goto fail;
 
   pnm = pnm_connect(fd,stream->streaming_ctrl->url->file);
-  if(!pnm) 
+  if(!pnm)
     goto fail;
   stream->type = STREAMTYPE_STREAM;
   stream->fd=fd;

Modified: trunk/stream/pnm.h
==============================================================================
--- trunk/stream/pnm.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/pnm.h	Wed May 13 04:58:57 2009	(r29305)
@@ -21,7 +21,7 @@
  *
  * pnm util functions header by joschka
  */
- 
+
 #ifndef MPLAYER_PNM_H
 #define MPLAYER_PNM_H
 

Modified: trunk/stream/pvr.h
==============================================================================
--- trunk/stream/pvr.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/pvr.h	Wed May 13 04:58:57 2009	(r29305)
@@ -40,7 +40,7 @@ const char *pvr_get_current_stationname 
 /**
  * @brief Get the current channel name.
  *        The pointer is valid, till the stream is closed.
- * @return The stream's channel name 
+ * @return The stream's channel name
  */
 const char *pvr_get_current_channelname (stream_t *stream);
 

Modified: trunk/stream/realrtsp/asmrp.c
==============================================================================
--- trunk/stream/realrtsp/asmrp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/asmrp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -6,7 +6,7 @@
  * Copyright (C) 2002 the xine project
  *
  * This file is part of xine, a free video player.
- * 
+ *
  * xine is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
@@ -83,7 +83,7 @@ typedef struct {
 
   int         sym;
   int         num;
-  
+
   char        str[ASMRP_MAX_ID];
 
   /* private part */
@@ -113,7 +113,7 @@ static void asmrp_dispose (asmrp_t *p) {
 
   int i;
 
-  for (i=0; i<p->sym_tab_num; i++) 
+  for (i=0; i<p->sym_tab_num; i++)
     free (p->sym_tab[i].id);
 
   free (p);
@@ -133,7 +133,7 @@ static void asmrp_init (asmrp_t *p, cons
 
   p->buf = strdup (str);
   p->pos = 0;
-  
+
   asmrp_getch (p);
 }
 
@@ -169,10 +169,10 @@ static void asmrp_string (asmrp_t *p) {
     asmrp_getch (p);
   }
   p->str[l]=0;
-  
+
   if (p->ch=='"')
     asmrp_getch (p);
-  
+
   p->sym = ASMRP_SYM_STRING;
 }
 
@@ -193,7 +193,7 @@ static void asmrp_identifier (asmrp_t *p
     asmrp_getch (p);
   }
   p->str[l]=0;
-  
+
   p->sym = ASMRP_SYM_ID;
 }
 
@@ -397,10 +397,10 @@ static int asmrp_set_id (asmrp_t *p, cha
     printf ("new symbol '%s'\n", s);
 #endif
 
-  }    
+  }
 
   p->sym_tab[i].v = v;
- 
+
 #ifdef LOG
   printf ("symbol '%s' assigned %d\n", s, v);
 #endif
@@ -413,7 +413,7 @@ static int asmrp_condition (asmrp_t *p) 
 static int asmrp_operand (asmrp_t *p) {
 
   int i, ret;
-  
+
 #ifdef LOG
   printf ("operand\n");
 #endif
@@ -425,7 +425,7 @@ static int asmrp_operand (asmrp_t *p) {
   case ASMRP_SYM_DOLLAR:
 
     asmrp_get_sym (p);
-    
+
     if (p->sym != ASMRP_SYM_ID) {
       mp_msg(MSGT_STREAM, MSGL_ERR, "error: identifier expected.\n");
       break;
@@ -466,7 +466,7 @@ static int asmrp_operand (asmrp_t *p) {
 #ifdef LOG
   printf ("operand done, =%d\n", ret);
 #endif
-  
+
   return ret;
 }
 
@@ -520,7 +520,7 @@ static int asmrp_comp_expression (asmrp_
 }
 
 static int asmrp_condition (asmrp_t *p) {
-  
+
   int a;
 
 #ifdef LOG
@@ -579,7 +579,7 @@ static void asmrp_assignment (asmrp_t *p
   }
   asmrp_get_sym (p);
 
-  if ( (p->sym != ASMRP_SYM_NUM) && (p->sym != ASMRP_SYM_STRING) 
+  if ( (p->sym != ASMRP_SYM_NUM) && (p->sym != ASMRP_SYM_STRING)
        && (p->sym != ASMRP_SYM_ID)) {
     mp_msg(MSGT_STREAM, MSGL_ERR, "error: number or string expected\n");
     return;
@@ -592,7 +592,7 @@ static void asmrp_assignment (asmrp_t *p
 }
 
 static int asmrp_rule (asmrp_t *p) {
-  
+
   int ret;
 
 #ifdef LOG
@@ -600,16 +600,16 @@ static int asmrp_rule (asmrp_t *p) {
 #endif
 
   ret = 1;
-  
+
   if (p->sym == ASMRP_SYM_HASH) {
 
     asmrp_get_sym (p);
     ret = asmrp_condition (p);
 
     while (p->sym == ASMRP_SYM_COMMA) {
-      
+
       asmrp_get_sym (p);
-      
+
       asmrp_assignment (p);
     }
 

Modified: trunk/stream/realrtsp/real.c
==============================================================================
--- trunk/stream/realrtsp/real.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/real.c	Wed May 13 04:58:57 2009	(r29305)
@@ -98,18 +98,18 @@ static void real_calc_response_and_check
     if (ch_len == 40) /* what a hack... */
       ch_len=32;
     if ( ch_len > 56 ) ch_len=56;
-    
+
     /* copy challenge to buf */
     memcpy(buf+8, challenge, ch_len);
     memset(buf+8+ch_len, 0, 56-ch_len);
   }
-  
+
     /* xor challenge bytewise with xor_table */
     for (i=0; i<XOR_TABLE_SIZE; i++)
       buf[8+i] ^= xor_table[i];
 
   av_md5_sum(zres, buf, 64);
- 
+
   /* convert zres to ascii string */
   for (i=0; i<16; i++ )
     sprintf(response+i*2, "%02x", zres[i]);
@@ -133,7 +133,7 @@ static int select_mlti_data(const char *
 
   int numrules, codec, size;
   int i;
-  
+
   /* MLTI chunk should begin with MLTI */
 
   if ((mlti_chunk[0] != 'M')
@@ -174,13 +174,13 @@ static int select_mlti_data(const char *
   }
 
   mlti_chunk+=2;
- 
+
   /* now seek to selected codec */
   for (i=0; i<codec; i++) {
     size=AV_RB32(mlti_chunk);
     mlti_chunk+=size+4;
   }
-  
+
   size=AV_RB32(mlti_chunk);
 
 #ifdef LOG
@@ -205,14 +205,14 @@ static rmff_header_t *real_parse_sdp(cha
   int max_packet_size=0;
   int avg_packet_size=0;
   int duration=0;
-  
+
 
   if (!data) return NULL;
 
   desc=sdpplin_parse(data);
 
   if (!desc) return NULL;
-  
+
   buf = xbuffer_init(2048);
   header=calloc(1,sizeof(rmff_header_t));
 
@@ -252,7 +252,7 @@ static rmff_header_t *real_parse_sdp(cha
 	buf = NULL;
     } else
     len=select_mlti_data(desc->stream[i]->mlti_data, desc->stream[i]->mlti_data_size, rulematches[0], &buf);
-    
+
     header->streams[i]=rmff_new_mdpr(
 	desc->stream[i]->stream_id,
         desc->stream[i]->max_bit_rate,
@@ -276,7 +276,7 @@ static rmff_header_t *real_parse_sdp(cha
     else
       avg_packet_size=desc->stream[i]->avg_packet_size;
   }
-  
+
   if (*stream_rules && strlen(*stream_rules) && (*stream_rules)[strlen(*stream_rules)-1] == ',')
     (*stream_rules)[strlen(*stream_rules)-1]=0; /* delete last ',' in stream_rules */
 
@@ -360,13 +360,13 @@ int real_get_rdt_chunk(rtsp_t *rtsp_sess
   n=rtsp_read_data(rtsp_session, header, 6);
   if (n<6) return 0;
   ts=AV_RB32(header);
-  
+
 #ifdef LOG
-  printf("ts: %u, size: %u, flags: 0x%02x, unknown values: 0x%06x 0x%02x 0x%02x\n", 
+  printf("ts: %u, size: %u, flags: 0x%02x, unknown values: 0x%06x 0x%02x 0x%02x\n",
           ts, size, flags1, unknown1, header[4], header[5]);
 #endif
   size+=2;
-  
+
   ph.object_version=0;
   ph.length=size;
   ph.stream_number=(flags1>>1)&0x1f;
@@ -388,7 +388,7 @@ int real_get_rdt_chunk(rtsp_t *rtsp_sess
   rmff_dump_pheader(&ph, *buffer);
   size-=12;
   n=rtsp_read_data(rtsp_session, (*buffer)+12, size);
-  
+
   return (n <= 0) ? 0 : n+12;
 }
 
@@ -435,7 +435,7 @@ rmff_header_t *real_setup_and_get_header
   uint32_t maxbandwidth = bandwidth;
   char* authfield = NULL;
   int i;
-  
+
   /* get challenge */
   challenge1=strdup(rtsp_search_answers(rtsp_session,"RealChallenge1"));
 #ifdef LOG
@@ -445,7 +445,7 @@ rmff_header_t *real_setup_and_get_header
   /* set a reasonable default to get the best stream, unless bandwidth given */
   if (!bandwidth)
       bandwidth = 10485800;
-  
+
   /* request stream description */
 rtsp_send_describe:
   rtsp_schedule_field(rtsp_session, "Accept: application/sdp");
@@ -532,7 +532,7 @@ autherr:
     mp_msg(MSGT_STREAM, MSGL_WARN, "realrtsp: got no ETag!\n");
   else
     session_id=strdup(rtsp_search_answers(rtsp_session,"ETag"));
-    
+
 #ifdef LOG
   printf("real: Stream description size: %u\n", size);
 #endif
@@ -560,7 +560,7 @@ autherr:
   printf("Title: %s\nCopyright: %s\nAuthor: %s\nStreams: %i\n",
     h->cont->title, h->cont->copyright, h->cont->author, h->prop->num_streams);
 #endif
-  
+
   /* setup our streams */
   real_calc_response_and_checksum (challenge2, checksum, challenge1);
   buf = xbuffer_ensure_size(buf, strlen(challenge2) + strlen(checksum) + 32);
@@ -638,7 +638,7 @@ free_real_rtsp_session (struct real_rtsp
 {
   if (!real_session)
     return;
-  
+
   xbuffer_free (real_session->recv);
   free (real_session);
 }

Modified: trunk/stream/realrtsp/real.h
==============================================================================
--- trunk/stream/realrtsp/real.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/real.h	Wed May 13 04:58:57 2009	(r29305)
@@ -26,7 +26,7 @@
  * adopted from joschkas real tools.
  *
  */
- 
+
 #ifndef MPLAYER_REAL_H
 #define MPLAYER_REAL_H
 

Modified: trunk/stream/realrtsp/rmff.c
==============================================================================
--- trunk/stream/realrtsp/rmff.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/rmff.c	Wed May 13 04:58:57 2009	(r29305)
@@ -140,7 +140,7 @@ static int rmff_dump_mdpr(rmff_mdpr_t *m
   buffer[41+s1] = mdpr->mime_type_size;
   s2=mdpr->mime_type_size;
   memcpy(&buffer[42+s1], mdpr->mime_type, s2);
-  
+
   AV_WB32(buffer+42+s1+s2, mdpr->type_specific_len);
   s3=mdpr->type_specific_len;
   memcpy(&buffer[46+s1+s2], mdpr->type_specific_data, s3);
@@ -161,7 +161,7 @@ static int rmff_dump_cont(rmff_cont_t *c
   AV_WB32(buffer, cont->object_id);
   AV_WB32(buffer+4, cont->size);
   AV_WB16(buffer+8, cont->object_version);
-  
+
   AV_WB16(buffer+10, cont->title_len);
   memcpy(&buffer[12], cont->title, cont->title_len);
   p=12+cont->title_len;
@@ -225,7 +225,7 @@ int rmff_dump_header(rmff_header_t *h, c
       stream++;
     }
   }
-    
+
   if ((size=rmff_dump_dataheader(h->data, &buffer[written], max)) < 0)
     goto buftoosmall;
   written+=size;
@@ -318,22 +318,22 @@ static rmff_mdpr_t *rmff_scan_mdpr(const
   mdpr->start_time=AV_RB32(&data[28]);
   mdpr->preroll=AV_RB32(&data[32]);
   mdpr->duration=AV_RB32(&data[36]);
-  
+
   mdpr->stream_name_size=data[40];
   mdpr->stream_name=malloc(mdpr->stream_name_size+1);
   memcpy(mdpr->stream_name, &data[41], mdpr->stream_name_size);
   mdpr->stream_name[mdpr->stream_name_size]=0;
-  
+
   mdpr->mime_type_size=data[41+mdpr->stream_name_size];
   mdpr->mime_type=malloc(mdpr->mime_type_size+1);
   memcpy(mdpr->mime_type, &data[42+mdpr->stream_name_size], mdpr->mime_type_size);
   mdpr->mime_type[mdpr->mime_type_size]=0;
-  
+
   mdpr->type_specific_len=AV_RB32(&data[42+mdpr->stream_name_size+mdpr->mime_type_size]);
   mdpr->type_specific_data=malloc(mdpr->type_specific_len);
-  memcpy(mdpr->type_specific_data, 
+  memcpy(mdpr->type_specific_data,
       &data[46+mdpr->stream_name_size+mdpr->mime_type_size], mdpr->type_specific_len);
-  
+
   return mdpr;
 }
 
@@ -390,7 +390,7 @@ static rmff_data_t *rmff_scan_dataheader
 
   return dh;
 }
- 
+
 rmff_header_t *rmff_scan_header(const char *data) {
 
 	rmff_header_t *header=malloc(sizeof(rmff_header_t));
@@ -414,21 +414,21 @@ rmff_header_t *rmff_scan_header(const ch
   }
   header->fileheader=rmff_scan_fileheader(ptr);
   ptr += header->fileheader->size;
-	
+
 	header->streams=malloc(sizeof(rmff_mdpr_t*)*(header->fileheader->num_headers));
   for (i=0; i<header->fileheader->num_headers; i++) {
     header->streams[i]=NULL;
   }
-  
+
   for (i=1; i<header->fileheader->num_headers; i++) {
     chunk_type = AV_RB32(ptr);
-  
+
     if (ptr[0] == 0)
     {
       mp_msg(MSGT_STREAM, MSGL_WARN, "rmff: warning: only %d of %d header found.\n", i, header->fileheader->num_headers);
       break;
     }
-    
+
     chunk_size=1;
     switch (chunk_type) {
     case PROP_TAG:
@@ -552,7 +552,7 @@ rmff_prop_t *rmff_new_prop (
   prop->data_offset=data_offset;
   prop->num_streams=num_streams;
   prop->flags=flags;
-   
+
   return prop;
 }
 
@@ -571,7 +571,7 @@ rmff_mdpr_t *rmff_new_mdpr(
       const char *type_specific_data ) {
 
   rmff_mdpr_t *mdpr=malloc(sizeof(rmff_mdpr_t));
-  
+
   mdpr->object_id=MDPR_TAG;
   mdpr->object_version=0;
 
@@ -597,7 +597,7 @@ rmff_mdpr_t *rmff_new_mdpr(
   mdpr->type_specific_data=malloc(type_specific_len);
   memcpy(mdpr->type_specific_data,type_specific_data,type_specific_len);
   mdpr->mlti_data=NULL;
-  
+
   mdpr->size=mdpr->stream_name_size+mdpr->mime_type_size+mdpr->type_specific_len+46;
 
   return mdpr;
@@ -614,7 +614,7 @@ rmff_cont_t *rmff_new_cont(const char *t
   cont->author=NULL;
   cont->copyright=NULL;
   cont->comment=NULL;
-  
+
   cont->title_len=0;
   cont->author_len=0;
   cont->copyright_len=0;
@@ -653,11 +653,11 @@ rmff_data_t *rmff_new_dataheader(uint32_
 
   return data;
 }
-  
+
 void rmff_print_header(rmff_header_t *h) {
 
   rmff_mdpr_t **stream;
-  
+
   if(!h) {
     printf("rmff_print_header: NULL given\n");
     return;
@@ -716,7 +716,7 @@ void rmff_print_header(rmff_header_t *h)
     printf("size      : %i\n", h->data->size);
     printf("packets   : %i\n", h->data->num_packets);
     printf("next DATA : 0x%08x\n", h->data->next_data_header);
-  } 
+  }
 }
 
 void rmff_fix_header(rmff_header_t *h) {
@@ -744,7 +744,7 @@ void rmff_fix_header(rmff_header_t *h) {
       streams++;
     }
   }
-  
+
   if (h->prop) {
     if (h->prop->size != 50)
     {
@@ -784,7 +784,7 @@ void rmff_fix_header(rmff_header_t *h) {
   }
   num_headers++;
 
-  
+
   if (!h->fileheader) {
 #ifdef LOG
     printf("rmff_fix_header: no fileheader, creating one");
@@ -801,7 +801,7 @@ void rmff_fix_header(rmff_header_t *h) {
 
   if(h->fileheader->num_headers != num_headers) {
 #ifdef LOG
-    printf("rmff_fix_header: setting num_headers from %i to %i\n", h->fileheader->num_headers, num_headers); 
+    printf("rmff_fix_header: setting num_headers from %i to %i\n", h->fileheader->num_headers, num_headers);
 #endif
     h->fileheader->num_headers=num_headers;
   }
@@ -809,26 +809,26 @@ void rmff_fix_header(rmff_header_t *h) {
   if(h->prop) {
     if (h->prop->data_offset != header_size) {
 #ifdef LOG
-      printf("rmff_fix_header: setting prop.data_offset from %i to %i\n", h->prop->data_offset, header_size); 
+      printf("rmff_fix_header: setting prop.data_offset from %i to %i\n", h->prop->data_offset, header_size);
 #endif
       h->prop->data_offset=header_size;
     }
     if (h->prop->num_packets == 0) {
       int p=(int)(h->prop->avg_bit_rate/8.0*(h->prop->duration/1000.0)/h->prop->avg_packet_size);
 #ifdef LOG
-      printf("rmff_fix_header: assuming prop.num_packets=%i\n", p); 
+      printf("rmff_fix_header: assuming prop.num_packets=%i\n", p);
 #endif
       h->prop->num_packets=p;
     }
     if (h->data->num_packets == 0) {
 #ifdef LOG
-      printf("rmff_fix_header: assuming data.num_packets=%i\n", h->prop->num_packets); 
+      printf("rmff_fix_header: assuming data.num_packets=%i\n", h->prop->num_packets);
 #endif
       h->data->num_packets=h->prop->num_packets;
     }
-    
+
 #ifdef LOG
-    printf("rmff_fix_header: assuming data.size=%i\n", h->prop->num_packets*h->prop->avg_packet_size); 
+    printf("rmff_fix_header: assuming data.size=%i\n", h->prop->num_packets*h->prop->avg_packet_size);
 #endif
     h->data->size=h->prop->num_packets*h->prop->avg_packet_size;
   }
@@ -840,7 +840,7 @@ int rmff_get_header_size(rmff_header_t *
   if (!h->prop) return -1;
 
   return h->prop->data_offset+18;
-  
+
 }
 
 void rmff_free_header(rmff_header_t *h) {

Modified: trunk/stream/realrtsp/rmff.h
==============================================================================
--- trunk/stream/realrtsp/rmff.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/rmff.h	Wed May 13 04:58:57 2009	(r29305)
@@ -107,7 +107,7 @@ typedef struct {
   uint32_t data_offset;
   uint16_t num_streams;
   uint16_t flags;
-    
+
 } rmff_prop_t;
 
 typedef struct {
@@ -150,11 +150,11 @@ typedef struct {
   char      *copyright;
   uint16_t  comment_len;
   char      *comment;
-  
+
 } rmff_cont_t;
 
 typedef struct {
-  
+
   uint32_t object_id;
   uint32_t size;
   uint16_t object_version;
@@ -187,7 +187,7 @@ typedef struct {
 /*
  * constructors for header structs
  */
- 
+
 rmff_fileheader_t *rmff_new_fileheader(uint32_t num_headers);
 
 rmff_prop_t *rmff_new_prop (
@@ -256,7 +256,7 @@ void rmff_fix_header(rmff_header_t *h);
  * returns the size of the header (incl. first data-header)
  */
 int rmff_get_header_size(rmff_header_t *h);
- 
+
 /*
  * dumps the header <h> to <buffer>. <max> is the size of <buffer>
  */

Modified: trunk/stream/realrtsp/sdpplin.c
==============================================================================
--- trunk/stream/realrtsp/sdpplin.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/sdpplin.c	Wed May 13 04:58:57 2009	(r29305)
@@ -25,7 +25,7 @@
  * sdp/sdpplin parser.
  *
  */
- 
+
 #include "config.h"
 #include "stream/librtsp/rtsp.h"
 #include "sdpplin.h"
@@ -62,7 +62,7 @@ static char *b64_decode(const char *in, 
   dtable['='] = 0;
 
   k=0;
-  
+
   /*CONSTANTCONDITION*/
   for (j=0; j<strlen(in); j+=4)
   {
@@ -121,7 +121,7 @@ static int filter(const char *in, const 
 
     return len-flen;
   }
-  
+
   return 0;
 }
 static sdpplin_stream_t *sdpplin_parse_stream(char **data) {
@@ -131,7 +131,7 @@ static sdpplin_stream_t *sdpplin_parse_s
   char      *decoded=xbuffer_init(32);
   int       handled;
   int       got_mimetype;
-    
+
   if (filter(*data, "m=", &buf)) {
     desc->id = strdup(buf);
   } else
@@ -156,7 +156,7 @@ static sdpplin_stream_t *sdpplin_parse_s
 #endif
 
     handled=0;
-    
+
     if(filter(*data,"a=control:streamid=",&buf)) {
       desc->stream_id=atoi(buf);
       handled=1;
@@ -178,7 +178,7 @@ static sdpplin_stream_t *sdpplin_parse_s
       handled=1;
       *data=nl(*data);
     }
-    
+
     if(filter(*data,"a=StartTime:integer;",&buf)) {
       desc->start_time=atoi(buf);
       handled=1;
@@ -222,7 +222,7 @@ static sdpplin_stream_t *sdpplin_parse_s
       printf("mlti_data_size: %i\n", desc->mlti_data_size);
 #endif
     }
-    
+
     if(filter(*data,"a=ASMRuleBook:string;",&buf)) {
       desc->asm_rule_book=strdup(buf);
       handled=1;
@@ -250,7 +250,7 @@ static sdpplin_stream_t *sdpplin_parse_s
 
   xbuffer_free(buf);
   xbuffer_free(decoded);
-  
+
   return desc;
 }
 
@@ -273,7 +273,7 @@ sdpplin_t *sdpplin_parse(char *data) {
 #endif
 
     handled=0;
-    
+
     if (filter(data, "m=", &buf)) {
       sdpplin_stream_t *stream=sdpplin_parse_stream(&data);
 #ifdef LOG
@@ -306,28 +306,28 @@ sdpplin_t *sdpplin_parse(char *data) {
       handled=1;
       data=nl(data);
     }
-    
+
     if(filter(data,"a=Author:buffer;",&buf)) {
       decoded=b64_decode(buf, decoded, &len);
       desc->author=strdup(decoded);
       handled=1;
       data=nl(data);
     }
-    
+
     if(filter(data,"a=Copyright:buffer;",&buf)) {
       decoded=b64_decode(buf, decoded, &len);
       desc->copyright=strdup(decoded);
       handled=1;
       data=nl(data);
     }
-    
+
     if(filter(data,"a=Abstract:buffer;",&buf)) {
       decoded=b64_decode(buf, decoded, &len);
       desc->abstract=strdup(decoded);
       handled=1;
       data=nl(data);
     }
-    
+
     if(filter(data,"a=StreamCount:integer;",&buf)) {
       desc->stream_count=(unsigned int)atoi(buf);
       desc->stream=calloc(desc->stream_count, sizeof(sdpplin_stream_t*));
@@ -355,7 +355,7 @@ sdpplin_t *sdpplin_parse(char *data) {
 
   xbuffer_free(buf);
   xbuffer_free(decoded);
-  
+
   return desc;
 }
 

Modified: trunk/stream/realrtsp/sdpplin.h
==============================================================================
--- trunk/stream/realrtsp/sdpplin.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/sdpplin.h	Wed May 13 04:58:57 2009	(r29305)
@@ -98,7 +98,7 @@ typedef struct {
   int duration;
 
   sdpplin_stream_t **stream;
-  
+
 } sdpplin_t;
 
 sdpplin_t *sdpplin_parse(char *data);

Modified: trunk/stream/realrtsp/xbuffer.c
==============================================================================
--- trunk/stream/realrtsp/xbuffer.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/xbuffer.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  * xbuffer code
  *
  * Includes a minimalistic replacement for xine_buffer functions used in
@@ -28,7 +28,7 @@ typedef struct {
 
 
 
-void *xbuffer_init(int chunk_size) {  
+void *xbuffer_init(int chunk_size) {
   uint8_t *data=calloc(1,chunk_size+XBUFFER_HEADER_SIZE);
 
   xbuffer_header_t *header=(xbuffer_header_t*)data;
@@ -75,7 +75,7 @@ void *xbuffer_ensure_size(void *buf, int
   }
 
   xbuf = ((xbuffer_header_t*)(((uint8_t*)buf)-XBUFFER_HEADER_SIZE));
-  
+
   if (xbuf->size < size) {
     new_size = size + xbuf->chunk_size - (size % xbuf->chunk_size);
     xbuf->size = new_size;

Modified: trunk/stream/realrtsp/xbuffer.h
==============================================================================
--- trunk/stream/realrtsp/xbuffer.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/realrtsp/xbuffer.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  * xbuffer code
  *
  * Includes a minimalistic replacement for xine_buffer functions used in

Modified: trunk/stream/rtp.c
==============================================================================
--- trunk/stream/rtp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/rtp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -77,10 +77,10 @@ static int getrtp2(int fd, struct rtphea
 static void rtp_cache_reset(unsigned short seq)
 {
 	int i;
-	
+
 	rtpbuf.first = 0;
 	rtpbuf.seq[0] = ++seq;
-	
+
 	for (i=0; i<MAXRTPPACKETSIN; i++) {
 		rtpbuf.len[i] = 0;
 	}
@@ -94,35 +94,35 @@ static int rtp_cache(int fd, char *buffe
 	char *data;
 	unsigned short seq;
 	static int is_first = 1;
-	
+
 	getrtp2(fd, &rh, &data, &length);
 	if(!length)
 		return 0;
 	seq = rh.b.sequence;
-	
+
 	newseq = seq - rtpbuf.seq[rtpbuf.first];
-	
+
 	if ((newseq == 0) || is_first)
 	{
 		is_first = 0;
-		
+
 		//mp_msg(MSGT_NETWORK, MSGL_DBG4, "RTP (seq[%d]=%d seq=%d, newseq=%d)\n", rtpbuf.first, rtpbuf.seq[rtpbuf.first], seq, newseq);
 		rtpbuf.first = ( 1 + rtpbuf.first ) % MAXRTPPACKETSIN;
 		rtpbuf.seq[rtpbuf.first] = ++seq;
 		goto feed;
 	}
-	
+
 	if (newseq > MAXRTPPACKETSIN)
 	{
 		mp_msg(MSGT_NETWORK, MSGL_DBG2, "Overrun(seq[%d]=%d seq=%d, newseq=%d)\n", rtpbuf.first, rtpbuf.seq[rtpbuf.first], seq, newseq);
 		rtp_cache_reset(seq);
 		goto feed;
 	}
-	
+
 	if (newseq < 0)
 	{
 		int i;
-		
+
 		// Is it a stray packet re-sent to network?
 		for (i=0; i<MAXRTPPACKETSIN; i++) {
 			if (rtpbuf.seq[i] == seq) {
@@ -135,19 +135,19 @@ static int rtp_cache(int fd, char *buffe
 			mp_msg(MSGT_NETWORK, MSGL_ERR, "Too Old packet (seq[%d]=%d seq=%d, newseq=%d)\n", rtpbuf.first, rtpbuf.seq[rtpbuf.first], seq, newseq);
 			return  0; // Yes, it is!
 		}
-		
+
 		mp_msg(MSGT_NETWORK, MSGL_ERR,  "Underrun(seq[%d]=%d seq=%d, newseq=%d)\n", rtpbuf.first, rtpbuf.seq[rtpbuf.first], seq, newseq);
-		
+
 		rtp_cache_reset(seq);
 		goto feed;
 	}
-	
+
 	mp_msg(MSGT_NETWORK, MSGL_DBG4, "Out of Seq (seq[%d]=%d seq=%d, newseq=%d)\n", rtpbuf.first, rtpbuf.seq[rtpbuf.first], seq, newseq);
 	newseq = ( newseq + rtpbuf.first ) % MAXRTPPACKETSIN;
 	memcpy (rtpbuf.data[newseq], data, length);
 	rtpbuf.len[newseq] = length;
 	rtpbuf.seq[newseq] = seq;
-	
+
 	return 0;
 
 feed:
@@ -165,18 +165,18 @@ static int rtp_get_next(int fd, char *bu
 	// If we have empty buffer we loop to fill it
 	for (i=0; i < MAXRTPPACKETSIN -3; i++) {
 		if (rtpbuf.len[rtpbuf.first] != 0) break;
-		
+
 		length = rtp_cache(fd, buffer, length) ;
-		
-		// returns on first packet in sequence 
+
+		// returns on first packet in sequence
 		if (length > 0) {
 			//mp_msg(MSGT_NETWORK, MSGL_DBG4, "Getting rtp [%d] %hu\n", i, rtpbuf.first);
 			return length;
 		} else if (length < 0) break;
-		
+
 		// Only if length == 0 loop continues!
 	}
-	
+
 	i = rtpbuf.first;
 	while (rtpbuf.len[i] == 0) {
 		mp_msg(MSGT_NETWORK, MSGL_ERR,  "Lost packet %hu\n", rtpbuf.seq[i]);
@@ -184,35 +184,35 @@ static int rtp_get_next(int fd, char *bu
 		if (rtpbuf.first == i) break;
 	}
 	rtpbuf.first = i;
-	
+
 	// Copy next non empty packet from cache
 	mp_msg(MSGT_NETWORK, MSGL_DBG4, "Getting rtp from cache [%d] %hu\n", rtpbuf.first, rtpbuf.seq[rtpbuf.first]);
 	memcpy (buffer, rtpbuf.data[rtpbuf.first], rtpbuf.len[rtpbuf.first]);
 	length = rtpbuf.len[rtpbuf.first]; // can be zero?
-	
+
 	// Reset fisrt slot and go next in cache
 	rtpbuf.len[rtpbuf.first] = 0;
 	nextseq = rtpbuf.seq[rtpbuf.first];
 	rtpbuf.first = ( 1 + rtpbuf.first ) % MAXRTPPACKETSIN;
 	rtpbuf.seq[rtpbuf.first] = nextseq + 1;
-	
+
 	return length;
 }
 
 
-// Read next rtp packet using cache 
+// Read next rtp packet using cache
 int read_rtp_from_server(int fd, char *buffer, int length) {
 	// Following test is ASSERT (i.e. uneuseful if code is correct)
 	if(buffer==NULL || length<STREAM_BUFFER_SIZE) {
 		mp_msg(MSGT_NETWORK, MSGL_ERR, "RTP buffer invalid; no data return from network\n");
 		return 0;
 	}
-	
+
 	// loop just to skip empty packets
 	while ((length = rtp_get_next(fd, buffer, length)) == 0) {
 		mp_msg(MSGT_NETWORK, MSGL_ERR, "Got empty packet from RTP cache!?\n");
 	}
-	
+
 	return length;
 }
 

Modified: trunk/stream/stream.c
==============================================================================
--- trunk/stream/stream.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream.c	Wed May 13 04:58:57 2009	(r29305)
@@ -130,13 +130,13 @@ stream_t* open_stream_plugin(const strea
   if(desc) {
     arg = m_struct_alloc(desc);
     if(sinfo->opts_url) {
-      m_option_t url_opt = 
+      m_option_t url_opt =
 	{ "stream url", arg , CONF_TYPE_CUSTOM_URL, 0, 0 ,0, sinfo->opts };
       if(m_option_parse(&url_opt,"stream url",filename,arg,M_CONFIG_FILE) < 0) {
 	mp_msg(MSGT_OPEN,MSGL_ERR, "URL parsing failed on url %s\n",filename);
 	m_struct_free(desc,arg);
 	return NULL;
-      }	
+      }
     }
     if(options) {
       int i;
@@ -174,14 +174,14 @@ stream_t* open_stream_plugin(const strea
     s->flags &= ~STREAM_SEEK;
   if(s->seek && !(s->flags & STREAM_SEEK))
     s->flags |= STREAM_SEEK;
-  
+
   s->mode = mode;
 
   mp_msg(MSGT_OPEN,MSGL_V, "STREAM: [%s] %s\n",sinfo->name,filename);
   mp_msg(MSGT_OPEN,MSGL_V, "STREAM: Description: %s\n",sinfo->info);
   mp_msg(MSGT_OPEN,MSGL_V, "STREAM: Author: %s\n", sinfo->author);
   mp_msg(MSGT_OPEN,MSGL_V, "STREAM: Comment: %s\n", sinfo->comment);
-  
+
   return s;
 }
 
@@ -257,9 +257,9 @@ int stream_fill_buffer(stream_t *s){
   case STREAMTYPE_DS:
     len = demux_read_data((demux_stream_t*)s->priv,s->buffer,STREAM_BUFFER_SIZE);
     break;
-  
-    
-  default: 
+
+
+  default:
     len= s->fill_buffer ? s->fill_buffer(s,s->buffer,STREAM_BUFFER_SIZE) : 0;
   }
   if(len<=0){ s->eof=1; s->buf_pos=s->buf_len=0; return 0; }
@@ -320,13 +320,13 @@ if(newpos==0 || newpos!=s->pos){
       }
       break;
     }
-	
+
     if( s->streaming_ctrl!=NULL && s->streaming_ctrl->streaming_seek ) {
       if( s->streaming_ctrl->streaming_seek( s->fd, pos, s->streaming_ctrl )<0 ) {
         mp_msg(MSGT_STREAM,MSGL_INFO,"Stream not seekable!\n");
         return 1;
       }
-    } 
+    }
 #else
     if(newpos<s->pos){
       mp_msg(MSGT_STREAM,MSGL_INFO,"Cannot seek backward in linear streams!\n");
@@ -359,9 +359,9 @@ while(stream_fill_buffer(s) > 0 && pos >
   }
   pos -= s->buf_len;
 }
-  
+
 //  if(pos==s->buf_len) printf("XXX Seek to last byte of file -> EOF\n");
-  
+
   mp_msg(MSGT_STREAM,MSGL_V,"stream_seek: WARNING! Can't seek to 0x%"PRIX64" !\n",(int64_t)(pos+newpos));
   return 0;
 }
@@ -415,7 +415,7 @@ stream_t* new_stream(int fd,int type){
     mp_msg(MSGT_STREAM,MSGL_V,"WINSOCK2 init: %i\n", temp);
   }
 #endif
-  
+
   s->fd=fd;
   s->type=type;
   s->buf_pos=s->buf_len=0;

Modified: trunk/stream/stream.h
==============================================================================
--- trunk/stream/stream.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream.h	Wed May 13 04:58:57 2009	(r29305)
@@ -229,7 +229,7 @@ inline static unsigned char* stream_read
     len = s->buf_len-s->buf_pos;
     // try to fill the buffer
     if(len <= 0 &&
-       (!cache_stream_fill_buffer(s) || 
+       (!cache_stream_fill_buffer(s) ||
         (len = s->buf_len-s->buf_pos) <= 0)) break;
     end = (unsigned char*) memchr((void*)(s->buffer+s->buf_pos),'\n',len);
     if(end) len = end - (s->buffer+s->buf_pos) + 1;
@@ -267,7 +267,7 @@ inline static int stream_seek(stream_t *
       return 1;
     }
   }
-  
+
   return cache_stream_seek_long(s,pos);
 }
 
@@ -312,7 +312,7 @@ extern char * audio_stream;
 
 typedef struct {
  int id; // 0 - 31 mpeg; 128 - 159 ac3; 160 - 191 pcm
- int language; 
+ int language;
  int type;
  int channels;
 } stream_language_t;

Modified: trunk/stream/stream_cdda.c
==============================================================================
--- trunk/stream/stream_cdda.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_cdda.c	Wed May 13 04:58:57 2009	(r29305)
@@ -182,7 +182,7 @@ static int open_cdda(stream_t *st,int m,
     }
   }
 #endif
-  
+
 #ifndef CONFIG_LIBCDIO
   if(p->generic_dev)
     cdd = cdda_identify_scsi(p->generic_dev,p->device,0,NULL);
@@ -280,7 +280,7 @@ static int open_cdda(stream_t *st,int m,
     mode = PARANOIA_MODE_OVERLAP;
   else
     mode = PARANOIA_MODE_FULL;
-  
+
   if(p->no_skip)
     mode |= PARANOIA_MODE_NEVERSKIP;
 #ifndef CONFIG_LIBCDIO
@@ -336,7 +336,7 @@ static int fill_buffer(stream_t* s, char
   cd_track_t *cd_track;
   int16_t * buf;
   int i;
-  
+
   if((p->sector < p->start_sector) || (p->sector > p->end_sector)) {
     s->eof = 1;
     return 0;
@@ -346,7 +346,7 @@ static int fill_buffer(stream_t* s, char
   if (!buf)
     return 0;
 
-#ifdef WORDS_BIGENDIAN 
+#ifdef WORDS_BIGENDIAN
   for(i=0;i<CD_FRAMESIZE_RAW/2;i++)
           buf[i]=le2me_16(buf[i]);
 #endif
@@ -359,14 +359,14 @@ static int fill_buffer(stream_t* s, char
 		  cd_track = cd_info_get_track(p->cd_info, i+1);
 //printf("Track %d, sector=%d\n", i, p->sector-1);
 		  if( cd_track!=NULL ) {
-			mp_msg(MSGT_SEEK, MSGL_INFO, "\n%s\n", cd_track->name); 
+			mp_msg(MSGT_SEEK, MSGL_INFO, "\n%s\n", cd_track->name);
 			mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDA_TRACK=%d\n", cd_track->track_nb);
 		  }
 		  break;
 	  }
   }
 
-  
+
   return CD_FRAMESIZE_RAW;
 }
 
@@ -377,7 +377,7 @@ static int seek(stream_t* s,off_t newpos
   int current_track=0, seeked_track=0;
   int seek_to_track = 0;
   int i;
-  
+
   s->pos = newpos;
   sec = s->pos/CD_FRAMESIZE_RAW;
   if (s->pos < 0 || sec > p->end_sector) {
@@ -387,7 +387,7 @@ static int seek(stream_t* s,off_t newpos
 
 //printf("pos: %d, sec: %d ## %d\n", (int)s->pos, (int)sec, CD_FRAMESIZE_RAW);
 //printf("sector: %d  new: %d\n", p->sector, sec );
- 
+
   for(i=0;i<p->cd->tracks;i++){
 //        printf("trk #%d: %d .. %d\n",i,p->cd->disc_toc[i].dwStartSector,p->cd->disc_toc[i+1].dwStartSector);
 	if( p->sector>=p->cd->disc_toc[i].dwStartSector && p->sector<p->cd->disc_toc[i+1].dwStartSector ) {

Modified: trunk/stream/stream_cddb.c
==============================================================================
--- trunk/stream/stream_cddb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_cddb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1,11 +1,11 @@
 /*
- * CDDB HTTP protocol 
+ * CDDB HTTP protocol
  * by Bertrand Baudet <bertrand_baudet at yahoo.com>
  * (C) 2002, MPlayer team.
  *
  * Implementation follow the freedb.howto1.06.txt specification
  * from http://freedb.freedb.org
- * 
+ *
  * discid computation by Jeremy D. Zawodny
  *	 Copyright (c) 1998-2000 Jeremy D. Zawodny <Jeremy at Zawodny.com>
  *	 Code release under GPL
@@ -68,7 +68,7 @@ stream_t* open_cdda(char *dev, char *tra
 static cd_toc_t cdtoc[100];
 static int cdtoc_last_track;
 
-int 
+int
 read_toc(const char *dev) {
 	int first = 0, last = -1;
 	int i;
@@ -100,7 +100,7 @@ read_toc(const char *dev) {
 	if( drive<0 ) {
 		return drive;
 	}
-	
+
 #if defined(__linux__) || defined(__bsdi__)
 	{
 	struct cdrom_tochdr tochdr;
@@ -203,7 +203,7 @@ read_toc(const char *dev) {
 	return last;
 }
 
-/** 
+/**
 \brief Reads TOC from CD in the given device and prints the number of tracks
        and the length of each track in minute:second:frame format.
 \param *dev the device to analyse
@@ -236,7 +236,7 @@ int cdd_identify(const char *dev)
 	return cdtoc_last_track;
 }
 
-unsigned int 
+unsigned int
 cddb_sum(int n) {
 	unsigned int ret;
 
@@ -248,7 +248,7 @@ cddb_sum(int n) {
 	return ret;
 }
 
-unsigned long 
+unsigned long
 cddb_discid(int tot_trks) {
 	unsigned int i, t = 0, n = 0;
 
@@ -270,9 +270,9 @@ cddb_http_request(char *command, int (*r
 	int fd, ret = 0;
 	URL_t *url;
 	HTTP_header_t *http_hdr;
-	
+
 	if( reply_parser==NULL || command==NULL || cddb_data==NULL ) return -1;
-	
+
 	sprintf( request, "http://%s/~cddb/cddb.cgi?cmd=%s%s&proto=%d", cddb_data->freedb_server, command, cddb_data->cddb_hello, cddb_data->freedb_proto_level );
 	mp_msg(MSGT_OPEN, MSGL_INFO,"Request[%s]\n", request );
 
@@ -281,7 +281,7 @@ cddb_http_request(char *command, int (*r
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MPDEMUX_CDDB_NotAValidURL);
 		return -1;
 	}
-	
+
 	fd = http_send_request(url,0);
 	if( fd<0 ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MPDEMUX_CDDB_FailedToSendHTTPRequest);
@@ -310,7 +310,7 @@ cddb_http_request(char *command, int (*r
 
 	http_free( http_hdr );
 	url_free( url );
-	
+
 	return ret;
 }
 
@@ -322,9 +322,9 @@ cddb_read_cache(cddb_data_t *cddb_data) 
 	size_t file_size;
 
 	if( cddb_data==NULL || cddb_data->cache_dir==NULL ) return -1;
-	
+
 	sprintf( file_name, "%s%08lx", cddb_data->cache_dir, cddb_data->disc_id);
-	
+
 	file_fd = open(file_name, O_RDONLY
 #if defined(__MINGW32__) || defined(__CYGWIN__)
 	| O_BINARY
@@ -342,7 +342,7 @@ cddb_read_cache(cddb_data_t *cddb_data) 
 	} else {
 		file_size = stats.st_size < UINT_MAX ? stats.st_size : UINT_MAX - 1;
 	}
-	
+
 	cddb_data->xmcd_file = malloc(file_size+1);
 	if( cddb_data->xmcd_file==NULL ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MemAllocFailed);
@@ -356,9 +356,9 @@ cddb_read_cache(cddb_data_t *cddb_data) 
 		return -1;
 	}
 	cddb_data->xmcd_file[cddb_data->xmcd_file_size] = 0;
-	
+
 	close(file_fd);
-	
+
 	return 0;
 }
 
@@ -387,15 +387,15 @@ cddb_write_cache(cddb_data_t *cddb_data)
 			return -1;
 		}
 	}
-	
+
 	sprintf( file_name, "%s%08lx", cddb_data->cache_dir, cddb_data->disc_id );
-	
+
 	file_fd = creat(file_name, S_IRUSR|S_IWUSR);
 	if( file_fd<0 ) {
 		perror("create");
 		return -1;
 	}
-	
+
 	wrote = write(file_fd, cddb_data->xmcd_file, cddb_data->xmcd_file_size);
 	if( wrote<0 ) {
 		perror("write");
@@ -407,7 +407,7 @@ cddb_write_cache(cddb_data_t *cddb_data)
 		close(file_fd);
 		return -1;
 	}
-	
+
 	close(file_fd);
 
 	return 0;
@@ -421,7 +421,7 @@ cddb_read_parse(HTTP_header_t *http_hdr,
 	int ret, status;
 
 	if( http_hdr==NULL || cddb_data==NULL ) return -1;
-	
+
 	ret = sscanf( http_hdr->body, "%d ", &status);
 	if( ret!=1 ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);
@@ -472,7 +472,7 @@ int
 cddb_request_titles(cddb_data_t *cddb_data) {
 	char command[1024];
 	sprintf( command, "cddb+read+%s+%08lx", cddb_data->category, cddb_data->disc_id);
-	return cddb_http_request(command, cddb_read_parse, cddb_data); 
+	return cddb_http_request(command, cddb_read_parse, cddb_data);
 }
 
 int
@@ -480,7 +480,7 @@ cddb_parse_matches_list(HTTP_header_t *h
 	char album_title[100];
 	char *ptr = NULL;
 	int ret;
-	
+
 	ptr = strstr(http_hdr->body, "\n");
 	if( ptr==NULL ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MPDEMUX_CDDB_UnableToFindEOL);
@@ -517,7 +517,7 @@ cddb_query_parse(HTTP_header_t *http_hdr
 	char album_title[100];
 	char *ptr = NULL;
 	int ret, status;
-	
+
 	ret = sscanf( http_hdr->body, "%d ", &status);
 	if( ret!=1 ) {
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);
@@ -562,7 +562,7 @@ misc c711930d Santana / Supernatural
 rock c711930d Santana / Supernatural
 blues c711930d Santana / Supernatural
 .]
-*/	
+*/
 		case 211:
 			// Found inexact matches, list follows
 			cddb_parse_matches_list(http_hdr, cddb_data);
@@ -571,7 +571,7 @@ blues c711930d Santana / Supernatural
 			mp_msg(MSGT_DEMUX, MSGL_FIXME, MSGTR_MPDEMUX_CDDB_ServerReturnsCommandSyntaxErr);
 			break;
 		default:
-			mp_msg(MSGT_DEMUX, MSGL_FIXME, MSGTR_MPDEMUX_CDDB_UnhandledCode);	
+			mp_msg(MSGT_DEMUX, MSGL_FIXME, MSGTR_MPDEMUX_CDDB_UnhandledCode);
 	}
 	return -1;
 }
@@ -581,10 +581,10 @@ cddb_proto_level_parse(HTTP_header_t *ht
 	int max;
 	int ret, status;
 	char *ptr;
-	
+
 	ret = sscanf( http_hdr->body, "%d ", &status);
 	if( ret!=1 ) {
-		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);	
+		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);
 		return -1;
 	}
 
@@ -603,7 +603,7 @@ cddb_proto_level_parse(HTTP_header_t *ht
 			cddb_data->freedb_proto_level = max;
 			return 0;
 		default:
-			mp_msg(MSGT_DEMUX, MSGL_FIXME, MSGTR_MPDEMUX_CDDB_UnhandledCode);	
+			mp_msg(MSGT_DEMUX, MSGL_FIXME, MSGTR_MPDEMUX_CDDB_UnhandledCode);
 	}
 	return -1;
 }
@@ -646,9 +646,9 @@ void
 cddb_create_hello(cddb_data_t *cddb_data) {
 	char host_name[51];
 	char *user_name;
-	
+
 	if( cddb_data->anonymous ) {	// Default is anonymous
-		/* Note from Eduardo Pérez Ureta <eperez at it.uc3m.es> : 
+		/* Note from Eduardo Pérez Ureta <eperez at it.uc3m.es> :
 		 * We don't send current user/host name in hello to prevent spam.
 		 * Software that sends this is considered spyware
 		 * that most people don't like.
@@ -664,7 +664,7 @@ cddb_create_hello(cddb_data_t *cddb_data
 	sprintf( cddb_data->cddb_hello, "&hello=%s+%s+%s+%s", user_name, host_name, "MPlayer", VERSION );
 }
 
-int 
+int
 cddb_retrieve(cddb_data_t *cddb_data) {
 	char offsets[1024], command[1024];
 	char *ptr;
@@ -678,7 +678,7 @@ cddb_retrieve(cddb_data_t *cddb_data) {
 	}
 	ptr[0]=0;
 	time_len = (cdtoc[cddb_data->tracks].frame)/75;
-	
+
 	cddb_data->freedb_server = DEFAULT_FREEDB_SERVER;
 	cddb_data->freedb_proto_level = 1;
 	cddb_data->xmcd_file = NULL;
@@ -727,7 +727,7 @@ cddb_resolve(const char *dev, char **xmc
 		mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_MPDEMUX_CDDB_NoCDInDrive);
 		return -1;
 	}
-	
+
 	home_dir = getenv("HOME");
 #ifdef __MINGW32__
 	if( home_dir==NULL ) home_dir = getenv("USERPROFILE");
@@ -759,7 +759,7 @@ cddb_resolve(const char *dev, char **xmc
 		*xmcd_file = cddb_data.xmcd_file;
 		return 0;
 	}
-	
+
 	return -1;
 }
 
@@ -820,7 +820,7 @@ xmcd_parse_ttitle(cd_info_t *cd_info, ch
 		ptr = strstr(ptr, "=");
 		if( ptr==NULL ) return NULL;
 		ptr++;
-		
+
 		sec = cdtoc[track_nb].frame;
 		off = cdtoc[track_nb+1].frame-sec+1;
 
@@ -836,12 +836,12 @@ cddb_parse_xmcd(char *xmcd_file) {
 	char *ptr, *ptr2;
 	unsigned int audiolen;
 	if( xmcd_file==NULL ) return NULL;
-	
+
 	cd_info = cd_info_new();
 	if( cd_info==NULL ) {
 		return NULL;
 	}
-	
+
 	length = strlen(xmcd_file);
 	ptr = xmcd_file;
 	while( ptr!=NULL && pos<length ) {
@@ -866,10 +866,10 @@ cddb_parse_xmcd(char *xmcd_file) {
 		ptr = ptr2+1;
 	}
 
-	audiolen = cdtoc[cd_info->nb_tracks].frame-cdtoc[0].frame;	
+	audiolen = cdtoc[cd_info->nb_tracks].frame-cdtoc[0].frame;
 	cd_info->min  = (unsigned int)(audiolen/(60*75));
 	cd_info->sec  = (unsigned int)((audiolen/75)%60);
 	cd_info->msec = (unsigned int)(audiolen%75);
-	
+
 	return cd_info;
 }

Modified: trunk/stream/stream_cue.c
==============================================================================
--- trunk/stream/stream_cue.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_cue.c	Wed May 13 04:58:57 2009	(r29305)
@@ -323,7 +323,7 @@ static int cue_read_cue (char *in_cue_fi
      if (*t == '\0')
        strcpy(t, "/");
   }
-  
+
   av_strlcpy(bincue_path,t,sizeof( bincue_path ));
   mp_msg(MSGT_OPEN,MSGL_V,"dirname: %s, cuepath: %s\n", t, bincue_path);
 
@@ -504,7 +504,7 @@ static int cue_vcd_read(stream_t *stream
               tracks[track].start_sector)
              * cue_mode_2_sector_size(tracks[track].mode);
 
-  
+
   if(position >= tracks[track+1].start_offset)
     return 0;
 
@@ -560,7 +560,7 @@ static int open_s(stream_t *stream,int m
   }
   if(!track)
     track = 1;
-  
+
   f = cue_read_cue(filename);
   if(f < 0) {
     m_struct_free(&stream_opts,opts);
@@ -569,7 +569,7 @@ static int open_s(stream_t *stream,int m
   cue_vcd_read_toc();
   ret2=cue_vcd_get_track_end(track);
   ret=cue_vcd_seek_to_track(track);
-  if(ret<0){ 
+  if(ret<0){
     mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_ErrTrackSelect " (seek)\n");
     return STREAM_UNSUPPORTED;
   }

Modified: trunk/stream/stream_dvb.c
==============================================================================
--- trunk/stream/stream_dvb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_dvb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -132,7 +132,7 @@ static dvb_channels_list *dvb_get_channe
 	const char *sat_conf = "%d:%c:%d:%d:%255[^:]:%255[^:]\n";
 	const char *ter_conf = "%d:%255[^:]:%255[^:]:%255[^:]:%255[^:]:%255[^:]:%255[^:]:%255[^:]:%255[^:]:%255[^:]:%255[^:]\n";
 	const char *atsc_conf = "%d:%255[^:]:%255[^:]:%255[^:]\n";
-	
+
 	mp_msg(MSGT_DEMUX, MSGL_V, "CONFIG_READ FILE: %s, type: %d\n", filename, type);
 	if((f=fopen(filename, "r"))==NULL)
 	{
@@ -233,7 +233,7 @@ static dvb_channels_list *dvb_get_channe
 				fields++;
 			}
 		}
-		
+
 		if(apid_str[0])
 		{
 			cnt = ptr->pids_cnt;
@@ -271,7 +271,7 @@ static dvb_channels_list *dvb_get_channe
 		for(cnt = 0; cnt < ptr->pids_cnt; cnt++)
 			mp_msg(MSGT_DEMUX, MSGL_V, " %d ", ptr->pids[cnt]);
 		mp_msg(MSGT_DEMUX, MSGL_V, "\n");
-		
+
 		if((type == TUNER_TER) || (type == TUNER_CBL))
 		{
 			if(! strcmp(inv, "INVERSION_ON"))
@@ -304,7 +304,7 @@ static dvb_channels_list *dvb_get_channe
 				ptr->cr =FEC_NONE;
 			else ptr->cr =FEC_AUTO;
 		}
-	
+
 
 		if((type == TUNER_TER) || (type == TUNER_CBL) || (type == TUNER_ATSC))
 		{
@@ -318,7 +318,7 @@ static dvb_channels_list *dvb_get_channe
 				ptr->mod = QAM_32;
 			else if(! strcmp(mod, "QAM_16"))
 				ptr->mod = QAM_16;
-#ifdef DVB_ATSC	
+#ifdef DVB_ATSC
 			else if(! strcmp(mod, "VSB_8") || ! strcmp(mod, "8VSB"))
 				ptr->mod = VSB_8;
 			else if(! strcmp(mod, "VSB_16") || !strcmp(mod, "16VSB"))
@@ -351,7 +351,7 @@ static dvb_channels_list *dvb_get_channe
 			else if(! strcmp(gi, "GUARD_INTERVAL_1_8"))
 				ptr->gi = GUARD_INTERVAL_1_8;
 			else ptr->gi = GUARD_INTERVAL_1_4;
-			
+
 			if(! strcmp(tmp_lcr, "FEC_1_2"))
 				ptr->cr_lp =FEC_1_2;
 			else if(! strcmp(tmp_lcr, "FEC_2_3"))
@@ -373,8 +373,8 @@ static dvb_channels_list *dvb_get_channe
 			else if(! strcmp(tmp_lcr, "FEC_NONE"))
 				ptr->cr_lp =FEC_NONE;
 			else ptr->cr_lp =FEC_AUTO;
-			
-			
+
+
 			if(! strcmp(tmp_hier, "HIERARCHY_1"))
 				ptr->hier = HIERARCHY_1;
 			else if(! strcmp(tmp_hier, "HIERARCHY_2"))
@@ -419,7 +419,7 @@ void dvb_free_config(dvb_config_t *confi
 {
 	int i, j;
 
-	for(i=0; i<config->count; i++) 
+	for(i=0; i<config->count; i++)
 	{
 		if(config->cards[i].name)
 			free(config->cards[i].name);
@@ -435,7 +435,7 @@ void dvb_free_config(dvb_config_t *confi
 			free(config->cards[i].list->channels);
 		}
 		free(config->cards[i].list);
-	}  
+	}
 	free(config);
 }
 
@@ -448,7 +448,7 @@ static int dvb_streaming_read(stream_t *
 	mp_msg(MSGT_DEMUX, MSGL_DBG3, "dvb_streaming_read(%d)\n", size);
 
 	tries = priv->retry + 1;
-	
+
 	fd = stream->fd;
 	while(pos < size)
 	{
@@ -471,7 +471,7 @@ static int dvb_streaming_read(stream_t *
 			mp_msg(MSGT_DEMUX, MSGL_DBG3, "ret (%d) bytes\n", pos);
 		}
 	}
-		
+
 
 	if(! pos)
 		mp_msg(MSGT_DEMUX, MSGL_ERR, "dvb_streaming_read, return %d bytes\n", pos);
@@ -496,7 +496,7 @@ int dvb_set_channel(stream_t *stream, in
 		mp_msg(MSGT_DEMUX, MSGL_ERR, "dvb_set_channel: INVALID CARD NUMBER: %d vs %d, abort\n", card, conf->count);
 		return 0;
 	}
-	
+
 	devno = conf->cards[card].devno;
 	new_list = conf->cards[card].list;
 	if((n > new_list->NUM_CHANNELS) || (n < 0))
@@ -505,12 +505,12 @@ int dvb_set_channel(stream_t *stream, in
 		return 0;
 	}
 	channel = &(new_list->channels[n]);
-	
+
 	if(priv->is_on)	//the fds are already open and we have to stop the demuxers
 	{
 		for(i = 0; i < priv->demux_fds_cnt; i++)
 			dvb_demux_stop(priv->demux_fds[i]);
-			
+
 		priv->retry = 0;
 		while(dvb_streaming_read(stream, buf, 4096) > 0);	//empty both the stream's and driver's buffer
 		if(priv->card != card)
@@ -523,7 +523,7 @@ int dvb_set_channel(stream_t *stream, in
 			}
 		}
 		else	//close all demux_fds with pos > pids required for the new channel or open other demux_fds if we have too few
-		{	
+		{
 			if(! dvb_fix_demuxes(priv, channel->pids_cnt))
 				return 0;
 		}
@@ -562,7 +562,7 @@ int dvb_set_channel(stream_t *stream, in
 		if(! dvb_set_ts_filt(priv->demux_fds[i], channel->pids[i], DMX_PES_OTHER))
 			return 0;
 	}
-	
+
 	return 1;
 }
 
@@ -712,7 +712,7 @@ static int dvb_open(stream_t *stream, in
  		return STREAM_ERROR;
  	}
 	priv->timeout = p->timeout;
-	
+
 	tuner_type = priv->config->cards[priv->card].type;
 
 	if(tuner_type == 0)
@@ -729,7 +729,7 @@ static int dvb_open(stream_t *stream, in
 		p->prog, priv->card+1, priv->tuner_type);
 
 	priv->list = priv->config->cards[priv->card].list;
-	
+
 	if((! strcmp(p->prog, "")) && (priv->list != NULL))
 		progname = priv->list->channels[0].name;
 	else
@@ -747,7 +747,7 @@ static int dvb_open(stream_t *stream, in
 	stream->fill_buffer = dvb_streaming_read;
 	stream->close = dvbin_close;
 	m_struct_free(&stream_opts, opts);
-	
+
 	*file_format = DEMUXER_TYPE_MPEG_TS;
 
 	return STREAM_OK;
@@ -761,13 +761,13 @@ dvb_config_t *dvb_get_config(void)
 	dvb_channels_list *list;
 	dvb_card_config_t *cards = NULL, *tmp;
 	dvb_config_t *conf = NULL;
-	
-			
+
+
 	conf = malloc(sizeof(dvb_config_t));
 	if(conf == NULL)
 		return NULL;
 
-	conf->priv = NULL;	
+	conf->priv = NULL;
 	conf->count = 0;
 	conf->cards = NULL;
 	for(i=0; i<MAX_CARDS; i++)
@@ -779,7 +779,7 @@ dvb_config_t *dvb_get_config(void)
 			mp_msg(MSGT_DEMUX, MSGL_V, "DVB_CONFIG, can't open device %s, skipping\n", filename);
 			continue;
 		}
-			
+
 		type = dvb_get_tuner_type(fd);
 		close(fd);
 		if(type != TUNER_SAT && type != TUNER_TER && type != TUNER_CBL && type != TUNER_ATSC)
@@ -787,7 +787,7 @@ dvb_config_t *dvb_get_config(void)
 			mp_msg(MSGT_DEMUX, MSGL_V, "DVB_CONFIG, can't detect tuner type of card %d, skipping\n", i);
 			continue;
 		}
-		
+
 		switch(type)
 		{
 			case TUNER_TER:
@@ -803,7 +803,7 @@ dvb_config_t *dvb_get_config(void)
 			conf_file = get_path("channels.conf.atsc");
 				break;
 		}
-		
+
 		if((access(conf_file, F_OK | R_OK) != 0))
 		{
 			if(conf_file)
@@ -822,7 +822,7 @@ dvb_config_t *dvb_get_config(void)
 			free(conf_file);
 		if(list == NULL)
 			continue;
-		
+
 		size = sizeof(dvb_card_config_t) * (conf->count + 1);
 		tmp = realloc(conf->cards, size);
 
@@ -865,7 +865,7 @@ const stream_info_t stream_info_dvb = {
 	"dvbin",
 	"Nico",
 	"based on the code from ??? (probably Arpi)",
-	dvb_open, 			
+	dvb_open,
 	{ "dvb", NULL },
 	&stream_opts,
 	1 				// Urls are an option string

Modified: trunk/stream/stream_dvd.c
==============================================================================
--- trunk/stream/stream_dvd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_dvd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -292,7 +292,7 @@ int dvd_sid_from_lang(stream_t *stream, 
         return d->subtitles[i].id;
       }
     }
-    lang+=2; 
+    lang+=2;
     while (lang[0]==',' || lang[0]==' ') ++lang;
   }
   mp_msg(MSGT_OPEN,MSGL_WARN,MSGTR_DVDnoMatchingSubtitle);
@@ -313,11 +313,11 @@ static int dvd_next_cell(dvd_priv_t *d) 
   mp_msg(MSGT_DVD,MSGL_DBG2, "dvd_next_cell: next2=0x%X  \n",next_cell);
 
   ++next_cell;
-  if(next_cell>=d->last_cell) 
+  if(next_cell>=d->last_cell)
     return -1; // EOF
   if(d->cur_pgc->cell_playback[next_cell].block_type == BLOCK_TYPE_ANGLE_BLOCK ) {
     next_cell+=dvd_angle;
-    if(next_cell>=d->last_cell) 
+    if(next_cell>=d->last_cell)
       return -1; // EOF
   }
   mp_msg(MSGT_DVD,MSGL_DBG2, "dvd_next_cell: next3=0x%X  \n",next_cell);
@@ -354,12 +354,12 @@ read_next:
     int next=dvd_next_cell(d);
     if(next>=0) {
       d->cur_cell=next;
-      // if( d->cur_pgc->cell_playback[d->cur_cell].block_type 
+      // if( d->cur_pgc->cell_playback[d->cur_cell].block_type
       // == BLOCK_TYPE_ANGLE_BLOCK ) d->cur_cell+=dvd_angle;
       d->cur_pack = d->cur_pgc->cell_playback[ d->cur_cell ].first_sector;
       d->cell_last_pack=d->cur_pgc->cell_playback[ d->cur_cell ].last_sector;
       mp_msg(MSGT_DVD,MSGL_V, "DVD next cell: %d  pack: 0x%X-0x%X  \n",d->cur_cell,d->cur_pack,d->cell_last_pack);
-    } else 
+    } else
         return -1; // EOF
   }
 
@@ -702,10 +702,10 @@ static int dvd_seek_to_time(stream_t *st
     return 1;
 }
 
-static int control(stream_t *stream,int cmd,void* arg) 
+static int control(stream_t *stream,int cmd,void* arg)
 {
     dvd_priv_t *d = stream->priv;
-    switch(cmd) 
+    switch(cmd)
     {
         case STREAM_CTRL_GET_TIME_LENGTH:
         {
@@ -715,7 +715,7 @@ static int control(stream_t *stream,int 
         case STREAM_CTRL_GET_NUM_CHAPTERS:
         {
             if(! d->cur_pgc->nr_of_programs) return STREAM_UNSUPPORTED;
-            *((unsigned int *)arg) = d->cur_pgc->nr_of_programs; 
+            *((unsigned int *)arg) = d->cur_pgc->nr_of_programs;
             return 1;
         }
         case STREAM_CTRL_SEEK_TO_CHAPTER:
@@ -1051,7 +1051,7 @@ static int open_s(stream_t *stream,int m
     d->angle_seek=0;
       d->last_cell=d->cur_pgc->nr_of_cells;
 
-    if(d->cur_pgc->cell_playback[d->cur_cell].block_type == BLOCK_TYPE_ANGLE_BLOCK ) 
+    if(d->cur_pgc->cell_playback[d->cur_cell].block_type == BLOCK_TYPE_ANGLE_BLOCK )
       d->cur_cell+=dvd_angle;
     d->cur_pack = d->cur_pgc->cell_playback[ d->cur_cell ].first_sector;
     d->cell_last_pack=d->cur_pgc->cell_playback[ d->cur_cell ].last_sector;

Modified: trunk/stream/stream_dvd_common.c
==============================================================================
--- trunk/stream/stream_dvd_common.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_dvd_common.c	Wed May 13 04:58:57 2009	(r29305)
@@ -3,7 +3,7 @@
 #include <dvdread/ifo_types.h>
 #include "stream_dvd_common.h"
 
-/** 
+/**
 \brief Converts DVD time structure to milliseconds.
 \param *dev the DVD time structure to convert
 \return returns the time in milliseconds

Modified: trunk/stream/stream_dvdnav.c
==============================================================================
--- trunk/stream/stream_dvdnav.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_dvdnav.c	Wed May 13 04:58:57 2009	(r29305)
@@ -275,7 +275,7 @@ static int seek(stream_t *s, off_t newpo
   uint32_t sector = 0;
   dvdnav_priv_t *priv = s->priv;
 
-  if(s->end_pos && newpos > s->end_pos) 
+  if(s->end_pos && newpos > s->end_pos)
      newpos = s->end_pos;
   sector = newpos / 2048ULL;
   if(dvdnav_sector_search(priv->dvdnav, (uint64_t) sector, SEEK_SET) != DVDNAV_STATUS_OK)
@@ -387,7 +387,7 @@ static int control(stream_t *stream, int
   dvdnav_priv_t* priv=stream->priv;
   int tit, part;
 
-  switch(cmd) 
+  switch(cmd)
   {
     case STREAM_CTRL_SEEK_TO_CHAPTER:
     {
@@ -542,12 +542,12 @@ static void show_audio_subs_languages(dv
     id = i + base[format];
     if (lang != 0xFFFF) {
       mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDaudioStreamInfo, i,
-             dvd_audio_stream_types[format], dvd_audio_stream_channels[channels], tmp, id); 
+             dvd_audio_stream_types[format], dvd_audio_stream_channels[channels], tmp, id);
       if(lang && tmp[0])
         mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", id, tmp);
     }
   }
-  
+
   for(i=0; i<32; i++)
   {
     lg = dvdnav_get_spu_logical_stream(nav, i);
@@ -571,8 +571,8 @@ static int open_s(stream_t *stream,int m
   char *filename;
   dvdnav_priv_t *priv;
 
-  if(p->device) filename = p->device; 
-  else if(dvd_device) filename= dvd_device; 
+  if(p->device) filename = p->device;
+  else if(dvd_device) filename= dvd_device;
   else filename = DEFAULT_DVD_DEVICE;
   if(!(priv=new_dvdnav_stream(filename))) {
     mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_CantOpenDVD,filename, strerror(errno));
@@ -694,7 +694,7 @@ void mp_dvdnav_update_mouse_pos(stream_t
 static int mp_dvdnav_get_aid_from_format (stream_t *stream, int index, uint8_t lg) {
   dvdnav_priv_t * priv = stream->priv;
   uint8_t format;
-  
+
   format = dvdnav_audio_stream_format(priv->dvdnav, lg);
   switch(format) {
   case DVDNAV_FORMAT_AC3:
@@ -989,7 +989,7 @@ int mp_dvdnav_spu_has_changed (stream_t 
 
   if (clear)
     priv->state &= ~NAV_FLAG_SPU_CHANGE;
-  
+
   return 1;
 }
 

Modified: trunk/stream/stream_file.c
==============================================================================
--- trunk/stream/stream_file.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_file.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,7 +32,7 @@ static const struct m_struct_st stream_o
   sizeof(struct stream_priv_s),
   &stream_priv_dflts,
   stream_opts_fields
-};  
+};
 
 static int fill_buffer(stream_t *s, char* buffer, int max_len){
   int r = read(s->fd,buffer,max_len);
@@ -121,7 +121,7 @@ static int open_f(stream_t *stream,int m
 
 #if defined(__CYGWIN__)|| defined(__MINGW32__)
   m |= O_BINARY;
-#endif    
+#endif
 
   if(!strcmp(filename,"-")){
     if(mode == STREAM_READ) {

Modified: trunk/stream/stream_ftp.c
==============================================================================
--- trunk/stream/stream_ftp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_ftp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -80,7 +80,7 @@ static int fd_can_read(int fd,int timeou
   FD_SET(fd,&fds);
   tv.tv_sec = timeout;
   tv.tv_usec = 0;
-  
+
   return select(fd+1, &fds, NULL, NULL, &tv) > 0;
 }
 
@@ -94,7 +94,7 @@ static int readline(char *buf,int max,st
     int x,retval = 0;
     char *end,*bp=buf;
     int eof = 0;
- 
+
     do {
       if (ctl->cavail > 0) {
 	x = (max >= ctl->cavail) ? ctl->cavail : max-1;
@@ -149,7 +149,7 @@ static int readline(char *buf,int max,st
       ctl->cavail += x;
       ctl->cput += x;
     } while (1);
-    
+
     return retval;
 }
 
@@ -167,7 +167,7 @@ static int readresp(struct stream_priv_s
 
     if (readline(response,256,ctl) == -1)
       return 0;
- 
+
     r = atoi(response)/100;
     if(rsp) strcpy(rsp,response);
 
@@ -203,12 +203,12 @@ static int FtpSendCmd(const char *cmd, s
       mp_msg(MSGT_OPEN,MSGL_ERR, "[ftp] write error: %s\n",strerror(errno));
       return 0;
     }
-    
+
     cmd += s;
     l -= s;
   }
-    
-  if (hascrlf)  
+
+  if (hascrlf)
     return readresp(nControl,rsp);
   else
     return FtpSendCmd("\r\n", nControl, rsp);
@@ -225,9 +225,9 @@ static int FtpOpenPort(struct stream_pri
     mp_msg(MSGT_OPEN,MSGL_WARN, "[ftp] command 'PASV' failed: %s\n",rsp_txt);
     return 0;
   }
-  
+
   par = strchr(rsp_txt,'(');
-  
+
   if(!par || !par[0] || !par[1]) {
     mp_msg(MSGT_OPEN,MSGL_ERR, "[ftp] invalid server response: %s ??\n",rsp_txt);
     return 0;
@@ -282,7 +282,7 @@ static int fill_buffer(stream_t *s, char
 
   if(s->fd < 0 && !FtpOpenData(s,s->pos))
     return -1;
-  
+
   if(!fd_can_read(s->fd, 15)) {
     mp_msg(MSGT_OPEN,MSGL_ERR, "[ftp] read timed out\n");
     return -1;
@@ -314,13 +314,13 @@ static int seek(stream_t *s,off_t newpos
   if(s->fd >= 0) {
     static const char pre_cmd[]={TELNET_IAC,TELNET_IP,TELNET_IAC,TELNET_SYNCH};
     //int fl;
-    
+
     // First close the fd
     closesocket(s->fd);
     s->fd = 0;
-    
+
     // Send send the telnet sequence needed to make the server react
-    
+
     // Dunno if this is really needed, lftp have it. I let
     // it here in case it turn out to be needed on some other OS
     //fl=fcntl(p->handle,F_GETFL);
@@ -329,7 +329,7 @@ static int seek(stream_t *s,off_t newpos
     // send only first byte as OOB due to OOB braindamage in many unices
     send(p->handle,pre_cmd,1,MSG_OOB);
     send(p->handle,pre_cmd+1,sizeof(pre_cmd)-1,0);
-    
+
     //fcntl(p->handle,F_SETFL,fl);
 
     // Get the 426 Transfer aborted
@@ -387,7 +387,7 @@ static int open_f(stream_t *stream,int m
 
   // Open the control connection
   p->handle = connect2Server(p->host,p->port,1);
-  
+
   if(p->handle < 0) {
     m_struct_free(&stream_opts,opts);
     return STREAM_ERROR;
@@ -422,7 +422,7 @@ static int open_f(stream_t *stream,int m
     close_f(stream);
     return STREAM_ERROR;
   }
-    
+
   // Set the transfer type
   resp = FtpSendCmd("TYPE I",p,rsp_txt);
   if(resp != 2) {

Modified: trunk/stream/stream_live555.c
==============================================================================
--- trunk/stream/stream_live555.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_live555.c	Wed May 13 04:58:57 2009	(r29305)
@@ -71,7 +71,7 @@ static int open_live_sdp(stream_t *strea
       return STREAM_ERROR;
     }
 
-    len=lseek(f,0,SEEK_END); 
+    len=lseek(f,0,SEEK_END);
     lseek(f,0,SEEK_SET);
     if(len == -1)
       return STREAM_ERROR;

Modified: trunk/stream/stream_mf.c
==============================================================================
--- trunk/stream/stream_mf.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_mf.c	Wed May 13 04:58:57 2009	(r29305)
@@ -33,7 +33,7 @@ mf_stream_open (stream_t *stream, int mo
 {
   stream->type = STREAMTYPE_MF;
   *file_format = DEMUXER_TYPE_MF;
-  
+
   return STREAM_OK;
 }
 
@@ -42,7 +42,7 @@ const stream_info_t stream_info_mf = {
   "mf",
   "Benjamin Zores, Albeu",
   "",
-  mf_stream_open, 			
+  mf_stream_open,
   { "mf", NULL },
   NULL,
   1

Modified: trunk/stream/stream_netstream.c
==============================================================================
--- trunk/stream/stream_netstream.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_netstream.c	Wed May 13 04:58:57 2009	(r29305)
@@ -97,7 +97,7 @@ static int lock_fd(int fd) {
   lock.l_type = F_WRLCK;
 
   mp_msg(MSGT_STREAM,MSGL_DBG2, "Lock (%d)\n",getpid());
-  do {    
+  do {
     if(fcntl(fd,F_SETLKW,&lock)) {
       if(errno == EAGAIN) continue;
       mp_msg(MSGT_STREAM,MSGL_ERR, "Failed to get the lock: %s\n",
@@ -161,7 +161,7 @@ static mp_net_stream_packet_t* send_net_
     free(pack);
     return NULL;
   }
-  
+
   mp_msg(MSGT_STREAM,MSGL_ERR, "Unknown response to %d: %d\n",cmd,pack->cmd);
   free(pack);
   return NULL;
@@ -191,9 +191,9 @@ static int fill_buffer(stream_t *s, char
 static int seek(stream_t *s,off_t newpos) {
   uint64_t pos = le2me_64((uint64_t)newpos);
   mp_net_stream_packet_t* pack;
-  
+
   pack = send_net_stream_cmd(s,NET_STREAM_SEEK,(char*)&pos,8);
-  if(!pack) {    
+  if(!pack) {
     return 0;
   }
   s->pos = newpos;
@@ -203,15 +203,15 @@ static int seek(stream_t *s,off_t newpos
 
 static int net_stream_reset(struct stream_st *s) {
   mp_net_stream_packet_t* pack;
-  
-  pack = send_net_stream_cmd(s,NET_STREAM_RESET,NULL,0);  
+
+  pack = send_net_stream_cmd(s,NET_STREAM_RESET,NULL,0);
   if(!pack) {
     return 0;
   }
   free(pack);
   return 1;
 }
- 
+
 static int control(struct stream_st *s,int cmd,void* arg) {
   switch(cmd) {
   case STREAM_CTRL_RESET:
@@ -222,7 +222,7 @@ static int control(struct stream_st *s,i
 
 static void close_s(struct stream_st *s) {
   mp_net_stream_packet_t* pack;
-  
+
   pack = send_net_stream_cmd(s,NET_STREAM_CLOSE,NULL,0);
   if(pack)
     free(pack);
@@ -260,14 +260,14 @@ static int open_s(stream_t *stream,int m
   if(!pack) {
     goto error;
   }
-  
-  if(pack->len != sizeof(mp_net_stream_packet_t) + 
+
+  if(pack->len != sizeof(mp_net_stream_packet_t) +
      sizeof(mp_net_stream_opened_t)) {
     mp_msg(MSGT_OPEN,MSGL_ERR, "Invalid open response packet len (%d bytes)\n",pack->len);
     free(pack);
     goto error;
   }
-  
+
   opened = (mp_net_stream_opened_t*)pack->data;
   net_stream_opened_2_me(opened);
 

Modified: trunk/stream/stream_netstream.h
==============================================================================
--- trunk/stream/stream_netstream.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_netstream.h	Wed May 13 04:58:57 2009	(r29305)
@@ -73,9 +73,9 @@ static int net_read(int fd, char* buf, i
 
 static mp_net_stream_packet_t* read_packet(int fd) {
   uint16_t len;
-  mp_net_stream_packet_t* pack = 
+  mp_net_stream_packet_t* pack =
     (mp_net_stream_packet_t*)malloc(sizeof(mp_net_stream_packet_t));
-  
+
   if(!net_read(fd,(char*)pack,sizeof(mp_net_stream_packet_t))) {
     free(pack);
     return NULL;
@@ -124,12 +124,12 @@ static int net_write(int fd, char* buf, 
 
 static int write_packet(int fd, uint8_t cmd,char* data,int len) {
   mp_net_stream_packet_t* pack = malloc(len + sizeof(mp_net_stream_packet_t));
-  
+
   if(len > 0 && data)
     memcpy(pack->data,data,len);
   pack->len = len + sizeof(mp_net_stream_packet_t);
   pack->cmd = cmd;
-  
+
   //  printf("Write packet %d %d (%p) %d\n",fd,cmd,data,len);
   pack->len = le2me_16(pack->len);
   if(net_write(fd,(char*)pack,pack->len)) {

Modified: trunk/stream/stream_pvr.c
==============================================================================
--- trunk/stream/stream_pvr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_pvr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -142,7 +142,7 @@ pvr_init (void)
 {
   struct pvr_t *pvr = NULL;
 
-  pvr = calloc (1, sizeof (struct pvr_t)); 
+  pvr = calloc (1, sizeof (struct pvr_t));
   pvr->dev_fd = -1;
   pvr->video_dev = strdup (PVR_DEFAULT_DEVICE);
 
@@ -174,7 +174,7 @@ pvr_init (void)
   pvr->bitrate_mode = V4L2_MPEG_VIDEO_BITRATE_MODE_VBR;
   pvr->bitrate_peak = 9600000;
   pvr->stream_type = V4L2_MPEG_STREAM_TYPE_MPEG2_PS;
-  
+
   return pvr;
 }
 
@@ -187,7 +187,7 @@ pvr_uninit (struct pvr_t *pvr)
   /* close device */
   if (pvr->dev_fd)
     close (pvr->dev_fd);
-  
+
   if (pvr->video_dev)
     free (pvr->video_dev);
 
@@ -196,7 +196,7 @@ pvr_uninit (struct pvr_t *pvr)
 
   if (pvr->param_channel)
     free (pvr->param_channel);
-  
+
   free (pvr);
 }
 
@@ -220,7 +220,7 @@ copycreate_stationlist (stationlist_t *s
     free (stationlist->list);
     stationlist->list = NULL;
   }
-  
+
   stationlist->total = 0;
   stationlist->enabled = 0;
   stationlist->used = 0;
@@ -233,7 +233,7 @@ copycreate_stationlist (stationlist_t *s
             LOG_LEVEL_V4L2);
     return -1;
   }
-  
+
   /* transport the channel list data to our extented struct */
   stationlist->total = num;
   av_strlcpy (stationlist->name, chanlists[chantab].name, PVR_STATION_NAME_SIZE);
@@ -257,7 +257,7 @@ print_all_stations (struct pvr_t *pvr)
 {
   int i;
 
-  if (!pvr || !pvr->stationlist.list) 
+  if (!pvr || !pvr->stationlist.list)
     return -1;
 
   for (i = 0; i < pvr->stationlist.total; i++)
@@ -298,7 +298,7 @@ set_station (struct pvr_t *pvr, const ch
 {
   int i;
 
-  if (!pvr || !pvr->stationlist.list) 
+  if (!pvr || !pvr->stationlist.list)
     return -1;
 
   if (0 >= pvr->stationlist.total || (!channel && !freq))
@@ -326,7 +326,7 @@ set_station (struct pvr_t *pvr, const ch
       pvr->stationlist.list[i].enabled = 1;
       pvr->stationlist.enabled++;
     }
-    
+
     if (station)
       av_strlcpy (pvr->stationlist.list[i].station,
                station, PVR_STATION_NAME_SIZE);
@@ -357,7 +357,7 @@ set_station (struct pvr_t *pvr, const ch
   if (pvr->stationlist.total < i)
   {
     /**
-     * we have to extend the stationlist about 
+     * we have to extend the stationlist about
      * an arbitrary size, even though this path is not performance critical
      */
     pvr->stationlist.total += 10;
@@ -418,7 +418,7 @@ parse_setup_stationlist (struct pvr_t *p
 {
   int i;
 
-  if (!pvr) 
+  if (!pvr)
     return -1;
 
   /* Create our station/channel list */
@@ -442,11 +442,11 @@ parse_setup_stationlist (struct pvr_t *p
     else
     {
       mp_msg (MSGT_OPEN, MSGL_INFO,
-              "%s select channel list %s, entries %d\n", LOG_LEVEL_V4L2, 
+              "%s select channel list %s, entries %d\n", LOG_LEVEL_V4L2,
               chanlists[chantab].name, chanlists[chantab].count);
     }
   }
-  
+
   if (0 > chantab)
   {
     mp_msg (MSGT_OPEN, MSGL_FATAL,
@@ -463,7 +463,7 @@ parse_setup_stationlist (struct pvr_t *p
   }
 
   /* Handle user channel mappings */
-  if (stream_tv_defaults.channels) 
+  if (stream_tv_defaults.channels)
   {
     char channel[PVR_STATION_NAME_SIZE];
     char station[PVR_STATION_NAME_SIZE];
@@ -471,7 +471,7 @@ parse_setup_stationlist (struct pvr_t *p
 
     disable_all_stations (pvr);
 
-    while (*channels) 
+    while (*channels)
     {
       char *tmp = *(channels++);
       char *sep = strchr (tmp, '-');
@@ -493,17 +493,17 @@ parse_setup_stationlist (struct pvr_t *p
        * channel number here
        */
       if ((freq = atoi (channel)) <= 1000)
-        freq = -1; 
+        freq = -1;
 
       if (set_station (pvr, station, (freq <= 0) ? channel : NULL, freq) < 0)
       {
         mp_msg (MSGT_OPEN, MSGL_ERR,
-                "%s Unable to set user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2, 
+                "%s Unable to set user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2,
                 channel, freq, station);
       }
     }
   }
-  
+
   return print_all_stations (pvr);
 }
 
@@ -516,7 +516,7 @@ get_v4l2_freq (struct pvr_t *pvr)
 
   if (!pvr)
     return -1;
-  
+
   if (pvr->dev_fd < 0)
     return -1;
 
@@ -549,10 +549,10 @@ set_v4l2_freq (struct pvr_t *pvr)
 {
   struct v4l2_frequency vf;
   struct v4l2_tuner vt;
-  
+
   if (!pvr)
     return -1;
-  
+
   if (0 >= pvr->freq)
   {
     mp_msg (MSGT_OPEN, MSGL_ERR,
@@ -616,9 +616,9 @@ set_v4l2_freq (struct pvr_t *pvr)
 }
 
 static int
-set_station_by_step (struct pvr_t *pvr, int step, int v4lAction) 
+set_station_by_step (struct pvr_t *pvr, int step, int v4lAction)
 {
-  if (!pvr || !pvr->stationlist.list) 
+  if (!pvr || !pvr->stationlist.list)
     return -1;
 
   if (pvr->stationlist.enabled >= abs (step))
@@ -638,7 +638,7 @@ set_station_by_step (struct pvr_t *pvr, 
       if (!pvr->stationlist.list[chidx].enabled)
       {
         mp_msg (MSGT_OPEN, MSGL_DBG2,
-                "%s Switch disabled to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2, 
+                "%s Switch disabled to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2,
                 pvr->stationlist.list[chidx].name,
                 pvr->stationlist.list[chidx].freq,
                 pvr->stationlist.list[chidx].station);
@@ -653,7 +653,7 @@ set_station_by_step (struct pvr_t *pvr, 
     pvr->chan_idx = chidx;
 
     mp_msg (MSGT_OPEN, MSGL_INFO,
-            "%s Switch to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2, 
+            "%s Switch to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2,
             pvr->stationlist.list[chidx].name,
             pvr->stationlist.list[chidx].freq,
             pvr->stationlist.list[chidx].station);
@@ -665,7 +665,7 @@ set_station_by_step (struct pvr_t *pvr, 
   }
 
   mp_msg (MSGT_OPEN, MSGL_ERR,
-          "%s Ooops couldn't set freq by channel entry step %d to current %d, enabled %d\n", LOG_LEVEL_V4L2, 
+          "%s Ooops couldn't set freq by channel entry step %d to current %d, enabled %d\n", LOG_LEVEL_V4L2,
           step, pvr->chan_idx, pvr->stationlist.enabled);
 
   return -1;
@@ -677,7 +677,7 @@ set_station_by_channelname_or_freq (stru
 {
   int i = 0;
 
-  if (!pvr || !pvr->stationlist.list) 
+  if (!pvr || !pvr->stationlist.list)
     return -1;
 
   if (0 >= pvr->stationlist.enabled)
@@ -698,7 +698,7 @@ set_station_by_channelname_or_freq (stru
         if (!pvr->stationlist.list[i].enabled)
         {
           mp_msg (MSGT_OPEN, MSGL_WARN,
-                  "%s Switch disabled to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2, 
+                  "%s Switch disabled to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2,
                   pvr->stationlist.list[i].name,
                   pvr->stationlist.list[i].freq,
                   pvr->stationlist.list[i].station);
@@ -723,11 +723,11 @@ set_station_by_channelname_or_freq (stru
         if (!pvr->stationlist.list[i].enabled)
         {
           mp_msg (MSGT_OPEN, MSGL_WARN,
-                  "%s Switch disabled to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2, 
+                  "%s Switch disabled to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2,
                   pvr->stationlist.list[i].name,
                   pvr->stationlist.list[i].freq,
                   pvr->stationlist.list[i].station);
-          
+
           return -1;
         }
 
@@ -751,7 +751,7 @@ set_station_by_channelname_or_freq (stru
   }
 
   mp_msg (MSGT_OPEN, MSGL_INFO,
-          "%s Switch to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2, 
+          "%s Switch to user station channel: %8s - freq: %8d - station: %s\n", LOG_LEVEL_V4L2,
           pvr->stationlist.list[i].name,
           pvr->stationlist.list[i].freq,
           pvr->stationlist.list[i].station);
@@ -762,12 +762,12 @@ set_station_by_channelname_or_freq (stru
   return (pvr->freq > 0) ? 0 : -1;
 }
 
-static int 
+static int
 force_freq_step (struct pvr_t *pvr, int step)
 {
   int freq;
 
-  if (!pvr) 
+  if (!pvr)
     return -1;
 
   freq = pvr->freq+step;
@@ -775,14 +775,14 @@ force_freq_step (struct pvr_t *pvr, int 
   if (freq)
   {
     mp_msg (MSGT_OPEN, MSGL_INFO,
-            "%s Force Frequency %d + %d = %d \n", LOG_LEVEL_V4L2, 
+            "%s Force Frequency %d + %d = %d \n", LOG_LEVEL_V4L2,
             pvr->freq, step, freq);
 
     pvr->freq = freq;
 
     return set_v4l2_freq (pvr);
   }
-  
+
   return -1;
 }
 
@@ -876,7 +876,7 @@ parse_encoder_options (struct pvr_t *pvr
         break;
       }
     }
-    
+
     else if (pvr->layer == V4L2_MPEG_AUDIO_ENCODING_LAYER_2)
     {
       switch (pvr_param_audio_bitrate)
@@ -979,7 +979,7 @@ parse_encoder_options (struct pvr_t *pvr
       }
     }
   }
-  
+
   /* -pvr amode=x */
   if (pvr_param_audio_mode)
   {
@@ -1032,7 +1032,7 @@ static void
 add_v4l2_ext_control (struct v4l2_ext_control *ctrl,
                       uint32_t id, int32_t value)
 {
-  ctrl->id = id; 
+  ctrl->id = id;
   ctrl->value = value;
 }
 
@@ -1042,15 +1042,15 @@ set_encoder_settings (struct pvr_t *pvr)
   struct v4l2_ext_control *ext_ctrl = NULL;
   struct v4l2_ext_controls ctrls;
   uint32_t count = 0;
-  
+
   if (!pvr)
     return -1;
-  
+
   if (pvr->dev_fd < 0)
     return -1;
 
   ext_ctrl = (struct v4l2_ext_control *)
-    malloc (PVR_MAX_CONTROLS * sizeof (struct v4l2_ext_control)); 
+    malloc (PVR_MAX_CONTROLS * sizeof (struct v4l2_ext_control));
 
   add_v4l2_ext_control (&ext_ctrl[count++], V4L2_CID_MPEG_VIDEO_ASPECT,
                         pvr->aspect);
@@ -1095,19 +1095,19 @@ set_encoder_settings (struct pvr_t *pvr)
                         pvr->stream_type);
 
   /* set new encoding settings */
-  ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; 
-  ctrls.count = count; 
+  ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
+  ctrls.count = count;
   ctrls.controls = ext_ctrl;
-  
+
   if (ioctl (pvr->dev_fd, VIDIOC_S_EXT_CTRLS, &ctrls) < 0)
   {
     mp_msg (MSGT_OPEN, MSGL_ERR, "%s Error setting MPEG controls (%s).\n",
             LOG_LEVEL_ENCODER, strerror (errno));
-    free (ext_ctrl); 
+    free (ext_ctrl);
     return -1;
   }
 
-  free (ext_ctrl); 
+  free (ext_ctrl);
 
   return 0;
 }
@@ -1129,12 +1129,12 @@ parse_v4l2_tv_options (struct pvr_t *pvr
       if (stream_tv_defaults.freq)
       {
         mp_msg (MSGT_OPEN, MSGL_HINT,
-                "%s tv param freq %s is overwritten by channel setting freq %d\n", LOG_LEVEL_V4L2, 
+                "%s tv param freq %s is overwritten by channel setting freq %d\n", LOG_LEVEL_V4L2,
                 stream_tv_defaults.freq, pvr->freq);
       }
     }
   }
-  
+
   if (pvr->freq < 0 && stream_tv_defaults.freq)
   {
     mp_msg (MSGT_OPEN, MSGL_HINT, "%s tv param freq %s is used directly\n",
@@ -1148,32 +1148,32 @@ parse_v4l2_tv_options (struct pvr_t *pvr
                 LOG_LEVEL_V4L2, stream_tv_defaults.freq);
       }
   }
-  
+
   if (stream_tv_defaults.device)
   {
     if (pvr->video_dev)
       free (pvr->video_dev);
     pvr->video_dev = strdup (stream_tv_defaults.device);
   }
-  
+
   if (stream_tv_defaults.noaudio)
     pvr->mute = stream_tv_defaults.noaudio;
 
   if (stream_tv_defaults.input)
     pvr->input = stream_tv_defaults.input;
-  
+
   if (stream_tv_defaults.normid)
     pvr->normid = stream_tv_defaults.normid;
-  
+
   if (stream_tv_defaults.brightness)
     pvr->brightness = stream_tv_defaults.brightness;
-  
+
   if (stream_tv_defaults.contrast)
     pvr->contrast = stream_tv_defaults.contrast;
-  
+
   if (stream_tv_defaults.hue)
     pvr->hue = stream_tv_defaults.hue;
-  
+
   if (stream_tv_defaults.saturation)
     pvr->saturation = stream_tv_defaults.saturation;
 
@@ -1189,7 +1189,7 @@ set_v4l2_settings (struct pvr_t *pvr)
 {
   if (!pvr)
     return -1;
-  
+
   if (pvr->dev_fd < 0)
     return -1;
 
@@ -1217,7 +1217,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       return -1;
     }
   }
-  
+
   /* -tv normid=x */
   if (pvr->normid != -1)
   {
@@ -1241,7 +1241,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       return -1;
     }
   }
-  
+
   /* -tv brightness=x */
   if (pvr->brightness != 0)
   {
@@ -1253,7 +1253,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       ctrl.value = 0;
     if (ctrl.value > 255)
       ctrl.value = 255;
-    
+
     if (ioctl (pvr->dev_fd, VIDIOC_S_CTRL, &ctrl) < 0)
     {
       mp_msg (MSGT_OPEN, MSGL_ERR,
@@ -1274,7 +1274,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       ctrl.value = 0;
     if (ctrl.value > 127)
       ctrl.value = 127;
-    
+
     if (ioctl (pvr->dev_fd, VIDIOC_S_CTRL, &ctrl) < 0)
     {
       mp_msg (MSGT_OPEN, MSGL_ERR,
@@ -1295,7 +1295,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       ctrl.value = -128;
     if (ctrl.value > 127)
       ctrl.value = 127;
-    
+
     if (ioctl (pvr->dev_fd, VIDIOC_S_CTRL, &ctrl) < 0)
     {
       mp_msg (MSGT_OPEN, MSGL_ERR,
@@ -1304,7 +1304,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       return -1;
     }
   }
-  
+
   /* -tv saturation=x */
   if (pvr->saturation != 0)
   {
@@ -1316,7 +1316,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       ctrl.value = 0;
     if (ctrl.value > 127)
       ctrl.value = 127;
-    
+
     if (ioctl (pvr->dev_fd, VIDIOC_S_CTRL, &ctrl) < 0)
     {
       mp_msg (MSGT_OPEN, MSGL_ERR,
@@ -1325,7 +1325,7 @@ set_v4l2_settings (struct pvr_t *pvr)
       return -1;
     }
   }
-  
+
   /* -tv width=x:height=y */
   if (pvr->width && pvr->height)
   {
@@ -1356,7 +1356,7 @@ set_v4l2_settings (struct pvr_t *pvr)
 
   if (0 < pvr->freq)
     return set_v4l2_freq (pvr) ;
-  
+
   return 0;
 }
 
@@ -1367,13 +1367,13 @@ v4l2_list_capabilities (struct pvr_t *pv
   struct v4l2_standard vs;
   struct v4l2_input vin;
   int err = 0;
-  
+
   if (!pvr)
     return -1;
 
   if (pvr->dev_fd < 0)
     return -1;
-  
+
   /* list available video inputs */
   vin.index = 0;
   err = 1;
@@ -1440,7 +1440,7 @@ v4l2_display_settings (struct pvr_t *pvr
   struct v4l2_input vin;
   v4l2_std_id std;
   int input;
-  
+
   if (!pvr)
     return -1;
 
@@ -1516,7 +1516,7 @@ pvr_stream_close (stream_t *stream)
 
   if (!stream)
     return;
-  
+
   pvr = (struct pvr_t *) stream->priv;
   pvr_uninit (pvr);
 }
@@ -1530,14 +1530,14 @@ pvr_stream_read (stream_t *stream, char 
 
   if (!stream || !buffer)
     return 0;
-  
+
   pvr = (struct pvr_t *) stream->priv;
   fd = pvr->dev_fd;
   pos = 0;
 
   if (fd < 0)
     return 0;
-  
+
   while (pos < size)
   {
     pfds[0].fd = fd;
@@ -1561,7 +1561,7 @@ pvr_stream_read (stream_t *stream, char 
               "%s read (%d) bytes\n", LOG_LEVEL_PVR, pos);
     }
   }
-		
+
   if (!pos)
     mp_msg (MSGT_OPEN, MSGL_ERR, "%s read %d bytes\n", LOG_LEVEL_PVR, pos);
 
@@ -1574,10 +1574,10 @@ pvr_stream_open (stream_t *stream, int m
   struct v4l2_capability vcap;
   struct v4l2_ext_controls ctrls;
   struct pvr_t *pvr = NULL;
-  
+
   if (mode != STREAM_READ)
     return STREAM_UNSUPPORTED;
-  
+
   pvr = pvr_init ();
 
   /**
@@ -1588,10 +1588,10 @@ pvr_stream_open (stream_t *stream, int m
     pvr->param_channel = strdup (stream->url + 6);
   else if (stream_tv_defaults.channel && strlen (stream_tv_defaults.channel))
     pvr->param_channel = strdup (stream_tv_defaults.channel);
-  
+
   parse_v4l2_tv_options (pvr);
   parse_encoder_options (pvr);
-  
+
   /* open device */
   pvr->dev_fd = open (pvr->video_dev, O_RDWR);
   mp_msg (MSGT_OPEN, MSGL_INFO,
@@ -1603,7 +1603,7 @@ pvr_stream_open (stream_t *stream, int m
     pvr_uninit (pvr);
     return STREAM_ERROR;
   }
-  
+
   /* query capabilities (i.e test V4L2 support) */
   if (ioctl (pvr->dev_fd, VIDIOC_QUERYCAP, &vcap) < 0)
   {
@@ -1628,10 +1628,10 @@ pvr_stream_open (stream_t *stream, int m
   }
 
   /* check for device hardware MPEG encoding capability */
-  ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; 
-  ctrls.count = 0; 
+  ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
+  ctrls.count = 0;
   ctrls.controls = NULL;
-  
+
   if (ioctl (pvr->dev_fd, VIDIOC_G_EXT_CTRLS, &ctrls) < 0)
   {
     mp_msg (MSGT_OPEN, MSGL_ERR,
@@ -1647,7 +1647,7 @@ pvr_stream_open (stream_t *stream, int m
     pvr_uninit (pvr);
     return STREAM_ERROR;
   }
-  
+
   /* apply V4L2 settings */
   if (set_v4l2_settings (pvr) == -1)
   {
@@ -1665,7 +1665,7 @@ pvr_stream_open (stream_t *stream, int m
     pvr_uninit (pvr);
     return STREAM_ERROR;
   }
-  
+
   /* display current V4L2 settings */
   if (v4l2_display_settings (pvr) == -1)
   {
@@ -1679,7 +1679,7 @@ pvr_stream_open (stream_t *stream, int m
   stream->type = STREAMTYPE_PVR;
   stream->fill_buffer = pvr_stream_read;
   stream->close = pvr_stream_close;
-  
+
   return STREAM_OK;
 }
 
@@ -1692,7 +1692,7 @@ pvr_get_current_stationname (stream_t *s
 
   if (!stream || stream->type != STREAMTYPE_PVR)
     return NULL;
-  
+
   pvr = (struct pvr_t *) stream->priv;
 
   if (pvr->stationlist.list &&
@@ -1774,7 +1774,7 @@ const stream_info_t stream_info_pvr = {
   "pvr",
   "Benjamin Zores",
   "",
-  pvr_stream_open, 			
+  pvr_stream_open,
   { "pvr", NULL },
   NULL,
   1

Modified: trunk/stream/stream_radio.c
==============================================================================
--- trunk/stream/stream_radio.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_radio.c	Wed May 13 04:58:57 2009	(r29305)
@@ -654,17 +654,17 @@ static const radio_driver_t radio_driver
 };
 #endif /* CONFIG_RADIO_BSDBT848 */
 
-static inline int init_frac(radio_priv_t* priv){ 
+static inline int init_frac(radio_priv_t* priv){
     return priv->driver->init_frac(priv);
 }
-static inline int set_frequency(radio_priv_t* priv,float frequency){ 
+static inline int set_frequency(radio_priv_t* priv,float frequency){
     if ((frequency<priv->rangelow)||(frequency>priv->rangehigh)){
         mp_msg(MSGT_RADIO,MSGL_ERR,MSGTR_RADIO_WrongFreq,frequency);
         return STREAM_ERROR;
     }
     if(priv->driver->set_frequency(priv,frequency)!=STREAM_OK)
         return STREAM_ERROR;
-	
+
 #ifdef CONFIG_RADIO_CAPTURE
     if(clear_buffer(priv)!=STREAM_OK){
         mp_msg(MSGT_RADIO,MSGL_ERR,MSGTR_RADIO_ClearBufferFailed,strerror(errno));
@@ -673,13 +673,13 @@ static inline int set_frequency(radio_pr
 #endif
    return STREAM_OK;
 }
-static inline int get_frequency(radio_priv_t* priv,float* frequency){ 
+static inline int get_frequency(radio_priv_t* priv,float* frequency){
     return priv->driver->get_frequency(priv,frequency);
 }
-static inline void set_volume(radio_priv_t* priv,int volume){ 
+static inline void set_volume(radio_priv_t* priv,int volume){
     priv->driver->set_volume(priv,volume);
 }
-static inline int get_volume(radio_priv_t* priv,int* volume){ 
+static inline int get_volume(radio_priv_t* priv,int* volume){
     return priv->driver->get_volume(priv,volume);
 }
 
@@ -786,11 +786,11 @@ static int grab_audio_frame(radio_priv_t
 {
     int i;
     mp_msg(MSGT_RADIO, MSGL_DBG3, MSGTR_RADIO_BufferString,"grab_audio_frame",priv->audio_cnt,priv->audio_drop);
-    /* Cache buffer must be filled by some audio packets when playing starts. 
+    /* Cache buffer must be filled by some audio packets when playing starts.
        Otherwise MPlayer will quit with EOF error.
        Probably, there is need more carefull checking rather than simple 'for' loop
        (something like timer or similar).
-       
+
        1000ms delay will happen only at first buffer filling. At next call function
        just fills buffer until either buffer full or no data from driver available.
     */
@@ -937,10 +937,10 @@ int radio_set_freq(struct stream_st *str
 int radio_step_freq(struct stream_st *stream, float step_interval){
     float frequency;
     radio_priv_t* priv=(radio_priv_t*)stream->priv;
-    
+
     if (get_frequency(priv,&frequency)!=STREAM_OK)
         return 0;
-    
+
     frequency+=step_interval;
     if (frequency>priv->rangehigh)
         frequency=priv->rangehigh;
@@ -1007,7 +1007,7 @@ int radio_set_channel(struct stream_st *
 
     if (*channel=='\0')
         mp_msg(MSGT_RADIO,MSGL_ERR,MSGTR_RADIO_WrongChannelName,channel);
-    
+
     if (priv->radio_channel_list) {
         channel_int = strtol(channel,&endptr,10);
         tmp = priv->radio_channel_list;
@@ -1076,7 +1076,7 @@ static int fill_buffer_s(struct stream_s
 
 
 /*
- order if significant! 
+ order if significant!
  when no driver explicitly specified first available will be used
  */
 static const radio_driver_t* radio_drivers[]={
@@ -1136,7 +1136,7 @@ static int open_s(stream_t *stream,int m
             priv->driver=radio_drivers[i];
     }
     mp_msg(MSGT_RADIO,MSGL_V,"\n");
-    
+
     if(priv->driver)
         mp_msg(MSGT_RADIO, MSGL_INFO, priv->driver->info);
     else{

Modified: trunk/stream/stream_rtp.c
==============================================================================
--- trunk/stream/stream_rtp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_rtp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -48,10 +48,10 @@ rtp_streaming_start (stream_t *stream)
 
   streaming_ctrl = stream->streaming_ctrl;
   fd = stream->fd;
-	
+
   if (fd < 0)
   {
-    fd = udp_open_socket (streaming_ctrl->url); 
+    fd = udp_open_socket (streaming_ctrl->url);
     if (fd < 0)
       return -1;
     stream->fd = fd;
@@ -62,7 +62,7 @@ rtp_streaming_start (stream_t *stream)
   streaming_ctrl->prebuffer_size = 64 * 1024; /* 64 KBytes */
   streaming_ctrl->buffering = 0;
   streaming_ctrl->status = streaming_playing_e;
-  
+
   return 0;
 }
 
@@ -71,7 +71,7 @@ rtp_stream_open (stream_t *stream, int m
 {
   URL_t *url;
   extern int network_bandwidth;
-  
+
   mp_msg (MSGT_OPEN, MSGL_INFO, "STREAM_RTP, URL: %s\n", stream->url);
   stream->streaming_ctrl = streaming_ctrl_new ();
   if (!stream->streaming_ctrl)
@@ -87,7 +87,7 @@ rtp_stream_open (stream_t *stream, int m
             "You must enter a port number for RTP streams!\n");
     streaming_ctrl_free (stream->streaming_ctrl);
     stream->streaming_ctrl = NULL;
-  
+
     return STREAM_UNSUPPORTED;
   }
 
@@ -96,13 +96,13 @@ rtp_stream_open (stream_t *stream, int m
     mp_msg (MSGT_NETWORK, MSGL_ERR, "rtp_streaming_start failed\n");
     streaming_ctrl_free (stream->streaming_ctrl);
     stream->streaming_ctrl = NULL;
-  
+
     return STREAM_UNSUPPORTED;
   }
 
   stream->type = STREAMTYPE_STREAM;
   fixup_network_stream_cache (stream);
-  
+
   return STREAM_OK;
 }
 

Modified: trunk/stream/stream_rtsp.c
==============================================================================
--- trunk/stream/stream_rtsp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_rtsp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -78,21 +78,21 @@ rtsp_streaming_start (stream_t *stream)
                          port = (stream->streaming_ctrl->url->port ?
                                  stream->streaming_ctrl->url->port :
                                  RTSP_DEFAULT_PORT), 1);
-    
+
     if (fd < 0 && !stream->streaming_ctrl->url->port)
       fd = connect2Server (stream->streaming_ctrl->url->hostname,
                            port = 7070, 1);
 
     if (fd < 0)
       return -1;
-    
+
     file = stream->streaming_ctrl->url->file;
     if (file[0] == '/')
       file++;
 
     mrl = malloc (strlen (stream->streaming_ctrl->url->hostname)
                   + strlen (file) + 16);
-    
+
     sprintf (mrl, "rtsp://%s:%i/%s",
              stream->streaming_ctrl->url->hostname, port, file);
 
@@ -112,20 +112,20 @@ rtsp_streaming_start (stream_t *stream)
 
     free (mrl);
     temp--;
-  } while ((redirected != 0) && (temp > 0));    
+  } while ((redirected != 0) && (temp > 0));
 
   if (!rtsp)
     return -1;
 
   stream->fd = fd;
   stream->streaming_ctrl->data = rtsp;
-  
+
   stream->streaming_ctrl->streaming_read = rtsp_streaming_read;
   stream->streaming_ctrl->streaming_seek = NULL;
   stream->streaming_ctrl->prebuffer_size = 128*1024;  // 640 KBytes
   stream->streaming_ctrl->buffering = 1;
   stream->streaming_ctrl->status = streaming_playing_e;
-  
+
   return 0;
 }
 
@@ -133,7 +133,7 @@ static void
 rtsp_streaming_close (struct stream_st *s)
 {
   rtsp_session_t *rtsp = NULL;
-  
+
   rtsp = (rtsp_session_t *) s->streaming_ctrl->data;
   if (rtsp)
     rtsp_session_end (rtsp);
@@ -144,7 +144,7 @@ rtsp_streaming_open (stream_t *stream, i
 {
   URL_t *url;
   extern int index_mode;
-  
+
   mp_msg (MSGT_OPEN, MSGL_V, "STREAM_RTSP, URL: %s\n", stream->url);
   stream->streaming_ctrl = streaming_ctrl_new ();
   if (!stream->streaming_ctrl)

Modified: trunk/stream/stream_smb.c
==============================================================================
--- trunk/stream/stream_smb.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_smb.c	Wed May 13 04:58:57 2009	(r29305)
@@ -35,23 +35,23 @@ static void smb_auth_fn(const char *serv
 	     char *password, int pwmaxlen)
 {
   char temp[128];
-  
-  strcpy(temp, "LAN");				  
+
+  strcpy(temp, "LAN");
   if (temp[strlen(temp) - 1] == 0x0a)
     temp[strlen(temp) - 1] = 0x00;
-  
+
   if (temp[0]) strncpy(workgroup, temp, wgmaxlen - 1);
-  
-  strcpy(temp, smb_username); 
+
+  strcpy(temp, smb_username);
   if (temp[strlen(temp) - 1] == 0x0a)
     temp[strlen(temp) - 1] = 0x00;
-  
+
   if (temp[0]) strncpy(username, temp, unmaxlen - 1);
-						      
-  strcpy(temp, smb_password); 
+
+  strcpy(temp, smb_password);
   if (temp[strlen(temp) - 1] == 0x0a)
     temp[strlen(temp) - 1] = 0x00;
-								
+
    if (temp[0]) strncpy(password, temp, pwmaxlen - 1);
 }
 
@@ -98,9 +98,9 @@ static int open_f (stream_t *stream, int
   mode_t m = 0;
   off_t len;
   int fd, err;
-  
+
   filename = stream->url;
-  
+
   if(mode == STREAM_READ)
     m = O_RDONLY;
   else if (mode == STREAM_WRITE) //who's gonna do that ?
@@ -110,27 +110,27 @@ static int open_f (stream_t *stream, int
     m_struct_free (&stream_opts, opts);
     return STREAM_UNSUPPORTED;
   }
-  
+
   if(!filename) {
     mp_msg(MSGT_OPEN,MSGL_ERR, "[smb] Bad url\n");
     m_struct_free(&stream_opts, opts);
     return STREAM_ERROR;
   }
-  
+
   err = smbc_init(smb_auth_fn, 1);
   if (err < 0) {
     mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_SMBInitError,err);
     m_struct_free(&stream_opts, opts);
     return STREAM_ERROR;
   }
-  
+
   fd = smbc_open(filename, m,0644);
-  if (fd < 0) {	
+  if (fd < 0) {
     mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_SMBFileNotFound, filename);
     m_struct_free(&stream_opts, opts);
     return STREAM_ERROR;
   }
-  
+
   stream->flags = mode;
   len = 0;
   if(mode == STREAM_READ) {
@@ -148,7 +148,7 @@ static int open_f (stream_t *stream, int
   stream->write_buffer = write_buffer;
   stream->close = close_f;
   stream->control = control;
-  
+
   m_struct_free(&stream_opts, opts);
   return STREAM_OK;
 }

Modified: trunk/stream/stream_tv.c
==============================================================================
--- trunk/stream/stream_tv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_tv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -121,7 +121,7 @@ const stream_info_t stream_info_tv = {
   "tv",
   "Benjamin Zores, Albeu",
   "",
-  tv_stream_open, 			
+  tv_stream_open,
   { "tv", NULL },
   &stream_opts,
   1

Modified: trunk/stream/stream_udp.c
==============================================================================
--- trunk/stream/stream_udp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_udp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -40,10 +40,10 @@ udp_streaming_start (stream_t *stream)
 
   streaming_ctrl = stream->streaming_ctrl;
   fd = stream->fd;
-	
+
   if (fd < 0)
   {
-    fd = udp_open_socket (streaming_ctrl->url); 
+    fd = udp_open_socket (streaming_ctrl->url);
     if (fd < 0)
       return -1;
     stream->fd = fd;
@@ -54,7 +54,7 @@ udp_streaming_start (stream_t *stream)
   streaming_ctrl->prebuffer_size = 64 * 1024; /* 64 KBytes */
   streaming_ctrl->buffering = 0;
   streaming_ctrl->status = streaming_playing_e;
-  
+
   return 0;
 }
 
@@ -63,7 +63,7 @@ udp_stream_open (stream_t *stream, int m
 {
   URL_t *url;
   extern int network_bandwidth;
-  
+
   mp_msg (MSGT_OPEN, MSGL_INFO, "STREAM_UDP, URL: %s\n", stream->url);
   stream->streaming_ctrl = streaming_ctrl_new ();
   if (!stream->streaming_ctrl)
@@ -79,7 +79,7 @@ udp_stream_open (stream_t *stream, int m
             "You must enter a port number for UDP streams!\n");
     streaming_ctrl_free (stream->streaming_ctrl);
     stream->streaming_ctrl = NULL;
-  
+
     return STREAM_UNSUPPORTED;
   }
 
@@ -88,13 +88,13 @@ udp_stream_open (stream_t *stream, int m
     mp_msg (MSGT_NETWORK, MSGL_ERR, "udp_streaming_start failed\n");
     streaming_ctrl_free (stream->streaming_ctrl);
     stream->streaming_ctrl = NULL;
-  
+
     return STREAM_UNSUPPORTED;
   }
 
   stream->type = STREAMTYPE_STREAM;
   fixup_network_stream_cache (stream);
-  
+
   return STREAM_OK;
 }
 

Modified: trunk/stream/stream_vcd.c
==============================================================================
--- trunk/stream/stream_vcd.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_vcd.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,9 +20,9 @@
 #include <errno.h>
 
 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-#include "vcd_read_fbsd.h" 
+#include "vcd_read_fbsd.h"
 #elif defined(__APPLE__)
-#include "vcd_read_darwin.h" 
+#include "vcd_read_darwin.h"
 #elif defined(__MINGW32__) || defined(__CYGWIN__)
 #include "vcd_read_win32.h"
 #else
@@ -111,7 +111,7 @@ static int open_s(stream_t *stream,int m
 #else
   f=open(p->device,O_RDONLY);
 #endif
-  if(f<0){ 
+  if(f<0){
     mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_CdDevNotfound,p->device);
     m_struct_free(&stream_opts,opts);
     return STREAM_ERROR;

Modified: trunk/stream/stream_vstream.c
==============================================================================
--- trunk/stream/stream_vstream.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/stream_vstream.c	Wed May 13 04:58:57 2009	(r29305)
@@ -150,7 +150,7 @@ static int open_s(stream_t *stream, int 
     m_struct_free(&stream_opts, opts);
     return STREAM_ERROR;
   }
-  
+
   stream->start_pos = 0;
   stream->end_pos = vstream_streamsize();
   mp_msg(MSGT_OPEN, MSGL_DBG2, "Tivo stream size is %d\n", stream->end_pos);

Modified: trunk/stream/tcp.c
==============================================================================
--- trunk/stream/tcp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tcp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -42,7 +42,7 @@ int   network_prefer_ipv4 = 0;
 static const char *af2String(int af) {
 	switch (af) {
 		case AF_INET:	return "AF_INET";
-		
+
 #ifdef HAVE_AF_INET6
 		case AF_INET6:	return "AF_INET6";
 #endif
@@ -74,17 +74,17 @@ connect2Server_with_af(char *host, int p
 	void *our_s_addr;	// Pointer to sin_addr or sin6_addr
 	struct hostent *hp=NULL;
 	char buf[255];
-	
+
 #if HAVE_WINSOCK2_H
 	unsigned long val;
 	int to;
 #else
 	struct timeval to;
 #endif
-	
+
 	socket_server_fd = socket(af, SOCK_STREAM, 0);
-	
-	
+
+
 	if( socket_server_fd==-1 ) {
 //		mp_msg(MSGT_NETWORK,MSGL_ERR,"Failed to create %s socket:\n", af2String(af));
 		return TCP_ERROR_FATAL;
@@ -111,10 +111,10 @@ connect2Server_with_af(char *host, int p
 			mp_msg(MSGT_NETWORK,MSGL_ERR, MSGTR_MPDEMUX_NW_UnknownAF, af);
 			return TCP_ERROR_FATAL;
 	}
-	
-	
+
+
 	memset(&server_address, 0, sizeof(server_address));
-	
+
 #if HAVE_INET_PTON
 	if (inet_pton(af, host, our_s_addr)!=1)
 #elif HAVE_INET_ATON
@@ -124,7 +124,7 @@ connect2Server_with_af(char *host, int p
 #endif
 	{
 		if(verb) mp_msg(MSGT_NETWORK,MSGL_STATUS,MSGTR_MPDEMUX_NW_ResolvingHostForAF, host, af2String(af));
-		
+
 #ifdef HAVE_GETHOSTBYNAME2
 		hp=(struct hostent*)gethostbyname2( host, af );
 #else
@@ -134,7 +134,7 @@ connect2Server_with_af(char *host, int p
 			if(verb) mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_NW_CantResolv, af2String(af), host);
 			return TCP_ERROR_FATAL;
 		}
-		
+
 		memcpy( our_s_addr, (void*)hp->h_addr_list[0], hp->h_length );
 	}
 #if HAVE_WINSOCK2_H
@@ -143,14 +143,14 @@ connect2Server_with_af(char *host, int p
 		memcpy( our_s_addr, (void*)&addr, sizeof(addr) );
 	}
 #endif
-	
+
 	switch (af) {
 		case AF_INET:
 			server_address.four.sin_family=af;
-			server_address.four.sin_port=htons(port);			
+			server_address.four.sin_port=htons(port);
 			server_address_size = sizeof(server_address.four);
 			break;
-#ifdef HAVE_AF_INET6		
+#ifdef HAVE_AF_INET6
 		case AF_INET6:
 			server_address.six.sin6_family=af;
 			server_address.six.sin6_port=htons(port);
@@ -226,7 +226,7 @@ connect2Server_with_af(char *host, int p
 		mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_NW_ConnectError,strerror(err));
 		return TCP_ERROR_PORT;
 	}
-	
+
 	return socket_server_fd;
 }
 
@@ -241,15 +241,15 @@ connect2Server(char *host, int  port, in
 	int r;
 	int s = TCP_ERROR_FATAL;
 
-	r = connect2Server_with_af(host, port, network_prefer_ipv4 ? AF_INET:AF_INET6,verb);	
+	r = connect2Server_with_af(host, port, network_prefer_ipv4 ? AF_INET:AF_INET6,verb);
 	if (r >= 0) return r;
 
 	s = connect2Server_with_af(host, port, network_prefer_ipv4 ? AF_INET6:AF_INET,verb);
 	if (s == TCP_ERROR_FATAL) return r;
 	return s;
-#else	
+#else
 	return connect2Server_with_af(host, port, AF_INET,verb);
 #endif
 
-	
+
 }

Modified: trunk/stream/tv.c
==============================================================================
--- trunk/stream/tv.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tv.c	Wed May 13 04:58:57 2009	(r29305)
@@ -962,7 +962,7 @@ int tv_step_channel(tvi_handle_t *tvh, i
 				tv_channel_current = tv_channel_current->next;
 			else
 				tv_channel_current = tv_channel_list;
-				
+
 				tv_set_norm_i(tvh, tv_channel_current->norm);
 				tv_set_freq(tvh, (unsigned long)(((float)tv_channel_current->freq/1000)*16));
 				mp_msg(MSGT_TV, MSGL_INFO, MSGTR_TV_SelectedChannel3,

Modified: trunk/stream/tv.h
==============================================================================
--- trunk/stream/tv.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tv.h	Wed May 13 04:58:57 2009	(r29305)
@@ -51,21 +51,21 @@ typedef struct tv_param_s {
     int scan_threshold;
     float scan_period;
     /**
-      Terminate stream with video renderer instead of Null renderer 
+      Terminate stream with video renderer instead of Null renderer
       Will help if video freezes but audio does not.
       May not work with -vo directx and -vf crop combination.
     */
     int hidden_video_renderer;
     /**
       For VIVO cards VP pin have to be rendered too.
-      This tweak will cause VidePort pin stream to be terminated with video renderer 
+      This tweak will cause VidePort pin stream to be terminated with video renderer
       instead of removing it from graph.
       Use if your card have vp pin and video is still choppy.
       May not work with -vo directx and -vf crop combination.
     */
     int hidden_vp_renderer;
     /**
-      Use system clock as sync source instead of default graph clock (usually the clock 
+      Use system clock as sync source instead of default graph clock (usually the clock
       from one of live sources in graph.
     */
     int system_clock;
@@ -77,9 +77,9 @@ typedef struct tv_param_s {
     */
     int normalize_audio_chunks;
 } tv_param_t;
-  
+
 extern tv_param_t stream_tv_defaults;
- 
+
 typedef struct tvi_info_s
 {
     struct tvi_handle_s * (*tvi_init)(tv_param_t* tv_param);
@@ -201,9 +201,9 @@ typedef struct {
 //tvi_* ioctl (not tvi_vbi.c !!!)
 #define TVI_CONTROL_VBI_INIT           0x501   ///< vbi init
 
-/* 
-  TELETEXT controls (through tv_teletext_control() ) 
-   NOTE: 
+/*
+  TELETEXT controls (through tv_teletext_control() )
+   NOTE:
     _SET_ should be _GET_ +1
    _STEP_ should be _GET_ +2
 */
@@ -314,7 +314,7 @@ typedef struct tt_char_s{
 typedef struct tt_link_s{
     int pagenum;          ///< page number
     int subpagenum;       ///< subpage number
-} tt_link_t;    
+} tt_link_t;
 
 typedef struct tt_page_s{
     int pagenum;          ///< page number

Modified: trunk/stream/tvi_bsdbt848.c
==============================================================================
--- trunk/stream/tvi_bsdbt848.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_bsdbt848.c	Wed May 13 04:58:57 2009	(r29305)
@@ -5,7 +5,7 @@
     Still in (active) development!
 
 	v1.1	Mar 13 2002   Fully functional, need to move ring buffer to
-						  the kernel driver. 
+						  the kernel driver.
     v1.0    Feb 19 2002   First Release, need to add support for changing
                             audio parameters.
 */
@@ -156,12 +156,12 @@ gettimeofday(&curtime, NULL);
 
 if(G_private->framebuf[G_private->curpaintframe].dirty == TRUE)
     {
-    memcpy(G_private->framebuf[G_private->curpaintframe].buf, 
+    memcpy(G_private->framebuf[G_private->curpaintframe].buf,
             G_private->livebuf, G_private->framebufsize);
 
     G_private->framebuf[G_private->curpaintframe].dirty = FALSE;
 
-    G_private->framebuf[G_private->curpaintframe].timestamp = 
+    G_private->framebuf[G_private->curpaintframe].timestamp =
             curtime.tv_sec + curtime.tv_usec*.000001;
 
     G_private->curpaintframe++;
@@ -183,7 +183,7 @@ static tvi_handle_t *tvi_init_bsdbt848(t
     if(!tvh)
         return NULL;
     priv=(priv_t*)tvh->priv;
-    /* 
+    /*
     if user needs to specify both /dev/bktr<n> and /dev/tuner<n>
     it can do this with "-tv device=/dev/bktr1,/dev/tuner1"
     */
@@ -240,12 +240,12 @@ static int control(priv_t *priv, int cmd
         *(int *)arg = priv->tunerfreq;
         return TVI_CONTROL_TRUE;
         }
-    
+
     case TVI_CONTROL_TUN_SET_FREQ:
         {
         priv->tunerfreq = *(int *)arg;
 
-        if(ioctl(priv->tunerfd, TVTUNER_SETFREQ, &priv->tunerfreq) < 0) 
+        if(ioctl(priv->tunerfd, TVTUNER_SETFREQ, &priv->tunerfreq) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "TVTUNER_SETFREQ", strerror(errno));
             return 0;
@@ -281,12 +281,12 @@ static int control(priv_t *priv, int cmd
         *(int *)arg = priv->input;
         return TVI_CONTROL_TRUE;
         }
-    
+
     case TVI_CONTROL_SPC_SET_INPUT:
         {
         priv->input = getinput(*(int *)arg);
 
-        if(ioctl(priv->btfd, METEORSINPUT, &priv->input) < 0) 
+        if(ioctl(priv->btfd, METEORSINPUT, &priv->input) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSINPUT", strerror(errno));
             return 0;
@@ -315,7 +315,7 @@ static int control(priv_t *priv, int cmd
         {
         int dspspeed = *(int *)arg;
 
-           if(ioctl(priv->dspfd, SNDCTL_DSP_SPEED, &dspspeed) == -1) 
+           if(ioctl(priv->dspfd, SNDCTL_DSP_SPEED, &dspspeed) == -1)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848InvalidAudioRate, strerror(errno));
             return TVI_CONTROL_FALSE;
@@ -354,7 +354,7 @@ static int control(priv_t *priv, int cmd
 
         priv->iformat = METEOR_FMT_AUTOMODE;
 
-        if(req_mode == TV_NORM_PAL) 
+        if(req_mode == TV_NORM_PAL)
             {
             priv->iformat = METEOR_FMT_PAL;
             priv->maxheight = PAL_HEIGHT;
@@ -364,18 +364,18 @@ static int control(priv_t *priv, int cmd
 
             if(priv->fps > priv->maxfps) priv->fps = priv->maxfps;
 
-            if(priv->geom.rows > priv->maxheight) 
+            if(priv->geom.rows > priv->maxheight)
                 {
                 priv->geom.rows = priv->maxheight;
                 }
 
-            if(priv->geom.columns > priv->maxwidth) 
+            if(priv->geom.columns > priv->maxwidth)
                 {
                 priv->geom.columns = priv->maxwidth;
                 }
             }
 
-        if(req_mode == TV_NORM_NTSC) 
+        if(req_mode == TV_NORM_NTSC)
             {
             priv->iformat = METEOR_FMT_NTSC;
             priv->maxheight = NTSC_HEIGHT;
@@ -390,12 +390,12 @@ static int control(priv_t *priv, int cmd
 
             if(priv->fps > priv->maxfps) priv->fps = priv->maxfps;
 
-            if(priv->geom.rows > priv->maxheight) 
+            if(priv->geom.rows > priv->maxheight)
                 {
                 priv->geom.rows = priv->maxheight;
                 }
 
-            if(priv->geom.columns > priv->maxwidth) 
+            if(priv->geom.columns > priv->maxwidth)
                 {
                 priv->geom.columns = priv->maxwidth;
                 }
@@ -403,20 +403,20 @@ static int control(priv_t *priv, int cmd
 
         if(req_mode == TV_NORM_SECAM) priv->iformat = METEOR_FMT_SECAM;
 
-        if(ioctl(priv->btfd, METEORSFMT, &priv->iformat) < 0) 
+        if(ioctl(priv->btfd, METEORSFMT, &priv->iformat) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSFMT", strerror(errno));
             return TVI_CONTROL_FALSE;
             }
-    
-        if(ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0) 
+
+        if(ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSETGEO", strerror(errno));
             return 0;
             }
 
 	tmp_fps = priv->fps;
-        if(ioctl(priv->btfd, METEORSFPS, &tmp_fps) < 0) 
+        if(ioctl(priv->btfd, METEORSFPS, &tmp_fps) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSFPS", strerror(errno));
             return 0;
@@ -432,7 +432,7 @@ static int control(priv_t *priv, int cmd
 
         return TVI_CONTROL_TRUE;
         }
-    
+
     case TVI_CONTROL_VID_GET_FORMAT:
         *(int *)arg = IMGFMT_UYVY;
         return TVI_CONTROL_TRUE;
@@ -448,12 +448,12 @@ static int control(priv_t *priv, int cmd
     case TVI_CONTROL_VID_SET_WIDTH:
         priv->geom.columns = *(int *)arg;
 
-        if(priv->geom.columns > priv->maxwidth) 
+        if(priv->geom.columns > priv->maxwidth)
             {
             priv->geom.columns = priv->maxwidth;
             }
 
-        if(ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0) 
+        if(ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848ErrorSettingWidth, strerror(errno));
             return 0;
@@ -468,7 +468,7 @@ static int control(priv_t *priv, int cmd
     case TVI_CONTROL_VID_SET_HEIGHT:
         priv->geom.rows = *(int *)arg;
 
-        if(priv->geom.rows > priv->maxheight) 
+        if(priv->geom.rows > priv->maxheight)
             {
             priv->geom.rows = priv->maxheight;
             }
@@ -476,9 +476,9 @@ static int control(priv_t *priv, int cmd
         if(priv->geom.rows <= priv->maxheight / 2)
             {
             priv->geom.oformat |= METEOR_GEO_EVEN_ONLY;
-            }  
+            }
 
-        if(ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0) 
+        if(ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848ErrorSettingWidth, strerror(errno));
             return 0;
@@ -500,7 +500,7 @@ static int control(priv_t *priv, int cmd
 
         if(priv->fps > priv->maxfps) priv->fps = priv->maxfps;
 
-        if(ioctl(priv->btfd, METEORSFPS, &priv->fps) < 0) 
+        if(ioctl(priv->btfd, METEORSFPS, &priv->fps) < 0)
             {
             mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSFPS", strerror(errno));
             return 0;
@@ -557,27 +557,27 @@ if(priv->btfd < 0)
     priv->videoready = FALSE;
     }
 
-if(priv->videoready == TRUE && 
-   ioctl(priv->btfd, METEORSFMT, &priv->iformat) < 0) 
+if(priv->videoready == TRUE &&
+   ioctl(priv->btfd, METEORSFMT, &priv->iformat) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "SETEORSFMT", strerror(errno));
     }
 
 if(priv->videoready == TRUE &&
-   ioctl(priv->btfd, METEORSINPUT, &priv->source) < 0) 
+   ioctl(priv->btfd, METEORSINPUT, &priv->source) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSINPUT", strerror(errno));
     }
 
 tmp_fps = priv->fps;
 if(priv->videoready == TRUE &&
-   ioctl(priv->btfd, METEORSFPS, &tmp_fps) < 0) 
+   ioctl(priv->btfd, METEORSFPS, &tmp_fps) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSFPS", strerror(errno));
     }
 
 if(priv->videoready == TRUE &&
-   ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0) 
+   ioctl(priv->btfd, METEORSETGEO, &priv->geom) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSGEQ", strerror(errno));
     }
@@ -632,18 +632,18 @@ priv->dspspeed = 44100;
 priv->dspfmt = AFMT_S16_LE;
 priv->dspbytesread = 0;
 priv->dsprate = priv->dspspeed * priv->dspsamplesize/8*(priv->dspstereo+1);
-priv->dspframesize = priv->dspspeed*priv->dspsamplesize/8/priv->fps * 
+priv->dspframesize = priv->dspspeed*priv->dspsamplesize/8/priv->fps *
                      (priv->dspstereo+1);
 
 if((priv->dspfd = open (priv->dspdev, O_RDONLY, 0)) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848ErrorOpeningDspDev, strerror(errno));
     priv->dspready = FALSE;
-    } 
+    }
 
 marg = (256 << 16) | 12;
 
-if (ioctl(priv->dspfd, SNDCTL_DSP_SETFRAGMENT, &marg ) < 0 ) 
+if (ioctl(priv->dspfd, SNDCTL_DSP_SETFRAGMENT, &marg ) < 0 )
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "SNDCTL_DSP_SETFRAGMENT", strerror(errno));
     priv->dspready = FALSE;
@@ -678,7 +678,7 @@ signal(SIGALRM, processframe);
 
 marg = SIGUSR1;
 
-if(ioctl(priv->btfd, METEORSSIGNAL, &marg) < 0) 
+if(ioctl(priv->btfd, METEORSSIGNAL, &marg) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSSIGNAL", strerror(errno));
     return 0;
@@ -692,7 +692,7 @@ priv->starttime = curtime.tv_sec + (curt
 
 marg = METEOR_CAP_CONTINOUS;
 
-if(ioctl(priv->btfd, METEORCAPTUR, &marg) < 0) 
+if(ioctl(priv->btfd, METEORCAPTUR, &marg) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORCAPTUR", strerror(errno));
     return 0;
@@ -709,7 +709,7 @@ if(priv->videoready == FALSE) return 0;
 
 marg = METEOR_SIG_MODE_MASK;
 
-if(ioctl( priv->btfd, METEORSSIGNAL, &marg) < 0 ) 
+if(ioctl( priv->btfd, METEORSSIGNAL, &marg) < 0 )
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSSIGNAL", strerror(errno));
     return 0;
@@ -717,7 +717,7 @@ if(ioctl( priv->btfd, METEORSSIGNAL, &ma
 
 marg = METEOR_CAP_STOP_CONT;
 
-if(ioctl(priv->btfd, METEORCAPTUR, &marg) < 0 ) 
+if(ioctl(priv->btfd, METEORCAPTUR, &marg) < 0 )
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848UnableToStopCapture, strerror(errno));
     return 0;
@@ -754,7 +754,7 @@ memcpy(buffer, priv->livebuf, len);
 /* PTS = 0, show the frame NOW, this routine is only used in playback mode
     without audio capture .. */
 
-return 0; 
+return 0;
 }
 
 static double grab_video_frame(priv_t *priv, char *buffer, int len)
@@ -764,7 +764,7 @@ sigset_t sa_mask;
 
 if(priv->videoready == FALSE) return 0;
 
-if(priv->immediatemode == TRUE) 
+if(priv->immediatemode == TRUE)
     {
     return grabimmediate_video_frame(priv, buffer, len);
     }
@@ -806,7 +806,7 @@ gettimeofday(&curtime, NULL);
 
 /* Get exactly one frame of audio, which forces video sync to audio.. */
 
-bytesread=read(priv->dspfd, buffer, len); 
+bytesread=read(priv->dspfd, buffer, len);
 
 while(bytesread < len)
     {
@@ -827,13 +827,13 @@ curpts = curtime.tv_sec + curtime.tv_use
 
 timeskew = priv->dspbytesread * 1.0 / priv->dsprate - (curpts-priv->starttime);
 
-if(timeskew > .125/priv->fps) 
+if(timeskew > .125/priv->fps)
     {
     priv->starttime -= timeskew;
     }
 else
     {
-    if(timeskew < -.125/priv->fps) 
+    if(timeskew < -.125/priv->fps)
         {
         priv->starttime -= timeskew;
         }
@@ -852,7 +852,7 @@ struct audio_info auinf;
 if(priv->dspready == FALSE) return 0;
 
 #ifdef CONFIG_SUN_AUDIO
-if(ioctl(priv->dspfd, AUDIO_GETINFO, &auinf) < 0) 
+if(ioctl(priv->dspfd, AUDIO_GETINFO, &auinf) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "AUDIO_GETINFO", strerror(errno));
     return TVI_CONTROL_FALSE;
@@ -860,7 +860,7 @@ if(ioctl(priv->dspfd, AUDIO_GETINFO, &au
 else
     bytesavail = auinf.record.seek; /* *priv->dspsamplesize; */
 #else
-if(ioctl(priv->dspfd, FIONREAD, &bytesavail) < 0) 
+if(ioctl(priv->dspfd, FIONREAD, &bytesavail) < 0)
     {
     mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "FIONREAD", strerror(errno));
     return TVI_CONTROL_FALSE;

Modified: trunk/stream/tvi_def.h
==============================================================================
--- trunk/stream/tvi_def.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_def.h	Wed May 13 04:58:57 2009	(r29305)
@@ -65,11 +65,11 @@ static void free_handle(tvi_handle_t *h)
 
 /**
  Fills video frame in given buffer with blue color for yv12,i420,uyvy,yuy2.
- Other formats will be filled with 0xC0 
+ Other formats will be filled with 0xC0
 */
 static inline void fill_blank_frame(char* buffer,int len,int fmt){
     int i;
-    // RGB(0,0,255) <-> YVU(41,110,240) 
+    // RGB(0,0,255) <-> YVU(41,110,240)
 
     switch(fmt){
     case IMGFMT_YV12:

Modified: trunk/stream/tvi_dshow.c
==============================================================================
--- trunk/stream/tvi_dshow.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_dshow.c	Wed May 13 04:58:57 2009	(r29305)
@@ -49,7 +49,7 @@
  *       - ATI 9200 VIVO based card
  *       - ATI AIW 7500
  *       - nVidia Ti-4400
- * 
+ *
  *     Known bugs:
  *     * stream goes with 24.93 FPS (NTSC), while reporting 25 FPS (PAL) ?!
  *     * direct set frequency call does not work ('Insufficient Buffer' error)
@@ -97,7 +97,7 @@ static tvi_handle_t *tvi_init_dshow(tv_p
 *
 *---------------------------------------------------------------------------------------
 */
-/** 
+/**
     information about this file
 */
 const tvi_info_t tvi_info_dshow = {
@@ -170,7 +170,7 @@ typedef struct {
     int direct_getfreq_call;    ///< 0-find frequncy from frequency table (workaround),1-direct call to get frequency
 
     int fcc;                    ///< used video format code (FourCC)
-    int width;                  ///< picture width (default: auto) 
+    int width;                  ///< picture width (default: auto)
     int height;                 ///< picture height (default: auto)
 
     int channels;               ///< number of audio channels (default: auto)
@@ -208,7 +208,7 @@ typedef struct __attribute__((__packed__
     WORD CountryCode;		///< Country code
     WORD CableFreqTable;	///< index of resource with frequencies for cable channels
     WORD BroadcastFreqTable;	///< index of resource with frequencies for broadcast channels
-    DWORD VideoStandard;	///< used video standard 
+    DWORD VideoStandard;	///< used video standard
 } TRCCountryList;
 /**
     information about image formats
@@ -231,7 +231,7 @@ typedef struct {
 static HRESULT init_ringbuffer(grabber_ringbuffer_t * rb, int buffersize,
 			       int blocksize);
 static HRESULT show_filter_info(IBaseFilter * pFilter);
-#if 0 
+#if 0
 //defined in current MinGW release
 HRESULT STDCALL GetRunningObjectTable(DWORD, IRunningObjectTable **);
 HRESULT STDCALL CreateItemMoniker(LPCOLESTR, LPCOLESTR, IMoniker **);
@@ -307,7 +307,7 @@ static const struct {
     {"us-cable-hrc", 1},
     {"japan-cable", 81},
     //default is USA
-    {NULL,           1} 
+    {NULL,           1}
 };
 
 /**
@@ -441,7 +441,7 @@ DEFINE_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c
 	    0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
 DEFINE_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
 	    0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
-DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 
+DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
             0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
 DEFINE_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
             0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
@@ -471,7 +471,7 @@ void set_buffer_preference(int nDiv,WAVE
     prop.cbBuffer += pWF->nBlockAlign - 1;
     prop.cbBuffer -= prop.cbBuffer % pWF->nBlockAlign;
     prop.cbPrefix = -1;
-    prop.cBuffers = -1;    
+    prop.cBuffers = -1;
 
     hr=OLE_QUERYINTERFACE(pOutPin,IID_IAMBufferNegotiation,pBN);
     if(FAILED(hr))
@@ -643,7 +643,7 @@ static CSampleGrabberCB *CSampleGrabberC
 *
 *---------------------------------------------------------------------------------------
 */
-/** 
+/**
 Registering graph in ROT. User will be able to connect to graph from GraphEdit.
 */
 static HRESULT AddToRot(IUnknown * pUnkGraph, DWORD * pdwRegister)
@@ -730,7 +730,7 @@ static void destroy_ringbuffer(grabber_r
  * \param buffersize size of buffer in blocks
  * \param blocksize size of buffer's block
  *
- * \return S_OK if success 
+ * \return S_OK if success
  * \return E_OUTOFMEMORY not enough memory
  *
  * \note routine does not allocates memory for grabber_rinbuffer_s structure
@@ -813,7 +813,7 @@ static char *physcon2str(const long lPhy
  * \return system country code
  *
  * \remarks
- * After call to IAMTVTuner::put_CountryCode with returned value tuner switches to frequency table used in specified 
+ * After call to IAMTVTuner::put_CountryCode with returned value tuner switches to frequency table used in specified
  * country (which is usually larger then MPlayer's one, so workaround will work fine).
  *
  * \todo
@@ -863,14 +863,14 @@ static void *GetRC(HMODULE hDLL, int ind
  * \param[in] nCountry - country code
  * \param[in] nInputType (TunerInputCable or TunerInputAntenna)
  * \param[out] pplFreqTable - address of variable that receives pointer to array, containing frequencies
- * \param[out] pnLen length of array 
+ * \param[out] pnLen length of array
  * \param[out] pnFirst - channel number of first entry in array (nChannelMax)
  *
  * \return S_OK if success
  * \return E_POINTER pplFreqTable==NULL || plFirst==NULL || pnLen==NULL
  * \return E_FAIL error occured during load
  *
- * \remarks 
+ * \remarks
  * - array must be freed by caller
  * - MSDN says that it is not neccessery to unlock or free resource. It will be done after unloading DLL
  */
@@ -942,7 +942,7 @@ static HRESULT load_freq_table(int nCoun
  * \return apropriate error code otherwise
  *
  * \note
- * Due to either bug in driver or error in following code calll to IKsProperty::Set 
+ * Due to either bug in driver or error in following code calll to IKsProperty::Set
  * in this methods always fail with error 0x8007007a.
  *
  * \todo test code on other machines and an error
@@ -1152,9 +1152,9 @@ static HRESULT get_frequency_direct(IAMT
 }
 
 /**
- * \brief gets current frequency 
+ * \brief gets current frequency
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  * \param plFreq - pointer to long int to store frequency to (in Hz)
  *
  * \return TVI_CONTROL_TRUE if success, TVI_CONTROL_FALSE otherwise
@@ -1445,7 +1445,7 @@ static HRESULT build_sub_graph(priv_t * 
             /*
                Code below is disabled, because terminating chain with NullRenderer leads to jerky video.
                Perhaps, this happens because  NullRenderer filter discards each received
-               frame while discarded frames causes live source filter to dramatically reduce frame rate. 
+               frame while discarded frames causes live source filter to dramatically reduce frame rate.
             */
             /* adding sink for video stream */
             hr = CoCreateInstance((GUID *) & CLSID_NullRenderer, NULL,CLSCTX_INPROC_SERVER, &IID_IBaseFilter,(void *) &pNR);
@@ -1778,10 +1778,10 @@ static int check_audio_format(AM_MEDIA_T
  * \return 1 if AM_MEDIA_TYPE compatible
  & \return 0 if not
  *
- * \note 
+ * \note
  * width and height are currently not used
  *
- * \todo 
+ * \todo
  * add width/height check
  */
 static int check_video_format(AM_MEDIA_TYPE * pmt, int fcc, int width,
@@ -1869,7 +1869,7 @@ static HRESULT show_filter_info(IBaseFil
  * \brief gets device's frendly in ANSI encoding
  *
  * \param pM IMoniker interface, got in enumeration process
- * \param category device category 
+ * \param category device category
  *
  * \return TVI_CONTROL_TRUE if operation succeded, TVI_CONTROL_FALSE - otherwise
  */
@@ -1902,10 +1902,10 @@ static int get_device_name(IMoniker * pM
  * \brief find capture device at given index
  *
  * \param index device index to search for (-1 mean only print available)
- * \param category device category 
+ * \param category device category
  *
  * \return IBaseFilter interface for capture device with given index
- * 
+ *
  * Sample values for category:
  *  CLSID_VideoInputDeviceCategory - Video Capture Sources
  *  CLSID_AudioInputDeviceCategory - Audio Capture Sources
@@ -2063,8 +2063,8 @@ static HRESULT get_available_formats_str
 }
 
 /**
- * \brief returns allocates an array and store available media formats for given pin type to it 
- * 
+ * \brief returns allocates an array and store available media formats for given pin type to it
+ *
  * \param pBuilder ICaptureGraphBuilder2 interface of graph builder
  * \param chain chain data structure
  *
@@ -2198,7 +2198,7 @@ static HRESULT get_available_formats_pin
 /**
  * \brief fills given buffer with audio data (usually one block)
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  * \param buffer buffer to store data to
  * \param len buffer's size in bytes (usually one block size)
  *
@@ -2251,14 +2251,14 @@ static double grab_audio_frame(priv_t * 
 /**
  * \brief returns audio frame size
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  *
  * \return audio block size if audio enabled and 1 - otherwise
  */
 static int get_audio_framesize(priv_t * priv)
 {
     if (!priv->chains[1]->rbuf)
-	return 1;		//no audio       
+	return 1;		//no audio
     mp_msg(MSGT_TV,MSGL_DBG3,"get_audio_framesize: %d\n",priv->chains[1]->rbuf->blocksize);
     return priv->chains[1]->rbuf->blocksize;
 }
@@ -2281,7 +2281,7 @@ static int vbi_get_props(priv_t* priv,tt
 //END STUBS!!!
     ptsp->bufsize = ptsp->samples_per_line * (ptsp->count[0] + ptsp->count[1]);
 
-    mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",    
+    mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",
         ptsp->sampling_rate,
         ptsp->offset,
         ptsp->samples_per_line,
@@ -2314,7 +2314,7 @@ static void vbi_grabber(priv_t* priv)
 /**
  * \brief fills given buffer with video data (usually one frame)
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  * \param buffer buffer to store data to
  * \param len buffer's size in bytes (usually one frame size)
  *
@@ -2363,16 +2363,16 @@ static double grab_video_frame(priv_t * 
 /**
  * \brief returns frame size
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  *
  * \return frame size if video present, 0 - otherwise
  */
 static int get_video_framesize(priv_t * priv)
 {
-//      if(!priv->pmtVideo) return 1; //no video       
+//      if(!priv->pmtVideo) return 1; //no video
 //      return priv->pmtVideo->lSampleSize;
     if (!priv->chains[0]->rbuf)
-	return 1;		//no video       
+	return 1;		//no video
 mp_msg(MSGT_TV,MSGL_DBG3,"geT_video_framesize: %d\n",priv->chains[0]->rbuf->blocksize);
     return priv->chains[0]->rbuf->blocksize;
 }
@@ -2430,8 +2430,8 @@ static HRESULT init_chain_common(ICaptur
     if (FAILED(hr))
         chain->pStreamConfig = NULL;
 
-    /* 
-       Getting available video formats (last pointer in array  will be NULL) 
+    /*
+       Getting available video formats (last pointer in array  will be NULL)
        First tryin to call IAMStreamConfig::GetStreamCaos. this will give us additional information such as
        min/max picture dimensions, etc. If this call fails trying IPIn::EnumMediaTypes with default
        min/max values.
@@ -2572,12 +2572,12 @@ static HRESULT build_vbi_chain(priv_t *p
 /**
  * \brief playback/capture real start
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  *
  * \return 1 if success, 0 - otherwise
  *
  * TODO: move some code from init() here
- */                          
+ */
 static int start(priv_t * priv)
 {
     HRESULT hr;
@@ -2620,7 +2620,7 @@ static int start(priv_t * priv)
 /**
  * \brief driver initialization
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  *
  * \return 1 if success, 0 - otherwise
  */
@@ -2671,13 +2671,13 @@ static int init(priv_t * priv)
             mp_msg(MSGT_TV,MSGL_DBG2, "tvi_dshow: CoCreateInstance(CaptureGraphBuilder) call failed. Error:0x%x\n", (unsigned int)hr);
             break;
         }
-    
+
         hr = OLE_CALL_ARGS(priv->pBuilder, SetFiltergraph, priv->pGraph);
         if(FAILED(hr)){
             mp_msg(MSGT_TV,MSGL_ERR, "tvi_dshow: SetFiltergraph call failed. Error:0x%x\n",(unsigned int)hr);
             break;
         }
-    
+
         mp_msg(MSGT_TV, MSGL_DBG2, "tvi_dshow: Searching for available video capture devices\n");
         priv->chains[0]->pCaptureFilter = find_capture_device(priv->dev_index, &CLSID_VideoInputDeviceCategory);
         if(!priv->chains[0]->pCaptureFilter){
@@ -2961,7 +2961,7 @@ static void destroy_chain(chain_t *chain
 /**
  * \brief driver uninitialization
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  *
  * \return always 1
  */
@@ -3071,11 +3071,11 @@ static tvi_handle_t *tvi_init_dshow(tv_p
 /**
  * \brief driver's ioctl handler
  *
- * \param priv driver's private data structure 
+ * \param priv driver's private data structure
  * \param cmd ioctl command
  * \param arg ioct command's parameter
  *
- * \return TVI_CONTROL_TRUE if success 
+ * \return TVI_CONTROL_TRUE if success
  * \return TVI_CONTROL_FALSE if failure
  * \return TVI_CONTROL_UNKNOWN if unknowm cmd called
  */
@@ -3318,7 +3318,7 @@ static int control(priv_t * priv, int cm
 		if (check_audio_format
 		    (priv->chains[1]->arpmt[i], samplerate, 16, priv->channels))
 		    break;
-	    if (!priv->chains[1]->arpmt[i]) {	
+	    if (!priv->chains[1]->arpmt[i]) {
                 //request not found. failing back to first available
 		mp_msg(MSGT_TV, MSGL_WARN, MSGTR_TVI_DS_SamplerateNotsupported, samplerate);
 		i = 0;
@@ -3372,7 +3372,7 @@ static int control(priv_t * priv, int cm
 	    lAnalogFormat = tv_norms[tv_available_norms[i]].index;
 
 	    hr = OLE_QUERYINTERFACE(priv->chains[0]->pCaptureFilter,IID_IAMAnalogVideoDecoder, pVD);
-	    if (hr != S_OK)                            
+	    if (hr != S_OK)
 		return TVI_CONTROL_FALSE;
 	    hr = OLE_CALL_ARGS(pVD, put_TVFormat, lAnalogFormat);
 	    OLE_RELEASE_SAFE(pVD);

Modified: trunk/stream/tvi_dshow.h
==============================================================================
--- trunk/stream/tvi_dshow.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_dshow.h	Wed May 13 04:58:57 2009	(r29305)
@@ -29,7 +29,7 @@ typedef struct IReferenceClock *LPREFERE
 typedef struct IMediaSample *LPMEDIASAMPLE;
 typedef struct IVideoWindow *LPVIDEOWINDOW;
 
-typedef struct 
+typedef struct
 {
     long cBuffers;
     long cbBuffer;
@@ -613,7 +613,7 @@ DECLARE_INTERFACE(IMediaSample)
     STDMETHOD(SetMediaTime )(THIS_ long long* ,long long* );
 };
 
-    
+
 #undef INTERFACE
 #define INTERFACE IAMBufferNegotiation
 DECLARE_INTERFACE(IAMBufferNegotiation)

Modified: trunk/stream/tvi_v4l.c
==============================================================================
--- trunk/stream/tvi_v4l.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_v4l.c	Wed May 13 04:58:57 2009	(r29305)
@@ -797,7 +797,7 @@ static int vbi_init(priv_t* priv,char* d
         mp_msg(MSGT_TV,MSGL_ERR,"vbi: could not open device %s\n",priv->vbi_dev);
         return  TVI_CONTROL_FALSE;
     }
-    
+
     if(ioctl(vbi_fd,VIDIOCGCAP,&cap)<0){
         mp_msg(MSGT_TV,MSGL_ERR,"vbi: Query capatibilities failed for %s\n",priv->vbi_dev);
         close(vbi_fd);
@@ -845,7 +845,7 @@ static int vbi_get_props(priv_t* priv,tt
     ptsp->count[1]=fmt.count[1];
     ptsp->bufsize = ptsp->samples_per_line * (ptsp->count[0] + ptsp->count[1]);
 
-    mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",    
+    mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",
         ptsp->sampling_rate,
         ptsp->offset,
         ptsp->samples_per_line,
@@ -1541,7 +1541,7 @@ static int set_mute(priv_t* priv,int val
 {
     if (!priv->capability.audios) {
         return 0;
-	
+
     if(value)
         priv->audio[priv->audio_id].flags |=VIDEO_AUDIO_MUTE;
     else

Modified: trunk/stream/tvi_v4l2.c
==============================================================================
--- trunk/stream/tvi_v4l2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_v4l2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -80,7 +80,7 @@ struct map {
 typedef struct {
     unsigned char               *data;     ///< frame contents
     long long                   timestamp; ///< frame timestamp
-    int                         framesize; ///< actual frame size 
+    int                         framesize; ///< actual frame size
 } video_buffer_entry;
 
 /* private data */
@@ -330,7 +330,7 @@ static int pixfmt2depth(int pixfmt)
     return 0;
 }
 
-static int amode2v4l(int amode) 
+static int amode2v4l(int amode)
 {
     switch (amode) {
     case 0:
@@ -492,7 +492,7 @@ static int getstd(priv_t *priv)
  *                                                                     *
 \***********************************************************************/
 
-static int set_mute(priv_t *priv, int value) 
+static int set_mute(priv_t *priv, int value)
 {
     struct v4l2_control control;
     control.id = V4L2_CID_AUDIO_MUTE;
@@ -535,7 +535,7 @@ static int set_control(priv_t *priv, str
                 (qctrl.maximum - qctrl.default_value) / 50;
         }
     }
-    
+
 
     if (ioctl(priv->video_fd, VIDIOC_S_CTRL, control) < 0) {
         mp_msg(MSGT_TV, MSGL_ERR,"%s: ioctl set %s %d failed: %s\n",
@@ -609,7 +609,7 @@ static int vbi_init(priv_t* priv,char* d
         mp_msg(MSGT_TV,MSGL_ERR,"vbi: could not open device %s\n",priv->vbi_dev);
         return  TVI_CONTROL_FALSE;
     }
-    
+
     if(ioctl(vbi_fd,VIDIOC_QUERYCAP,&cap)<0){
         mp_msg(MSGT_TV,MSGL_ERR,"vbi: Query capatibilities failed for %s\n",priv->vbi_dev);
         close(vbi_fd);
@@ -662,7 +662,7 @@ static int vbi_get_props(priv_t* priv,tt
     ptsp->count[1]=fmt.fmt.vbi.count[1];
     ptsp->bufsize = ptsp->samples_per_line * (ptsp->count[0] + ptsp->count[1]);
 
-    mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",    
+    mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",
         ptsp->sampling_rate,
         ptsp->offset,
         ptsp->samples_per_line,
@@ -694,7 +694,7 @@ static void *vbi_grabber(void *data)
     mp_msg(MSGT_TV,MSGL_V,"vbi: vbi capture thread started.\n");
 
     while (!priv->vbi_shutdown){
-        bytes=read(priv->vbi_fd,buf,tsp.bufsize);	
+        bytes=read(priv->vbi_fd,buf,tsp.bufsize);
         if(bytes<0 && errno==EINTR)
             continue;
 	if (bytes!=tsp.bufsize){
@@ -759,7 +759,7 @@ static int control(priv_t *priv, int cmd
         if (getfmt(priv) < 0) return TVI_CONTROL_FALSE;
         priv->format.fmt.pix.pixelformat = fcc_mp2vl(*(int *)arg);
         priv->format.fmt.pix.field = V4L2_FIELD_ANY;
-            
+
         priv->mp_format = *(int *)arg;
         mp_msg(MSGT_TV, MSGL_V, "%s: set format: %s\n", info.short_name,
                pixfmt2name(priv->format.fmt.pix.pixelformat));
@@ -1122,7 +1122,7 @@ static int uninit(priv_t *priv)
         free(priv->vbi_dev);
 	priv->vbi_dev=0;
     }
-    
+
 #endif
 
     priv->shutdown = 1;
@@ -1398,7 +1398,7 @@ static int get_capture_buffer_size(priv_
     } else {
 #ifdef HAVE_SYS_SYSINFO_H
         struct sysinfo si;
-        
+
         sysinfo(&si);
         if (si.totalram<2*1024*1024) {
             bufsize = 1024*1024;
@@ -1409,10 +1409,10 @@ static int get_capture_buffer_size(priv_
         bufsize = 16*1024*1024;
 #endif
     }
-    
+
     cnt = bufsize/priv->format.fmt.pix.sizeimage;
     if (cnt < 2) cnt = 2;
-    
+
     return cnt;
 }
 
@@ -1433,7 +1433,7 @@ static int start(priv_t *priv)
     } else {
         priv->video_buffer_size_max = get_capture_buffer_size(priv);
     }
-    
+
     if (!priv->tv_param->noaudio) {
         setup_audio_buffer_sizes(priv);
         priv->audio_skew_buffer = calloc(priv->aud_skew_cnt, sizeof(long long));
@@ -1484,10 +1484,10 @@ static int start(priv_t *priv)
                    "You will probably experience heavy framedrops.\n");
         }
     }
-    
+
     {
         int bytesperline = priv->format.fmt.pix.width*pixfmt2depth(priv->format.fmt.pix.pixelformat)/8;
-        
+
         mp_msg(MSGT_TV, MSGL_V, "Using a ring buffer for maximum %d frames, %d MB total size.\n",
                priv->video_buffer_size_max,
                priv->video_buffer_size_max*priv->format.fmt.pix.height*bytesperline/(1024*1024));
@@ -1505,14 +1505,14 @@ static int start(priv_t *priv)
     priv->video_head = 0;
     priv->video_tail = 0;
     priv->video_cnt = 0;
-    
+
     /* request buffers */
     if (priv->immediate_mode) {
         request.count = 2;
     } else {
         request.count = BUFFER_COUNT;
     }
-    
+
     request.type  = V4L2_BUF_TYPE_VIDEO_CAPTURE;
     request.memory = V4L2_MEMORY_MMAP;
     if (ioctl(priv->video_fd, VIDIOC_REQBUFS, &request) < 0) {
@@ -1575,7 +1575,7 @@ static int start(priv_t *priv)
     priv->first = 1;
 
     set_mute(priv, 0);
-    
+
     return 1;
 }
 
@@ -1629,7 +1629,7 @@ static void *video_grabber(void *data)
     for (priv->frames = 0; !priv->shutdown;)
     {
         int ret;
-        
+
         if (priv->immediate_mode) {
             while (priv->video_cnt == priv->video_buffer_size_max) {
                 usleep(10000);
@@ -1638,7 +1638,7 @@ static void *video_grabber(void *data)
                 }
             }
         }
-                
+
         FD_ZERO (&rdset);
         FD_SET (priv->video_fd, &rdset);
 
@@ -1691,7 +1691,7 @@ static void *video_grabber(void *data)
                         mp_msg(MSGT_TV, MSGL_ERR, "%s: ioctl queue buffer failed: %s\n",
                                info.short_name, strerror(errno));
                         return 0;
-                    }                
+                    }
                 }
             }
             continue;
@@ -1767,7 +1767,7 @@ static void *video_grabber(void *data)
                 priv->video_ringbuffer[priv->video_tail].timestamp = interval - skew;
                 if (priv->audio_insert_null_samples && priv->video_ringbuffer[priv->video_tail].timestamp > 0) {
                     pthread_mutex_lock(&priv->audio_mutex);
-                    priv->video_ringbuffer[priv->video_tail].timestamp += 
+                    priv->video_ringbuffer[priv->video_tail].timestamp +=
                         (priv->audio_null_blocks_inserted
                          - priv->dropped_frames_timeshift/priv->audio_usecs_per_block)
                         *priv->audio_usecs_per_block;
@@ -1815,8 +1815,8 @@ static double grab_video_frame(priv_t *p
 
 static int get_video_framesize(priv_t *priv)
 {
-    /* 
-      this routine will be called before grab_video_frame 
+    /*
+      this routine will be called before grab_video_frame
       thus let's return topmost frame's size
     */
     if (priv->video_cnt)
@@ -1838,7 +1838,7 @@ static void read_doublespeed(priv_t *pri
     short *s;
     short *d;
     int i;
-    
+
     audio_in_read_chunk(&priv->audio_in, bufx);
     audio_in_read_chunk(&priv->audio_in, bufx+priv->audio_in.blocksize);
 
@@ -1848,7 +1848,7 @@ static void read_doublespeed(priv_t *pri
         *d++ = *s++;
         *s++;
     }
-    
+
 }
 #endif
 
@@ -1930,7 +1930,7 @@ static void *audio_grabber(void *data)
         priv->audio_skew += priv->audio_skew_delta_total/2;
 
         // now finally, priv->audio_skew contains fairly good approximation
-        // of the current value 
+        // of the current value
 
         // current skew factor (assuming linearity)
         // used for further interpolation in video_grabber
@@ -1948,7 +1948,7 @@ static void *audio_grabber(void *data)
         prev_skew = priv->audio_skew;
         priv->audio_skew += priv->audio_start_time - priv->first_frame;
         pthread_mutex_unlock(&priv->skew_mutex);
-        
+
 //        fprintf(stderr, "audio_skew = %lf, delta = %lf\n", (double)priv->audio_skew/1e6, (double)priv->audio_skew_delta_total/1e6);
 
         pthread_mutex_lock(&priv->audio_mutex);

Modified: trunk/stream/tvi_vbi.c
==============================================================================
--- trunk/stream/tvi_vbi.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/tvi_vbi.c	Wed May 13 04:58:57 2009	(r29305)
@@ -331,11 +331,11 @@ static const unsigned int latin_subchars
  * List of supported languages.
  *
  * lang_code bits for primary Language:
- * bits 7-4 corresponds to bits 14-11 of 28 packet's first triplet 
+ * bits 7-4 corresponds to bits 14-11 of 28 packet's first triplet
  * bits 3-1 corresponds to bits C12-C14 of packet 0 (lang)
  *
  * lang_code bits for secondary Language:
- * bits 7-5 corresponds to bits 3-1 of 28 packet's second triplet 
+ * bits 7-5 corresponds to bits 3-1 of 28 packet's second triplet
  * bits 4,2 corresponds to bits 18,16 of 28 packet's first triplet
  * bits 3,1 corresponds to bits 15,17 of 28 packet's first triplet
  *
@@ -370,7 +370,7 @@ struct {
   { 0x16, LATIN,     "Italian"},
 
   { 0x1d, LATIN,     "Serbian/Croatian/Slovenian (Latin)"},
-  
+
   { 0x20, CYRILLIC1, "Serbian/Croatian (Cyrillic)"},
   { 0x21, CYRILLIC2, "Russian, Bulgarian"},
   { 0x22, LATIN,     "Estonian"},
@@ -409,7 +409,7 @@ static int corrHamm24(unsigned char *dat
         syndrom^=((cw>>i)&1)*(i+33);
 
     syndrom^=(cw>>11)&32;
-   
+
     if(syndrom&31){
         if(syndrom < 32 || syndrom > 55)
             return -1;
@@ -508,7 +508,7 @@ static void init_vbi_consts(priv_vbi_t* 
  *
  *
  * Page numbers 0xYYY (where Y is not belongs to (0..9).
- * Page number belongs to [0x000,0x799] or [0x100:0x899] (first 0 can be 
+ * Page number belongs to [0x000,0x799] or [0x100:0x899] (first 0 can be
  * treated as '8')
  */
 static int steppage(int p, int direction, int skip_hidden)
@@ -628,7 +628,7 @@ static inline tt_page* get_from_cache(pr
 static void clear_cache(priv_vbi_t* priv){
     int i;
     tt_page* tp;
-    
+
     /*
       Skip next 5 buffers to avoid mixing teletext pages from different
       channels during channel switch
@@ -724,7 +724,7 @@ static void decode_page(tt_char* p,unsig
             p[i].fg=fg_color;
             p[i].bg=bg_color;
             p[i].flh=flash;
-            
+
             if ((c&0x60)==0){ //control chars
                 if(c>=0x08 && c<=0x09){//Flash/Steady
                     flash=c==0x08;
@@ -860,7 +860,7 @@ static void prepare_visible_page(priv_vb
         priv->display_page[10].unicode=' ';
     }
     priv->display_page[11].unicode=' ';
-    for(i=VBI_COLUMNS;i>VBI_TIME_LINEPOS || 
+    for(i=VBI_COLUMNS;i>VBI_TIME_LINEPOS ||
             ((curr_pg->raw[i]&0x60) && curr_pg->raw[i]!=0x20 && i>11);
             --i)
         if(curr_pg->raw[i]&0x60)
@@ -1247,7 +1247,7 @@ static int decode_pkt27(priv_vbi_t* priv
             return 0;
         }
 
-    /* 
+    /*
       Not a X/27/0 Format 1 packet or
       flag "show links on row 24" is not set.
     */
@@ -1294,7 +1294,7 @@ static void decode_pkt28(priv_vbi_t* pri
 
     priv->primary_language=(t1>>7)&0x7f;
     priv->secondary_language=((t2<<4) | (t1>>14))&0x7f;
-    if (priv->secondary_language==0x7f) 
+    if (priv->secondary_language==0x7f)
         //No secondary language required
         priv->secondary_language=priv->primary_language;
     else // Swapping bits 1 and 3

Modified: trunk/stream/udp.c
==============================================================================
--- trunk/stream/udp.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/udp.c	Wed May 13 04:58:57 2009	(r29305)
@@ -120,7 +120,7 @@ udp_open_socket (URL_t *url)
       return -1;
     }
   }
-	
+
 #if HAVE_WINSOCK2_H
   if (isalpha (url->hostname[0]))
   {
@@ -170,7 +170,7 @@ udp_open_socket (URL_t *url)
 
   FD_ZERO (&set);
   FD_SET (socket_server_fd, &set);
-  
+
   err = select (socket_server_fd + 1, &set, NULL, NULL, &tv);
   if (err < 0)
   {

Modified: trunk/stream/url.c
==============================================================================
--- trunk/stream/url.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/url.c	Wed May 13 04:58:57 2009	(r29305)
@@ -52,7 +52,7 @@ url_new(const char* url) {
 	int jumpSize = 3;
 
 	if( url==NULL ) return NULL;
-	
+
         if (strlen(url) > (SIZE_MAX / 3 - 1)) {
                 mp_msg(MSGT_NETWORK,MSGL_FATAL,MSGTR_MemAllocFailed);
                 goto err_out;
@@ -158,7 +158,7 @@ url_new(const char* url) {
 		ptr2 = ptr1;
 
 	}
-	
+
 	// look if the port is given
 	ptr2 = strstr(ptr2, ":");
 	// If the : is after the first / it isn't the port
@@ -204,7 +204,7 @@ url_new(const char* url) {
 				goto err_out;
 			}
 		}
-	} 
+	}
 	// Check if a filename was given or set, else set it with '/'
 	if( Curl->file==NULL ) {
 		Curl->file = malloc(2);
@@ -214,7 +214,7 @@ url_new(const char* url) {
 		}
 		strcpy(Curl->file, "/");
 	}
-	
+
         free(escfilename);
 	return Curl;
 err_out:
@@ -259,7 +259,7 @@ url_unescape_string(char *outbuf, const 
 			}
 		}
 		*outbuf++ = c;
-	} 
+	}
         *outbuf++='\0'; //add nullterm to string
 }
 
@@ -285,7 +285,7 @@ url_escape_string_part(char *outbuf, con
                            ((c2 >= '0' && c2 <= '9') || (c2 >= 'A' && c2 <= 'F'))) {
                                                               // check if part of an escape sequence
                             *outbuf++=c;                      // already
-			      
+
                                                               // dont escape again
                             mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_URL_StringAlreadyEscaped,c,c1,c2);
                                                               // error as this should not happen against RFC 2396
@@ -313,7 +313,7 @@ url_escape_string(char *outbuf, const ch
 	unsigned char c;
         int i = 0,j,len = strlen(inbuf);
 	char* tmp,*unesc = NULL, *in;
-	
+
 	// Look if we have an ip6 address, if so skip it there is
 	// no need to escape anything in there.
 	tmp = strstr(inbuf,"://[");
@@ -327,7 +327,7 @@ url_escape_string(char *outbuf, const ch
 			tmp = NULL;
 		}
 	}
-	
+
 	tmp = NULL;
 	while(i < len) {
 		// look for the next char that must be kept
@@ -353,7 +353,7 @@ url_escape_string(char *outbuf, const ch
 			in = tmp;
 		} else // take the rest of the string
 			in = (char*)inbuf+i;
-		
+
 		if(!unesc) unesc = malloc(len+1);
 		// unescape first to avoid escaping escape
 		url_unescape_string(unesc,in);

Modified: trunk/stream/url.h
==============================================================================
--- trunk/stream/url.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/url.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,4 +1,4 @@
-/* 
+/*
  * URL Helper
  * by Bertrand Baudet <bertrand_baudet at yahoo.com>
  * (C) 2001, MPlayer team.

Modified: trunk/stream/vcd_read.h
==============================================================================
--- trunk/stream/vcd_read.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/vcd_read.h	Wed May 13 04:58:57 2009	(r29305)
@@ -84,7 +84,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
 	mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc entry: %s\n",strerror(errno));
 	return NULL;
       }
-        
+
       if (i<=tochdr.cdth_trk1)
       mp_msg(MSGT_OPEN,MSGL_INFO,"track %02d:  adr=%d  ctrl=%d  format=%d  %02d:%02d:%02d  mode: %d\n",
           (int)tocentry.cdte_track,
@@ -149,7 +149,7 @@ static int vcd_read(mp_vcd_priv_t* vcd,c
       vcd->entry.cdte_addr.msf.minute++;
     }
   }
-    
+
   return VCD_SECTOR_DATA;
 }
 
@@ -171,7 +171,7 @@ static int sun_vcd_read(mp_vcd_priv_t* v
   cdxa.cdxa_length = 1;
   cdxa.cdxa_data = vcd->buf;
   cdxa.cdxa_format = CDROM_XA_SECTOR_DATA;
-  
+
   if(ioctl(vcd->fd,CDROMCDXA,&cdxa)==-1) {
     mp_msg(MSGT_STREAM,MSGL_ERR,"CDROMCDXA: %s\n",strerror(errno));
     return 0;

Modified: trunk/stream/vcd_read_darwin.h
==============================================================================
--- trunk/stream/vcd_read_darwin.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/stream/vcd_read_darwin.h	Wed May 13 04:58:57 2009	(r29305)
@@ -56,7 +56,7 @@ int vcd_seek_to_track(mp_vcd_priv_t* vcd
 	vcd->entry.address = track;
 	vcd->entry.bufferLength = sizeof(entry);
 	vcd->entry.buffer = &entry;
-  
+
 	if (ioctl(vcd->fd, DKIOCCDREADTRACKINFO, &vcd->entry))
 	{
 		mp_msg(MSGT_STREAM,MSGL_ERR,"ioctl dif1: %s\n",strerror(errno));
@@ -69,21 +69,21 @@ int vcd_seek_to_track(mp_vcd_priv_t* vcd
 int vcd_get_track_end(mp_vcd_priv_t* vcd, int track)
 {
 	struct CDTrackInfo entry;
-	
+
 	if (track > vcd->hdr.lastTrackNumberInLastSessionLSB) {
 		mp_msg(MSGT_OPEN, MSGL_ERR,
 		       "track number %d greater than last track number %d\n",
 		       track, vcd->hdr.lastTrackNumberInLastSessionLSB);
 		return -1;
 	}
-	
+
 	//read track info
 	memset( &vcd->entry, 0, sizeof(vcd->entry));
 	vcd->entry.addressType = kCDTrackInfoAddressTypeTrackNumber;
 	vcd->entry.address = track<vcd->hdr.lastTrackNumberInLastSessionLSB?track+1:vcd->hdr.lastTrackNumberInLastSessionLSB;
 	vcd->entry.bufferLength = sizeof(entry);
 	vcd->entry.buffer = &entry;
-  
+
 	if (ioctl(vcd->fd, DKIOCCDREADTRACKINFO, &vcd->entry))
 	{
 		mp_msg(MSGT_STREAM,MSGL_ERR,"ioctl dif2: %s\n",strerror(errno));
@@ -101,25 +101,25 @@ mp_vcd_priv_t* vcd_read_toc(int fd)
 {
 	dk_cd_read_disc_info_t tochdr;
 	struct CDDiscInfo hdr;
-	
+
 	dk_cd_read_track_info_t tocentry;
 	struct CDTrackInfo entry;
 	CDMSF trackMSF;
-	
+
 	mp_vcd_priv_t* vcd;
 	int i, min = 0, sec = 0, frame = 0;
-  
+
 	//read toc header
     memset(&tochdr, 0, sizeof(tochdr));
     tochdr.buffer = &hdr;
     tochdr.bufferLength = sizeof(hdr);
-  
+
     if (ioctl(fd, DKIOCCDREADDISCINFO, &tochdr) < 0)
 	{
 		mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc header: %s\n",strerror(errno));
 		return NULL;
     }
-	
+
 	//print all track info
 	mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", hdr.firstTrackNumberInLastSessionLSB);
 	mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", hdr.lastTrackNumberInLastSessionLSB);
@@ -137,13 +137,13 @@ mp_vcd_priv_t* vcd_read_toc(int fd)
 			mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc entry: %s\n",strerror(errno));
 			return NULL;
 		}
-		
+
 		trackMSF = CDConvertLBAToMSF(be2me_32(entry.trackStartAddress));
 		}
 		else
 			trackMSF = CDConvertLBAToMSF(be2me_32(entry.trackStartAddress)
 			                             + be2me_32(entry.trackSize));
-        
+
 		//mp_msg(MSGT_OPEN,MSGL_INFO,"track %02d:  adr=%d  ctrl=%d  format=%d  %02d:%02d:%02d\n",
 		if (i<=hdr.lastTrackNumberInLastSessionLSB)
 		mp_msg(MSGT_OPEN,MSGL_INFO,"track %02d: format=%d  %02d:%02d:%02d\n",
@@ -180,7 +180,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd)
 		  frame = trackMSF.frame;
 		}
 	}
- 
+
 	vcd = malloc(sizeof(mp_vcd_priv_t));
 	vcd->fd = fd;
 	vcd->hdr = hdr;
@@ -198,14 +198,14 @@ static int vcd_read(mp_vcd_priv_t* vcd,c
 	{
 		vcd->msf.frame=0;
 		vcd->msf.second++;
-        
+
 		if (vcd->msf.second==60)
 		{
 			vcd->msf.second=0;
 			vcd->msf.minute++;
         }
       }
-	  
+
       memcpy(mem,vcd->buf.data,VCD_SECTOR_DATA);
       return VCD_SECTOR_DATA;
 }

Modified: trunk/sub_cc.c
==============================================================================
--- trunk/sub_cc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/sub_cc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -101,7 +101,7 @@ void subcc_init(void)
 	buf1.lines=buf2.lines=0;
 	fb=&buf1;
 	bb=&buf2;
-	
+
 	initialized=1;
 }
 
@@ -114,7 +114,7 @@ static void append_char(char c)
 		memset(bb->text[bb->lines - 1],0,CC_MAX_LINE_LENGTH);
 		cursor_pos=0;
 	}
-	
+
 	if(c=='\n')
 	{
 		if(cursor_pos>0 && bb->lines < SUB_MAX_TEXT)
@@ -158,7 +158,7 @@ static void display_buffer(subtitle * bu
 static void cc_decode_EIA608(unsigned short int data)
 {
 
-  static unsigned short int lastcode=0x0000;	
+  static unsigned short int lastcode=0x0000;
   unsigned char c1 = data & 0x7f;
   unsigned char c2 = (data >> 8) & 0x7f;
 
@@ -327,7 +327,7 @@ void subcc_process_data(unsigned char *i
 {
 	if(!subcc_enabled) return;
 	if(!initialized) subcc_init();
-	
+
 	subcc_decode(inputdata, len);
 }
 

Modified: trunk/subopt-helper.h
==============================================================================
--- trunk/subopt-helper.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/subopt-helper.h	Wed May 13 04:58:57 2009	(r29305)
@@ -4,7 +4,7 @@
 /**
  * \file subopt-helper.h
  *
- * \brief Datatype and functions declarations for usage 
+ * \brief Datatype and functions declarations for usage
  *        of the suboption parser.
  *
  */

Modified: trunk/subreader.c
==============================================================================
--- trunk/subreader.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/subreader.c	Wed May 13 04:58:57 2009	(r29305)
@@ -272,7 +272,7 @@ static subtitle *sub_read_line_microdvd(
 	     (sscanf (line,
 		      "{%ld}{%ld}%[^\r\n]",
 		      &(current->start), &(current->end), line2) < 3));
-	
+
     p=line2;
 
     next=p, i=0;
@@ -437,11 +437,11 @@ static subtitle *sub_read_line_vplayer(s
 		if (!stream_read_line (st, line, LINE_LEN)) return NULL;
 		if ((len=sscanf (line, "%d:%d:%d%c%n",&a1,&a2,&a3,&separator,&plen)) < 4)
 			continue;
-		
+
 		if (!(current->start = a1*360000+a2*6000+a3*100))
 			continue;
                 /* removed by wodzu
-		p=line;	
+		p=line;
  		// finds the body of the subtitle
  		for (i=0; i<3; i++){
 		   p=strchr(p,':');
@@ -540,7 +540,7 @@ static subtitle *sub_read_line_ssa(strea
 	int hour1, min1, sec1, hunsec1,
 	    hour2, min2, sec2, hunsec2, nothing;
 	int num;
-	
+
 	char line[LINE_LEN+1],
 	     line3[LINE_LEN+1],
 	     *line2;
@@ -578,7 +578,7 @@ static subtitle *sub_read_line_ssa(strea
 	current->lines=0;num=0;
 	current->start = 360000*hour1 + 6000*min1 + 100*sec1 + hunsec1;
 	current->end   = 360000*hour2 + 6000*min2 + 100*sec2 + hunsec2;
-	
+
         while (((tmp=strstr(line2, "\\n")) != NULL) || ((tmp=strstr(line2, "\\N")) != NULL) ){
 		current->text[num]=malloc(tmp-line2+1);
 		strncpy (current->text[num], line2, tmp-line2);
@@ -753,7 +753,7 @@ static subtitle *sub_read_line_aqt(strea
 #else
 	// void subtitle -> end of previous marked and exit
 	previous_aqt_sub = NULL;
-#endif	
+#endif
 	return NULL;
 	}
 
@@ -809,7 +809,7 @@ static subtitle *sub_read_line_subrip09(
 #else
 	// void subtitle -> end of previous marked and exit
 	previous_subrip09_sub = NULL;
-#endif	
+#endif
 	return NULL;
 	}
 
@@ -1187,7 +1187,7 @@ subtitle* sub_fribidi (subtitle *sub, in
       if((op = malloc((max(2*orig_len,2*len) + 1))) == NULL) {
 	mp_msg(MSGT_SUBREADER,MSGL_WARN,"SUB: error allocating mem.\n");
 	l++;
-	break;	
+	break;
       }
       fribidi_unicode_to_charset ( char_set_num, visual, len,op);
       free (ip);
@@ -1212,7 +1212,7 @@ static void adjust_subs_time(subtitle* s
 	int i = sub_num;
 	unsigned long subfms = (sub_uses_time ? 100 : fps) * subtime;
 	unsigned long overlap = (sub_uses_time ? 100 : fps) / 5; // 0.2s
-	
+
 	n=m=0;
 	if (i)	for (;;){
 		if (sub->end <= sub->start){
@@ -1253,7 +1253,7 @@ static void adjust_subs_time(subtitle* s
 		/* timed sub fps correction ::atmos */
 		/* the frame-based case is handled in mpcommon.c
 		 * where find_sub is called */
-		if(sub_uses_time && sub_fps) {	
+		if(sub_uses_time && sub_fps) {
 			sub->start *= sub_fps/fps;
 			sub->end   *= sub_fps/fps;
 		}
@@ -1409,7 +1409,7 @@ sub_data* sub_read_file (char *filename,
         }
 #ifndef CONFIG_SORTSUB
 	sub = &first[sub_num];
-#endif	
+#endif
 	memset(sub, '\0', sizeof(subtitle));
         sub=srp->read(fd,sub);
         if(!sub) break;   // EOF
@@ -1468,7 +1468,7 @@ sub_data* sub_read_file (char *filename,
     		}
 	    }
 	}
-#endif	
+#endif
         if(sub==ERR) ++sub_errs; else ++sub_num; // Error vs. Valid
     }
 
@@ -2043,7 +2043,7 @@ void dump_srt(sub_data* subd, float fps)
 	s=temp/100;   temp%=100;
 	ms=temp*10;
 	fprintf(fd,"%02d:%02d:%02d,%03d\n",h,m,s,ms);
-	
+
 	for(j=0;j<onesub->lines;j++)
 	    fprintf(fd,"%s\n",onesub->text[j]);
 
@@ -2067,7 +2067,7 @@ void dump_mpsub(sub_data* subd, float fp
 		perror ("dump_mpsub: fopen");
 		return;
 	}
-	
+
 
 	if (subd->sub_uses_time) fprintf (fd,"FORMAT=TIME\n\n");
 	else fprintf (fd, "FORMAT=%5.2f\n\n", fps);
@@ -2176,7 +2176,7 @@ void dump_jacosub(sub_data* subd, float 
 	s=temp/100;   temp%=100;
 	cs=temp;
 	fprintf(fd,"%02d:%02d:%02d.%02d {~} ",h,m,s,cs);
-	
+
 	for(j=0;j<onesub->lines;j++)
 	    fprintf(fd,"%s%s",j ? "\\n" : "", onesub->text[j]);
 
@@ -2221,7 +2221,7 @@ void dump_sami(sub_data* subd, float fps
 	temp -= sub_delay * 100;
 	fprintf(fd,"\t<SYNC Start=%lu>\n"
 		    "\t  <P>", temp * 10);
-	
+
 	for(j=0;j<onesub->lines;j++)
 	    fprintf(fd,"%s%s",j ? "<br>" : "", onesub->text[j]);
 

Modified: trunk/subreader.h
==============================================================================
--- trunk/subreader.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/subreader.h	Wed May 13 04:58:57 2009	(r29305)
@@ -46,7 +46,7 @@ typedef struct {
 
     unsigned long start;
     unsigned long end;
-    
+
     char *text[SUB_MAX_TEXT];
     double endpts[SUB_MAX_TEXT];
     unsigned char alignment;
@@ -55,7 +55,7 @@ typedef struct {
 typedef struct {
     subtitle *subtitles;
     char *filename;
-    int sub_uses_time; 
+    int sub_uses_time;
     int sub_num;          // number of subtitle structs
     int sub_errs;
 } sub_data;

Modified: trunk/vidix/AsmMacros.h
==============================================================================
--- trunk/vidix/AsmMacros.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/AsmMacros.h	Wed May 13 04:58:57 2009	(r29305)
@@ -2,24 +2,24 @@
 /*
  * (c) Copyright 1993,1994 by David Wexelblat <dwex at xfree86.org>
  *
- * Permission is hereby granted, free of charge, to any person obtaining a 
- * copy of this software and associated documentation files (the "Software"), 
- * to deal in the Software without restriction, including without limitation 
- * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
- * and/or sell copies of the Software, and to permit persons to whom the 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
  * Software is furnished to do so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in
  * all copies or substantial portions of the Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL 
- * DAVID WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DAVID WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
- * 
+ *
  * Except as contained in this notice, the name of David Wexelblat shall not be
  * used in advertising or otherwise to promote the sale, use or other dealings
  * in this Software without prior written authorization from David Wexelblat.
@@ -28,32 +28,32 @@
 /*
  * Copyright 1997
  * Digital Equipment Corporation. All rights reserved.
- * This software is furnished under license and may be used and copied only in 
- * accordance with the following terms and conditions.  Subject to these 
- * conditions, you may download, copy, install, use, modify and distribute 
- * this software in source and/or binary form. No title or ownership is 
+ * This software is furnished under license and may be used and copied only in
+ * accordance with the following terms and conditions.  Subject to these
+ * conditions, you may download, copy, install, use, modify and distribute
+ * this software in source and/or binary form. No title or ownership is
  * transferred hereby.
  *
- * 1) Any source code used, modified or distributed must reproduce and retain 
+ * 1) Any source code used, modified or distributed must reproduce and retain
  *    this copyright notice and list of conditions as they appear in the source
  *    file.
  *
- * 2) No right is granted to use any trade name, trademark, or logo of Digital 
- *    Equipment Corporation. Neither the "Digital Equipment Corporation" name 
- *    nor any trademark or logo of Digital Equipment Corporation may be used 
- *    to endorse or promote products derived from this software without the 
+ * 2) No right is granted to use any trade name, trademark, or logo of Digital
+ *    Equipment Corporation. Neither the "Digital Equipment Corporation" name
+ *    nor any trademark or logo of Digital Equipment Corporation may be used
+ *    to endorse or promote products derived from this software without the
  *    prior written permission of Digital Equipment Corporation.
  *
- * 3) This software is provided "AS-IS" and any express or implied warranties, 
- *    including but not limited to, any implied warranties of merchantability, 
- *    fitness for a particular purpose, or non-infringement are disclaimed. In 
- *    no event shall DIGITAL be liable for any damages whatsoever, and in 
- *    particular, DIGITAL shall not be liable for special, indirect, 
- *    consequential, or incidental damages or damages for 
- *    lost profits, loss of revenue or loss of use, whether such damages arise 
- *    in contract, 
- *    negligence, tort, under statute, in equity, at law or otherwise, even if 
- *    advised of the possibility of such damage. 
+ * 3) This software is provided "AS-IS" and any express or implied warranties,
+ *    including but not limited to, any implied warranties of merchantability,
+ *    fitness for a particular purpose, or non-infringement are disclaimed. In
+ *    no event shall DIGITAL be liable for any damages whatsoever, and in
+ *    particular, DIGITAL shall not be liable for special, indirect,
+ *    consequential, or incidental damages or damages for
+ *    lost profits, loss of revenue or loss of use, whether such damages arise
+ *    in contract,
+ *    negligence, tort, under statute, in equity, at law or otherwise, even if
+ *    advised of the possibility of such damage.
  *
  */
 

Modified: trunk/vidix/cyberblade_vid.c
==============================================================================
--- trunk/vidix/cyberblade_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/cyberblade_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -59,7 +59,7 @@ static FILE *logfile=0;
 #define LOGWRITE(x)
 #endif
 
-/* Helper functions for reading registers. */    
+/* Helper functions for reading registers. */
 
 static void CROUTW(int reg,int val)
 {
@@ -159,7 +159,7 @@ static int cyberblade_probe(int verbose,
 
 static int cyberblade_init(void)
 {
-	cyberblade_mem = map_phys_mem(pci_info.base0, 0x800000); 
+	cyberblade_mem = map_phys_mem(pci_info.base0, 0x800000);
 	enable_app_io();
 	save_colourkey[0]=SRINB(0x50);
 	save_colourkey[1]=SRINB(0x51);
@@ -191,7 +191,7 @@ static void cyberblade_destroy(void)
 	SROUTB(0x56,save_colourkey[5]);
 	SROUTB(0x11, protect);
 	disable_app_io();
-	unmap_phys_mem(cyberblade_mem, 0x800000); 
+	unmap_phys_mem(cyberblade_mem, 0x800000);
 }
 
 
@@ -441,19 +441,19 @@ static int cyberblade_config_playback(vi
     			Overflow=CRINB(0x07);
     			VDisp |= (Overflow & 2) <<7;
     			VDisp |= (Overflow & 0x40) << 3;
- 
+
     			TVHTotal=CRINB(0xe0)*8;
     			TVVTotal=CRINB(0xe6);
     			TVOverflow=CRINB(0xe7);
     			if(TVOverflow&0x20) TVVTotal|=512;
     			if(TVOverflow&0x01) TVVTotal|=256;
     			TVHTotal+=40; TVVTotal+=2;
- 
+
     			TVHSyncStart=CRINB(0xe4)*8;
     			TVVSyncStart=CRINB(0xf0);
     			if(TVOverflow&0x80) TVVSyncStart|=512;
 			if(TVOverflow&0x04) TVVSyncStart|=256;
- 
+
 			HWinStart=(TVHTotal-HDisp)&15;
 			HWinStart|=(HTotal-HDisp)&15;
 			HWinStart+=(TVHTotal-TVHSyncStart)-49;
@@ -465,7 +465,7 @@ static int cyberblade_config_playback(vi
 		}
                 VWinStart=(VTotal-VSync)-8;
 
-		printf("[cyberblade] HTotal: 0x%x, HSStart: 0x%x\n",HTotal,HSync); 
+		printf("[cyberblade] HTotal: 0x%x, HSStart: 0x%x\n",HTotal,HSync);
 		printf("  VTotal: 0x%x, VStart: 0x%x\n",VTotal,VSync);
 		tx1=HWinStart+info->dest.x;
 		ty1=VWinStart+info->dest.y;
@@ -562,7 +562,7 @@ static int cyberblade_playback_on(void)
 
 static int cyberblade_playback_off(void)
 {
-        LOGWRITE("Disable overlay\n"); 
+        LOGWRITE("Disable overlay\n");
 	CROUTB(0x8E, 0xc4); /* VDE Flags*/
 
 	return 0;
@@ -572,7 +572,7 @@ static int cyberblade_playback_off(void)
 static int cyberblade_frame_sel(unsigned int frame)
 {
 	int protect;
-        LOGWRITE("Frame select\n"); 
+        LOGWRITE("Frame select\n");
 	protect=SRINB(0x11);
 	SROUTB(0x11, 0x92);
 	/* Set overlay address to that of selected frame */

Modified: trunk/vidix/dha.c
==============================================================================
--- trunk/vidix/dha.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/dha.c	Wed May 13 04:58:57 2009	(r29305)
@@ -90,7 +90,7 @@
 static int mem_fd = -1;
 
 void *map_phys_mem(unsigned long base, unsigned long size)
-{    
+{
 #if ARCH_ALPHA
 /* TODO: move it into sysdep */
   base += bus_base();
@@ -121,12 +121,12 @@ dha_helper_way:
   else
   {
     dhahelper_memory_t mem_req;
-    
+
     mem_req.operation = MEMORY_OP_MAP;
     mem_req.start = base;
     mem_req.offset = 0;
     mem_req.size = size;
-    
+
     if (ioctl(mem_fd, DHAHELPER_MEMORY, &mem_req) < 0)
     {
 	perror("libdha: DHA kernelhelper failed");
@@ -176,10 +176,10 @@ void unmap_phys_mem(void *ptr, unsigned 
       perror("libdha: unmapping memory failed");
       return;
   }
-  
+
   close(mem_fd);
   mem_fd = -1;
-  
+
   return;
 }
 

Modified: trunk/vidix/dhahelper/dhahelper.c
==============================================================================
--- trunk/vidix/dhahelper/dhahelper.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/dhahelper/dhahelper.c	Wed May 13 04:58:57 2009	(r29305)
@@ -34,10 +34,10 @@
 
     Usage:
 	mknod -m 666 /dev/dhahelper c 180 0
-	
+
 	Also you can change the major number, setting the "dhahelper_major"
 	module parameter, the default is 180, specified in dhahelper.h.
-	
+
 	Note: do not use other than minor==0, the module forbids it.
 
     TODO:
@@ -236,7 +236,7 @@ static int dhahelper_ioctl(struct inode 
 		    printk(KERN_ERR "dhahelper: failed copy to userspace\n");
 		return -EFAULT;
 	    }
-	    
+
 	    break;
 	}
 	case DHAHELPER_MEMORY:
@@ -249,7 +249,7 @@ static int dhahelper_ioctl(struct inode 
 		    printk(KERN_ERR "dhahelper: failed copy from userspace\n");
 		return -EFAULT;
 	    }
-	    
+
 	    switch(mem.operation)
 	    {
 		case MEMORY_OP_MAP:
@@ -271,14 +271,14 @@ static int dhahelper_ioctl(struct inode 
 			    mem.operation);
 		    return -EINVAL;
 	    }
-	    
+
 	    if (copy_to_user((dhahelper_memory_t *)arg, &mem, sizeof(dhahelper_memory_t)))
 	    {
 		if (dhahelper_verbosity > 0)
 		    printk(KERN_ERR "dhahelper: failed copy to userspace\n");
 		return -EFAULT;
 	    }
-	    
+
 	    break;
 	}
 	default:
@@ -298,11 +298,11 @@ static int dhahelper_mmap(struct file *f
 	    printk(KERN_ERR "dhahelper: mapping not requested before mmap\n");
 	return -EFAULT;
     }
-    
+
     if (dhahelper_verbosity > 1)
 	printk(KERN_INFO "dhahelper: mapping %x (size: %x)\n",
 	    last_mem_request.start+last_mem_request.offset, last_mem_request.size);
-    
+
     if (remap_page_range(0, last_mem_request.start + last_mem_request.offset,
 	last_mem_request.size, vma->vm_page_prot))
     {
@@ -342,7 +342,7 @@ static struct file_operations dhahelper_
 
 #if KERNEL_VERSION < KERNEL_VERSION(2,4,0)
 int init_module(void)
-#else 
+#else
 static int __init init_dhahelper(void)
 #endif
 {
@@ -355,7 +355,7 @@ static int __init init_dhahelper(void)
 		dhahelper_major);
 	return -EIO;
     }
-    
+
     return 0;
 }
 

Modified: trunk/vidix/dhahelper/test.c
==============================================================================
--- trunk/vidix/dhahelper/test.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/dhahelper/test.c	Wed May 13 04:58:57 2009	(r29305)
@@ -27,7 +27,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <sys/mman.h>
- 
+
 #include "dhahelper.h"
 
 int main(int argc, char *argv[])
@@ -58,13 +58,13 @@ int main(int argc, char *argv[])
 	printf("ret: %s\n", strerror(errno));
 
 	mem.ret = (int)mmap(NULL, (size_t)mem.size, PROT_READ, MAP_SHARED, fd, (off_t)0);
-	printf("allocated to %x\n", mem.ret); 
+	printf("allocated to %x\n", mem.ret);
 
 	if (argc > 1)
 	    if (mem.ret != 0)
 	    {
  		int i;
- 
+
 		for (i = 0; i < 256; i++)
 		    printf("[%x] ", *(int *)(mem.ret+i));
 		printf("\n");

Modified: trunk/vidix/dhahelperwin/dhahelper.c
==============================================================================
--- trunk/vidix/dhahelperwin/dhahelper.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/dhahelperwin/dhahelper.c	Wed May 13 04:58:57 2009	(r29305)
@@ -87,7 +87,7 @@ STDCALL NTSTATUS DriverEntry (IN PDRIVER
   // can make requests to this device).
 
   ntStatus = IoCreateDevice(DriverObject,0,&DeviceNameUnicodeString,FILE_DEVICE_DHAHELPER,0,TRUE,&DeviceObject);
-	
+
   if (NT_SUCCESS(ntStatus)){
     // Create dispatch points for device control, create, close.
     DriverObject->MajorFunction[IRP_MJ_CREATE] =
@@ -134,7 +134,7 @@ static STDCALL NTSTATUS dhahelperdispatc
 
   Irp->IoStatus.Status      = STATUS_SUCCESS;
   Irp->IoStatus.Information = 0;
-  
+
   IrpStack = IoGetCurrentIrpStackLocation(Irp);
 
   // Get the pointer to the input/output buffer and it's length
@@ -225,7 +225,7 @@ static STDCALL void dhahelperunload(IN P
   NTSTATUS ntStatus=STATUS_SUCCESS;
   OutputDebugString ("dhahelper: entering dhahelperunload");
   OutputDebugString ("dhahelper: unmapping remaining memory");
-  
+
   while(alloccount && (ntStatus==STATUS_SUCCESS))ntStatus = UnmapPhysicalMemory(alloclist[alloccount-1].UserVirtualAddress);
   RtlInitUnicodeString (&DeviceLinkUnicodeString, L"\\DosDevices\\DHAHELPER");
   ntStatus = IoDeleteSymbolicLink (&DeviceLinkUnicodeString);
@@ -260,7 +260,7 @@ static STDCALL NTSTATUS MapPhysicalMemor
   PVOID UserVirtualAddress=NULL;
   PHYSICAL_ADDRESS   pStartPhysAddress;
   OutputDebugString ("dhahelper: entering MapPhysicalMemoryToLinearSpace");
-    
+
 #ifdef _WIN64
   pStartPhysAddress.QuadPart = (ULONGLONG)pPhysAddress;
 #else
@@ -273,7 +273,7 @@ static STDCALL NTSTATUS MapPhysicalMemor
     if(!SystemVirtualAddress){
       OutputDebugString("dhahelper: MmMapIoSpace failed");
       return STATUS_INVALID_PARAMETER;
-    } 
+    }
     OutputDebugString("dhahelper: SystemVirtualAddress 0x%x",SystemVirtualAddress);
     Mdl=IoAllocateMdl(SystemVirtualAddress, PhysMemSizeInBytes, FALSE, FALSE,NULL);
     if(!Mdl){
@@ -293,22 +293,22 @@ static STDCALL NTSTATUS MapPhysicalMemor
     }
     OutputDebugString("dhahelper: UserVirtualAddress 0x%x",UserVirtualAddress);
 #ifndef NO_SEH
-  }__except(EXCEPTION_EXECUTE_HANDLER){  
-       NTSTATUS           ntStatus; 
-       ntStatus = GetExceptionCode(); 
+  }__except(EXCEPTION_EXECUTE_HANDLER){
+       NTSTATUS           ntStatus;
+       ntStatus = GetExceptionCode();
        OutputDebugString("dhahelper: MapPhysicalMemoryToLinearSpace failed due to exception 0x%0x\n", ntStatus);
-       return ntStatus;       
+       return ntStatus;
   }
 #endif
 
-  
+
   OutputDebugString("dhahelper: adding data to internal allocation list");
   alloclisttmp=MmAllocateNonCachedMemory((alloccount+1)*sizeof(alloc_priv));
-  
+
 
   if(!alloclisttmp){
     OutputDebugString("dhahelper: not enough memory to create temporary allocation list");
-    MmUnmapLockedPages(UserVirtualAddress, Mdl); 
+    MmUnmapLockedPages(UserVirtualAddress, Mdl);
     IoFreeMdl(Mdl);
     return STATUS_INSUFFICIENT_RESOURCES;
   }
@@ -322,9 +322,9 @@ static STDCALL NTSTATUS MapPhysicalMemor
   alloclist[alloccount].UserVirtualAddress=UserVirtualAddress;
   alloclist[alloccount].PhysMemSizeInBytes=PhysMemSizeInBytes;
   ++alloccount;
-  
-   *PhysMemLin=UserVirtualAddress;	
-  
+
+   *PhysMemLin=UserVirtualAddress;
+
   OutputDebugString("dhahelper: leaving MapPhysicalMemoryToLinearSpace");
   return STATUS_SUCCESS;
 }
@@ -338,7 +338,7 @@ static STDCALL NTSTATUS UnmapPhysicalMem
     OutputDebugString("dhahelper: UnmapPhysicalMemory: nothing todo -> leaving...");
     return STATUS_SUCCESS;
   }
- 
+
   for(i=0;i<alloccount;i++){
     if(alloclist[i].UserVirtualAddress!=UserVirtualAddress){
       if(x!=i){
@@ -346,7 +346,7 @@ static STDCALL NTSTATUS UnmapPhysicalMem
        alloclist[x].SystemVirtualAddress=alloclist[i].SystemVirtualAddress;
        alloclist[x].UserVirtualAddress=alloclist[i].UserVirtualAddress;
        alloclist[x].PhysMemSizeInBytes=alloclist[i].PhysMemSizeInBytes;
- 
+
       }
       x++;
     }
@@ -355,23 +355,23 @@ static STDCALL NTSTATUS UnmapPhysicalMem
 #ifndef NO_SEH
         __try {
 #endif
-          MmUnmapLockedPages(alloclist[x].UserVirtualAddress, alloclist[x].Mdl); 
+          MmUnmapLockedPages(alloclist[x].UserVirtualAddress, alloclist[x].Mdl);
           IoFreeMdl(alloclist[x].Mdl);
-          MmUnmapIoSpace(alloclist[x].SystemVirtualAddress,alloclist[x].PhysMemSizeInBytes);       
+          MmUnmapIoSpace(alloclist[x].SystemVirtualAddress,alloclist[x].PhysMemSizeInBytes);
 #ifndef NO_SEH
-        }__except(EXCEPTION_EXECUTE_HANDLER){  
-          NTSTATUS           ntStatus; 
-          ntStatus = GetExceptionCode(); 
+        }__except(EXCEPTION_EXECUTE_HANDLER){
+          NTSTATUS           ntStatus;
+          ntStatus = GetExceptionCode();
           OutputDebugString("dhahelper: UnmapPhysicalMemory failed due to exception 0x%0x (Mdl 0x%x)\n", ntStatus,alloclist[x].Mdl);
-          return ntStatus;       
+          return ntStatus;
         }
 #endif
       }
       alloccounttmp--;
     }
-    
+
   }
-  
+
   if(alloccounttmp){
       alloc_priv* alloclisttmp;
       alloclisttmp=MmAllocateNonCachedMemory(alloccounttmp*sizeof(alloc_priv));
@@ -384,7 +384,7 @@ static STDCALL NTSTATUS UnmapPhysicalMem
       alloclist=alloclisttmp;
   }
   alloccount=alloccounttmp;
-  
+
   OutputDebugString("dhahelper: leaving UnmapPhysicalMemory");
   return STATUS_SUCCESS;
 }

Modified: trunk/vidix/dhahelperwin/dhasetup.c
==============================================================================
--- trunk/vidix/dhahelperwin/dhasetup.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/dhahelperwin/dhasetup.c	Wed May 13 04:58:57 2009	(r29305)
@@ -83,7 +83,7 @@ int main(int argc,char* argv[]){
       print_last_error("Unable to register DhaHelper Service");
       return 1;
     }
-	
+
     if(!StartService(hService, 0, NULL)){
        print_last_error("Error while starting service");
        return 1;

Modified: trunk/vidix/drivers.c
==============================================================================
--- trunk/vidix/drivers.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/drivers.c	Wed May 13 04:58:57 2009	(r29305)
@@ -50,7 +50,7 @@ extern VDXDriver unichrome_drv;
 static void vidix_register_driver (VDXDriver *drv)
 {
   VDXDriver **d;
-  
+
   d = &first_driver;
   while (*d != NULL)
     d = &(*d)->next;
@@ -125,7 +125,7 @@ static int vidix_probe_driver (VDXContex
               drv->name);
      return 0;
   }
-  
+
   if (verbose)
     printf ("vidixlib: %s probed o'k\n", drv->name);
 
@@ -145,7 +145,7 @@ static void vidix_list_drivers (void)
     vidix_capability_t cap;
     drv->get_caps (&cap);
     printf (" * %s - %s\n", drv->name, cap.name);
-    drv = drv->next; 
+    drv = drv->next;
   }
 }
 
@@ -160,7 +160,7 @@ int vidix_find_driver (VDXContext *ctx, 
     ctx->drv = NULL;
     return 0;
   }
-  
+
   drv = first_driver;
   while (drv)
   {

Modified: trunk/vidix/glint_regs.h
==============================================================================
--- trunk/vidix/glint_regs.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/glint_regs.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,7 +1,7 @@
 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/glint_regs.h,v 1.31 2001/12/08 16:01:52 alanh Exp $ */
 
 /*
- * glint register file 
+ * glint register file
  *
  * Copyright by Stefan Dirsch, Dirk Hohndel, Alan Hourihane
  * Authors: Alan Hourihane, <alanh at fairlite.demon.co.uk>
@@ -12,7 +12,7 @@
  * this work is sponsored by S.u.S.E. GmbH, Fuerth, Elsa GmbH, Aachen and
  * Siemens Nixdorf Informationssysteme
  *
- */ 
+ */
 
 #ifndef MPLAYER_GLINT_REGS_H
 #define MPLAYER_GLINT_REGS_H
@@ -45,7 +45,7 @@
 #define CFGIntLine							0x3c
 
 /* Base Adresses */
-#define CFGBaseAddr0							0x10 
+#define CFGBaseAddr0							0x10
 #define CFGBaseAddr1							0x14
 #define CFGBaseAddr2							0x18
 #define CFGBaseAddr3							0x1C
@@ -164,7 +164,7 @@
     #define RowCharge4    0 << 10
     #define TimeRCD4      0 <<  7
     #define TimeRC4       0x4 << 3
-    #define TimeRP4       1 
+    #define TimeRP4       1
     #define CAS3Latency4  0 << 16
     #define BootAdress4   0x10
     #define NumberBanks4  1 << 29
@@ -474,7 +474,7 @@
  * GLINT Core Registers *
  ************************/
 
-#define GLINT_TAG(major,offset)		(((major) << 7) | ((offset) << 3)) 
+#define GLINT_TAG(major,offset)		(((major) << 7) | ((offset) << 3))
 #define GLINT_TAG_ADDR(major,offset)	(0x8000 | GLINT_TAG((major),(offset)))
 
 #define UNIT_DISABLE							0
@@ -691,7 +691,7 @@
 	#define CDDA_FlatShading			                0
 	/* UNIT_DISABLE			*/
 	#define CDDA_GouraudShading					0x0002
-        
+
 
 #define ConstantColor				GLINT_TAG_ADDR(0x0f,0x0d)
 #define GLINTColor				GLINT_TAG_ADDR(0x0f,0x0e)
@@ -867,7 +867,7 @@
         #define GWIN_OverrideWriteFilter (1 << 19)
 
 	/* ??? is this needed, set by permedia (2) modules */
-        #define GWIN_DisableLBUpdate    0x40000 
+        #define GWIN_DisableLBUpdate    0x40000
 
 #define StencilMode				GLINT_TAG_ADDR(0x13,0x01)
 #define StencilData				GLINT_TAG_ADDR(0x13,0x02)
@@ -1100,8 +1100,8 @@
 	#define DM_DiamondExit					0x0800
 	#define DM_NoDraw					0x1000
 	#define DM_ClampEnable					0x2000
-	#define DM_ClampedTexParMode				0x4000 
-	#define DM_NormalizedTexParMode				0xC000 
+	#define DM_ClampedTexParMode				0x4000
+	#define DM_NormalizedTexParMode				0xC000
 
 
         #define DDCMD_AreaStrippleEnable                        0x0001
@@ -1194,7 +1194,7 @@ do{								\
         unsigned char tmp;                                      \
 	while(delay--){tmp = GLINT_READ_REG(InFIFOSpace);};     \
 	} while(0)
-        
+
 #define GLINT_MASK_WRITE_REG(v,m,r)				\
 	GLINT_WRITE_REG((GLINT_READ_REG(r)&(m))|(v),r)
 
@@ -1240,7 +1240,7 @@ do{								\
 		pGlint->ROP = rop;				\
 	}
 #endif
-	
+
 #define CHECKCLIPPING						\
 {								\
 	if (pGlint->ClippingOn) {				\
@@ -1258,7 +1258,7 @@ do{								\
 		REPLICATE(planemask); 				\
 		GLINT_WRITE_REG(planemask, FBHardwareWriteMask);\
 	}							\
-} 
+}
 #else
 #define DO_PLANEMASK(planemask)					\
 	{							\

Modified: trunk/vidix/ivtv_vid.c
==============================================================================
--- trunk/vidix/ivtv_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/ivtv_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -145,7 +145,7 @@ static void de_macro_uv(unsigned char *s
 	unsigned char *dst_2;
 	unsigned int h_tail, w_tail;
 	unsigned int h_size;
-	
+
 	// The uv plane is half the size of the y plane, so 'correct' all dimensions.
 	w /= 2;
 	h /= 2;
@@ -263,7 +263,7 @@ int ivtv_probe(int verbose, int force)
 			}
 		}
 	}
-	
+
 	if(ivtv_verbose)
 		printf(IVTV_MSG"Can't find chip\n");
 	return ENXIO;
@@ -304,7 +304,7 @@ card_found:
 	/* Try to find YUV device */
 	unsigned char yuv_device_number = 48, yuv_device = 48 + fb_number;
 	char yuv_device_name[] = "/dev/videoXXX\0";
-	
+
 	do {
 		sprintf(yuv_device_name, "/dev/video%u", yuv_device);
 		yuvdev = open(yuv_device_name, O_RDWR);
@@ -380,7 +380,7 @@ void ivtv_destroy(void)
 	if(ivtv_verbose)
 		printf(IVTV_MSG"destroy\n");
 	if(-1 != yuvdev)
-		close(yuvdev);	
+		close(yuvdev);
 	if(-1 != fbdev)
 		close(fbdev);
 	if(NULL != outbuf)
@@ -401,7 +401,7 @@ int ivtv_query_fourcc(vidix_fourcc_t *to
 {
 	if(ivtv_verbose)
 		printf(IVTV_MSG"query fourcc (%x)\n", to->fourcc);
-	
+
 	int supports = 0;
 	switch(to->fourcc)
 	{
@@ -411,7 +411,7 @@ int ivtv_query_fourcc(vidix_fourcc_t *to
 	default:
 		supports = 0;
 	}
-	
+
 	if(!supports) {
 		to->depth = to->flags = 0;
 		return ENOTSUP;
@@ -429,12 +429,12 @@ int ivtv_config_playback(vidix_playback_
 		printf(IVTV_MSG"config playback\n");
 
 	if(2 == ivtv_verbose){
-		printf(IVTV_MSG"src : x:%d y:%d w:%d h:%d\n", 
+		printf(IVTV_MSG"src : x:%d y:%d w:%d h:%d\n",
 			info->src.x, info->src.y, info->src.w, info->src.h);
-		printf(IVTV_MSG"dest: x:%d y:%d w:%d h:%d\n", 
+		printf(IVTV_MSG"dest: x:%d y:%d w:%d h:%d\n",
 			info->dest.x, info->dest.y, info->dest.w, info->dest.h);
 	}
-	
+
 	memcpy(&destVideo, &info->dest, sizeof(vidix_rect_t));
 	memcpy(&srcVideo, &info->src, sizeof(vidix_rect_t));
 
@@ -447,7 +447,7 @@ int ivtv_config_playback(vidix_playback_
 	info->offset.y = 0;
 	info->offset.u = info->src.w * info->src.h;
 	info->offset.v = info->offset.u + ((info->src.w * info->src.h)/4);
-	info->dga_addr = memBase = malloc(info->num_frames*info->frame_size);   
+	info->dga_addr = memBase = malloc(info->num_frames*info->frame_size);
 	if(ivtv_verbose)
 		printf(IVTV_MSG"frame_size: %d, dga_addr: %p\n",
 	info->frame_size, info->dga_addr);
@@ -477,9 +477,9 @@ int ivtv_playback_on(void)
 
 int ivtv_playback_off(void)
 {
-	if(ivtv_verbose) 
+	if(ivtv_verbose)
 		printf(IVTV_MSG"playback off\n");
-	
+
 	if(0 == alpha_disable) {
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
 		if (-1 != fbdev) {

Modified: trunk/vidix/mach64.h
==============================================================================
--- trunk/vidix/mach64.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/mach64.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1633,7 +1633,7 @@ This means that this sources don't suppo
 #	define GRAPHIC_KEY_FN_EQ		0x00000050L // EQ and NE are exchanged relative to radeon
 #	define CMP_MIX_MASK			0x00000100L
 #	define CMP_MIX_OR			0x00000000L
-#	define CMP_MIX_AND			0x00000100L   
+#	define CMP_MIX_AND			0x00000100L
 /*	?			BlockIOTag(0x107u) */
 #define OVERLAY_SCALE_INC	BlockIOTag(0x108u)
 #define OVERLAY_SCALE_CNTL	BlockIOTag(0x109u)

Modified: trunk/vidix/mach64_vid.c
==============================================================================
--- trunk/vidix/mach64_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/mach64_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -78,17 +78,17 @@ typedef struct bes_registers_s
   uint32_t key_cntl;
   uint32_t test;
   /* Configurable stuff */
-  
+
   int brightness;
   int saturation;
-  
+
   int ckey_on;
   uint32_t graphics_key_clr;
   uint32_t graphics_key_msk;
-  
+
   int deinterlace_on;
   uint32_t deinterlace_pattern;
-  
+
 } bes_registers_t;
 
 static bes_registers_t besr;
@@ -104,7 +104,7 @@ typedef struct video_registers_s
 static vidix_grkey_t mach64_grkey;
 
 #define DECLARE_VREG(name) { #name, name, 0 }
-static video_registers_t vregs[] = 
+static video_registers_t vregs[] =
 {
   DECLARE_VREG(OVERLAY_SCALE_INC),
   DECLARE_VREG(OVERLAY_Y_X_START),
@@ -170,11 +170,11 @@ static __inline__ uint32_t INPLL(uint32_
 {
     uint32_t res;
     uint32_t in;
-    
+
     in= INREG(CLOCK_CNTL);
     in &= ~((PLL_WR_EN | PLL_ADDR)); //clean some stuff
     OUTREG(CLOCK_CNTL, in | (addr<<10));
-    
+
     /* read the register value */
     res = (INREG(CLOCK_CNTL)>>16)&0xFF;
     return res;
@@ -198,12 +198,12 @@ static __inline__ void OUTPLL(uint32_t a
 		OUTPLL(addr, _tmp);					\
 	} while (0)
 
-static void mach64_fifo_wait(unsigned n) 
+static void mach64_fifo_wait(unsigned n)
 {
     while ((INREG(FIFO_STAT) & 0xffff) > ((uint32_t)(0x8000 >> n)));
 }
 
-static void mach64_wait_for_idle( void ) 
+static void mach64_wait_for_idle( void )
 {
     mach64_fifo_wait(16);
     while ((INREG(GUI_STAT) & 1)!= 0);
@@ -296,26 +296,26 @@ static int mach64_get_vert_stretch(void)
     }
 
     lcd_index= INREG(LCD_INDEX);
-    
+
     vert_stretching= ATIGetMach64LCDReg(LCD_VERT_STRETCHING);
     if(!(vert_stretching&VERT_STRETCH_EN)) ret= 1<<16;
     else
     {
     	int panel_size;
-        
+
 	ext_vert_stretch= ATIGetMach64LCDReg(LCD_EXT_VERT_STRETCH);
 	panel_size= (ext_vert_stretch&VERT_PANEL_SIZE)>>11;
 	panel_size++;
-	
+
 	ret= ((yres<<16) + (panel_size>>1))/panel_size;
     }
-      
+
 //    lcd_gen_ctrl = ATIGetMach64LCDReg(LCD_GEN_CNTL);
-    
+
     OUTREG(LCD_INDEX, lcd_index);
-    
+
     if(verbosity > 0) printf("[mach64] vertical stretching factor= %d\n", ret);
-    
+
     return ret;
 }
 
@@ -353,7 +353,7 @@ static void mach64_vid_dump_regs( void )
 }
 
 
-static unsigned short ati_card_ids[] = 
+static unsigned short ati_card_ids[] =
 {
  DEVICE_ATI_215CT_MACH64_CT,
  DEVICE_ATI_210888CX_MACH64_CX,
@@ -475,7 +475,7 @@ static int mach64_init(void)
     printf("[mach64] Driver was not probed but is being initializing\n");
     return EINTR;
   }
-  
+
   if((mach64_mmio_base = map_phys_mem(pci_info.base2,0x1000))==(void *)-1) return ENOMEM;
   mach64_wait_for_idle();
   mach64_ram_size = INREG(MEM_CNTL) & CTL_MEM_SIZEB;
@@ -492,7 +492,7 @@ static int mach64_init(void)
   /* save this */
   mach64_wait_for_idle();
   SAVED_OVERLAY_GRAPHICS_KEY_CLR = INREG(OVERLAY_GRAPHICS_KEY_CLR);
-  
+
   /* check if planar formats are supported */
   supports_planar=0;
   mach64_wait_for_idle();
@@ -510,7 +510,7 @@ static int mach64_init(void)
   }
   if(supports_planar)	printf("[mach64] Planar YUV formats are supported :)\n");
   else			printf("[mach64] Planar YUV formats are not supported :(\n");
-  
+
   if(   mach64_cap.device_id==DEVICE_ATI_RAGE_MOBILITY_P_M
      || mach64_cap.device_id==DEVICE_ATI_RAGE_MOBILITY_P_M2
      || mach64_cap.device_id==DEVICE_ATI_RAGE_MOBILITY_L
@@ -518,7 +518,7 @@ static int mach64_init(void)
          supports_lcd_v_stretch=1;
   else
          supports_lcd_v_stretch=0;
-  
+
   reset_regs();
   mach64_vid_make_default();
 
@@ -531,7 +531,7 @@ static void mach64_destroy(void)
   /*restore this*/
   mach64_wait_for_idle();
   OUTREG(OVERLAY_GRAPHICS_KEY_CLR,SAVED_OVERLAY_GRAPHICS_KEY_CLR);
-  
+
   unmap_phys_mem(mach64_mem_base,mach64_ram_size);
   unmap_phys_mem(mach64_mmio_base,0x1000);
 }
@@ -616,7 +616,7 @@ static void mach64_compute_framesize(vid
 		info->frame_size = (awidth*info->src.h);
 		break;
     /* YUY2 YVYU, RGB15, RGB16 */
-    default:	
+    default:
 		awidth = (info->src.w*2 + (pitch-1)) & ~(pitch-1);
 		info->frame_size = (awidth*info->src.h);
 		break;
@@ -657,7 +657,7 @@ static void mach64_vid_display_video( vo
     OUTREG(SCALER_BUF1_OFFSET_U,		mach64_buffer_base[0][1]);
     OUTREG(SCALER_BUF1_OFFSET_V,		mach64_buffer_base[0][2]);
     mach64_wait_vsync();
-    
+
     mach64_fifo_wait(4);
     OUTREG(OVERLAY_SCALE_CNTL, 0xC4000003);
 // OVERLAY_SCALE_CNTL bits & what they seem to affect
@@ -742,16 +742,16 @@ static int mach64_vid_init_video( vidix_
 	case IMGFMT_IYUV:
 	case IMGFMT_YV12:
 	case IMGFMT_I420: pitch = (src_w + mpitch) & ~mpitch;
-			  config->dest.pitch.y = 
-			  config->dest.pitch.u = 
+			  config->dest.pitch.y =
+			  config->dest.pitch.u =
 			  config->dest.pitch.v = best_pitch;
 			  besr.vid_buf_pitch= pitch;
 			  break;
 	/* RGB 4:4:4:4 */
 	case IMGFMT_RGB32:
 	case IMGFMT_BGR32: pitch = (src_w*4 + mpitch) & ~mpitch;
-			  config->dest.pitch.y = 
-			  config->dest.pitch.u = 
+			  config->dest.pitch.y =
+			  config->dest.pitch.u =
 			  config->dest.pitch.v = best_pitch;
 			  besr.vid_buf_pitch= pitch>>2;
 			  break;
@@ -771,29 +771,29 @@ static int mach64_vid_init_video( vidix_
 
     if(verbosity > 0) printf("[mach64] ecp: %d\n", ecp);
     v_inc = src_h * mach64_get_vert_stretch();
-    
+
     if(mach64_is_interlace()) v_inc<<=1;
     if(mach64_is_dbl_scan() ) v_inc>>=1;
     v_inc>>=4; // convert 16.16 -> 20.12
     v_inc/= dest_h;
-    
+
     h_inc = (src_w << (12+ecp)) / dest_w;
     /* keep everything in 16.16 */
     config->offsets[0] = 0;
     for(i=1; i<config->num_frames; i++)
         config->offsets[i] = config->offsets[i-1] + config->frame_size;
-    
+
 	/*FIXME the left / top stuff is broken (= zoom a src rectangle from a larger one)
 		1. the framesize isn't known as the outer src rectangle dimensions aren't known
 		2. the mach64 needs aligned addresses so it can't work anyway
 		   -> so we could shift the outer buffer to compensate that but that would mean
 		      alignment problems for the code which writes into it
 	*/
-    
+
     if(is_420)
     {
 	config->offset.y= 0;
-	config->offset.u= (pitch*src_h + 15)&~15; 
+	config->offset.u= (pitch*src_h + 15)&~15;
 	config->offset.v= (config->offset.u + (pitch*src_h>>2) + 15)&~15;
 
 	if(besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV)
@@ -803,7 +803,7 @@ static int mach64_vid_init_video( vidix_
 	  config->offset.u = config->offset.v;
 	  config->offset.v = tmp;
 	}
-		
+
 	src_offset_y= config->offset.y + top*pitch + left;
 	src_offset_u= config->offset.u + (top*pitch>>2) + (left>>1);
 	src_offset_v= config->offset.v + (top*pitch>>2) + (left>>1);
@@ -811,9 +811,9 @@ static int mach64_vid_init_video( vidix_
     else if(besr.fourcc == IMGFMT_YVU9)
     {
 	config->offset.y= 0;
-	config->offset.u= (pitch*src_h + 15)&~15; 
+	config->offset.u= (pitch*src_h + 15)&~15;
 	config->offset.v= (config->offset.u + (pitch*src_h>>4) + 15)&~15;
-	
+
 	src_offset_y= config->offset.y + top*pitch + left;
 	src_offset_u= config->offset.u + (top*pitch>>4) + (left>>1);
 	src_offset_v= config->offset.v + (top*pitch>>4) + (left>>1);
@@ -924,7 +924,7 @@ static int mach64_frame_sel(unsigned int
     uint32_t off[6];
     int i;
     int last_frame= (frame-1+num_mach64_buffers) % num_mach64_buffers;
-//printf("Selecting frame %d\n", frame);    
+//printf("Selecting frame %d\n", frame);
     /*
     buf3-5 always should point onto second buffer for better
     deinterlacing and TV-in
@@ -947,7 +947,7 @@ static int mach64_frame_sel(unsigned int
     OUTREG(SCALER_BUF1_OFFSET_U,	off[4]);
     OUTREG(SCALER_BUF1_OFFSET_V,	off[5]);
     if(num_mach64_buffers==2) mach64_wait_vsync(); //only wait for vsync if we do double buffering
-       
+
     if(verbosity > VERBOSE_LEVEL) mach64_vid_dump_regs();
     return 0;
 }

Modified: trunk/vidix/mga_vid.c
==============================================================================
--- trunk/vidix/mga_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/mga_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -172,12 +172,12 @@ typedef struct bes_registers_s
 	uint32_t beshiscal;
 	//BES Horizontal source start [10.14] (for scaling)
 	uint32_t beshsrcst;
-	//BES Horizontal source ending [10.14] (for scaling) 
+	//BES Horizontal source ending [10.14] (for scaling)
 	uint32_t beshsrcend;
-	//BES Horizontal source last 
+	//BES Horizontal source last
 	uint32_t beshsrclst;
 
-	
+
 	//BES Vertical coord
 	uint32_t besvcoord;
 	//BES Vertical inverse scaling [5.14]
@@ -248,7 +248,7 @@ static crtc2_registers_t cregs;
 #ifdef CRTC2
 /*CRTC2 registers*/
 #define XMISCCTRL  0x1e
-#define C2CTL       0x3c10 
+#define C2CTL       0x3c10
 #define C2DATACTL   0x3c4c
 #define C2MISC      0x3c44
 #define C2HPARAM    0x3c14
@@ -279,7 +279,7 @@ static crtc2_registers_t cregs;
 #define BESA1CORG   0x3d10
 #define BESA1ORG    0x3d00
 
-#define BESA2C3ORG  0x3d64 
+#define BESA2C3ORG  0x3d64
 #define BESA2CORG   0x3d14
 #define BESA2ORG    0x3d04
 
@@ -315,7 +315,7 @@ static crtc2_registers_t cregs;
 static void crtc2_frame_sel(int frame)
 {
 switch(frame) {
-case 0:	
+case 0:
 	cregs.c2pl2startadd0=regs.besa1corg;
 	cregs.c2pl3startadd0=regs.besa1c3org;
 	cregs.c2startadd0=regs.besa1org;
@@ -353,7 +353,7 @@ static int mga_frame_select(unsigned int
 	//we don't need the vcount protection as we're only hitting
 	//one register (and it doesn't seem to be double buffered)
 	regs.besctl = (regs.besctl & ~0x07000000) + (mga_next_frame << 25);
-	writel( regs.besctl, mga_mmio_base + BESCTL ); 
+	writel( regs.besctl, mga_mmio_base + BESCTL );
 
 //	writel( regs.besglobctl + ((readl(mga_mmio_base + VCOUNT)+2)<<16),
 	writel( regs.besglobctl + (MGA_VSYNC_POS<<16),
@@ -374,7 +374,7 @@ static void mga_vid_write_regs(int resto
 			mga_mmio_base + BESGLOBCTL);
 
 	// color or coordinate keying
-	
+
 	if(restore && colkey_saved){
 	    // restore it
 	    colkey_saved=0;
@@ -382,7 +382,7 @@ static void mga_vid_write_regs(int resto
 		// Set color key registers:
 		writeb( XKEYOPMODE, mga_mmio_base + PALWTADD);
 		writeb( colkey_on, mga_mmio_base + X_DATAREG);
-		
+
 		writeb( XCOLKEY0RED, mga_mmio_base + PALWTADD);
 		writeb( colkey_color[0], mga_mmio_base + X_DATAREG);
 		writeb( XCOLKEY0GREEN, mga_mmio_base + PALWTADD);
@@ -407,7 +407,7 @@ static void mga_vid_write_regs(int resto
 		// Get color key registers:
 		writeb( XKEYOPMODE, mga_mmio_base + PALWTADD);
 		colkey_on=(unsigned char)readb(mga_mmio_base + X_DATAREG) & 1;
-		
+
 		writeb( XCOLKEY0RED, mga_mmio_base + PALWTADD);
 		colkey_color[0]=(unsigned char)readb(mga_mmio_base + X_DATAREG);
 		writeb( XCOLKEY0GREEN, mga_mmio_base + PALWTADD);
@@ -426,7 +426,7 @@ static void mga_vid_write_regs(int resto
 		writeb( XCOLMSK, mga_mmio_base + PALWTADD);
 		colkey_mask[3]=(unsigned char)readb(mga_mmio_base + X_DATAREG);
 	}
-	
+
 if(!restore){
 	writeb( XKEYOPMODE, mga_mmio_base + PALWTADD);
 	writeb( mga_grkey.ckey.op == CKEY_TRUE, mga_mmio_base + X_DATAREG);
@@ -435,7 +435,7 @@ if(!restore){
 		uint32_t r=0, g=0, b=0;
 
 		writeb( XMULCTRL, mga_mmio_base + PALWTADD);
-		switch (readb (mga_mmio_base + X_DATAREG)) 
+		switch (readb (mga_mmio_base + X_DATAREG))
 		{
 			case BPP_8:
 				/* Need to look up the color index, just using
@@ -467,7 +467,7 @@ if(!restore){
 		writeb( XKEYOPMODE, mga_mmio_base + PALWTADD);
 		writeb( 1, mga_mmio_base + X_DATAREG);
 
-		// Disable color keying on alpha channel 
+		// Disable color keying on alpha channel
 		writeb( XCOLMSK, mga_mmio_base + PALWTADD);
 		writeb( 0x00, mga_mmio_base + X_DATAREG);
 		writeb( X_COLKEY, mga_mmio_base + PALWTADD);
@@ -499,10 +499,10 @@ if(!restore){
 }
 
 	// Backend Scaler
-	writel( regs.besctl,      mga_mmio_base + BESCTL); 
+	writel( regs.besctl,      mga_mmio_base + BESCTL);
 	if(is_g400)
-		writel( regs.beslumactl,  mga_mmio_base + BESLUMACTL); 
-	writel( regs.bespitch,    mga_mmio_base + BESPITCH); 
+		writel( regs.beslumactl,  mga_mmio_base + BESLUMACTL);
+	writel( regs.bespitch,    mga_mmio_base + BESPITCH);
 
 	writel( regs.besa1org,    mga_mmio_base + BESA1ORG);
 	writel( regs.besa1corg,   mga_mmio_base + BESA1CORG);
@@ -512,7 +512,7 @@ if(!restore){
 	writel( regs.besb1corg,   mga_mmio_base + BESB1CORG);
 	writel( regs.besb2org,    mga_mmio_base + BESB2ORG);
 	writel( regs.besb2corg,   mga_mmio_base + BESB2CORG);
-	if(is_g400) 
+	if(is_g400)
 	{
 		writel( regs.besa1c3org,  mga_mmio_base + BESA1C3ORG);
 		writel( regs.besa2c3org,  mga_mmio_base + BESA2C3ORG);
@@ -525,7 +525,7 @@ if(!restore){
 	writel( regs.beshsrcst,   mga_mmio_base + BESHSRCST);
 	writel( regs.beshsrcend,  mga_mmio_base + BESHSRCEND);
 	writel( regs.beshsrclst,  mga_mmio_base + BESHSRCLST);
-	
+
 	writel( regs.besvcoord,   mga_mmio_base + BESVCOORD);
 	writel( regs.besviscal,   mga_mmio_base + BESVISCAL);
 
@@ -533,7 +533,7 @@ if(!restore){
 	writel( regs.besv1wght,   mga_mmio_base + BESV1WGHT);
 	writel( regs.besv2srclst, mga_mmio_base + BESV2SRCLST);
 	writel( regs.besv2wght,   mga_mmio_base + BESV2WGHT);
-	
+
 	//update the registers somewhere between 1 and 2 frames from now.
 	writel( regs.besglobctl + ((readl(mga_mmio_base + VCOUNT)+2)<<16),
 			mga_mmio_base + BESGLOBCTL);
@@ -562,7 +562,7 @@ if(!restore){
 	writel(cregs.c2pl2startadd0, mga_mmio_base + C2PL2STARTADD0);
 	writel(cregs.c2pl3startadd0, mga_mmio_base + C2PL3STARTADD0);
 	writel(cregs.c2spicstartadd0, mga_mmio_base + C2SPICSTARTADD0);
-#endif	
+#endif
 }
 
 #if MGA_ALLOW_IRQ
@@ -573,13 +573,13 @@ static void enable_irq(void)
 	cc = readl(mga_mmio_base + IEN);
 
 	writeb( 0x11, mga_mmio_base + CRTCX);
-	
+
 	writeb(0x20, mga_mmio_base + CRTCD );  /* clear 0, enable off */
 	writeb(0x00, mga_mmio_base + CRTCD );  /* enable on */
 	writeb(0x10, mga_mmio_base + CRTCD );  /* clear = 1 */
-	
+
 	writel( regs.besglobctl , mga_mmio_base + BESGLOBCTL);
-    	
+
 	return;
 }
 
@@ -598,16 +598,16 @@ void mga_handle_irq(int irq, void *dev_i
 
 		cc = readl(mga_mmio_base + STATUS);
 		if ( ! (cc & 0x10) ) return;  /* vsyncpen */
-	} 
+	}
 
 	regs.besctl = (regs.besctl & ~0x07000000) + (mga_next_frame << 25);
-	writel( regs.besctl, mga_mmio_base + BESCTL ); 
+	writel( regs.besctl, mga_mmio_base + BESCTL );
 
 #ifdef CRTC2
-// sem pridat vyber obrazku !!!!	
+// sem pridat vyber obrazku !!!!
 	crtc2_frame_sel(mga_next_frame);
 #endif
-	
+
 	if ( irq != -1 ) {
 		writeb( 0x11, mga_mmio_base + CRTCX);
 		writeb( 0, mga_mmio_base + CRTCD );
@@ -640,7 +640,7 @@ static int mga_config_playback(vidix_pla
 	unsigned int vsyncstart = vdispend + lower_margin;
 	unsigned int vsyncend = vsyncstart + vsync_len;
 	unsigned int vtotal = vsyncend + upper_margin;
-#endif 
+#endif
 
     if ((config->num_frames < 1) || (config->num_frames > 4))
     {
@@ -655,7 +655,7 @@ static int mga_config_playback(vidix_pla
     sh = config->src.h;
     dw = config->dest.w;
     dh = config->dest.h;
-    
+
     config->dest.pitch.y=32;
     config->dest.pitch.u=config->dest.pitch.v=32;
 
@@ -717,16 +717,16 @@ static int mga_config_playback(vidix_pla
     /* for G200 set Interleaved UV planes */
     if (!is_g400)
 	config->flags = VID_PLAY_INTERLEAVED_UV | INTERLEAVING_UV;
-	
-    //Setup the BES registers for a three plane 4:2:0 video source 
+
+    //Setup the BES registers for a three plane 4:2:0 video source
 
     regs.besglobctl = 0;
 
     switch(config->fourcc)
     {
-	case IMGFMT_YV12:	
-	case IMGFMT_I420:	
-	case IMGFMT_IYUV:	
+	case IMGFMT_YV12:
+	case IMGFMT_I420:
+	case IMGFMT_IYUV:
 	regs.besctl = 1         // BES enabled
                     + (0<<6)    // even start polarity
                     + (1<<10)   // x filtering enabled
@@ -736,7 +736,7 @@ static int mga_config_playback(vidix_pla
                     + (1<<18);  // dither enabled
         break;
 
-    case IMGFMT_YUY2:	
+    case IMGFMT_YUY2:
 	regs.besctl = 1         // BES enabled
                     + (0<<6)    // even start polarity
                     + (1<<10)   // x filtering enabled
@@ -748,7 +748,7 @@ static int mga_config_playback(vidix_pla
 	regs.besglobctl = 0;        // YUY2 format selected
         break;
 
-    case IMGFMT_UYVY:	
+    case IMGFMT_UYVY:
 	regs.besctl = 1         // BES enabled
                     + (0<<6)    // even start polarity
                     + (1<<10)   // x filtering enabled
@@ -772,19 +772,19 @@ static int mga_config_playback(vidix_pla
 	bestop = y > 0 ? y : 0;
 	regs.beshcoord = (besleft<<16) + (x + dw-1);
 	regs.besvcoord = (bestop<<16) + (y + dh-1);
-	
+
 	//Setup source dimensions
 	regs.beshsrclst  = (sw - 1) << 16;
-	regs.bespitch = (sw + 31) & ~31 ; 
-	
+	regs.bespitch = (sw + 31) & ~31 ;
+
 	//Setup horizontal scaling
 	ifactor = ((sw-1)<<14)/(dw-1);
 	ofsleft = besleft - x;
-		
+
 	regs.beshiscal = ifactor<<2;
 	regs.beshsrcst = (ofsleft*ifactor)<<2;
 	regs.beshsrcend = regs.beshsrcst + (((dw - ofsleft - 1) * ifactor) << 2);
-	
+
 	//Setup vertical scaling
 	ifactor = ((sh-1)<<14)/(dh-1);
 	ofstop = bestop - y;
@@ -802,9 +802,9 @@ if(config->fourcc==IMGFMT_YV12
  ||config->fourcc==IMGFMT_I420
  ){
         // planar YUV frames:
-	if (is_g400) 
+	if (is_g400)
 		baseadrofs = (((ofstop*regs.besviscal)/4)>>16)*regs.bespitch;
-	else 
+	else
 		baseadrofs = (((ofstop*regs.besviscal)/2)>>16)*regs.bespitch;
 
     if(config->fourcc==IMGFMT_YV12){
@@ -839,9 +839,9 @@ if(config->fourcc==IMGFMT_YV12
 
 
 switch(config->fourcc){
-    case IMGFMT_YV12:	
-    case IMGFMT_I420:	
-    case IMGFMT_IYUV:	
+    case IMGFMT_YV12:
+    case IMGFMT_I420:
+    case IMGFMT_IYUV:
 	cregs.c2ctl = 1         // CRTC2 enabled
 		    + (1<<1)	// external clock
 		    + (0<<2)	// external clock
@@ -897,7 +897,7 @@ switch(config->fourcc){
 */		    ;
         break;
 
-    case IMGFMT_YUY2:	
+    case IMGFMT_YUY2:
 	cregs.c2ctl = 1         // CRTC2 enabled
 		    + (1<<1)	// external clock
 		    + (0<<2)	// external clock
@@ -955,7 +955,7 @@ switch(config->fourcc){
 */			;
           break;
 
-    case IMGFMT_UYVY:	
+    case IMGFMT_UYVY:
 	cregs.c2ctl = 1         // CRTC2 enabled
 		    + (1<<1)	// external clock
 		    + (0<<2)	// external clock
@@ -1014,7 +1014,7 @@ switch(config->fourcc){
 
 	cregs.c2hparam=((hdispend - 8) << 16) | (htotal - 8);
 	cregs.c2hsync=((hsyncend - 8) << 16) | (hsyncstart - 8);
-	
+
 	cregs.c2misc=0	// CRTCV2 656 togg f0
 		    +(0<<1) // CRTCV2 656 togg f0
 		    +(0<<2) // CRTCV2 656 togg f0
@@ -1029,15 +1029,15 @@ switch(config->fourcc){
 
 	cregs.c2pl2startadd0=regs.besa1corg;
 	cregs.c2pl3startadd0=regs.besa1c3org;
-		    
-	cregs.c2preload=(vsyncstart << 16) | (hsyncstart); // from 
-	
+
+	cregs.c2preload=(vsyncstart << 16) | (hsyncstart); // from
+
 	cregs.c2spicstartadd0=0; // not used
-	
+
     cregs.c2startadd0=regs.besa1org;
-	
+
     cregs.c2subpiclut=0; //not used
-	
+
     cregs.c2vparam=((vdispend - 1) << 16) | (vtotal - 1);
     cregs.c2vsync=((vsyncend - 1) << 16) | (vsyncstart - 1);
 #endif /* CRTC2 */
@@ -1069,7 +1069,7 @@ static int mga_playback_off(void)
 {
     if (mga_verbose) printf("[mga] playback off\n");
 
-    vid_src_ready = 0;   
+    vid_src_ready = 0;
 #if MGA_ALLOW_IRQ
     if (mga_irq != -1)
 	disable_irq();
@@ -1102,7 +1102,7 @@ static int mga_probe(int verbose,int for
 
 	if (mga_verbose)
 	    printf("[mga] found %d pci devices\n", num_pci);
-	
+
 	for (i = 0; i < num_pci; i++)
 	{
 	    if (mga_verbose > 1)
@@ -1158,7 +1158,7 @@ static int mga_init(void)
 {
     unsigned int card_option = 0;
     int err;
-    
+
     if (mga_verbose) printf("[mga] init\n");
 
     mga_vid_in_use = 0;
@@ -1215,7 +1215,7 @@ static int mga_init(void)
 	    {
 		default: mga_ram_size = 8;
 	    }
-	} 
+	}
 
         printf("[mga] detected RAMSIZE is %d MB\n", (unsigned int) mga_ram_size);
 #endif
@@ -1272,7 +1272,7 @@ static void mga_destroy(void)
     if (mga_verbose) printf("[mga] destroy\n");
 
     /* FIXME turn off BES */
-    vid_src_ready = 0;   
+    vid_src_ready = 0;
     regs.besctl &= ~1;
     regs.besglobctl &= ~(1<<6);  // UYVY format selected
     mga_vid_write_regs(1);
@@ -1306,7 +1306,7 @@ static int mga_query_fourcc(vidix_fourcc
 	    to->depth = to->flags = 0;
 	    return ENOTSUP;
     }
-    
+
     to->depth = VID_DEPTH_12BPP |
 		VID_DEPTH_15BPP | VID_DEPTH_16BPP |
 		VID_DEPTH_24BPP | VID_DEPTH_32BPP;
@@ -1345,9 +1345,9 @@ static int mga_set_eq( const vidix_video
     // only brightness&contrast are supported:
     if(!(eq->cap & (VEQ_CAP_BRIGHTNESS|VEQ_CAP_CONTRAST)))
 	return ENOTSUP;
-    
+
     //regs.beslumactl = readl(mga_mmio_base + BESLUMACTL);
-    if (eq->cap & VEQ_CAP_BRIGHTNESS) { 
+    if (eq->cap & VEQ_CAP_BRIGHTNESS) {
 	regs.beslumactl &= 0xFFFF;
 	regs.beslumactl |= (eq->brightness*255/2000)<<16;
     }
@@ -1372,7 +1372,7 @@ static int mga_get_eq( vidix_video_eq_t 
     eq->brightness = (signed short int)(regs.beslumactl >> 16) * 1000 / 128;
     eq->contrast = (signed short int)(regs.beslumactl & 0xFFFF) * 1000 / 128 - 1000;
     eq->cap = VEQ_CAP_BRIGHTNESS | VEQ_CAP_CONTRAST;
-    
+
     printf("MGA GET_EQ: br=%d c=%d  \n",eq->brightness,eq->contrast);
 
     return 0;
@@ -1386,7 +1386,7 @@ VDXDriver mga_crtc2_drv = {
   "mga_crtc2",
 #endif
   NULL,
-    
+
   .probe = mga_probe,
   .get_caps = mga_get_caps,
   .query_fourcc = mga_query_fourcc,

Modified: trunk/vidix/mtrr.c
==============================================================================
--- trunk/vidix/mtrr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/mtrr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -70,7 +70,7 @@ int	mtrr_set_type(unsigned base,unsigned
     mtrrp = malloc(sizeof (struct mtrr));
     mtrrp->base = base;
     mtrrp->len = size;
-    mtrrp->type = type;  
+    mtrrp->type = type;
     mtrrp->flags = MTRR_VALID | MTRR_PRIVATE;
     n = 1;
 

Modified: trunk/vidix/nvidia_vid.c
==============================================================================
--- trunk/vidix/nvidia_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/nvidia_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -95,16 +95,16 @@ static struct nvidia_cards nvidia_card_i
   /*NV04*/
   {DEVICE_NVIDIA_NV4_RIVA_TNT,NV_ARCH_04},
   {DEVICE_NVIDIA_NV5_RIVA_TNT2_TNT2,NV_ARCH_04},
-  {DEVICE_NVIDIA_NV5_RIVA_TNT2,NV_ARCH_04},  
-  {DEVICE_NVIDIA_NV5_RIVA_TNT22,NV_ARCH_04},  
-  {DEVICE_NVIDIA_NV5_RIVA_TNT23,NV_ARCH_04},  
+  {DEVICE_NVIDIA_NV5_RIVA_TNT2,NV_ARCH_04},
+  {DEVICE_NVIDIA_NV5_RIVA_TNT22,NV_ARCH_04},
+  {DEVICE_NVIDIA_NV5_RIVA_TNT23,NV_ARCH_04},
   {DEVICE_NVIDIA_NV6_VANTA_VANTA_LT,NV_ARCH_04},
   {DEVICE_NVIDIA_NV5M64_RIVA_TNT2,NV_ARCH_04},
   {DEVICE_NVIDIA_NV6_VANTA,NV_ARCH_04},
   {DEVICE_NVIDIA_NV6_VANTA2,NV_ARCH_04},
   {DEVICE_NVIDIA2_TNT,NV_ARCH_04},
-  {DEVICE_NVIDIA2_TNT2,NV_ARCH_04},  
-  {DEVICE_NVIDIA2_VTNT2,NV_ARCH_04},  
+  {DEVICE_NVIDIA2_TNT2,NV_ARCH_04},
+  {DEVICE_NVIDIA2_VTNT2,NV_ARCH_04},
   {DEVICE_NVIDIA2_UTNT2	,NV_ARCH_04},
   {DEVICE_NVIDIA2_ITNT2,NV_ARCH_04},
   {DEVICE_NVIDIA_NV5_ALADDIN_TNT2,NV_ARCH_04},
@@ -149,7 +149,7 @@ static struct nvidia_cards nvidia_card_i
   {DEVICE_NVIDIA_NV18M_GEFORCE4_4482,NV_ARCH_10},
   {DEVICE_NVIDIA_NVCRUSH11_GEFORCE2_MX,NV_ARCH_10},
   {DEVICE_NVIDIA_NV18_GEFORCE4_MX5,NV_ARCH_10},
-  {DEVICE_NVIDIA_NV18_GEFORCE_PCX,NV_ARCH_10}, 
+  {DEVICE_NVIDIA_NV18_GEFORCE_PCX,NV_ARCH_10},
   /*NV20*/
   {DEVICE_NVIDIA_NV20_GEFORCE3,NV_ARCH_20},
   {DEVICE_NVIDIA_NV20_GEFORCE3_TI,NV_ARCH_20},
@@ -417,10 +417,10 @@ typedef struct rivatv_chip rivatv_chip;
 
 
 struct rivatv_info {
-    unsigned int use_colorkey;    
+    unsigned int use_colorkey;
     unsigned int colorkey; /* saved xv colorkey*/
     unsigned int vidixcolorkey; /*currently used colorkey*/
-    unsigned int depth; 
+    unsigned int depth;
     unsigned int format;
     unsigned int pitch;
     unsigned int width,height;
@@ -550,8 +550,8 @@ static void  rivatv_enable_PMEDIA (struc
         /* NV_PVIDEO_KEY */
 	    info->colorkey = VID_RD32 (info->chip.PVIDEO, 0x240);
         break;
-    }       
-    
+    }
+
 
 	/* re-enable interrupts again */
 //	VID_WR32 (info->chip.PMC, 0x000140, 0x01);
@@ -617,13 +617,13 @@ static void rivatv_overlay_colorkey (riv
 
 #if !defined(__MINGW32__) && !defined(__CYGWIN__)
         key = key | 0x00008000;
-#endif       
+#endif
 		break;
 	case 16: // XXX unchecked
 		key = ((r >> 3) << 11) | ((g >> 2) << 5) | ((b >> 3));
 #if !defined(__MINGW32__) && !defined(__CYGWIN__)
         key = key | 0x00008000;
-#endif       
+#endif
 		break;
 	case 24: // XXX unchecked, maybe swap order of masking - FIXME Can the card be in 24 bit mode anyway?
 		key = (chromakey & 0x00FFFFFF) | 0x00800000;
@@ -632,7 +632,7 @@ static void rivatv_overlay_colorkey (riv
 		key = chromakey;
 #if !defined(__MINGW32__) && !defined(__CYGWIN__)
         key = key | 0x80000000;
-#endif       
+#endif
 		break;
 	}
 	//printf("[nvidia_vid] depth=%d %08X \n", info->depth, chromakey);
@@ -717,7 +717,7 @@ static void rivatv_overlay_start (struct
             // setting y to 8 seems to work ok, though
             if(info->chip.arch < NV_ARCH_10 && y < 8) y = 8;
     }
-    
+
 	    /* adjust negative output window variables */
 	    if (x < 0) {
 		  lwidth = info->d_width + x;
@@ -784,8 +784,8 @@ static void rivatv_overlay_start (struct
 		//VID_WR32 (info->chip.PVIDEO, 0x950 + 4, (height << 16) | width);
 
 		/* NV_PVIDEO_FORMAT */
-        value = info->pitch;       
-	    if(info->use_colorkey)value |= 1 << 20; 
+        value = info->pitch;
+	    if(info->use_colorkey)value |= 1 << 20;
         if(info->format == IMGFMT_YUY2)value |= 1 << 16;
         VID_WR32 (info->chip.PVIDEO, 0x958 + 0, value);
 	    //VID_WR32 (info->chip.PVIDEO, 0x958 + 4, (pitch << 1) | 0x00100000);
@@ -849,12 +849,12 @@ static void rivatv_overlay_start (struct
 		VID_WR32 (info->chip.PVIDEO, 0x21C + 4, 0);
 
 		/* NV_PVIDEO_INTR_EN_0_NOTIFY_ENABLED */
-//		VID_OR32 (info->chip.PVIDEO, 0x140, 0x01);                                 
+//		VID_OR32 (info->chip.PVIDEO, 0x140, 0x01);
 
 		/* NV_PVIDEO_OVERLAY (KEY_ON, VIDEO_ON, FORMAT_CCIR) */
         value = 0x1; /*video on*/
         if(info->format==IMGFMT_YUY2)value |= 0x100;
-        if(info->use_colorkey)value |=0x10;       
+        if(info->use_colorkey)value |=0x10;
         VID_WR32 (info->chip.PVIDEO, 0x244, value);
 
 		/* NV_PVIDEO_SU_STATE */
@@ -863,7 +863,7 @@ static void rivatv_overlay_start (struct
 	}
     /*set colorkey*/
     rivatv_overlay_colorkey(info,info->vidixcolorkey);
-    
+
 }
 
 
@@ -875,13 +875,13 @@ static void rivatv_overlay_start (struct
 static rivatv_info* info;
 
 
-      
-      
+
+
 static int nv_init(void){
 	int mtrr;
   info = calloc(1,sizeof(rivatv_info));
   info->control_base = map_phys_mem(pci_info.base0, 0x00C00000 + 0x00008000);
-  info->chip.arch =  nvidia_card_ids[find_chip(pci_info.device)].arch;  
+  info->chip.arch =  nvidia_card_ids[find_chip(pci_info.device)].arch;
   printf("[nvidia_vid] arch %x register base %p\n",info->chip.arch,info->control_base);
   info->chip.PFIFO  = (uint32_t *) (info->control_base + 0x00002000);
   info->chip.FIFO   = (uint32_t *) (info->control_base + 0x00800000);
@@ -925,7 +925,7 @@ static int nv_init(void){
         info->chip.PRAMIN = (uint32_t *) (info->video_base + 0x00C00000);
         break;
 	}
-    case NV_ARCH_04:	
+    case NV_ARCH_04:
 	case NV_ARCH_10:
 	case NV_ARCH_20:
     case NV_ARCH_30:
@@ -947,12 +947,12 @@ static int nv_init(void){
 	  printf("[nvidia_vid] unable to setup MTRR: %s\n", strerror(mtrr));
   else
 	  printf("[nvidia_vid] MTRR set up\n");
-  
+
   nv_getscreenproperties(info);
   if(!info->depth)printf("[nvidia_vid] text mode: %ux%u\n",info->screen_x,info->screen_y);
   else printf("[nvidia_vid] video mode: %ux%u@%u\n",info->screen_x,info->screen_y, info->depth);
- 
-   
+
+
   rivatv_enable_PMEDIA(info);
   info->cur_frame = 0;
   info->use_colorkey = 0;
@@ -1015,8 +1015,8 @@ static int nv_config_playback(vidix_play
 
     printf("[nvidia_vid] setting up a %dx%d-%dx%d video window (src %dx%d), format 0x%X\n",
 		    info->d_width, info->d_height, info->wx, info->wy, info->width, info->height, vinfo->fourcc);
-    
-    
+
+
     vinfo->dga_addr=info->picture_base;
 
     switch (vinfo->fourcc)

Modified: trunk/vidix/pci.c
==============================================================================
--- trunk/vidix/pci.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/pci.c	Wed May 13 04:58:57 2009	(r29305)
@@ -8,7 +8,7 @@
  *
  *  purpose:          This program will scan for and print details of
  *                    devices on the PCI bus.
- 
+
  *  author:           Robin Cutshaw (robin at xfree86.org)
  *
  *  supported O/S's:  SVR4, UnixWare, SCO, Solaris,
@@ -24,9 +24,9 @@
  *                        and link with PharLap or other dos extender for exe
  *
  */
- 
+
 /* $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $ */
- 
+
 /*
  * Copyright 1995 by Robin Cutshaw <robin at XFree86.Org>
  *
@@ -50,7 +50,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  */
- 
+
 #include "dha.h"
 #include <errno.h>
 #include <string.h>
@@ -100,23 +100,23 @@
  * to change too much code
  */
 #include <smem.h>
- 
+
 static unsigned char *pciConfBase;
- 
+
 static __inline__ unsigned long
 static swapl(unsigned long val)
 {
 	unsigned char *p = (unsigned char *)&val;
 	return (p[3] << 24) | (p[2] << 16) | (p[1] << 8) | (p[0] << 0);
 }
- 
- 
+
+
 #define BUS(tag) (((tag)>>16)&0xff)
 #define DFN(tag) (((tag)>>8)&0xff)
- 
+
 #define PCIBIOS_DEVICE_NOT_FOUND	0x86
 #define PCIBIOS_SUCCESSFUL		0x00
- 
+
 int pciconfig_read(
           unsigned char bus,
           unsigned char dev,
@@ -126,7 +126,7 @@ int pciconfig_read(
 {
 	unsigned long _val;
 	unsigned long *ptr;
- 
+
 	dev >>= 3;
 	if (bus || dev >= 16) {
 		*val = 0xFFFFFFFF;
@@ -138,7 +138,7 @@ int pciconfig_read(
 	*val = _val;
 	return PCIBIOS_SUCCESSFUL;
 }
- 
+
 int pciconfig_write(
           unsigned char bus,
           unsigned char dev,
@@ -148,7 +148,7 @@ int pciconfig_write(
 {
 	unsigned long _val;
 	unsigned long *ptr;
- 
+
 	dev >>= 3;
 	_val = swapl(val);
 	if (bus || dev >= 16) {
@@ -160,7 +160,7 @@ int pciconfig_write(
 	return PCIBIOS_SUCCESSFUL;
 }
 #endif /* defined(Lynx) && defined(__powerpc__) */
- 
+
 #if !defined(__powerpc__)
 struct pci_config_reg {
     /* start of official PCI config space header */
@@ -361,19 +361,19 @@ struct pci_config_reg {
 /* ?? */
 	struct {
 	    unsigned long bg_rsrvd[2];
- 
+
 	    unsigned char secondary_latency_timer;
 	    unsigned char subordinate_bus_number;
 	    unsigned char secondary_bus_number;
 	    unsigned char primary_bus_number;
- 
+
 	    unsigned short secondary_status;
 	    unsigned char io_limit;
 	    unsigned char io_base;
- 
+
 	    unsigned short mem_limit;
 	    unsigned short mem_base;
- 
+
 	    unsigned short prefetch_mem_limit;
 	    unsigned short prefetch_mem_base;
 	} bg;
@@ -449,19 +449,19 @@ struct pci_config_reg {
 #define PCI_MAP_ROM_REG         0x30
 #define PCI_INTERRUPT_REG       0x3C
 #define PCI_REG_USERCONFIG      0x40
- 
+
 static int pcibus=-1, pcicard=-1, pcifunc=-1 ;
 /*static struct pci_device *pcidev=NULL ;*/
- 
+
 #if defined(__alpha__)
 #define PCI_EN 0x00000000
 #else
 #define PCI_EN 0x80000000
 #endif
- 
+
 #define	PCI_MODE1_ADDRESS_REG		0xCF8
 #define	PCI_MODE1_DATA_REG		0xCFC
- 
+
 #define	PCI_MODE2_ENABLE_REG		0xCF8
 #ifdef PC98
 #define	PCI_MODE2_FORWARD_REG		0xCF9
@@ -487,14 +487,14 @@ static int pcibus=-1, pcicard=-1, pcifun
 #include "sysdep/pci_x86.c"
 #endif
 #endif /*CONFIG_SVGAHELPER */
- 
+
 static pciinfo_t *pci_lst;
- 
+
 static void identify_card(struct pci_config_reg *pcr, int idx)
 {
-  /* local overflow test */ 
+  /* local overflow test */
   if (idx>=MAX_PCI_DEVICES) return ;
- 
+
   pci_lst[idx].bus     = pcibus ;
   pci_lst[idx].card    = pcicard ;
   pci_lst[idx].func    = pcifunc ;
@@ -525,30 +525,30 @@ int pci_scan(pciinfo_t *pci_list,unsigne
 #endif
     int func, hostbridges=0;
     int ret = -1;
-    
+
     pci_lst = pci_list;
     *num_pci = 0;
- 
+
     ret = enable_os_io();
     if (ret != 0)
 	return ret;
 
     if((pcr._configtype = pci_config_type()) == 0xFFFF) return ENODEV;
- 
+
     /* Try pci config 1 probe first */
- 
+
     if ((pcr._configtype == 1) || do_mode1_scan) {
     /*printf("\nPCI probing configuration type 1\n");*/
- 
+
     pcr._ioaddr = 0xFFFF;
- 
+
     pcr._pcibuses[0] = 0;
     pcr._pcinumbus = 1;
     pcr._pcibusidx = 0;
- 
+
     do {
         /*printf("Probing for devices on PCI bus %d:\n\n", pcr._pcibusidx);*/
- 
+
         for (pcr._cardnum = 0x0; pcr._cardnum < MAX_PCI_DEVICES_PER_BUS;
 		pcr._cardnum += 0x1) {
 	  func = 0;
@@ -557,14 +557,14 @@ int pci_scan(pciinfo_t *pci_list,unsigne
 						func);
             if ((pcr._vendor == 0xFFFF) || (pcr._device == 0xFFFF))
                 break;   /* nothing there */
- 
+
 	    /*printf("\npci bus 0x%x cardnum 0x%02x function 0x%04x: vendor 0x%04x device 0x%04x\n",
 	        pcr._pcibuses[pcr._pcibusidx], pcr._cardnum, func,
 		pcr._vendor, pcr._device);*/
 	    pcibus = pcr._pcibuses[pcr._pcibusidx];
 	    pcicard = pcr._cardnum;
 	    pcifunc = func;
- 
+
 	    pcr._status_command = pci_config_read_long(pcr._pcibuses[pcr._pcibusidx],
 					pcr._cardnum,func,PCI_CMD_STAT_REG);
 	    pcr._class_revision = pci_config_read_long(pcr._pcibuses[pcr._pcibusidx],
@@ -615,10 +615,10 @@ int pci_scan(pciinfo_t *pci_list,unsigne
 	    } else {
 	        func++;
 	    }
- 
+
 	    if (idx++ >= MAX_PCI_DEVICES)
 	        continue;
- 
+
 	    identify_card(&pcr, (*num_pci)++);
 	  } while( func < 8 );
         }
@@ -627,35 +627,35 @@ int pci_scan(pciinfo_t *pci_list,unsigne
 
 #if !defined(__alpha__) && !defined(__powerpc__) && !defined(__sh__)
     /* Now try pci config 2 probe (deprecated) */
- 
+
     if ((pcr._configtype == 2) || do_mode2_scan) {
     outb(PCI_MODE2_ENABLE_REG, 0xF1);
     outb(PCI_MODE2_FORWARD_REG, 0x00); /* bus 0 for now */
- 
+
     /*printf("\nPCI probing configuration type 2\n");*/
- 
+
     pcr._pcibuses[0] = 0;
     pcr._pcinumbus = 1;
     pcr._pcibusidx = 0;
     idx = 0;
- 
+
     do {
         for (pcr._ioaddr = 0xC000; pcr._ioaddr < 0xD000; pcr._ioaddr += 0x0100){
 	    outb(PCI_MODE2_FORWARD_REG, pcr._pcibuses[pcr._pcibusidx]); /* bus 0 for now */
             pcr._device_vendor = inl(pcr._ioaddr);
 	    outb(PCI_MODE2_FORWARD_REG, 0x00); /* bus 0 for now */
- 
+
             if ((pcr._vendor == 0xFFFF) || (pcr._device == 0xFFFF))
                 continue;
             if ((pcr._vendor == 0xF0F0) || (pcr._device == 0xF0F0))
                 continue;  /* catch ASUS P55TP4XE motherboards */
- 
+
 	    /*printf("\npci bus 0x%x slot at 0x%04x, vendor 0x%04x device 0x%04x\n",
 	        pcr._pcibuses[pcr._pcibusidx], pcr._ioaddr, pcr._vendor,
                 pcr._device);*/
 	    pcibus = pcr._pcibuses[pcr._pcibusidx] ;
 	    pcicard = pcr._ioaddr ; pcifunc = 0 ;
- 
+
 	    outb(PCI_MODE2_FORWARD_REG, pcr._pcibuses[pcr._pcibusidx]); /* bus 0 for now */
             pcr._status_command = inl(pcr._ioaddr + 0x04);
             pcr._class_revision = inl(pcr._ioaddr + 0x08);
@@ -670,28 +670,28 @@ int pci_scan(pciinfo_t *pci_list,unsigne
             pcr._max_min_ipin_iline = inl(pcr._ioaddr + 0x3C);
             pcr._user_config = inl(pcr._ioaddr + 0x40);
 	    outb(PCI_MODE2_FORWARD_REG, 0x00); /* bus 0 for now */
- 
+
             /* check for pci-pci bridges (currently we only know Digital) */
             if ((pcr._vendor == 0x1011) && (pcr._device == 0x0001))
                 if (pcr._secondary_bus_number > 0)
                     pcr._pcibuses[pcr._pcinumbus++] = pcr._secondary_bus_number;
- 
+
 	    if (idx++ >= MAX_PCI_DEVICES)
 	        continue;
- 
+
 	    identify_card(&pcr, (*num_pci)++);
 	}
     } while (++pcr._pcibusidx < pcr._pcinumbus);
- 
+
     outb(PCI_MODE2_ENABLE_REG, 0x00);
     }
- 
+
 #endif /* !__alpha__ && !__powerpc__ && !__sh__ */
- 
+
     disable_os_io();
- 
+
     return 0 ;
- 
+
 }
 
 #if !defined(ENOTSUP)
@@ -706,13 +706,13 @@ int pci_config_read(unsigned char bus, u
 		    unsigned char cmd, int len, unsigned long *val)
 {
     int ret;
-    
+
     if (len != 4)
     {
 	fprintf(stderr,"pci_config_read: Reading non-dword not supported!\n");
 	return ENOTSUP;
     }
-    
+
     ret = enable_os_io();
     if (ret != 0)
 	return ret;
@@ -725,7 +725,7 @@ int pci_config_read(unsigned char bus, u
 
 int enable_app_io( void )
 {
-  return enable_os_io();  
+  return enable_os_io();
 }
 
 int disable_app_io( void )

Modified: trunk/vidix/pci.db
==============================================================================
--- trunk/vidix/pci.db	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/pci.db	Wed May 13 04:58:57 2009	(r29305)
@@ -1,1597 +1,1597 @@
-v	0000	Gammagraphx, Inc.	0	
+v	0000	Gammagraphx, Inc.	0
 d	00000080	IC pro 1000 GBit Ethernet NIC	1	Noname GBit NIC, separate Linux Drivers available
-v	001a	Ascend Communications, Inc.	0	
-v	001c	PEAK-System Technik GmbH	1	
-d	001c0001	PCAN-PCI CAN-Bus controller	1	
-v	0033	Paradyne corp.	0	
-v	003d	Lockheed Martin-Marietta Corp	0	
-d	003d0124		1	
+v	001a	Ascend Communications, Inc.	0
+v	001c	PEAK-System Technik GmbH	1
+d	001c0001	PCAN-PCI CAN-Bus controller	1
+v	0033	Paradyne corp.	0
+v	003d	Lockheed Martin-Marietta Corp	0
+d	003d0124		1
 v	0059	Tiger Jet Network Inc. (Wrong ID)	0	Real TJN ID is e159, but they got it wrong several times --mj
-v	0070	Hauppauge computer works Inc.	0	
-d	00700003	WinTV PVR-250	1	
-d	00700009	WinTV PVR-150	1	
-d	00700801	WinTV PVR-150	1	
-d	00700807	WinTV PVR-150	1	
-d	00704000	WinTV PVR-350	1	
-d	00704001	WinTV PVR-250 (v1)	1	
-d	00704009	WinTV PVR-250	1	
-d	00704800	WinTV PVR-350	1	
-d	00704801	WinTV PVR-250 MCE	1	
-d	00704803	WinTV PVR-250	1	
-d	00708003	WinTV PVR-150	1	
-d	00708801	WinTV PVR-150	1	
-d	0070c801	WinTV PVR-150	1	
-d	0070e807	WinTV PVR-500 MCE (1st tuner)	1	
-d	0070e817	WinTV PVR-500 MCE (2nd tuner)	1	
-v	0071	Nebula Electronics Ltd.	0	
-v	0095	Silicon Image, Inc. (Wrong ID)	0	
-d	00950680	Ultra ATA/133 IDE RAID CONTROLLER CARD	0	
+v	0070	Hauppauge computer works Inc.	0
+d	00700003	WinTV PVR-250	1
+d	00700009	WinTV PVR-150	1
+d	00700801	WinTV PVR-150	1
+d	00700807	WinTV PVR-150	1
+d	00704000	WinTV PVR-350	1
+d	00704001	WinTV PVR-250 (v1)	1
+d	00704009	WinTV PVR-250	1
+d	00704800	WinTV PVR-350	1
+d	00704801	WinTV PVR-250 MCE	1
+d	00704803	WinTV PVR-250	1
+d	00708003	WinTV PVR-150	1
+d	00708801	WinTV PVR-150	1
+d	0070c801	WinTV PVR-150	1
+d	0070e807	WinTV PVR-500 MCE (1st tuner)	1
+d	0070e817	WinTV PVR-500 MCE (2nd tuner)	1
+v	0071	Nebula Electronics Ltd.	0
+v	0095	Silicon Image, Inc. (Wrong ID)	0
+d	00950680	Ultra ATA/133 IDE RAID CONTROLLER CARD	0
 v	00a7	Teles AG (Wrong ID)	0	Wrong ID used in subsystem ID of the TELES.S0/PCI 2.x ISDN adapter
-v	00f5	BFG Technologies, Inc.	0	
-v	0100	Ncipher Corp Ltd	0	
-v	0123	General Dynamics	0	
+v	00f5	BFG Technologies, Inc.	0
+v	0100	Ncipher Corp Ltd	0
+v	0123	General Dynamics	0
 v	018a	LevelOne	0	018a is not LevelOne but there is a board misprogrammed
-d	018a0106	FPC-0106TX misprogrammed [RTL81xx]	0	
-v	01b7	dell	1	
+d	018a0106	FPC-0106TX misprogrammed [RTL81xx]	0
+v	01b7	dell	1
 v	021b	Compaq Computer Corporation	0	021b is not Compaq but there is a board misprogrammed
-d	021b8139	HNE-300 (RealTek RTL8139c) [iPaq Networking]	0	
-v	0270	Hauppauge computer works Inc. (Wrong ID)	0	
-v	0291	Davicom Semiconductor, Inc.	0	
-d	02918212	DM9102A(DM9102AE, SM9102AF) Ethernet 100/10 MBit(Rev 40)	0	
+d	021b8139	HNE-300 (RealTek RTL8139c) [iPaq Networking]	0
+v	0270	Hauppauge computer works Inc. (Wrong ID)	0
+v	0291	Davicom Semiconductor, Inc.	0
+d	02918212	DM9102A(DM9102AE, SM9102AF) Ethernet 100/10 MBit(Rev 40)	0
 v	0295	nVidia:GeForce 5950 GT (XFX Creation Inc.)	1	01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0295 (rev a1), Model:           G71
 \nIRQ:             11
 \nV
 d	02950295	GEForce 7950 GT	1	Made by asus (subsystem)
 v	02ac	SpeedStream	0	SpeedStream is Efficient Networks, Inc, a Siemens Company
-d	02ac1012	1012 PCMCIA 10/100 Ethernet Card [RTL81xx]	0	
+d	02ac1012	1012 PCMCIA 10/100 Ethernet Card [RTL81xx]	0
 v	02e1	Club3D	1	01:00.0 VGA compatible controller: nVidia Corporation Unknown device 02e1 (rev a2) - GeForce 7600GS
-v	0315	SK-Electronics Co., Ltd.	0	
-v	0357	TTTech AG	0	
-d	0357000a	TTP-Monitoring Card V2.0	0	
-v	0403		1	
-v	0403	Future Technology Devices International Ltd	1	
-v	0432	SCM Microsystems, Inc.	0	
-d	04320001	Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet]	0	
-v	045e	Microsoft	0	
-d	045e006e	MN-510 802.11b wireless USB paddle	0	
-d	045e00c2	MN-710 wireless USB paddle	0	
-d	045e00f4	Lifecam VX-6000	1	
-v	0482	Kyocera	0	
-v	04cf	Myson Century, Inc	0	
-d	04cf8818	CS8818 USB2.0-to-ATAPI Bridge Controller with Embedded PHY	0	
-v	04e8	SAMSUNG Electronics Co., Ltd.	1	
-d	04e86601	SAMSUNG USB Composite Device	1	
-d	04e86640	SAMSUNG USB Composite Device	1	
+v	0315	SK-Electronics Co., Ltd.	0
+v	0357	TTTech AG	0
+d	0357000a	TTP-Monitoring Card V2.0	0
+v	0403		1
+v	0403	Future Technology Devices International Ltd	1
+v	0432	SCM Microsystems, Inc.	0
+d	04320001	Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet]	0
+v	045e	Microsoft	0
+d	045e006e	MN-510 802.11b wireless USB paddle	0
+d	045e00c2	MN-710 wireless USB paddle	0
+d	045e00f4	Lifecam VX-6000	1
+v	0482	Kyocera	0
+v	04cf	Myson Century, Inc	0
+d	04cf8818	CS8818 USB2.0-to-ATAPI Bridge Controller with Embedded PHY	0
+v	04e8	SAMSUNG Electronics Co., Ltd.	1
+d	04e86601	SAMSUNG USB Composite Device	1
+d	04e86640	SAMSUNG USB Composite Device	1
 v	04f9	Brother Industries Ltd	1	Printers, MFC and Fax manufacturer.
-v	050d	Belkin	0	
-d	050d001a	FSD7000 802.11g PCI Wireless card	0	
-d	050d0109	F5U409-CU USB/Serial Portable Adapter	0	
-d	050d7050	F5D7050 802.11g Wireless USB Adapter	0	
-d	050d705c	F5D7050 v4	1	
-v	05a9	OmniVision	0	
-d	05a905a9		1	
-d	05a98519	OV519 series	0	
-v	05e3	CyberDoor	0	
-d	05e30701	CBD516	0	
-v	066f	Sigmatel Inc.	0	
-d	066f3410	SMTP3410	0	
-d	066f3500	SMTP3500	0	
-v	0675	Dynalink	0	
-d	06751700	IS64PH ISDN Adapter	0	
-d	06751702	IS64PH ISDN Adapter	0	
-d	06751703	ISDN Adapter (PCI Bus, DV, W)	0	
-d	06751704	ISDN Adapter (PCI Bus, D, C)	0	
-v	067b	Prolific Technology, Inc.	0	
-d	067b2303	PL-2303 USB-to-Serial Converter	0	
-d	067b3507	PL-3507 Hi-Speed USB & IEEE 1394 Combo to IDE Bridge Controller	0	
-v	069d	Hughes Network Systems (HNS)	1	
-v	0721	Sapphire, Inc.	0	
-v	07ca	AVerMedia Technologies Inc.	1	
-d	07cab808	AVerTV DVB-T Volar (USB 2.0)	1	
-v	07e2	ELMEG Communication Systems GmbH	0	
-v	0842	NPG, Personal Grand Tecnology	1	
-v	08ff	AuthenTec	1	
-d	08ffafe4	[Anchor] FingerLoc Sensor Module	1	
-d	08ffafe4	[Anchor] AF-S2 FingerLoc Sensor Module	1	
+v	050d	Belkin	0
+d	050d001a	FSD7000 802.11g PCI Wireless card	0
+d	050d0109	F5U409-CU USB/Serial Portable Adapter	0
+d	050d7050	F5D7050 802.11g Wireless USB Adapter	0
+d	050d705c	F5D7050 v4	1
+v	05a9	OmniVision	0
+d	05a905a9		1
+d	05a98519	OV519 series	0
+v	05e3	CyberDoor	0
+d	05e30701	CBD516	0
+v	066f	Sigmatel Inc.	0
+d	066f3410	SMTP3410	0
+d	066f3500	SMTP3500	0
+v	0675	Dynalink	0
+d	06751700	IS64PH ISDN Adapter	0
+d	06751702	IS64PH ISDN Adapter	0
+d	06751703	ISDN Adapter (PCI Bus, DV, W)	0
+d	06751704	ISDN Adapter (PCI Bus, D, C)	0
+v	067b	Prolific Technology, Inc.	0
+d	067b2303	PL-2303 USB-to-Serial Converter	0
+d	067b3507	PL-3507 Hi-Speed USB & IEEE 1394 Combo to IDE Bridge Controller	0
+v	069d	Hughes Network Systems (HNS)	1
+v	0721	Sapphire, Inc.	0
+v	07ca	AVerMedia Technologies Inc.	1
+d	07cab808	AVerTV DVB-T Volar (USB 2.0)	1
+v	07e2	ELMEG Communication Systems GmbH	0
+v	0842	NPG, Personal Grand Tecnology	1
+v	08ff	AuthenTec	1
+d	08ffafe4	[Anchor] FingerLoc Sensor Module	1
+d	08ffafe4	[Anchor] AF-S2 FingerLoc Sensor Module	1
 v	0925	VIA Technologies, Inc. (Wrong ID)	0	Wrong ID used in subsystem ID of VIA USB controllers.
-v	093a	PixArt Imaging Inc.	0	
-d	093a010e	Innovage Mini Digital Camera	1	
+v	093a	PixArt Imaging Inc.	0
+d	093a010e	Innovage Mini Digital Camera	1
 d	093a010f	SDC-300 Webcam	1	XDC on packaging, SDC on circuit board, cheap webcam
 d	093a2468	CIF Single Chip	1	USB Webcam 640x480
-d	093a2608	Maxell MaxCam RotaWeb	1	
-v	09c1	Arris	0	
-d	09c10704	CM 200E Cable Modem	0	
-v	0a89	BREA Technologies Inc	0	
-v	0ace	ZyDAS	1	
-d	0ace1211	(ZD1211)IEEE 802.11b+g USB Adapter	1	
-v	0b0b	Rhino Equiment Corp.	0	
-d	0b0b0105	Rhino R1T1	0	
-d	0b0b0205	Rhino R4FXO	0	
+d	093a2608	Maxell MaxCam RotaWeb	1
+v	09c1	Arris	0
+d	09c10704	CM 200E Cable Modem	0
+v	0a89	BREA Technologies Inc	0
+v	0ace	ZyDAS	1
+d	0ace1211	(ZD1211)IEEE 802.11b+g USB Adapter	1
+v	0b0b	Rhino Equiment Corp.	0
+d	0b0b0105	Rhino R1T1	0
+d	0b0b0205	Rhino R4FXO	0
 d	0b0b0206	RCB4FXO	1	4 Channel FXO analog telphony card
-d	0b0b0305	Rhino R4T1	0	
-d	0b0b0405	Rhino R8FXX	0	
+d	0b0b0305	Rhino R4T1	0
+d	0b0b0405	Rhino R8FXX	0
 d	0b0b0406	RCB8FXX	1	8 Channel modular analog telphony card
-d	0b0b0505	Rhino R24FXX	0	
-d	0b0b0506	Rhino R2T1	0	
+d	0b0b0505	Rhino R24FXX	0
+d	0b0b0506	Rhino R2T1	0
 d	0b0b0506	RCB24FXS	1	24 Channel FXS analog telphony card
-d	0b0b0605	Rhino R2T1	0	
-d	0b0b0705	Rhino R24FXS	0	
+d	0b0b0605	Rhino R2T1	0
+d	0b0b0705	Rhino R24FXS	0
 d	0b0b0706	RCB24FXO	1	24 Channel FXO analog telphony card
 d	0b0b0905	R1T3	1	Single T3 Digital Telephony Card
 d	0b0b0906	RCB24FXX	1	24 Channel modular analog telphony card
 d	0b0b0a06	RCB672FXX	1	672 Channel modular analog telphony card
-v	0b49	ASCII Corporation	0	
-d	0b49064f	Trance Vibrator	0	
-v	0ccd	TerraTec Electronic GmbH	0	
-d	0ccd0038	Cinergy T^2 DVB-T Receiver	0	
-v	0e11	Compaq Computer Corporation	0	
-d	0e110001	PCI to EISA Bridge	0	
-d	0e110002	PCI to ISA Bridge	0	
-d	0e110046	Smart Array 64xx	0	
-s	0e1100460e11409a	Smart Array 641	0	
-s	0e1100460e11409b	Smart Array 642	0	
-s	0e1100460e11409c	Smart Array 6400	0	
-s	0e1100460e11409d	Smart Array 6400 EM	0	
-d	0e110049	NC7132 Gigabit Upgrade Module	0	
-d	0e11004a	NC6136 Gigabit Server Adapter	0	
-d	0e11005a	Remote Insight II board - Lights-Out	0	
-d	0e11007c	NC7770 1000BaseTX	0	
-d	0e11007d	NC6770 1000BaseTX	0	
-d	0e110085	NC7780 1000BaseTX	0	
-d	0e1100b1	Remote Insight II board - PCI device	0	
-d	0e1100bb	NC7760	0	
-d	0e1100ca	NC7771	0	
-d	0e1100cb	NC7781	0	
-d	0e1100cf	NC7772	0	
-d	0e1100d0	NC7782	0	
-d	0e1100d1	NC7783	0	
-d	0e1100e3	NC7761	0	
-d	0e110508	Netelligent 4/16 Token Ring	0	
-d	0e111000	Triflex/Pentium Bridge, Model 1000	0	
-d	0e112000	Triflex/Pentium Bridge, Model 2000	0	
-d	0e113032	QVision 1280/p	0	
-d	0e113033	QVision 1280/p	0	
-d	0e113034	QVision 1280/p	0	
-d	0e114000	4000 [Triflex]	0	
-d	0e114030	SMART-2/P	0	
-d	0e114031	SMART-2SL	0	
-d	0e114032	Smart Array 3200	0	
-d	0e114033	Smart Array 3100ES	0	
-d	0e114034	Smart Array 221	0	
-d	0e114040	Integrated Array	0	
-d	0e114048	Compaq Raid LC2	0	
-d	0e114050	Smart Array 4200	0	
-d	0e114051	Smart Array 4250ES	0	
-d	0e114058	Smart Array 431	0	
-d	0e114070	Smart Array 5300	0	
-d	0e114080	Smart Array 5i	0	
-d	0e114082	Smart Array 532	0	
-d	0e114083	Smart Array 5312	0	
-d	0e114091	Smart Array 6i	0	
-d	0e11409a	Smart Array 641	0	
-d	0e11409b	Smart Array 642	0	
-d	0e11409c	Smart Array 6400	0	
-d	0e11409d	Smart Array 6400 EM	0	
-d	0e116010	HotPlug PCI Bridge 6010	0	
-d	0e117020	USB Controller	0	
-d	0e11a0ec	Fibre Channel Host Controller	0	
-d	0e11a0f0	Advanced System Management Controller	0	
-d	0e11a0f3	Triflex PCI to ISA Bridge	0	
-d	0e11a0f7	PCI Hotplug Controller	0	
-s	0e11a0f78086002a	PCI Hotplug Controller A	0	
-s	0e11a0f78086002b	PCI Hotplug Controller B	0	
-d	0e11a0f8	ZFMicro Chipset USB	0	
-d	0e11a0fc	FibreChannel HBA Tachyon	0	
-d	0e11ae10	Smart-2/P RAID Controller	0	
-s	0e11ae100e114030	Smart-2/P Array Controller	0	
-s	0e11ae100e114031	Smart-2SL Array Controller	0	
-s	0e11ae100e114032	Smart Array Controller	0	
-s	0e11ae100e114033	Smart 3100ES Array Controller	0	
-d	0e11ae29	MIS-L	0	
-d	0e11ae2a	MPC	0	
-d	0e11ae2b	MIS-E	0	
-d	0e11ae31	System Management Controller	0	
-d	0e11ae32	Netelligent 10/100 TX PCI UTP	0	
-d	0e11ae33	Triflex Dual EIDE Controller	0	
-d	0e11ae34	Netelligent 10 T PCI UTP	0	
-d	0e11ae35	Integrated NetFlex-3/P	0	
-d	0e11ae40	Netelligent Dual 10/100 TX PCI UTP	0	
-d	0e11ae43	Netelligent Integrated 10/100 TX UTP	0	
-d	0e11ae69	CETUS-L	0	
-d	0e11ae6c	Northstar	0	
-d	0e11ae6d	NorthStar CPU to PCI Bridge	0	
-d	0e11b011	Netelligent 10/100 TX Embedded UTP	0	
-d	0e11b012	Netelligent 10 T/2 PCI UTP/Coax	0	
-d	0e11b01e	NC3120 Fast Ethernet NIC	0	
-d	0e11b01f	NC3122 Fast Ethernet NIC	0	
-d	0e11b02f	NC1120 Ethernet NIC	0	
-d	0e11b030	Netelligent 10/100 TX UTP	0	
-d	0e11b04a	10/100 TX PCI Intel WOL UTP Controller	0	
-d	0e11b060	Smart Array 5300 Controller	0	
-d	0e11b0c6	NC3161 Fast Ethernet NIC	0	
-d	0e11b0c7	NC3160 Fast Ethernet NIC	0	
-d	0e11b0d7	NC3121 Fast Ethernet NIC	0	
-d	0e11b0dd	NC3131 Fast Ethernet NIC	0	
-d	0e11b0de	NC3132 Fast Ethernet Module	0	
-d	0e11b0df	NC6132 Gigabit Module	0	
-d	0e11b0e0	NC6133 Gigabit Module	0	
-d	0e11b0e1	NC3133 Fast Ethernet Module	0	
-d	0e11b123	NC6134 Gigabit NIC	0	
-d	0e11b134	NC3163 Fast Ethernet NIC	0	
-d	0e11b13c	NC3162 Fast Ethernet NIC	0	
-d	0e11b144	NC3123 Fast Ethernet NIC	0	
-d	0e11b163	NC3134 Fast Ethernet NIC	0	
-d	0e11b164	NC3165 Fast Ethernet Upgrade Module	0	
-d	0e11b178	Smart Array 5i/532	0	
-s	0e11b1780e114080	Smart Array 5i	0	
-s	0e11b1780e114082	Smart Array 532	0	
-s	0e11b1780e114083	Smart Array 5312	0	
-d	0e11b1a4	NC7131 Gigabit Server Adapter	0	
-d	0e11b200	Memory Hot-Plug Controller	0	
-d	0e11b203	Integrated Lights Out Controller	0	
-d	0e11b204	Integrated Lights Out  Processor	0	
-s	0e11b2040e11b203		1	
-d	0e11f130	NetFlex-3/P ThunderLAN 1.0	0	
-d	0e11f150	NetFlex-3/P ThunderLAN 2.3	0	
-v	0e21	Cowon Systems, Inc.	0	
-v	0e55	HaSoTec GmbH	0	
-v	0eac	SHF Communication Technologies AG	0	
+v	0b49	ASCII Corporation	0
+d	0b49064f	Trance Vibrator	0
+v	0ccd	TerraTec Electronic GmbH	0
+d	0ccd0038	Cinergy T^2 DVB-T Receiver	0
+v	0e11	Compaq Computer Corporation	0
+d	0e110001	PCI to EISA Bridge	0
+d	0e110002	PCI to ISA Bridge	0
+d	0e110046	Smart Array 64xx	0
+s	0e1100460e11409a	Smart Array 641	0
+s	0e1100460e11409b	Smart Array 642	0
+s	0e1100460e11409c	Smart Array 6400	0
+s	0e1100460e11409d	Smart Array 6400 EM	0
+d	0e110049	NC7132 Gigabit Upgrade Module	0
+d	0e11004a	NC6136 Gigabit Server Adapter	0
+d	0e11005a	Remote Insight II board - Lights-Out	0
+d	0e11007c	NC7770 1000BaseTX	0
+d	0e11007d	NC6770 1000BaseTX	0
+d	0e110085	NC7780 1000BaseTX	0
+d	0e1100b1	Remote Insight II board - PCI device	0
+d	0e1100bb	NC7760	0
+d	0e1100ca	NC7771	0
+d	0e1100cb	NC7781	0
+d	0e1100cf	NC7772	0
+d	0e1100d0	NC7782	0
+d	0e1100d1	NC7783	0
+d	0e1100e3	NC7761	0
+d	0e110508	Netelligent 4/16 Token Ring	0
+d	0e111000	Triflex/Pentium Bridge, Model 1000	0
+d	0e112000	Triflex/Pentium Bridge, Model 2000	0
+d	0e113032	QVision 1280/p	0
+d	0e113033	QVision 1280/p	0
+d	0e113034	QVision 1280/p	0
+d	0e114000	4000 [Triflex]	0
+d	0e114030	SMART-2/P	0
+d	0e114031	SMART-2SL	0
+d	0e114032	Smart Array 3200	0
+d	0e114033	Smart Array 3100ES	0
+d	0e114034	Smart Array 221	0
+d	0e114040	Integrated Array	0
+d	0e114048	Compaq Raid LC2	0
+d	0e114050	Smart Array 4200	0
+d	0e114051	Smart Array 4250ES	0
+d	0e114058	Smart Array 431	0
+d	0e114070	Smart Array 5300	0
+d	0e114080	Smart Array 5i	0
+d	0e114082	Smart Array 532	0
+d	0e114083	Smart Array 5312	0
+d	0e114091	Smart Array 6i	0
+d	0e11409a	Smart Array 641	0
+d	0e11409b	Smart Array 642	0
+d	0e11409c	Smart Array 6400	0
+d	0e11409d	Smart Array 6400 EM	0
+d	0e116010	HotPlug PCI Bridge 6010	0
+d	0e117020	USB Controller	0
+d	0e11a0ec	Fibre Channel Host Controller	0
+d	0e11a0f0	Advanced System Management Controller	0
+d	0e11a0f3	Triflex PCI to ISA Bridge	0
+d	0e11a0f7	PCI Hotplug Controller	0
+s	0e11a0f78086002a	PCI Hotplug Controller A	0
+s	0e11a0f78086002b	PCI Hotplug Controller B	0
+d	0e11a0f8	ZFMicro Chipset USB	0
+d	0e11a0fc	FibreChannel HBA Tachyon	0
+d	0e11ae10	Smart-2/P RAID Controller	0
+s	0e11ae100e114030	Smart-2/P Array Controller	0
+s	0e11ae100e114031	Smart-2SL Array Controller	0
+s	0e11ae100e114032	Smart Array Controller	0
+s	0e11ae100e114033	Smart 3100ES Array Controller	0
+d	0e11ae29	MIS-L	0
+d	0e11ae2a	MPC	0
+d	0e11ae2b	MIS-E	0
+d	0e11ae31	System Management Controller	0
+d	0e11ae32	Netelligent 10/100 TX PCI UTP	0
+d	0e11ae33	Triflex Dual EIDE Controller	0
+d	0e11ae34	Netelligent 10 T PCI UTP	0
+d	0e11ae35	Integrated NetFlex-3/P	0
+d	0e11ae40	Netelligent Dual 10/100 TX PCI UTP	0
+d	0e11ae43	Netelligent Integrated 10/100 TX UTP	0
+d	0e11ae69	CETUS-L	0
+d	0e11ae6c	Northstar	0
+d	0e11ae6d	NorthStar CPU to PCI Bridge	0
+d	0e11b011	Netelligent 10/100 TX Embedded UTP	0
+d	0e11b012	Netelligent 10 T/2 PCI UTP/Coax	0
+d	0e11b01e	NC3120 Fast Ethernet NIC	0
+d	0e11b01f	NC3122 Fast Ethernet NIC	0
+d	0e11b02f	NC1120 Ethernet NIC	0
+d	0e11b030	Netelligent 10/100 TX UTP	0
+d	0e11b04a	10/100 TX PCI Intel WOL UTP Controller	0
+d	0e11b060	Smart Array 5300 Controller	0
+d	0e11b0c6	NC3161 Fast Ethernet NIC	0
+d	0e11b0c7	NC3160 Fast Ethernet NIC	0
+d	0e11b0d7	NC3121 Fast Ethernet NIC	0
+d	0e11b0dd	NC3131 Fast Ethernet NIC	0
+d	0e11b0de	NC3132 Fast Ethernet Module	0
+d	0e11b0df	NC6132 Gigabit Module	0
+d	0e11b0e0	NC6133 Gigabit Module	0
+d	0e11b0e1	NC3133 Fast Ethernet Module	0
+d	0e11b123	NC6134 Gigabit NIC	0
+d	0e11b134	NC3163 Fast Ethernet NIC	0
+d	0e11b13c	NC3162 Fast Ethernet NIC	0
+d	0e11b144	NC3123 Fast Ethernet NIC	0
+d	0e11b163	NC3134 Fast Ethernet NIC	0
+d	0e11b164	NC3165 Fast Ethernet Upgrade Module	0
+d	0e11b178	Smart Array 5i/532	0
+s	0e11b1780e114080	Smart Array 5i	0
+s	0e11b1780e114082	Smart Array 532	0
+s	0e11b1780e114083	Smart Array 5312	0
+d	0e11b1a4	NC7131 Gigabit Server Adapter	0
+d	0e11b200	Memory Hot-Plug Controller	0
+d	0e11b203	Integrated Lights Out Controller	0
+d	0e11b204	Integrated Lights Out  Processor	0
+s	0e11b2040e11b203		1
+d	0e11f130	NetFlex-3/P ThunderLAN 1.0	0
+d	0e11f150	NetFlex-3/P ThunderLAN 2.3	0
+v	0e21	Cowon Systems, Inc.	0
+v	0e55	HaSoTec GmbH	0
+v	0eac	SHF Communication Technologies AG	0
 v	1000	LSI Logic / Symbios Logic	0	Formerly NCR
-d	10000001	53c810	0	
-s	1000000110001000	LSI53C810AE PCI to SCSI I/O Processor	0	
-d	10000002	53c820	0	
-d	10000003	53c825	0	
-s	1000000310001000	LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)	0	
-d	10000004	53c815	0	
-d	10000005	53c810AP	0	
-d	10000006	53c860	0	
-s	1000000610001000	LSI53C860E PCI to Ultra SCSI I/O Processor	0	
-d	1000000a	53c1510	0	
-s	1000000a0e11b143	Integrated Dual Channel Wide Ultra2 SCSI Controller	0	
-s	1000000a10001000	LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)	0	
-d	1000000b	53C896/897	0	
-s	1000000b0e116004	EOB003 Series SCSI host adapter	0	
-s	1000000b10001000	LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller	0	
-s	1000000b10001010	LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter	0	
-s	1000000b10001020	LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter	0	
-s	1000000b13e91000	6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)	0	
-d	1000000c	53c895	0	
-s	1000000c10001010	LSI8951U PCI to Ultra2 SCSI host adapter	0	
-s	1000000c10001020	LSI8952U PCI to Ultra2 SCSI host adapter	0	
-s	1000000c1de13906	DC-390U2B SCSI adapter	0	
-s	1000000c1de13907	DC-390U2W	0	
-d	1000000d	53c885	0	
-d	1000000f	53c875	0	
-s	1000000f0e117004	Embedded Ultra Wide SCSI Controller	0	
-s	1000000f10001000	LSI53C876/E PCI to Dual Channel SCSI Controller	0	
-s	1000000f10001010	LSI22801 PCI to Dual Channel Ultra SCSI host adapter	0	
-s	1000000f10001020	LSI22802 PCI to Dual Channel Ultra SCSI host adapter	0	
-s	1000000f10928760	FirePort 40 Dual SCSI Controller	0	
-s	1000000f177510d0	V5D Single Board Computer Wide Ultra SCSI	0	
-s	1000000f177510d1	V5D Single Board Computer Ultra SCSI	0	
-s	1000000f1de13904	DC390F/U Ultra Wide SCSI Adapter	0	
-s	1000000f4c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0	
-s	1000000f4c531050	CT7 mainboard	0	
-d	10000010	53C1510	0	
-s	100000100e114040	Integrated Array Controller	0	
-s	100000100e114048	RAID LC2 Controller	0	
-s	1000001010001000	53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)	0	
-d	10000012	53c895a	0	
-s	1000001210001000	LSI53C895A PCI to Ultra2 SCSI Controller	0	
-d	10000013	53c875a	0	
-s	1000001310001000	LSI53C875A PCI to Ultra SCSI Controller	0	
-d	10000020	53c1010 Ultra3 SCSI Adapter	0	
-s	1000002010001000	LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller	0	
-s	10000020107b1040	Server Onboard 53C1010-33	0	
-s	100000201de11020	DC-390U3W	0	
-d	10000021	53c1010 66MHz  Ultra3 SCSI Adapter	0	
-s	1000002110001000	LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller	0	
-s	1000002110001010	Asus TR-DLS onboard 53C1010-66	0	
-s	10000021103c1330	Ultra160 SCSI [A7059A]	0	
-s	10000021103c1340	Ultra160 SCSI [A7060A]	0	
-s	10000021124b1070	PMC-USCSI3	0	
-s	100000214c531080	CT8 mainboard	0	
-s	100000214c531300	P017 mezzanine (32-bit PMC)	0	
-s	100000214c531310	P017 mezzanine (64-bit PMC)	0	
-d	10000030	53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI	0	
-s	100000300e1100da	ProLiant ML 350	0	
-s	1000003010280123	PowerEdge 2600	0	
-s	100000301028014a	PowerEdge 1750	0	
-s	100000301028016c	PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)	0	
-s	1000003010280183	PowerEdge 1800	0	
-s	1000003010281010	LSI U320 SCSI Controller	0	
-s	10000030103c12c5	Ultra320 SCSI [A7173A]	0	
-s	10000030124b1170	PMC-USCSI320	0	
-s	1000003017341052	Primergy RX300 S2	0	
-d	10000031	53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI	0	
-d	10000032	53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI	0	
-s	1000003210001000	LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller	0	
-d	10000033	1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI	0	
-d	10000040	53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI	0	
-s	1000004010000033	MegaRAID SCSI 320-2XR	0	
-s	1000004010000066	MegaRAID SCSI 320-2XRWS	0	
-d	10000041	53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI	0	
-d	10000050	SAS1064 PCI-X Fusion-MPT SAS	0	
-d	10000054	SAS1068 PCI-X Fusion-MPT SAS	0	
-d	10000055	SAS1068 PCI-X Fusion-MPT SAS	1	
+d	10000001	53c810	0
+s	1000000110001000	LSI53C810AE PCI to SCSI I/O Processor	0
+d	10000002	53c820	0
+d	10000003	53c825	0
+s	1000000310001000	LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)	0
+d	10000004	53c815	0
+d	10000005	53c810AP	0
+d	10000006	53c860	0
+s	1000000610001000	LSI53C860E PCI to Ultra SCSI I/O Processor	0
+d	1000000a	53c1510	0
+s	1000000a0e11b143	Integrated Dual Channel Wide Ultra2 SCSI Controller	0
+s	1000000a10001000	LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)	0
+d	1000000b	53C896/897	0
+s	1000000b0e116004	EOB003 Series SCSI host adapter	0
+s	1000000b10001000	LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller	0
+s	1000000b10001010	LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter	0
+s	1000000b10001020	LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter	0
+s	1000000b13e91000	6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)	0
+d	1000000c	53c895	0
+s	1000000c10001010	LSI8951U PCI to Ultra2 SCSI host adapter	0
+s	1000000c10001020	LSI8952U PCI to Ultra2 SCSI host adapter	0
+s	1000000c1de13906	DC-390U2B SCSI adapter	0
+s	1000000c1de13907	DC-390U2W	0
+d	1000000d	53c885	0
+d	1000000f	53c875	0
+s	1000000f0e117004	Embedded Ultra Wide SCSI Controller	0
+s	1000000f10001000	LSI53C876/E PCI to Dual Channel SCSI Controller	0
+s	1000000f10001010	LSI22801 PCI to Dual Channel Ultra SCSI host adapter	0
+s	1000000f10001020	LSI22802 PCI to Dual Channel Ultra SCSI host adapter	0
+s	1000000f10928760	FirePort 40 Dual SCSI Controller	0
+s	1000000f177510d0	V5D Single Board Computer Wide Ultra SCSI	0
+s	1000000f177510d1	V5D Single Board Computer Ultra SCSI	0
+s	1000000f1de13904	DC390F/U Ultra Wide SCSI Adapter	0
+s	1000000f4c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0
+s	1000000f4c531050	CT7 mainboard	0
+d	10000010	53C1510	0
+s	100000100e114040	Integrated Array Controller	0
+s	100000100e114048	RAID LC2 Controller	0
+s	1000001010001000	53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)	0
+d	10000012	53c895a	0
+s	1000001210001000	LSI53C895A PCI to Ultra2 SCSI Controller	0
+d	10000013	53c875a	0
+s	1000001310001000	LSI53C875A PCI to Ultra SCSI Controller	0
+d	10000020	53c1010 Ultra3 SCSI Adapter	0
+s	1000002010001000	LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller	0
+s	10000020107b1040	Server Onboard 53C1010-33	0
+s	100000201de11020	DC-390U3W	0
+d	10000021	53c1010 66MHz  Ultra3 SCSI Adapter	0
+s	1000002110001000	LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller	0
+s	1000002110001010	Asus TR-DLS onboard 53C1010-66	0
+s	10000021103c1330	Ultra160 SCSI [A7059A]	0
+s	10000021103c1340	Ultra160 SCSI [A7060A]	0
+s	10000021124b1070	PMC-USCSI3	0
+s	100000214c531080	CT8 mainboard	0
+s	100000214c531300	P017 mezzanine (32-bit PMC)	0
+s	100000214c531310	P017 mezzanine (64-bit PMC)	0
+d	10000030	53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI	0
+s	100000300e1100da	ProLiant ML 350	0
+s	1000003010280123	PowerEdge 2600	0
+s	100000301028014a	PowerEdge 1750	0
+s	100000301028016c	PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)	0
+s	1000003010280183	PowerEdge 1800	0
+s	1000003010281010	LSI U320 SCSI Controller	0
+s	10000030103c12c5	Ultra320 SCSI [A7173A]	0
+s	10000030124b1170	PMC-USCSI320	0
+s	1000003017341052	Primergy RX300 S2	0
+d	10000031	53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI	0
+d	10000032	53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI	0
+s	1000003210001000	LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller	0
+d	10000033	1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI	0
+d	10000040	53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI	0
+s	1000004010000033	MegaRAID SCSI 320-2XR	0
+s	1000004010000066	MegaRAID SCSI 320-2XRWS	0
+d	10000041	53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI	0
+d	10000050	SAS1064 PCI-X Fusion-MPT SAS	0
+d	10000054	SAS1068 PCI-X Fusion-MPT SAS	0
+d	10000055	SAS1068 PCI-X Fusion-MPT SAS	1
 s	1000005510338336	NEC subsytem for SAS1068	1	Jumper set to RAID - MegaRAID
-d	10000056	SAS1064E PCI-Express Fusion-MPT SAS	0	
-d	10000058	SAS1068E PCI-Express Fusion-MPT SAS	0	
-d	1000005a	SAS1066E PCI-Express Fusion-MPT SAS	0	
-d	1000005c	SAS1064A PCI-X Fusion-MPT SAS	0	
-d	1000005e	SAS1066 PCI-X Fusion-MPT SAS	0	
-d	10000060	MegaRAID SAS 1078	0	
-s	1000006010001006	MegaRAID SAS 8888ELP	1	
-s	100000601000100a	MegaRAID SAS 8708ELP	1	
-s	100000601000100e	MegaRAID SAS 8884E	1	
-s	100000601000100f	MegaRAID SAS 8708E	1	
-s	1000006010001010	MegaRAID SATA 350-8ELP	1	
-s	1000006010001011	MegaRAID SATA 350-4ELP	1	
-s	1000006010001012	MegaRAID SAS 8704ELP	1	
-s	1000006010140363	MegaRAID SAS PCI Express? ROMB	1	
+d	10000056	SAS1064E PCI-Express Fusion-MPT SAS	0
+d	10000058	SAS1068E PCI-Express Fusion-MPT SAS	0
+d	1000005a	SAS1066E PCI-Express Fusion-MPT SAS	0
+d	1000005c	SAS1064A PCI-X Fusion-MPT SAS	0
+d	1000005e	SAS1066 PCI-X Fusion-MPT SAS	0
+d	10000060	MegaRAID SAS 1078	0
+s	1000006010001006	MegaRAID SAS 8888ELP	1
+s	100000601000100a	MegaRAID SAS 8708ELP	1
+s	100000601000100e	MegaRAID SAS 8884E	1
+s	100000601000100f	MegaRAID SAS 8708E	1
+s	1000006010001010	MegaRAID SATA 350-8ELP	1
+s	1000006010001011	MegaRAID SATA 350-4ELP	1
+s	1000006010001012	MegaRAID SAS 8704ELP	1
+s	1000006010140363	MegaRAID SAS PCI Express? ROMB	1
 s	1000006010140363	MegaRAID SAS PCI Express ROMB	1	Please remove previous entries for 1014:0363
-s	1000006010140364	IBM SystemX MegaRAID SAS 8808E	1	
+s	1000006010140364	IBM SystemX MegaRAID SAS 8808E	1
 s	1000006010140364	SystemX MegaRAID SAS 8808E	1	Removing string "IBM" from name
-s	1000006010140365	IBM SystemX MegaRAID SAS 8884E	1	
+s	1000006010140365	IBM SystemX MegaRAID SAS 8884E	1
 s	1000006010140365	SystemX MegaRAID SAS 8884E	1	Removing string "IBM" from name for 1014:0365
-s	1000006010281f0a	PERC 6/E Adapter RAID Controller	0	
-s	1000006010281f0b	PERC 6/i Adapter RAID Controller	0	
-s	1000006010281f0c	PERC 6/i Integrated RAID Controller	0	
-s	1000006010281f0d	PERC 6/i Enhanced RAID Controller	0	
+s	1000006010281f0a	PERC 6/E Adapter RAID Controller	0
+s	1000006010281f0b	PERC 6/i Adapter RAID Controller	0
+s	1000006010281f0c	PERC 6/i Integrated RAID Controller	0
+s	1000006010281f0d	PERC 6/i Enhanced RAID Controller	0
 s	1000006010281f0d	CERC 6/i Adapter RAID Controller	1	Name changed from PERC to CERC
-s	1000006010281f11	CERC 6/i Adapter RAID Controller	1	
-s	100000601043824d	MegaRAID SAS PCI Express? ROMB	1	
+s	1000006010281f11	CERC 6/i Adapter RAID Controller	1
+s	100000601043824d	MegaRAID SAS PCI Express? ROMB	1
 s	100000601043824d	MegaRAID SAS PCI Express ROMB	1	Please remove previous entries for 1043:824d
-s	100000601170002f	MegaRAID SAS PCI Express ROMB	1	
-s	10000060808634cc	Integrated RAID Controller SROMBSAS28E	1	
-s	10000060808634cd	Integrated Intel? RAID Controller SROMBSAS28E	1	
+s	100000601170002f	MegaRAID SAS PCI Express ROMB	1
+s	10000060808634cc	Integrated RAID Controller SROMBSAS28E	1
+s	10000060808634cd	Integrated Intel? RAID Controller SROMBSAS28E	1
 s	10000060808634cd	Integrated RAID Controller SROMBSAS28E	1	Please remove previuos entries for 8086:34cd
-d	10000062	SAS1078 PCI-Express Fusion-MPT SAS	0	
-s	1000006210000062	SAS1078 PCI-Express Fusion-MPT SAS	0	
-d	1000008f	53c875J	0	
-s	1000008f10928000	FirePort 40 SCSI Controller	0	
-s	1000008f10928760	FirePort 40 Dual SCSI Host Adapter	0	
-d	10000407	MegaRAID	0	
-s	1000040710000530	MegaRAID 530 SCSI 320-0X RAID Controller	0	
-s	1000040710000531	MegaRAID 531 SCSI 320-4X RAID Controller	0	
-s	1000040710000532	MegaRAID 532 SCSI 320-2X RAID Controller	0	
-s	1000040710280531	PowerEdge Expandable RAID Controller 4/QC	0	
-s	1000040710280533	PowerEdge Expandable RAID Controller 4/QC	0	
-s	1000040780860530	MegaRAID Intel RAID Controller SRCZCRX	0	
-s	1000040780860532	MegaRAID Intel RAID Controller SRCU42X	0	
-d	10000408	MegaRAID	0	
-s	1000040810000001	MegaRAID SCSI 320-1E RAID Controller	0	
-s	1000040810000002	MegaRAID SCSI 320-2E RAID Controller	0	
-s	100004081025004d	MegaRAID ACER ROMB-2E RAID Controller	0	
-s	1000040810280001	PowerEdge RAID Controller PERC4e/SC	0	
-s	1000040810280002	PowerEdge RAID Controller PERC4e/DC	0	
-s	1000040810280012	PowerEdge RAID Controller RAC4	1	
-s	1000040810280015	PowerEdge RAID Controller PERC5	1	
-s	1000040810281f03	PowerEdge RAID Controller PERC5	1	
-s	1000040817341065	FSC MegaRAID PCI Express ROMB	0	
-s	1000040880860002	MegaRAID Intel RAID Controller SRCU42E	0	
-d	10000409	MegaRAID	0	
-s	1000040910003004	MegaRAID SATA 300-4X RAID Controller	0	
-s	1000040910003008	MegaRAID SATA 300-8X RAID Controller	0	
-s	1000040980863008	MegaRAID RAID Controller SRCS28X	0	
-s	1000040980863431	MegaRAID RAID Controller Alief SROMBU42E	0	
-s	1000040980863499	MegaRAID RAID Controller Harwich SROMBU42E	0	
-d	10000411	MegaRAID SAS	0	
-s	1000041110001001	MegaRAID SAS 8408E	0	
-s	1000041110001002	MegaRAID SAS 8480E	0	
-s	1000041110001003	MegaRAID SAS 8344ELP	0	
-s	1000041110001004	MegaRAID SAS 8308ELP	0	
+d	10000062	SAS1078 PCI-Express Fusion-MPT SAS	0
+s	1000006210000062	SAS1078 PCI-Express Fusion-MPT SAS	0
+d	1000008f	53c875J	0
+s	1000008f10928000	FirePort 40 SCSI Controller	0
+s	1000008f10928760	FirePort 40 Dual SCSI Host Adapter	0
+d	10000407	MegaRAID	0
+s	1000040710000530	MegaRAID 530 SCSI 320-0X RAID Controller	0
+s	1000040710000531	MegaRAID 531 SCSI 320-4X RAID Controller	0
+s	1000040710000532	MegaRAID 532 SCSI 320-2X RAID Controller	0
+s	1000040710280531	PowerEdge Expandable RAID Controller 4/QC	0
+s	1000040710280533	PowerEdge Expandable RAID Controller 4/QC	0
+s	1000040780860530	MegaRAID Intel RAID Controller SRCZCRX	0
+s	1000040780860532	MegaRAID Intel RAID Controller SRCU42X	0
+d	10000408	MegaRAID	0
+s	1000040810000001	MegaRAID SCSI 320-1E RAID Controller	0
+s	1000040810000002	MegaRAID SCSI 320-2E RAID Controller	0
+s	100004081025004d	MegaRAID ACER ROMB-2E RAID Controller	0
+s	1000040810280001	PowerEdge RAID Controller PERC4e/SC	0
+s	1000040810280002	PowerEdge RAID Controller PERC4e/DC	0
+s	1000040810280012	PowerEdge RAID Controller RAC4	1
+s	1000040810280015	PowerEdge RAID Controller PERC5	1
+s	1000040810281f03	PowerEdge RAID Controller PERC5	1
+s	1000040817341065	FSC MegaRAID PCI Express ROMB	0
+s	1000040880860002	MegaRAID Intel RAID Controller SRCU42E	0
+d	10000409	MegaRAID	0
+s	1000040910003004	MegaRAID SATA 300-4X RAID Controller	0
+s	1000040910003008	MegaRAID SATA 300-8X RAID Controller	0
+s	1000040980863008	MegaRAID RAID Controller SRCS28X	0
+s	1000040980863431	MegaRAID RAID Controller Alief SROMBU42E	0
+s	1000040980863499	MegaRAID RAID Controller Harwich SROMBU42E	0
+d	10000411	MegaRAID SAS	0
+s	1000041110001001	MegaRAID SAS 8408E	0
+s	1000041110001002	MegaRAID SAS 8480E	0
+s	1000041110001003	MegaRAID SAS 8344ELP	0
+s	1000041110001004	MegaRAID SAS 8308ELP	0
 s	1000041110001008	MegaRAID SAS 84016E	1	MegaRAID SAS adpater ID
-s	100004111000100c	MegaRAID SATA 300-12E	0	
-s	100004111000100d	MegaRAID SATA 300-16E	0	
-s	1000041110002004	MegaRAID SATA 300-8ELP	0	
-s	1000041110002005	MegaRAID SATA 300-4ELP	0	
-s	1000041110338287	MegaRAID SAS PCI Express ROMB	0	
-s	1000041110543016	MegaRAID SAS RoMB Server	0	
-s	1000041117341081	MegaRAID SAS PCI Express ROMB	0	
-s	10000411173410a3	MegaRAID SAS PCI Express ROMB	0	
-s	1000041180861001	SRCSAS18E RAID Controller	0	
+s	100004111000100c	MegaRAID SATA 300-12E	0
+s	100004111000100d	MegaRAID SATA 300-16E	0
+s	1000041110002004	MegaRAID SATA 300-8ELP	0
+s	1000041110002005	MegaRAID SATA 300-4ELP	0
+s	1000041110338287	MegaRAID SAS PCI Express ROMB	0
+s	1000041110543016	MegaRAID SAS RoMB Server	0
+s	1000041117341081	MegaRAID SAS PCI Express ROMB	0
+s	10000411173410a3	MegaRAID SAS PCI Express ROMB	0
+s	1000041180861001	SRCSAS18E RAID Controller	0
 s	1000041180861001	Intel? RAID Controller SRCSAS18E	1	Name changed
 s	1000041180861001	Intel RAID Controller SRCSAS18E	1	Name changed. Please remove previous entries for 8086:1001
-s	1000041180861003	SRCSAS144E RAID Controller	0	
+s	1000041180861003	SRCSAS144E RAID Controller	0
 s	1000041180861003	Intel? RAID Controller SRCSAS144E	1	Name changed
 s	1000041180861003	Intel RAID Controller SRCSAS144E	1	Name changed. Please remove previous entries for 8086:1003
-s	1000041180863500	SROMBSAS18E RAID Controller	0	
-s	1000041180863501	SROMBSAS18E RAID Controller	0	
-s	1000041180863504	SROMBSAS18E RAID Controller	0	
-d	10000413	MegaRAID SAS Verde ZCR	0	
-s	1000041310001005	MegaRAID SAS 8300XLP	0	
-d	10000621	FC909 Fibre Channel Adapter	0	
-d	10000622	FC929 Fibre Channel Adapter	0	
-s	1000062210001020	44929 O Dual Fibre Channel card	0	
-d	10000623	FC929 LAN	0	
-d	10000624	FC919 Fibre Channel Adapter	0	
-d	10000625	FC919 LAN	0	
-d	10000626	FC929X Fibre Channel Adapter	0	
-s	1000062610001010	7202-XP-LC Dual Fibre Channel card	0	
-d	10000627	FC929X LAN	0	
-d	10000628	FC919X Fibre Channel Adapter	0	
-d	10000629	FC919X LAN	0	
-d	10000640	FC949X Fibre Channel Adapter	0	
-d	10000642	FC939X Fibre Channel Adapter	0	
-d	10000646	FC949ES Fibre Channel Adapter	0	
-d	10000701	83C885 NT50 DigitalScape Fast Ethernet	0	
-d	10000702	Yellowfin G-NIC gigabit ethernet	0	
-s	1000070213180000	PEI100X	0	
-d	10000804	SA2010	0	
-d	10000805	SA2010ZC	0	
-d	10000806	SA2020	0	
-d	10000807	SA2020ZC	0	
-d	10000901	61C102	0	
-d	10001000	63C815	0	
-d	10001960	MegaRAID	0	
-s	1000196010000518	MegaRAID 518 SCSI 320-2 Controller	0	
-s	1000196010000520	MegaRAID 520 SCSI 320-1 Controller	0	
-s	1000196010000522	MegaRAID 522 i4 133 RAID Controller	0	
-s	1000196010000523	MegaRAID SATA 150-6 RAID Controller	0	
-s	1000196010004523	MegaRAID SATA 150-4 RAID Controller	0	
-s	100019601000a520	MegaRAID ZCR SCSI 320-0 Controller	0	
-s	1000196010280518	MegaRAID 518 DELL PERC 4/DC RAID Controller	0	
-s	1000196010280520	MegaRAID 520 DELL PERC 4/SC RAID Controller	0	
-s	1000196010280531	PowerEdge Expandable RAID Controller 4/QC	0	
-s	1000196010280533	PowerEdge Expandable RAID Controller 4/QC	0	
-s	1000196080860520	MegaRAIDRAID Controller SRCU41L	0	
-s	1000196080860523	MegaRAID RAID Controller SRCS16	0	
-v	1001	Kolter Electronic	0	
-d	10010010	PCI 1616 Measurement card with 32 digital I/O lines	0	
-d	10010011	OPTO-PCI Opto-Isolated digital I/O board	0	
-d	10010012	PCI-AD/DA Analogue I/O board	0	
-d	10010013	PCI-OPTO-RELAIS Digital I/O board with relay outputs	0	
-d	10010014	PCI-Counter/Timer Counter Timer board	0	
-d	10010015	PCI-DAC416 Analogue output board	0	
-d	10010016	PCI-MFB Analogue I/O board	0	
-d	10010017	PROTO-3 PCI Prototyping board	0	
-d	10019100	INI-9100/9100W SCSI Host	0	
-v	1002	ATI Technologies Inc	0	
-v	1002		1	
-d	10023150	M24 1P [Radeon Mobility X600]	0	
-d	10023152	M22 [Radeon Mobility X300]	0	
-d	10023154	M24 1T [FireGL M24 GL]	0	
-d	10023e50	RV380 0x3e50 [Radeon X600]	0	
-d	10023e54	RV380 0x3e54 [FireGL V3200]	0	
-d	10023e70	RV380 [Radeon X600] Secondary	0	
-d	10024136	Radeon IGP 320 M	0	
-d	10024137	Radeon IGP330/340/350	0	
-d	10024144	R300 AD [Radeon 9500 Pro]	0	
-d	10024145	R300 AE [Radeon 9700 Pro]	0	
-d	10024146	R300 AF [Radeon 9700 Pro]	0	
-d	10024147	R300 AG [FireGL Z1/X1]	0	
-d	10024148	R350 AH [Radeon 9800]	0	
-d	10024149	R350 AI [Radeon 9800]	0	
-d	1002414a	R350 AJ [Radeon 9800]	0	
-d	1002414b	R350 AK [Fire GL X2]	0	
-d	10024150	RV350 AP [Radeon 9600]	0	
-s	1002415010020002	R9600 Pro primary (Asus OEM for HP)	0	
-s	1002415010020003	R9600 Pro secondary (Asus OEM for HP)	0	
-s	1002415010024722	All-in-Wonder 2006 AGP Edition	0	
-s	1002415014584024	Giga-Byte GV-R96128D Primary	0	
-s	10024150148c2064	PowerColor R96A-C3N	0	
-s	10024150148c2066	PowerColor R96A-C3N	0	
-s	10024150174b7c19	Sapphire Atlantis Radeon 9600 Pro	0	
-s	10024150174b7c29	GC-R9600PRO Primary [Sapphire]	0	
-s	1002415017ee2002	Radeon 9600 256Mb Primary	0	
-s	1002415018bc0101	GC-R9600PRO Primary	0	
-d	10024151	RV350 AQ [Radeon 9600]	0	
-s	100241511043c004	A9600SE	0	
-d	10024152	RV350 AR [Radeon 9600]	0	
-s	1002415210020002	Radeon 9600XT	0	
-s	1002415210024772	All-in-Wonder 9600 XT	0	
-s	100241521043c002	Radeon 9600 XT TVD	0	
-s	100241521043c01a	A9600XT/TD	0	
-s	10024152174b7c29	Sapphire Radeon 9600XT	0	
-s	1002415217874002	Radeon 9600 XT	0	
-d	10024153	RV350 AS [Radeon 9550]	0	
-d	10024153	ATI Radeon 9550/ X1050 Series	1	
-s	100241531043010c	A9550GE/TD	0	
-s	100241531462932c	865PE Neo2-V (MS-6788) mainboard	0	
-d	10024154	RV350 AT [Fire GL T2]	0	
-d	10024155	RV350 AU [Fire GL T2]	0	
-d	10024156	RV350 AV [Fire GL T2]	0	
-d	10024157	RV350 AW [Fire GL T2]	0	
-d	10024158	68800AX [Mach32]	0	
-d	10024164	R300 AD [Radeon 9500 Pro] (Secondary)	0	
-d	10024165	R300 AE [Radeon 9700 Pro] (Secondary)	0	
-d	10024166	R300 AF [Radeon 9700 Pro] (Secondary)	0	
-d	10024168	Radeon R350 [Radeon 9800] (Secondary)	0	
-d	10024170	RV350 AP [Radeon 9600] (Secondary)	0	
-s	1002417010020003	R9600 Pro secondary (Asus OEM for HP)	0	
-s	1002417010024723	All-in-Wonder 2006 AGP Edition (Secondary)	0	
-s	1002417014584025	Giga-Byte GV-R96128D Secondary	0	
-s	10024170148c2067	PowerColor R96A-C3N (Secondary)	0	
-s	10024170174b7c28	GC-R9600PRO Secondary [Sapphire]	0	
-s	1002417017ee2003	Radeon 9600 256Mb Secondary	0	
-s	1002417018bc0100	GC-R9600PRO Secondary	0	
-d	10024171	RV350 AQ [Radeon 9600] (Secondary)	0	
-s	100241711043c005	A9600SE (Secondary)	0	
-d	10024172	RV350 AR [Radeon 9600] (Secondary)	0	
-s	1002417210020003	Radeon 9600XT (Secondary)	0	
-s	1002417210024773	All-in-Wonder 9600 XT (Secondary)	0	
-s	100241721043c003	A9600XT (Secondary)	0	
-s	100241721043c01b	A9600XT/TD (Secondary)	0	
-s	10024172174b7c28	Sapphire Radeon 9600XT (Secondary)	0	
-s	1002417217874003	Radeon 9600 XT (Secondary)	0	
-d	10024173	RV350 AS [Radeon 9550] (Secondary)	0	
-d	10024173	ATI Radeon 9550/ X1050 Series Secondary	1	
-s	100241731043010d	A9550GE/TD (Secondary)	0	
-d	10024237	Radeon 7000 IGP	0	
-d	10024242	R200 BB [Radeon All in Wonder 8500DV]	0	
-s	10024242100202aa	Radeon 8500 AIW DV Edition	0	
-d	10024243	R200 BC [Radeon All in Wonder 8500]	0	
-d	10024336	Radeon Mobility U1	0	
-s	1002433610024336	Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)	0	
-s	10024336103c0024	Pavilion ze4400 builtin Video	0	
-s	10024336161f2029	eMachines M5312 builtin Video	0	
-d	10024337	Radeon IGP 330M/340M/350M	0	
-s	100243371014053a	ThinkPad R40e (2684-HVG) builtin VGA controller	0	
-s	10024337103c0850	Radeon IGP 345M	0	
-d	10024341	IXP150 AC'97 Audio Controller	0	
-d	10024345	EHCI USB Controller	0	
-d	10024347	OHCI USB Controller #1	0	
-d	10024348	OHCI USB Controller #2	0	
-d	10024349	ATI Dual Channel Bus Master PCI IDE Controller	0	
-d	1002434d	IXP AC'97 Modem	0	
-d	10024353	ATI SMBus	0	
-d	10024354	215CT [Mach64 CT]	0	
-d	10024358	210888CX [Mach64 CX]	0	
-d	10024363	ATI SMBus	0	
-d	1002436e	ATI 436E Serial ATA Controller	0	
-d	10024370	IXP SB400 AC'97 Audio Controller	0	
-s	1002437010250079	Aspire 5024WLMMi	0	
-s	10024370103c308b	MX6125	0	
-s	10024370107b0300	MX6421	0	
-d	10024371	IXP SB400 PCI-PCI Bridge	0	
-s	10024371103c308b	MX6125	0	
-d	10024372	IXP SB400 SMBus Controller	0	
-s	1002437210250080	Aspire 5024WLMMi	0	
-s	10024372103c308b	MX6125	0	
-d	10024373	IXP SB400 USB2 Host Controller	0	
-s	1002437310250080	Aspire 5024WLMMi	0	
-s	10024373103c308b	MX6125	0	
-d	10024374	IXP SB400 USB Host Controller	0	
-s	10024374103c308b	MX6125	0	
-d	10024375	IXP SB400 USB Host Controller	0	
-s	1002437510250080	Aspire 5024WLMMi	0	
-s	10024375103c308b	MX6125	0	
-d	10024376	Standard Dual Channel PCI IDE Controller ATI	0	
-s	1002437610250080	Aspire 5024WLMMi	0	
-s	10024376103c308b	MX6125	0	
-d	10024377	IXP SB400 PCI-ISA Bridge	0	
-s	1002437710250080	Aspire 5024WLMi	0	
-s	10024377103c308b	MX6125	0	
-d	10024378	ATI SB400 - AC'97 Modem Controller	0	
-s	1002437810250080	Aspire 5024WLMMi	0	
-s	10024378103c308b	MX6125	0	
-d	10024379	ATI 4379 Serial ATA Controller	0	
-d	1002437a	ATI 437A Serial ATA Controller	0	
-s	1002437a10024379	ATI Technologies Inc ATI 4379 Serial ATA Controller	1	
-s	1002437a1002437a	ATI Technologies Inc ATI 437A Serial ATA Controller	1	
-s	1002437a14f18800	Leadtek WinFast TV2000XP Expert	1	
-d	1002437b	SB450 HDA Audio	0	
-s	1002437b173410b8	Fujitsu Siemens Computer GmbH	1	
-d	10024380	SB600 Non-Raid-5 SATA	0	
-d	10024381	SB600 Raid-5 SATA	0	
-d	10024382	SB600 AC97 Audio	0	
-d	10024383	SB600 Azalia	0	
-d	10024384	SB600 PCI to PCI Bridge	0	
-d	10024385	SB600 SMBus	0	
-d	10024386	SB600 USB Controller (EHCI)	0	
-d	10024387	SB600 USB (OHCI0)	0	
-d	10024388	SB600 USB (OHCI1)	0	
-d	10024389	SB600 USB (OHCI2)	0	
-d	1002438a	SB600 USB (OHCI3)	0	
-d	1002438b	SB600 USB (OHCI4)	0	
-d	1002438c	SB600 IDE	0	
-d	1002438d	SB600 PCI to LPC Bridge	0	
-d	1002438e	SB600 AC97 Modem	0	
-d	10024437	Radeon Mobility 7000 IGP	0	
-d	10024554	210888ET [Mach64 ET]	0	
-d	10024654	Mach64 VT	0	
-d	10024742	3D Rage Pro AGP 1X/2X	0	
-s	1002474210020040	Rage Pro Turbo AGP 2X	0	
-s	1002474210020044	Rage Pro Turbo AGP 2X	0	
-s	1002474210020061	Rage Pro AIW AGP 2X	0	
-s	1002474210020062	Rage Pro AIW AGP 2X	0	
-s	1002474210020063	Rage Pro AIW AGP 2X	0	
-s	1002474210020080	Rage Pro Turbo AGP 2X	0	
-s	1002474210020084	Rage Pro Turbo AGP 2X	0	
-s	1002474210024742	Rage Pro Turbo AGP 2X	0	
-s	1002474210028001	Rage Pro Turbo AGP 2X	0	
-s	1002474210280082	Rage Pro Turbo AGP 2X	0	
-s	1002474210284082	Optiplex GX1 Onboard Display Adapter	0	
-s	1002474210288082	Rage Pro Turbo AGP 2X	0	
-s	100247421028c082	Rage Pro Turbo AGP 2X	0	
-s	1002474280864152	Xpert 98D AGP 2X	0	
-s	100247428086464a	Rage Pro Turbo AGP 2X	0	
-d	10024744	3D Rage Pro AGP 1X	0	
-s	1002474410024744	Rage Pro Turbo AGP	0	
-d	10024747	3D Rage Pro	0	
+s	1000041180863500	SROMBSAS18E RAID Controller	0
+s	1000041180863501	SROMBSAS18E RAID Controller	0
+s	1000041180863504	SROMBSAS18E RAID Controller	0
+d	10000413	MegaRAID SAS Verde ZCR	0
+s	1000041310001005	MegaRAID SAS 8300XLP	0
+d	10000621	FC909 Fibre Channel Adapter	0
+d	10000622	FC929 Fibre Channel Adapter	0
+s	1000062210001020	44929 O Dual Fibre Channel card	0
+d	10000623	FC929 LAN	0
+d	10000624	FC919 Fibre Channel Adapter	0
+d	10000625	FC919 LAN	0
+d	10000626	FC929X Fibre Channel Adapter	0
+s	1000062610001010	7202-XP-LC Dual Fibre Channel card	0
+d	10000627	FC929X LAN	0
+d	10000628	FC919X Fibre Channel Adapter	0
+d	10000629	FC919X LAN	0
+d	10000640	FC949X Fibre Channel Adapter	0
+d	10000642	FC939X Fibre Channel Adapter	0
+d	10000646	FC949ES Fibre Channel Adapter	0
+d	10000701	83C885 NT50 DigitalScape Fast Ethernet	0
+d	10000702	Yellowfin G-NIC gigabit ethernet	0
+s	1000070213180000	PEI100X	0
+d	10000804	SA2010	0
+d	10000805	SA2010ZC	0
+d	10000806	SA2020	0
+d	10000807	SA2020ZC	0
+d	10000901	61C102	0
+d	10001000	63C815	0
+d	10001960	MegaRAID	0
+s	1000196010000518	MegaRAID 518 SCSI 320-2 Controller	0
+s	1000196010000520	MegaRAID 520 SCSI 320-1 Controller	0
+s	1000196010000522	MegaRAID 522 i4 133 RAID Controller	0
+s	1000196010000523	MegaRAID SATA 150-6 RAID Controller	0
+s	1000196010004523	MegaRAID SATA 150-4 RAID Controller	0
+s	100019601000a520	MegaRAID ZCR SCSI 320-0 Controller	0
+s	1000196010280518	MegaRAID 518 DELL PERC 4/DC RAID Controller	0
+s	1000196010280520	MegaRAID 520 DELL PERC 4/SC RAID Controller	0
+s	1000196010280531	PowerEdge Expandable RAID Controller 4/QC	0
+s	1000196010280533	PowerEdge Expandable RAID Controller 4/QC	0
+s	1000196080860520	MegaRAIDRAID Controller SRCU41L	0
+s	1000196080860523	MegaRAID RAID Controller SRCS16	0
+v	1001	Kolter Electronic	0
+d	10010010	PCI 1616 Measurement card with 32 digital I/O lines	0
+d	10010011	OPTO-PCI Opto-Isolated digital I/O board	0
+d	10010012	PCI-AD/DA Analogue I/O board	0
+d	10010013	PCI-OPTO-RELAIS Digital I/O board with relay outputs	0
+d	10010014	PCI-Counter/Timer Counter Timer board	0
+d	10010015	PCI-DAC416 Analogue output board	0
+d	10010016	PCI-MFB Analogue I/O board	0
+d	10010017	PROTO-3 PCI Prototyping board	0
+d	10019100	INI-9100/9100W SCSI Host	0
+v	1002	ATI Technologies Inc	0
+v	1002		1
+d	10023150	M24 1P [Radeon Mobility X600]	0
+d	10023152	M22 [Radeon Mobility X300]	0
+d	10023154	M24 1T [FireGL M24 GL]	0
+d	10023e50	RV380 0x3e50 [Radeon X600]	0
+d	10023e54	RV380 0x3e54 [FireGL V3200]	0
+d	10023e70	RV380 [Radeon X600] Secondary	0
+d	10024136	Radeon IGP 320 M	0
+d	10024137	Radeon IGP330/340/350	0
+d	10024144	R300 AD [Radeon 9500 Pro]	0
+d	10024145	R300 AE [Radeon 9700 Pro]	0
+d	10024146	R300 AF [Radeon 9700 Pro]	0
+d	10024147	R300 AG [FireGL Z1/X1]	0
+d	10024148	R350 AH [Radeon 9800]	0
+d	10024149	R350 AI [Radeon 9800]	0
+d	1002414a	R350 AJ [Radeon 9800]	0
+d	1002414b	R350 AK [Fire GL X2]	0
+d	10024150	RV350 AP [Radeon 9600]	0
+s	1002415010020002	R9600 Pro primary (Asus OEM for HP)	0
+s	1002415010020003	R9600 Pro secondary (Asus OEM for HP)	0
+s	1002415010024722	All-in-Wonder 2006 AGP Edition	0
+s	1002415014584024	Giga-Byte GV-R96128D Primary	0
+s	10024150148c2064	PowerColor R96A-C3N	0
+s	10024150148c2066	PowerColor R96A-C3N	0
+s	10024150174b7c19	Sapphire Atlantis Radeon 9600 Pro	0
+s	10024150174b7c29	GC-R9600PRO Primary [Sapphire]	0
+s	1002415017ee2002	Radeon 9600 256Mb Primary	0
+s	1002415018bc0101	GC-R9600PRO Primary	0
+d	10024151	RV350 AQ [Radeon 9600]	0
+s	100241511043c004	A9600SE	0
+d	10024152	RV350 AR [Radeon 9600]	0
+s	1002415210020002	Radeon 9600XT	0
+s	1002415210024772	All-in-Wonder 9600 XT	0
+s	100241521043c002	Radeon 9600 XT TVD	0
+s	100241521043c01a	A9600XT/TD	0
+s	10024152174b7c29	Sapphire Radeon 9600XT	0
+s	1002415217874002	Radeon 9600 XT	0
+d	10024153	RV350 AS [Radeon 9550]	0
+d	10024153	ATI Radeon 9550/ X1050 Series	1
+s	100241531043010c	A9550GE/TD	0
+s	100241531462932c	865PE Neo2-V (MS-6788) mainboard	0
+d	10024154	RV350 AT [Fire GL T2]	0
+d	10024155	RV350 AU [Fire GL T2]	0
+d	10024156	RV350 AV [Fire GL T2]	0
+d	10024157	RV350 AW [Fire GL T2]	0
+d	10024158	68800AX [Mach32]	0
+d	10024164	R300 AD [Radeon 9500 Pro] (Secondary)	0
+d	10024165	R300 AE [Radeon 9700 Pro] (Secondary)	0
+d	10024166	R300 AF [Radeon 9700 Pro] (Secondary)	0
+d	10024168	Radeon R350 [Radeon 9800] (Secondary)	0
+d	10024170	RV350 AP [Radeon 9600] (Secondary)	0
+s	1002417010020003	R9600 Pro secondary (Asus OEM for HP)	0
+s	1002417010024723	All-in-Wonder 2006 AGP Edition (Secondary)	0
+s	1002417014584025	Giga-Byte GV-R96128D Secondary	0
+s	10024170148c2067	PowerColor R96A-C3N (Secondary)	0
+s	10024170174b7c28	GC-R9600PRO Secondary [Sapphire]	0
+s	1002417017ee2003	Radeon 9600 256Mb Secondary	0
+s	1002417018bc0100	GC-R9600PRO Secondary	0
+d	10024171	RV350 AQ [Radeon 9600] (Secondary)	0
+s	100241711043c005	A9600SE (Secondary)	0
+d	10024172	RV350 AR [Radeon 9600] (Secondary)	0
+s	1002417210020003	Radeon 9600XT (Secondary)	0
+s	1002417210024773	All-in-Wonder 9600 XT (Secondary)	0
+s	100241721043c003	A9600XT (Secondary)	0
+s	100241721043c01b	A9600XT/TD (Secondary)	0
+s	10024172174b7c28	Sapphire Radeon 9600XT (Secondary)	0
+s	1002417217874003	Radeon 9600 XT (Secondary)	0
+d	10024173	RV350 AS [Radeon 9550] (Secondary)	0
+d	10024173	ATI Radeon 9550/ X1050 Series Secondary	1
+s	100241731043010d	A9550GE/TD (Secondary)	0
+d	10024237	Radeon 7000 IGP	0
+d	10024242	R200 BB [Radeon All in Wonder 8500DV]	0
+s	10024242100202aa	Radeon 8500 AIW DV Edition	0
+d	10024243	R200 BC [Radeon All in Wonder 8500]	0
+d	10024336	Radeon Mobility U1	0
+s	1002433610024336	Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)	0
+s	10024336103c0024	Pavilion ze4400 builtin Video	0
+s	10024336161f2029	eMachines M5312 builtin Video	0
+d	10024337	Radeon IGP 330M/340M/350M	0
+s	100243371014053a	ThinkPad R40e (2684-HVG) builtin VGA controller	0
+s	10024337103c0850	Radeon IGP 345M	0
+d	10024341	IXP150 AC'97 Audio Controller	0
+d	10024345	EHCI USB Controller	0
+d	10024347	OHCI USB Controller #1	0
+d	10024348	OHCI USB Controller #2	0
+d	10024349	ATI Dual Channel Bus Master PCI IDE Controller	0
+d	1002434d	IXP AC'97 Modem	0
+d	10024353	ATI SMBus	0
+d	10024354	215CT [Mach64 CT]	0
+d	10024358	210888CX [Mach64 CX]	0
+d	10024363	ATI SMBus	0
+d	1002436e	ATI 436E Serial ATA Controller	0
+d	10024370	IXP SB400 AC'97 Audio Controller	0
+s	1002437010250079	Aspire 5024WLMMi	0
+s	10024370103c308b	MX6125	0
+s	10024370107b0300	MX6421	0
+d	10024371	IXP SB400 PCI-PCI Bridge	0
+s	10024371103c308b	MX6125	0
+d	10024372	IXP SB400 SMBus Controller	0
+s	1002437210250080	Aspire 5024WLMMi	0
+s	10024372103c308b	MX6125	0
+d	10024373	IXP SB400 USB2 Host Controller	0
+s	1002437310250080	Aspire 5024WLMMi	0
+s	10024373103c308b	MX6125	0
+d	10024374	IXP SB400 USB Host Controller	0
+s	10024374103c308b	MX6125	0
+d	10024375	IXP SB400 USB Host Controller	0
+s	1002437510250080	Aspire 5024WLMMi	0
+s	10024375103c308b	MX6125	0
+d	10024376	Standard Dual Channel PCI IDE Controller ATI	0
+s	1002437610250080	Aspire 5024WLMMi	0
+s	10024376103c308b	MX6125	0
+d	10024377	IXP SB400 PCI-ISA Bridge	0
+s	1002437710250080	Aspire 5024WLMi	0
+s	10024377103c308b	MX6125	0
+d	10024378	ATI SB400 - AC'97 Modem Controller	0
+s	1002437810250080	Aspire 5024WLMMi	0
+s	10024378103c308b	MX6125	0
+d	10024379	ATI 4379 Serial ATA Controller	0
+d	1002437a	ATI 437A Serial ATA Controller	0
+s	1002437a10024379	ATI Technologies Inc ATI 4379 Serial ATA Controller	1
+s	1002437a1002437a	ATI Technologies Inc ATI 437A Serial ATA Controller	1
+s	1002437a14f18800	Leadtek WinFast TV2000XP Expert	1
+d	1002437b	SB450 HDA Audio	0
+s	1002437b173410b8	Fujitsu Siemens Computer GmbH	1
+d	10024380	SB600 Non-Raid-5 SATA	0
+d	10024381	SB600 Raid-5 SATA	0
+d	10024382	SB600 AC97 Audio	0
+d	10024383	SB600 Azalia	0
+d	10024384	SB600 PCI to PCI Bridge	0
+d	10024385	SB600 SMBus	0
+d	10024386	SB600 USB Controller (EHCI)	0
+d	10024387	SB600 USB (OHCI0)	0
+d	10024388	SB600 USB (OHCI1)	0
+d	10024389	SB600 USB (OHCI2)	0
+d	1002438a	SB600 USB (OHCI3)	0
+d	1002438b	SB600 USB (OHCI4)	0
+d	1002438c	SB600 IDE	0
+d	1002438d	SB600 PCI to LPC Bridge	0
+d	1002438e	SB600 AC97 Modem	0
+d	10024437	Radeon Mobility 7000 IGP	0
+d	10024554	210888ET [Mach64 ET]	0
+d	10024654	Mach64 VT	0
+d	10024742	3D Rage Pro AGP 1X/2X	0
+s	1002474210020040	Rage Pro Turbo AGP 2X	0
+s	1002474210020044	Rage Pro Turbo AGP 2X	0
+s	1002474210020061	Rage Pro AIW AGP 2X	0
+s	1002474210020062	Rage Pro AIW AGP 2X	0
+s	1002474210020063	Rage Pro AIW AGP 2X	0
+s	1002474210020080	Rage Pro Turbo AGP 2X	0
+s	1002474210020084	Rage Pro Turbo AGP 2X	0
+s	1002474210024742	Rage Pro Turbo AGP 2X	0
+s	1002474210028001	Rage Pro Turbo AGP 2X	0
+s	1002474210280082	Rage Pro Turbo AGP 2X	0
+s	1002474210284082	Optiplex GX1 Onboard Display Adapter	0
+s	1002474210288082	Rage Pro Turbo AGP 2X	0
+s	100247421028c082	Rage Pro Turbo AGP 2X	0
+s	1002474280864152	Xpert 98D AGP 2X	0
+s	100247428086464a	Rage Pro Turbo AGP 2X	0
+d	10024744	3D Rage Pro AGP 1X	0
+s	1002474410024744	Rage Pro Turbo AGP	0
+d	10024747	3D Rage Pro	0
 d	10024748	Unidentified ATI All-In-Wonder Based Card	1	no drivers or pci id for this one means no one can identify it
-d	10024749	3D Rage Pro	0	
-s	1002474910020061	Rage Pro AIW	0	
-s	1002474910020062	Rage Pro AIW	0	
-d	1002474c	Rage XC	0	
-d	1002474d	Rage XL AGP 2X	0	
-s	1002474d10020004	Xpert 98 RXL AGP 2X	0	
-s	1002474d10020008	Xpert 98 RXL AGP 2X	0	
-s	1002474d10020080	Rage XL AGP 2X	0	
-s	1002474d10020084	Xpert 98 AGP 2X	0	
-s	1002474d1002474d	Rage XL AGP	0	
-s	1002474d1033806a	Rage XL AGP	0	
-d	1002474e	Rage XC AGP	0	
-s	1002474e1002474e	Rage XC AGP	0	
-d	1002474f	Rage XL	0	
-s	1002474f10020008	Rage XL	0	
-s	1002474f1002474f	Rage XL	0	
-d	10024750	3D Rage Pro 215GP	0	
-s	1002475010020040	Rage Pro Turbo	0	
-s	1002475010020044	Rage Pro Turbo	0	
-s	1002475010020080	Rage Pro Turbo	0	
-s	1002475010020084	Rage Pro Turbo	0	
-s	1002475010024750	Rage Pro Turbo	0	
-d	10024751	3D Rage Pro 215GQ	0	
-d	10024752	Rage XL	0	
-s	100247520e11001e	Proliant Rage XL	0	
-s	1002475210020008	Rage XL	0	
-s	1002475210024752	Proliant Rage XL	0	
-s	1002475210028008	Rage XL	0	
-s	10024752102800ce	PowerEdge 1400	0	
-s	10024752102800d1	PowerEdge 2550	0	
-s	10024752102800d9	PowerEdge 2500	0	
-s	1002475210280134	PowerEdge 600SC	0	
-s	10024752103c10e1	NetServer Rage XL	0	
-s	10024752107b6400	6400 Server	0	
-s	100247521734007a	Primergy RX300	0	
-s	1002475280863411	SDS2 Mainboard	0	
-s	1002475280863427	S875WP1-E mainboard	0	
-s	1002475280865744	S845WD1-E mainboard	1	
-d	10024753	Rage XC	0	
-s	1002475310024753	Rage XC	0	
-d	10024754	3D Rage I/II 215GT [Mach64 GT]	0	
-d	10024755	3D Rage II+ 215GTB [Mach64 GTB]	0	
-d	10024756	3D Rage IIC 215IIC [Mach64 GT IIC]	0	
-s	1002475610024756	Rage IIC	0	
-d	10024757	3D Rage IIC AGP	0	
-s	1002475710024757	Rage IIC AGP	0	
-s	1002475710280089	Rage 3D IIC	0	
-s	100247571028008e	PowerEdge 1300 onboard video	0	
-s	1002475710284082	Rage 3D IIC	0	
-s	1002475710288082	Rage 3D IIC	0	
-s	100247571028c082	Rage 3D IIC	0	
-d	10024758	210888GX [Mach64 GX]	0	
-d	10024759	3D Rage IIC	0	
-d	1002475a	3D Rage IIC AGP	0	
-s	1002475a10020084	Rage 3D Pro AGP 2x XPERT 98	0	
-s	1002475a10020087	Rage 3D IIC	0	
-s	1002475a1002475a	Rage IIC AGP	0	
-d	10024964	Radeon RV250 Id [Radeon 9000]	0	
-d	10024965	Radeon RV250 Ie [Radeon 9000]	0	
-d	10024966	Radeon RV250 If [Radeon 9000]	0	
-s	1002496610f10002	RV250 If [Tachyon G9000 PRO]	0	
-s	10024966148c2039	RV250 If [Radeon 9000 Pro "Evil Commando"]	0	
-s	1002496615099a00	RV250 If [Radeon 9000 "AT009"]	0	
-s	1002496616810040	RV250 If [3D prophet 9000]	0	
-s	10024966174b7176	RV250 If [Sapphire Radeon 9000 Pro]	0	
-s	10024966174b7192	RV250 If [Radeon 9000 "Atlantis"]	0	
-s	1002496617af2005	RV250 If [Excalibur Radeon 9000 Pro]	0	
-s	1002496617af2006	RV250 If [Excalibur Radeon 9000]	0	
-d	10024967	Radeon RV250 Ig [Radeon 9000]	0	
-d	1002496e	Radeon RV250 [Radeon 9000] (Secondary)	0	
-d	10024a48	R420 JH [Radeon X800]	0	
-d	10024a49	R420 JI [Radeon X800PRO]	0	
-d	10024a4a	R420 JJ [Radeon X800SE]	0	
-d	10024a4b	R420 JK [Radeon X800]	0	
-d	10024a4c	R420 JL [Radeon X800]	0	
-d	10024a4d	R420 JM [FireGL X3]	0	
-d	10024a4e	M18 JN [Radeon Mobility 9800]	0	
-d	10024a50	R420 JP [Radeon X800XT]	0	
-d	10024a54	R420 [Radeon X800 VE]	0	
-d	10024a69	R420 [Radeon X800 PRO/GTO] (Secondary)	0	
-d	10024a6a	R420 [Radeon X800] (Secondary)	0	
-d	10024a6b	R420 [Radeon X800] (Secondary)	0	
-d	10024a70	R420 [X800XT-PE] (Secondary)	0	
-d	10024a74	R420 [Radeon X800 VE] (Secondary)	0	
-d	10024b49	R480 [Radeon X850XT]	0	
-d	10024b4b	R480 [Radeon X850Pro]	0	
-d	10024b4c	R481 [Radeon X850XT-PE]	0	
-d	10024b69	R480 [Radeon X850XT] (Secondary)	0	
-d	10024b6b	R480 [Radeon X850Pro] (Secondary)	0	
-d	10024b6c	R481 [Radeon X850XT-PE] (Secondary)	0	
-d	10024c42	3D Rage LT Pro AGP-133	0	
-s	10024c420e11b0e7	Rage LT Pro (Compaq Presario 5240)	0	
-s	10024c420e11b0e8	Rage 3D LT Pro	0	
-s	10024c420e11b10e	3D Rage LT Pro (Compaq Armada 1750)	0	
-s	10024c4210020040	Rage LT Pro AGP 2X	0	
-s	10024c4210020044	Rage LT Pro AGP 2X	0	
-s	10024c4210024c42	Rage LT Pro AGP 2X	0	
-s	10024c4210028001	Rage LT Pro AGP 2X	0	
-s	10024c4210280085	Rage 3D LT Pro	0	
-d	10024c44	3D Rage LT Pro AGP-66	0	
-d	10024c45	Rage Mobility M3 AGP	0	
-d	10024c46	Rage Mobility M3 AGP 2x	0	
-s	10024c46102800b1	Latitude C600	0	
-d	10024c47	3D Rage LT-G 215LG	0	
-d	10024c49	3D Rage LT Pro	0	
-s	10024c4910020004	Rage LT Pro	0	
-s	10024c4910020040	Rage LT Pro	0	
-s	10024c4910020044	Rage LT Pro	0	
-s	10024c4910024c49	Rage LT Pro	0	
-d	10024c4d	Rage Mobility P/M AGP 2x	0	
-s	10024c4d0e11b111	Armada M700	0	
-s	10024c4d0e11b160	Armada E500	0	
-s	10024c4d10020084	Xpert 98 AGP 2X (Mobility)	0	
-s	10024c4d10140154	ThinkPad A20m/A21m	0	
-s	10024c4d102800aa	Latitude CPt	0	
-s	10024c4d102800bb	Latitude CPx	0	
-s	10024c4d10e110cf	Fujitsu Siemens LifeBook C Series	0	
-s	10024c4d1179ff00	Satellite 1715XCDS laptop	0	
-s	10024c4d13bd1019	PC-AR10	0	
-d	10024c4e	Rage Mobility L AGP 2x	0	
-d	10024c50	3D Rage LT Pro	0	
-s	10024c5010024c50	Rage LT Pro	0	
-d	10024c51	3D Rage LT Pro	0	
-d	10024c52	Rage Mobility P/M	0	
-s	10024c5210338112	Versa Note VXi	0	
-d	10024c53	Rage Mobility L	0	
-d	10024c54	264LT [Mach64 LT]	0	
-d	10024c57	Radeon Mobility M7 LW [Radeon Mobility 7500]	0	
-s	10024c5710140517	ThinkPad T30	0	
-s	10024c57102800e6	Radeon Mobility M7 LW (Dell Inspiron 8100)	0	
-s	10024c571028012a	Latitude C640	0	
-s	10024c57144dc006	Radeon Mobility M7 LW in vpr Matrix 170B4	0	
-d	10024c58	Radeon RV200 LX [Mobility FireGL 7800 M7]	0	
-d	10024c59	Radeon Mobility M6 LY	0	
-s	10024c590e11b111	Evo N600c	0	
-s	10024c5910140235	ThinkPad A30/A30p (2652/2653)	0	
-s	10024c5910140239	ThinkPad X22/X23/X24	0	
-s	10024c59104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	10024c59104d8140	PCG-Z1SP laptop	0	
-s	10024c5915091930	Medion MD9703	0	
-d	10024c5a	Radeon Mobility M6 LZ	0	
-d	10024c64	Radeon R250 Ld [Radeon Mobility 9000 M9]	0	
-d	10024c65	Radeon R250 Le [Radeon Mobility 9000 M9]	0	
-d	10024c66	Radeon R250 [Mobility FireGL 9000]	0	
-d	10024c67	Radeon R250 Lg [Radeon Mobility 9000 M9]	0	
+d	10024749	3D Rage Pro	0
+s	1002474910020061	Rage Pro AIW	0
+s	1002474910020062	Rage Pro AIW	0
+d	1002474c	Rage XC	0
+d	1002474d	Rage XL AGP 2X	0
+s	1002474d10020004	Xpert 98 RXL AGP 2X	0
+s	1002474d10020008	Xpert 98 RXL AGP 2X	0
+s	1002474d10020080	Rage XL AGP 2X	0
+s	1002474d10020084	Xpert 98 AGP 2X	0
+s	1002474d1002474d	Rage XL AGP	0
+s	1002474d1033806a	Rage XL AGP	0
+d	1002474e	Rage XC AGP	0
+s	1002474e1002474e	Rage XC AGP	0
+d	1002474f	Rage XL	0
+s	1002474f10020008	Rage XL	0
+s	1002474f1002474f	Rage XL	0
+d	10024750	3D Rage Pro 215GP	0
+s	1002475010020040	Rage Pro Turbo	0
+s	1002475010020044	Rage Pro Turbo	0
+s	1002475010020080	Rage Pro Turbo	0
+s	1002475010020084	Rage Pro Turbo	0
+s	1002475010024750	Rage Pro Turbo	0
+d	10024751	3D Rage Pro 215GQ	0
+d	10024752	Rage XL	0
+s	100247520e11001e	Proliant Rage XL	0
+s	1002475210020008	Rage XL	0
+s	1002475210024752	Proliant Rage XL	0
+s	1002475210028008	Rage XL	0
+s	10024752102800ce	PowerEdge 1400	0
+s	10024752102800d1	PowerEdge 2550	0
+s	10024752102800d9	PowerEdge 2500	0
+s	1002475210280134	PowerEdge 600SC	0
+s	10024752103c10e1	NetServer Rage XL	0
+s	10024752107b6400	6400 Server	0
+s	100247521734007a	Primergy RX300	0
+s	1002475280863411	SDS2 Mainboard	0
+s	1002475280863427	S875WP1-E mainboard	0
+s	1002475280865744	S845WD1-E mainboard	1
+d	10024753	Rage XC	0
+s	1002475310024753	Rage XC	0
+d	10024754	3D Rage I/II 215GT [Mach64 GT]	0
+d	10024755	3D Rage II+ 215GTB [Mach64 GTB]	0
+d	10024756	3D Rage IIC 215IIC [Mach64 GT IIC]	0
+s	1002475610024756	Rage IIC	0
+d	10024757	3D Rage IIC AGP	0
+s	1002475710024757	Rage IIC AGP	0
+s	1002475710280089	Rage 3D IIC	0
+s	100247571028008e	PowerEdge 1300 onboard video	0
+s	1002475710284082	Rage 3D IIC	0
+s	1002475710288082	Rage 3D IIC	0
+s	100247571028c082	Rage 3D IIC	0
+d	10024758	210888GX [Mach64 GX]	0
+d	10024759	3D Rage IIC	0
+d	1002475a	3D Rage IIC AGP	0
+s	1002475a10020084	Rage 3D Pro AGP 2x XPERT 98	0
+s	1002475a10020087	Rage 3D IIC	0
+s	1002475a1002475a	Rage IIC AGP	0
+d	10024964	Radeon RV250 Id [Radeon 9000]	0
+d	10024965	Radeon RV250 Ie [Radeon 9000]	0
+d	10024966	Radeon RV250 If [Radeon 9000]	0
+s	1002496610f10002	RV250 If [Tachyon G9000 PRO]	0
+s	10024966148c2039	RV250 If [Radeon 9000 Pro "Evil Commando"]	0
+s	1002496615099a00	RV250 If [Radeon 9000 "AT009"]	0
+s	1002496616810040	RV250 If [3D prophet 9000]	0
+s	10024966174b7176	RV250 If [Sapphire Radeon 9000 Pro]	0
+s	10024966174b7192	RV250 If [Radeon 9000 "Atlantis"]	0
+s	1002496617af2005	RV250 If [Excalibur Radeon 9000 Pro]	0
+s	1002496617af2006	RV250 If [Excalibur Radeon 9000]	0
+d	10024967	Radeon RV250 Ig [Radeon 9000]	0
+d	1002496e	Radeon RV250 [Radeon 9000] (Secondary)	0
+d	10024a48	R420 JH [Radeon X800]	0
+d	10024a49	R420 JI [Radeon X800PRO]	0
+d	10024a4a	R420 JJ [Radeon X800SE]	0
+d	10024a4b	R420 JK [Radeon X800]	0
+d	10024a4c	R420 JL [Radeon X800]	0
+d	10024a4d	R420 JM [FireGL X3]	0
+d	10024a4e	M18 JN [Radeon Mobility 9800]	0
+d	10024a50	R420 JP [Radeon X800XT]	0
+d	10024a54	R420 [Radeon X800 VE]	0
+d	10024a69	R420 [Radeon X800 PRO/GTO] (Secondary)	0
+d	10024a6a	R420 [Radeon X800] (Secondary)	0
+d	10024a6b	R420 [Radeon X800] (Secondary)	0
+d	10024a70	R420 [X800XT-PE] (Secondary)	0
+d	10024a74	R420 [Radeon X800 VE] (Secondary)	0
+d	10024b49	R480 [Radeon X850XT]	0
+d	10024b4b	R480 [Radeon X850Pro]	0
+d	10024b4c	R481 [Radeon X850XT-PE]	0
+d	10024b69	R480 [Radeon X850XT] (Secondary)	0
+d	10024b6b	R480 [Radeon X850Pro] (Secondary)	0
+d	10024b6c	R481 [Radeon X850XT-PE] (Secondary)	0
+d	10024c42	3D Rage LT Pro AGP-133	0
+s	10024c420e11b0e7	Rage LT Pro (Compaq Presario 5240)	0
+s	10024c420e11b0e8	Rage 3D LT Pro	0
+s	10024c420e11b10e	3D Rage LT Pro (Compaq Armada 1750)	0
+s	10024c4210020040	Rage LT Pro AGP 2X	0
+s	10024c4210020044	Rage LT Pro AGP 2X	0
+s	10024c4210024c42	Rage LT Pro AGP 2X	0
+s	10024c4210028001	Rage LT Pro AGP 2X	0
+s	10024c4210280085	Rage 3D LT Pro	0
+d	10024c44	3D Rage LT Pro AGP-66	0
+d	10024c45	Rage Mobility M3 AGP	0
+d	10024c46	Rage Mobility M3 AGP 2x	0
+s	10024c46102800b1	Latitude C600	0
+d	10024c47	3D Rage LT-G 215LG	0
+d	10024c49	3D Rage LT Pro	0
+s	10024c4910020004	Rage LT Pro	0
+s	10024c4910020040	Rage LT Pro	0
+s	10024c4910020044	Rage LT Pro	0
+s	10024c4910024c49	Rage LT Pro	0
+d	10024c4d	Rage Mobility P/M AGP 2x	0
+s	10024c4d0e11b111	Armada M700	0
+s	10024c4d0e11b160	Armada E500	0
+s	10024c4d10020084	Xpert 98 AGP 2X (Mobility)	0
+s	10024c4d10140154	ThinkPad A20m/A21m	0
+s	10024c4d102800aa	Latitude CPt	0
+s	10024c4d102800bb	Latitude CPx	0
+s	10024c4d10e110cf	Fujitsu Siemens LifeBook C Series	0
+s	10024c4d1179ff00	Satellite 1715XCDS laptop	0
+s	10024c4d13bd1019	PC-AR10	0
+d	10024c4e	Rage Mobility L AGP 2x	0
+d	10024c50	3D Rage LT Pro	0
+s	10024c5010024c50	Rage LT Pro	0
+d	10024c51	3D Rage LT Pro	0
+d	10024c52	Rage Mobility P/M	0
+s	10024c5210338112	Versa Note VXi	0
+d	10024c53	Rage Mobility L	0
+d	10024c54	264LT [Mach64 LT]	0
+d	10024c57	Radeon Mobility M7 LW [Radeon Mobility 7500]	0
+s	10024c5710140517	ThinkPad T30	0
+s	10024c57102800e6	Radeon Mobility M7 LW (Dell Inspiron 8100)	0
+s	10024c571028012a	Latitude C640	0
+s	10024c57144dc006	Radeon Mobility M7 LW in vpr Matrix 170B4	0
+d	10024c58	Radeon RV200 LX [Mobility FireGL 7800 M7]	0
+d	10024c59	Radeon Mobility M6 LY	0
+s	10024c590e11b111	Evo N600c	0
+s	10024c5910140235	ThinkPad A30/A30p (2652/2653)	0
+s	10024c5910140239	ThinkPad X22/X23/X24	0
+s	10024c59104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	10024c59104d8140	PCG-Z1SP laptop	0
+s	10024c5915091930	Medion MD9703	0
+d	10024c5a	Radeon Mobility M6 LZ	0
+d	10024c64	Radeon R250 Ld [Radeon Mobility 9000 M9]	0
+d	10024c65	Radeon R250 Le [Radeon Mobility 9000 M9]	0
+d	10024c66	Radeon R250 [Mobility FireGL 9000]	0
+d	10024c67	Radeon R250 Lg [Radeon Mobility 9000 M9]	0
 d	10024c6e	Radeon R250 Ln [Radeon Mobility 9000 M9] [Secondary]	0	Secondary chip to the Lf
-d	10024d46	Rage Mobility M4 AGP	0	
-d	10024d4c	Rage Mobility M4 AGP	0	
+d	10024d46	Rage Mobility M4 AGP	0
+d	10024d4c	Rage Mobility M4 AGP	0
 d	10024d52	ATI Technologies TV Wonder Pro	1	can't get KnoppMyth install to recognize it.
-d	10024e44	Radeon R300 ND [Radeon 9700 Pro]	0	
-s	10024e441002515e	Radeon ES1000	0	
-s	10024e4410025965	Radeon ES1000	0	
-d	10024e45	Radeon R300 NE [Radeon 9500 Pro]	0	
-s	10024e4510020002	Radeon R300 NE [Radeon 9500 Pro]	0	
-s	10024e4516810002	Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]	0	
-d	10024e46	RV350 NF [Radeon 9600]	0	
-d	10024e47	Radeon R300 NG [FireGL X1]	0	
-d	10024e48	Radeon R350 [Radeon 9800 Pro]	0	
-d	10024e49	Radeon R350 [Radeon 9800]	0	
-d	10024e4a	RV350 NJ [Radeon 9800 XT]	0	
-d	10024e4b	R350 NK [Fire GL X2]	0	
-d	10024e50	RV350 [Mobility Radeon 9600 M10]	0	
-s	10024e501025005a	TravelMate 290	0	
-s	10024e50103c088c	NC8000 laptop	0	
-s	10024e50103c0890	NC6000 laptop	0	
-s	10024e5014620311	MSI M510A	0	
-s	10024e5017341055	Amilo M1420W	0	
-d	10024e51	M10 NQ [Radeon Mobility 9600]	0	
-d	10024e52	RV350 [Mobility Radeon 9600 M10]	0	
-s	10024e52144dc00c	P35 notebook	1	
-d	10024e53	M10 NS [Radeon Mobility 9600]	0	
-d	10024e54	M10 NT [FireGL Mobility T2]	0	
-d	10024e56	M11 NV [FireGL Mobility T2e]	0	
-d	10024e64	Radeon R300 [Radeon 9700 Pro] (Secondary)	0	
-d	10024e65	Radeon R300 [Radeon 9500 Pro] (Secondary)	0	
-s	10024e6510020003	Radeon R300 NE [Radeon 9500 Pro]	0	
-s	10024e6516810003	Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)	0	
-d	10024e66	RV350 NF [Radeon 9600] (Secondary)	0	
-d	10024e67	Radeon R300 [FireGL X1] (Secondary)	0	
-d	10024e68	Radeon R350 [Radeon 9800 Pro] (Secondary)	0	
-d	10024e69	Radeon R350 [Radeon 9800] (Secondary)	0	
-d	10024e6a	RV350 NJ [Radeon 9800 XT] (Secondary)	0	
-s	10024e6a10024e71	ATI Technologies Inc M10 NQ [Radeon Mobility 9600]	0	
-d	10024e71	M10 NQ [Radeon Mobility 9600] (Secondary)	0	
-d	10024f72	RV250 [Radeon 9000 Series]	0	
-d	10024f73	Radeon RV250 [Radeon 9000 Series] (Secondary)	0	
-d	10025041	Rage 128 PA/PRO	0	
-d	10025042	Rage 128 PB/PRO AGP 2x	0	
-d	10025043	Rage 128 PC/PRO AGP 4x	0	
-d	10025044	Rage 128 PD/PRO TMDS	0	
-s	1002504410020028	Rage 128 AIW	0	
-s	1002504410020029	Rage 128 AIW	0	
-d	10025045	Rage 128 PE/PRO AGP 2x TMDS	0	
-d	10025046	Rage 128 PF/PRO AGP 4x TMDS	0	
-s	1002504610020004	Rage Fury Pro	0	
-s	1002504610020008	Rage Fury Pro/Xpert 2000 Pro	0	
-s	1002504610020014	Rage Fury Pro	0	
-s	1002504610020018	Rage Fury Pro/Xpert 2000 Pro	0	
-s	1002504610020028	Rage 128 Pro AIW AGP	0	
-s	100250461002002a	Rage 128 Pro AIW AGP	0	
-s	1002504610020048	Rage Fury Pro	0	
-s	1002504610022000	Rage Fury MAXX AGP 4x (TMDS) (VGA device)	0	
-s	1002504610022001	Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)	0	
-d	10025047	Rage 128 PG/PRO	0	
-d	10025048	Rage 128 PH/PRO AGP 2x	0	
-d	10025049	Rage 128 PI/PRO AGP 4x	0	
-d	1002504a	Rage 128 PJ/PRO TMDS	0	
-d	1002504b	Rage 128 PK/PRO AGP 2x TMDS	0	
-d	1002504c	Rage 128 PL/PRO AGP 4x TMDS	0	
-d	1002504d	Rage 128 PM/PRO	0	
-d	1002504e	Rage 128 PN/PRO AGP 2x	0	
-d	1002504f	Rage 128 PO/PRO AGP 4x	0	
-d	10025050	Rage 128 PP/PRO TMDS [Xpert 128]	0	
-s	1002505010020008	Xpert 128	0	
-d	10025051	Rage 128 PQ/PRO AGP 2x TMDS	0	
-d	10025052	Rage 128 PR/PRO AGP 4x TMDS	0	
-d	10025053	Rage 128 PS/PRO	0	
-d	10025054	Rage 128 PT/PRO AGP 2x	0	
-d	10025055	Rage 128 PU/PRO AGP 4x	0	
-d	10025056	Rage 128 PV/PRO TMDS	0	
-d	10025057	Rage 128 PW/PRO AGP 2x TMDS	0	
-d	10025058	Rage 128 PX/PRO AGP 4x TMDS	0	
-d	10025144	Radeon R100 QD [Radeon 7200]	0	
-s	1002514410020008	Radeon 7000/Radeon VE	0	
-s	1002514410020009	Radeon 7000/Radeon	0	
-s	100251441002000a	Radeon 7000/Radeon	0	
-s	100251441002001a	Radeon 7000/Radeon	0	
-s	1002514410020029	Radeon AIW	0	
-s	1002514410020038	Radeon 7000/Radeon	0	
-s	1002514410020039	Radeon 7000/Radeon	0	
-s	100251441002008a	Radeon 7000/Radeon	0	
-s	10025144100200ba	Radeon 7000/Radeon	0	
-s	1002514410020139	Radeon 7000/Radeon	0	
-s	100251441002028a	Radeon 7000/Radeon	0	
-s	10025144100202aa	Radeon AIW	0	
-s	100251441002053a	Radeon 7000/Radeon	0	
-d	10025145	Radeon R100 QE	0	
-d	10025146	Radeon R100 QF	0	
-d	10025147	Radeon R100 QG	0	
-d	10025148	Radeon R200 QH [Radeon 8500]	0	
-s	100251481002010a	FireGL 8800 64Mb	0	
-s	1002514810020152	FireGL 8800 128Mb	0	
-s	1002514810020162	FireGL 8700 32Mb	0	
-s	1002514810020172	FireGL 8700 64Mb	0	
-d	10025149	Radeon R200 QI	0	
-d	1002514a	Radeon R200 QJ	0	
-d	1002514b	Radeon R200 QK	0	
-d	1002514c	Radeon R200 QL [Radeon 8500 LE]	0	
-s	1002514c1002003a	Radeon R200 QL [Radeon 8500 LE]	0	
-s	1002514c1002013a	Radeon 8500	0	
-s	1002514c148c2026	R200 QL [Radeon 8500 Evil Master II Multi Display Edition]	0	
-s	1002514c16810010	Radeon 8500 [3D Prophet 8500 128Mb]	0	
-s	1002514c174b7149	Radeon R200 QL [Sapphire Radeon 8500 LE]	0	
-d	1002514d	Radeon R200 QM [Radeon 9100]	0	
-d	1002514e	Radeon R200 QN [Radeon 8500LE]	0	
-d	1002514f	Radeon R200 QO [Radeon 8500LE]	0	
-d	10025154	R200 QT [Radeon 8500]	0	
-d	10025155	R200 QU [Radeon 9100]	0	
-d	10025157	Radeon RV200 QW [Radeon 7500]	0	
-s	100251571002013a	Radeon 7500	0	
-s	100251571002103a	Dell Optiplex GX260	0	
-s	1002515710027140		1	
-s	1002515714584000	RV200 QW [RADEON 7500 PRO MAYA AR]	0	
-s	10025157148c2024	RV200 QW [Radeon 7500LE Dual Display]	0	
-s	10025157148c2025	RV200 QW [Radeon 7500 Evil Master Multi Display Edition]	0	
-s	10025157148c2036	RV200 QW [Radeon 7500 PCI Dual Display]	0	
-s	10025157174b7146	RV200 QW [Radeon 7500 LE]	0	
-s	10025157174b7147	RV200 QW [Sapphire Radeon 7500LE]	0	
-s	10025157174b7161	Radeon RV200 QW [Radeon 7500 LE]	0	
-s	1002515717af0202	RV200 QW [Excalibur Radeon 7500LE]	0	
-d	10025158	Radeon RV200 QX [Radeon 7500]	0	
-d	10025159	Radeon RV100 QY [Radeon 7000/VE]	0	
-s	100251591002000a	Radeon 7000/Radeon VE	0	
-s	100251591002000b	Radeon 7000	0	
-s	1002515910020038	Radeon 7000/Radeon VE	0	
-s	100251591002003a	Radeon 7000/Radeon VE	0	
-s	10025159100200ba	Radeon 7000/Radeon VE	0	
-s	100251591002013a	Radeon 7000/Radeon VE	0	
-s	1002515910020908	XVR-100 (supplied by Sun)	0	
+d	10024e44	Radeon R300 ND [Radeon 9700 Pro]	0
+s	10024e441002515e	Radeon ES1000	0
+s	10024e4410025965	Radeon ES1000	0
+d	10024e45	Radeon R300 NE [Radeon 9500 Pro]	0
+s	10024e4510020002	Radeon R300 NE [Radeon 9500 Pro]	0
+s	10024e4516810002	Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]	0
+d	10024e46	RV350 NF [Radeon 9600]	0
+d	10024e47	Radeon R300 NG [FireGL X1]	0
+d	10024e48	Radeon R350 [Radeon 9800 Pro]	0
+d	10024e49	Radeon R350 [Radeon 9800]	0
+d	10024e4a	RV350 NJ [Radeon 9800 XT]	0
+d	10024e4b	R350 NK [Fire GL X2]	0
+d	10024e50	RV350 [Mobility Radeon 9600 M10]	0
+s	10024e501025005a	TravelMate 290	0
+s	10024e50103c088c	NC8000 laptop	0
+s	10024e50103c0890	NC6000 laptop	0
+s	10024e5014620311	MSI M510A	0
+s	10024e5017341055	Amilo M1420W	0
+d	10024e51	M10 NQ [Radeon Mobility 9600]	0
+d	10024e52	RV350 [Mobility Radeon 9600 M10]	0
+s	10024e52144dc00c	P35 notebook	1
+d	10024e53	M10 NS [Radeon Mobility 9600]	0
+d	10024e54	M10 NT [FireGL Mobility T2]	0
+d	10024e56	M11 NV [FireGL Mobility T2e]	0
+d	10024e64	Radeon R300 [Radeon 9700 Pro] (Secondary)	0
+d	10024e65	Radeon R300 [Radeon 9500 Pro] (Secondary)	0
+s	10024e6510020003	Radeon R300 NE [Radeon 9500 Pro]	0
+s	10024e6516810003	Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)	0
+d	10024e66	RV350 NF [Radeon 9600] (Secondary)	0
+d	10024e67	Radeon R300 [FireGL X1] (Secondary)	0
+d	10024e68	Radeon R350 [Radeon 9800 Pro] (Secondary)	0
+d	10024e69	Radeon R350 [Radeon 9800] (Secondary)	0
+d	10024e6a	RV350 NJ [Radeon 9800 XT] (Secondary)	0
+s	10024e6a10024e71	ATI Technologies Inc M10 NQ [Radeon Mobility 9600]	0
+d	10024e71	M10 NQ [Radeon Mobility 9600] (Secondary)	0
+d	10024f72	RV250 [Radeon 9000 Series]	0
+d	10024f73	Radeon RV250 [Radeon 9000 Series] (Secondary)	0
+d	10025041	Rage 128 PA/PRO	0
+d	10025042	Rage 128 PB/PRO AGP 2x	0
+d	10025043	Rage 128 PC/PRO AGP 4x	0
+d	10025044	Rage 128 PD/PRO TMDS	0
+s	1002504410020028	Rage 128 AIW	0
+s	1002504410020029	Rage 128 AIW	0
+d	10025045	Rage 128 PE/PRO AGP 2x TMDS	0
+d	10025046	Rage 128 PF/PRO AGP 4x TMDS	0
+s	1002504610020004	Rage Fury Pro	0
+s	1002504610020008	Rage Fury Pro/Xpert 2000 Pro	0
+s	1002504610020014	Rage Fury Pro	0
+s	1002504610020018	Rage Fury Pro/Xpert 2000 Pro	0
+s	1002504610020028	Rage 128 Pro AIW AGP	0
+s	100250461002002a	Rage 128 Pro AIW AGP	0
+s	1002504610020048	Rage Fury Pro	0
+s	1002504610022000	Rage Fury MAXX AGP 4x (TMDS) (VGA device)	0
+s	1002504610022001	Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)	0
+d	10025047	Rage 128 PG/PRO	0
+d	10025048	Rage 128 PH/PRO AGP 2x	0
+d	10025049	Rage 128 PI/PRO AGP 4x	0
+d	1002504a	Rage 128 PJ/PRO TMDS	0
+d	1002504b	Rage 128 PK/PRO AGP 2x TMDS	0
+d	1002504c	Rage 128 PL/PRO AGP 4x TMDS	0
+d	1002504d	Rage 128 PM/PRO	0
+d	1002504e	Rage 128 PN/PRO AGP 2x	0
+d	1002504f	Rage 128 PO/PRO AGP 4x	0
+d	10025050	Rage 128 PP/PRO TMDS [Xpert 128]	0
+s	1002505010020008	Xpert 128	0
+d	10025051	Rage 128 PQ/PRO AGP 2x TMDS	0
+d	10025052	Rage 128 PR/PRO AGP 4x TMDS	0
+d	10025053	Rage 128 PS/PRO	0
+d	10025054	Rage 128 PT/PRO AGP 2x	0
+d	10025055	Rage 128 PU/PRO AGP 4x	0
+d	10025056	Rage 128 PV/PRO TMDS	0
+d	10025057	Rage 128 PW/PRO AGP 2x TMDS	0
+d	10025058	Rage 128 PX/PRO AGP 4x TMDS	0
+d	10025144	Radeon R100 QD [Radeon 7200]	0
+s	1002514410020008	Radeon 7000/Radeon VE	0
+s	1002514410020009	Radeon 7000/Radeon	0
+s	100251441002000a	Radeon 7000/Radeon	0
+s	100251441002001a	Radeon 7000/Radeon	0
+s	1002514410020029	Radeon AIW	0
+s	1002514410020038	Radeon 7000/Radeon	0
+s	1002514410020039	Radeon 7000/Radeon	0
+s	100251441002008a	Radeon 7000/Radeon	0
+s	10025144100200ba	Radeon 7000/Radeon	0
+s	1002514410020139	Radeon 7000/Radeon	0
+s	100251441002028a	Radeon 7000/Radeon	0
+s	10025144100202aa	Radeon AIW	0
+s	100251441002053a	Radeon 7000/Radeon	0
+d	10025145	Radeon R100 QE	0
+d	10025146	Radeon R100 QF	0
+d	10025147	Radeon R100 QG	0
+d	10025148	Radeon R200 QH [Radeon 8500]	0
+s	100251481002010a	FireGL 8800 64Mb	0
+s	1002514810020152	FireGL 8800 128Mb	0
+s	1002514810020162	FireGL 8700 32Mb	0
+s	1002514810020172	FireGL 8700 64Mb	0
+d	10025149	Radeon R200 QI	0
+d	1002514a	Radeon R200 QJ	0
+d	1002514b	Radeon R200 QK	0
+d	1002514c	Radeon R200 QL [Radeon 8500 LE]	0
+s	1002514c1002003a	Radeon R200 QL [Radeon 8500 LE]	0
+s	1002514c1002013a	Radeon 8500	0
+s	1002514c148c2026	R200 QL [Radeon 8500 Evil Master II Multi Display Edition]	0
+s	1002514c16810010	Radeon 8500 [3D Prophet 8500 128Mb]	0
+s	1002514c174b7149	Radeon R200 QL [Sapphire Radeon 8500 LE]	0
+d	1002514d	Radeon R200 QM [Radeon 9100]	0
+d	1002514e	Radeon R200 QN [Radeon 8500LE]	0
+d	1002514f	Radeon R200 QO [Radeon 8500LE]	0
+d	10025154	R200 QT [Radeon 8500]	0
+d	10025155	R200 QU [Radeon 9100]	0
+d	10025157	Radeon RV200 QW [Radeon 7500]	0
+s	100251571002013a	Radeon 7500	0
+s	100251571002103a	Dell Optiplex GX260	0
+s	1002515710027140		1
+s	1002515714584000	RV200 QW [RADEON 7500 PRO MAYA AR]	0
+s	10025157148c2024	RV200 QW [Radeon 7500LE Dual Display]	0
+s	10025157148c2025	RV200 QW [Radeon 7500 Evil Master Multi Display Edition]	0
+s	10025157148c2036	RV200 QW [Radeon 7500 PCI Dual Display]	0
+s	10025157174b7146	RV200 QW [Radeon 7500 LE]	0
+s	10025157174b7147	RV200 QW [Sapphire Radeon 7500LE]	0
+s	10025157174b7161	Radeon RV200 QW [Radeon 7500 LE]	0
+s	1002515717af0202	RV200 QW [Excalibur Radeon 7500LE]	0
+d	10025158	Radeon RV200 QX [Radeon 7500]	0
+d	10025159	Radeon RV100 QY [Radeon 7000/VE]	0
+s	100251591002000a	Radeon 7000/Radeon VE	0
+s	100251591002000b	Radeon 7000	0
+s	1002515910020038	Radeon 7000/Radeon VE	0
+s	100251591002003a	Radeon 7000/Radeon VE	0
+s	10025159100200ba	Radeon 7000/Radeon VE	0
+s	100251591002013a	Radeon 7000/Radeon VE	0
+s	1002515910020908	XVR-100 (supplied by Sun)	0
 s	100251591014029a	Remote Supervisor Adapter II (RSA2)	0	The IBM card doubles as an ATI PCI video adapter
-s	10025159101402c8	IBM eServer xSeries server mainboard	0	
-s	100251591028019a	PowerEdge SC1425	0	
-s	10025159103c1292	Radeon 7000	0	
-s	1002515914584002	RV100 QY [RADEON 7000 PRO MAYA AV Series]	0	
-s	10025159148c2003	RV100 QY [Radeon 7000 Multi-Display Edition]	0	
-s	10025159148c2023	RV100 QY [Radeon 7000 Evil Master Multi-Display]	0	
-s	10025159174b7112	RV100 QY [Sapphire Radeon VE 7000]	0	
-s	10025159174b7c28	Sapphire Radeon VE 7000 DDR	0	
-s	1002515917870202	RV100 QY [Excalibur Radeon 7000]	0	
-s	1002515917ee1001	Radeon 7000 64MB DDR + DVI	0	
-d	1002515a	Radeon RV100 QZ [Radeon 7000/VE]	0	
-d	1002515e	ES1000	0	
-d	1002515f	ES1000	0	
-d	10025168	Radeon R200 Qh	0	
-d	10025169	Radeon R200 Qi	0	
-d	1002516a	Radeon R200 Qj	0	
-d	1002516b	Radeon R200 Qk	0	
+s	10025159101402c8	IBM eServer xSeries server mainboard	0
+s	100251591028019a	PowerEdge SC1425	0
+s	10025159103c1292	Radeon 7000	0
+s	1002515914584002	RV100 QY [RADEON 7000 PRO MAYA AV Series]	0
+s	10025159148c2003	RV100 QY [Radeon 7000 Multi-Display Edition]	0
+s	10025159148c2023	RV100 QY [Radeon 7000 Evil Master Multi-Display]	0
+s	10025159174b7112	RV100 QY [Sapphire Radeon VE 7000]	0
+s	10025159174b7c28	Sapphire Radeon VE 7000 DDR	0
+s	1002515917870202	RV100 QY [Excalibur Radeon 7000]	0
+s	1002515917ee1001	Radeon 7000 64MB DDR + DVI	0
+d	1002515a	Radeon RV100 QZ [Radeon 7000/VE]	0
+d	1002515e	ES1000	0
+d	1002515f	ES1000	0
+d	10025168	Radeon R200 Qh	0
+d	10025169	Radeon R200 Qi	0
+d	1002516a	Radeon R200 Qj	0
+d	1002516b	Radeon R200 Qk	0
 d	1002516c	Radeon R200 Ql	0	This one is not in ATI documentation, but is in XFree86 source code
-d	10025245	Rage 128 RE/SG	0	
-s	1002524510020008	Xpert 128	0	
-s	1002524510020028	Rage 128 AIW	0	
-s	1002524510020029	Rage 128 AIW	0	
-s	1002524510020068	Rage 128 AIW	0	
-d	10025246	Rage 128 RF/SG AGP	0	
-s	1002524610020004	Magnum/Xpert 128/Xpert 99	0	
-s	1002524610020008	Magnum/Xpert128/X99/Xpert2000	0	
-s	1002524610020028	Rage 128 AIW AGP	0	
-s	1002524610020044	Rage Fury/Xpert 128/Xpert 2000	0	
-s	1002524610020068	Rage 128 AIW AGP	0	
-s	1002524610020448	Rage Fury	0	
-d	10025247	Rage 128 RG	0	
-d	1002524b	Rage 128 RK/VR	0	
-d	1002524c	Rage 128 RL/VR AGP	0	
-s	1002524c10020008	Xpert 99/Xpert 2000	0	
-s	1002524c10020088	Xpert 99	0	
-d	10025345	Rage 128 SE/4x	0	
-d	10025346	Rage 128 SF/4x AGP 2x	0	
-s	1002534610020048	RAGE 128 16MB VGA TVOUT AMC PAL	0	
-d	10025347	Rage 128 SG/4x AGP 4x	0	
-d	10025348	Rage 128 SH	0	
-d	1002534b	Rage 128 SK/4x	0	
-d	1002534c	Rage 128 SL/4x AGP 2x	0	
-d	1002534d	Rage 128 SM/4x AGP 4x	0	
-s	1002534d10020008	Xpert 99/Xpert 2000	0	
-s	1002534d10020018	Xpert 2000	0	
-d	1002534e	Rage 128 4x	0	
-d	10025354	Mach 64 VT	0	
-s	1002535410025654	Mach 64 reference	0	
-d	10025446	Rage 128 Pro Ultra TF	0	
-s	1002544610020004	Rage Fury Pro	0	
-s	1002544610020008	Rage Fury Pro/Xpert 2000 Pro	0	
-s	1002544610020018	Rage Fury Pro/Xpert 2000 Pro	0	
-s	1002544610020028	Rage 128 AIW Pro AGP	0	
-s	1002544610020029	Rage 128 AIW	0	
-s	100254461002002a	Rage 128 AIW Pro AGP	0	
-s	100254461002002b	Rage 128 AIW	0	
-s	1002544610020048	Xpert 2000 Pro	0	
-d	1002544c	Rage 128 Pro Ultra TL	0	
-d	10025452	Rage 128 Pro Ultra TR	0	
-s	100254521002001c	Rage 128 Pro 4XL	0	
-s	10025452103c1279	Rage 128 Pro 4XL	0	
-d	10025453	Rage 128 Pro Ultra TS	0	
-d	10025454	Rage 128 Pro Ultra TT	0	
-d	10025455	Rage 128 Pro Ultra TU	0	
-d	10025460	M22 [Radeon Mobility M300]	0	
-d	10025462	M24 [Radeon Mobility X600]	0	
-d	10025464	M22 [FireGL GL]	0	
-d	10025548	R423 UH [Radeon X800 (PCIE)]	0	
-d	10025549	R423 UI [Radeon X800PRO (PCIE)]	0	
-d	1002554a	R423 UJ [Radeon X800LE (PCIE)]	0	
-d	1002554b	R423 UK [Radeon X800SE (PCIE)]	0	
-d	1002554d	R430 [Radeon X800 XL] (PCIe)	0	
-d	1002554f	R430 [Radeon X800 (PCIE)]	0	
-d	10025550	R423 [Fire GL V7100]	0	
-d	10025551	R423 UQ [FireGL V7200 (PCIE)]	0	
-d	10025551	R423 [ FireGL V5100 (PCIE)]	1	
-d	10025552	R423 UR [FireGL V5100 (PCIE)]	0	
-d	10025554	R423 UT [FireGL V7100 (PCIE)]	0	
-d	10025569	R423 UI [Radeon X800PRO (PCIE)] Secondary	0	
-d	1002556b	Radeon R423 UK (PCIE) [X800 SE] (Secondary)	0	
-d	1002556d	R430 [Radeon X800 XL] (PCIe) Secondary	0	
-d	1002556f	R430 [Radeon X800 (PCIE) Secondary]	0	
-d	10025571	R423GL-SE ATI FIREGL V5100 PCI-EX Secondary	0	
-d	1002564a	M26 [Mobility FireGL V5000]	0	
-d	1002564b	M26 [Mobility FireGL V5000]	0	
-d	1002564f	M26 [Radeon Mobility X700 XL] (PCIE)	0	
-d	10025652	M26 [Radeon Mobility X700]	0	
-d	10025653	Radeon Mobility X700 (PCIE)	0	
-s	1002565310250080	Aspire 5024WLMi	0	
-s	1002565314620361	Micro-Star International (MSI) PCI-Express Subsystem	1	
-d	10025654	264VT [Mach64 VT]	0	
-s	1002565410025654	Mach64VT Reference	0	
-d	10025655	264VT3 [Mach64 VT3]	0	
-d	10025656	264VT4 [Mach64 VT4]	0	
-d	10025830	RS300 Host Bridge	0	
-d	10025831	RS300 Host Bridge	0	
-d	10025832	RS300 Host Bridge	0	
-d	10025833	Radeon 9100 IGP Host Bridge	0	
-d	10025834	Radeon 9100 IGP	0	
-d	10025835	RS300M AGP [Radeon Mobility 9100IGP]	0	
-d	10025838	Radeon 9100 IGP AGP Bridge	0	
-d	10025940	RV280 [Radeon 9200 PRO] (Secondary)	0	
-d	10025941	RV280 [Radeon 9200] (Secondary)	0	
-s	1002594114584019	Gigabyte Radeon 9200	0	
-s	10025941174b7c12	Sapphire Radeon 9200	0	
-s	1002594117af200d	Excalibur Radeon 9200	0	
-s	1002594118bc0050	GeXcube GC-R9200-C3 (Secondary)	0	
-d	10025944	RV280 [Radeon 9200 SE (PCI)]	0	
-d	10025950	RS480 Host Bridge	0	
-s	1002595010250080	Aspire 5024WLMMi	0	
-s	10025950103c308b	MX6125	0	
-d	10025951	ATI Radeon Xpress 200 (RS480/RS482/RX480/RX482) Chipset - Host bridge	0	
-d	10025954	RS480 [Radeon Xpress 200G Series]	0	
-s	1002595410025954	RV370 [Radeon Xpress 200G Series]	0	
-d	10025955	ATI Radeon XPRESS 200M 5955 (PCIE)	0	
-s	1002595510025955	RS480 0x5955 [ATI Radeon XPRESS 200M 5955 (PCIE)]	0	
-s	10025955103c308b	MX6125	0	
-s	10025955104c8094		1	
-s	1002595514e44318		1	
-d	10025960	RV280 [Radeon 9200 PRO]	0	
-d	10025961	RV280 [Radeon 9200]	0	
-s	1002596110022f72	All-in-Wonder 9200 Series	0	
-s	1002596110194c30	Radeon 9200 VIVO	0	
-s	1002596112ab5961	YUAN SMARTVGA Radeon 9200	0	
-s	1002596114584018	Gigabyte Radeon 9200	0	
-s	10025961174b7c13	Sapphire Radeon 9200	0	
-s	1002596117af200c	Excalibur Radeon 9200	0	
-s	1002596118bc0050	Radeon 9200 Game Buster	0	
-s	1002596118bc0051	GeXcube GC-R9200-C3	0	
-s	1002596118bc0053	Radeon 9200 Game Buster VIVO	0	
-d	10025962	RV280 [Radeon 9200]	0	
-d	10025964	RV280 [Radeon 9200 SE]	0	
-s	1002596410025964		1	
-s	100259641043c006	ASUS Radeon 9200 SE / TD / 128M	0	
-s	1002596414584018	Radeon 9200 SE	0	
-s	1002596414584032	Radeon 9200 SE 128MB	0	
-s	10025964147b6191	R9200SE-DT	0	
-s	10025964148c2073	CN-AG92E	0	
-s	10025964174b7c13	Sapphire Radeon 9200 SE	0	
-s	1002596417875964	Excalibur 9200SE VIVO 128M	0	
-s	1002596417af2012	Radeon 9200 SE Excalibur	0	
-s	1002596418bc0170	Sapphire Radeon 9200 SE 128MB Game Buster	0	
-s	1002596418bc0173	GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]	0	
-s	10025964320e1787		1	
-d	10025969	ES1000	0	
-d	10025974	RS482 [Radeon Xpress 200]	0	
-d	10025975	RS482 [Radeon Xpress 200M]	0	
-d	10025a33	Radeon Xpress 200 Host Bridge	0	
-d	10025a34	RS480 PCI-X Root Port	0	
+d	10025245	Rage 128 RE/SG	0
+s	1002524510020008	Xpert 128	0
+s	1002524510020028	Rage 128 AIW	0
+s	1002524510020029	Rage 128 AIW	0
+s	1002524510020068	Rage 128 AIW	0
+d	10025246	Rage 128 RF/SG AGP	0
+s	1002524610020004	Magnum/Xpert 128/Xpert 99	0
+s	1002524610020008	Magnum/Xpert128/X99/Xpert2000	0
+s	1002524610020028	Rage 128 AIW AGP	0
+s	1002524610020044	Rage Fury/Xpert 128/Xpert 2000	0
+s	1002524610020068	Rage 128 AIW AGP	0
+s	1002524610020448	Rage Fury	0
+d	10025247	Rage 128 RG	0
+d	1002524b	Rage 128 RK/VR	0
+d	1002524c	Rage 128 RL/VR AGP	0
+s	1002524c10020008	Xpert 99/Xpert 2000	0
+s	1002524c10020088	Xpert 99	0
+d	10025345	Rage 128 SE/4x	0
+d	10025346	Rage 128 SF/4x AGP 2x	0
+s	1002534610020048	RAGE 128 16MB VGA TVOUT AMC PAL	0
+d	10025347	Rage 128 SG/4x AGP 4x	0
+d	10025348	Rage 128 SH	0
+d	1002534b	Rage 128 SK/4x	0
+d	1002534c	Rage 128 SL/4x AGP 2x	0
+d	1002534d	Rage 128 SM/4x AGP 4x	0
+s	1002534d10020008	Xpert 99/Xpert 2000	0
+s	1002534d10020018	Xpert 2000	0
+d	1002534e	Rage 128 4x	0
+d	10025354	Mach 64 VT	0
+s	1002535410025654	Mach 64 reference	0
+d	10025446	Rage 128 Pro Ultra TF	0
+s	1002544610020004	Rage Fury Pro	0
+s	1002544610020008	Rage Fury Pro/Xpert 2000 Pro	0
+s	1002544610020018	Rage Fury Pro/Xpert 2000 Pro	0
+s	1002544610020028	Rage 128 AIW Pro AGP	0
+s	1002544610020029	Rage 128 AIW	0
+s	100254461002002a	Rage 128 AIW Pro AGP	0
+s	100254461002002b	Rage 128 AIW	0
+s	1002544610020048	Xpert 2000 Pro	0
+d	1002544c	Rage 128 Pro Ultra TL	0
+d	10025452	Rage 128 Pro Ultra TR	0
+s	100254521002001c	Rage 128 Pro 4XL	0
+s	10025452103c1279	Rage 128 Pro 4XL	0
+d	10025453	Rage 128 Pro Ultra TS	0
+d	10025454	Rage 128 Pro Ultra TT	0
+d	10025455	Rage 128 Pro Ultra TU	0
+d	10025460	M22 [Radeon Mobility M300]	0
+d	10025462	M24 [Radeon Mobility X600]	0
+d	10025464	M22 [FireGL GL]	0
+d	10025548	R423 UH [Radeon X800 (PCIE)]	0
+d	10025549	R423 UI [Radeon X800PRO (PCIE)]	0
+d	1002554a	R423 UJ [Radeon X800LE (PCIE)]	0
+d	1002554b	R423 UK [Radeon X800SE (PCIE)]	0
+d	1002554d	R430 [Radeon X800 XL] (PCIe)	0
+d	1002554f	R430 [Radeon X800 (PCIE)]	0
+d	10025550	R423 [Fire GL V7100]	0
+d	10025551	R423 UQ [FireGL V7200 (PCIE)]	0
+d	10025551	R423 [ FireGL V5100 (PCIE)]	1
+d	10025552	R423 UR [FireGL V5100 (PCIE)]	0
+d	10025554	R423 UT [FireGL V7100 (PCIE)]	0
+d	10025569	R423 UI [Radeon X800PRO (PCIE)] Secondary	0
+d	1002556b	Radeon R423 UK (PCIE) [X800 SE] (Secondary)	0
+d	1002556d	R430 [Radeon X800 XL] (PCIe) Secondary	0
+d	1002556f	R430 [Radeon X800 (PCIE) Secondary]	0
+d	10025571	R423GL-SE ATI FIREGL V5100 PCI-EX Secondary	0
+d	1002564a	M26 [Mobility FireGL V5000]	0
+d	1002564b	M26 [Mobility FireGL V5000]	0
+d	1002564f	M26 [Radeon Mobility X700 XL] (PCIE)	0
+d	10025652	M26 [Radeon Mobility X700]	0
+d	10025653	Radeon Mobility X700 (PCIE)	0
+s	1002565310250080	Aspire 5024WLMi	0
+s	1002565314620361	Micro-Star International (MSI) PCI-Express Subsystem	1
+d	10025654	264VT [Mach64 VT]	0
+s	1002565410025654	Mach64VT Reference	0
+d	10025655	264VT3 [Mach64 VT3]	0
+d	10025656	264VT4 [Mach64 VT4]	0
+d	10025830	RS300 Host Bridge	0
+d	10025831	RS300 Host Bridge	0
+d	10025832	RS300 Host Bridge	0
+d	10025833	Radeon 9100 IGP Host Bridge	0
+d	10025834	Radeon 9100 IGP	0
+d	10025835	RS300M AGP [Radeon Mobility 9100IGP]	0
+d	10025838	Radeon 9100 IGP AGP Bridge	0
+d	10025940	RV280 [Radeon 9200 PRO] (Secondary)	0
+d	10025941	RV280 [Radeon 9200] (Secondary)	0
+s	1002594114584019	Gigabyte Radeon 9200	0
+s	10025941174b7c12	Sapphire Radeon 9200	0
+s	1002594117af200d	Excalibur Radeon 9200	0
+s	1002594118bc0050	GeXcube GC-R9200-C3 (Secondary)	0
+d	10025944	RV280 [Radeon 9200 SE (PCI)]	0
+d	10025950	RS480 Host Bridge	0
+s	1002595010250080	Aspire 5024WLMMi	0
+s	10025950103c308b	MX6125	0
+d	10025951	ATI Radeon Xpress 200 (RS480/RS482/RX480/RX482) Chipset - Host bridge	0
+d	10025954	RS480 [Radeon Xpress 200G Series]	0
+s	1002595410025954	RV370 [Radeon Xpress 200G Series]	0
+d	10025955	ATI Radeon XPRESS 200M 5955 (PCIE)	0
+s	1002595510025955	RS480 0x5955 [ATI Radeon XPRESS 200M 5955 (PCIE)]	0
+s	10025955103c308b	MX6125	0
+s	10025955104c8094		1
+s	1002595514e44318		1
+d	10025960	RV280 [Radeon 9200 PRO]	0
+d	10025961	RV280 [Radeon 9200]	0
+s	1002596110022f72	All-in-Wonder 9200 Series	0
+s	1002596110194c30	Radeon 9200 VIVO	0
+s	1002596112ab5961	YUAN SMARTVGA Radeon 9200	0
+s	1002596114584018	Gigabyte Radeon 9200	0
+s	10025961174b7c13	Sapphire Radeon 9200	0
+s	1002596117af200c	Excalibur Radeon 9200	0
+s	1002596118bc0050	Radeon 9200 Game Buster	0
+s	1002596118bc0051	GeXcube GC-R9200-C3	0
+s	1002596118bc0053	Radeon 9200 Game Buster VIVO	0
+d	10025962	RV280 [Radeon 9200]	0
+d	10025964	RV280 [Radeon 9200 SE]	0
+s	1002596410025964		1
+s	100259641043c006	ASUS Radeon 9200 SE / TD / 128M	0
+s	1002596414584018	Radeon 9200 SE	0
+s	1002596414584032	Radeon 9200 SE 128MB	0
+s	10025964147b6191	R9200SE-DT	0
+s	10025964148c2073	CN-AG92E	0
+s	10025964174b7c13	Sapphire Radeon 9200 SE	0
+s	1002596417875964	Excalibur 9200SE VIVO 128M	0
+s	1002596417af2012	Radeon 9200 SE Excalibur	0
+s	1002596418bc0170	Sapphire Radeon 9200 SE 128MB Game Buster	0
+s	1002596418bc0173	GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]	0
+s	10025964320e1787		1
+d	10025969	ES1000	0
+d	10025974	RS482 [Radeon Xpress 200]	0
+d	10025975	RS482 [Radeon Xpress 200M]	0
+d	10025a33	Radeon Xpress 200 Host Bridge	0
+d	10025a34	RS480 PCI-X Root Port	0
 d	10025a36	RS480 PCI Bridge	0	Comes in pair with 5a3f
-d	10025a38	RS480 PCI Bridge	0	
+d	10025a38	RS480 PCI Bridge	0
 d	10025a39	RS480 PCI Bridge	0	Comes in pair with 5a38
-d	10025a3f	RS480 PCI Bridge	0	
-d	10025a41	RS400 [Radeon Xpress 200]	0	
-d	10025a42	RS400 [Radeon Xpress 200M]	0	
-d	10025a61	RC410 [Radeon Xpress 200]	0	
-d	10025a62	RC410 [Radeon Xpress 200M]	0	
-d	10025b60	RV370 5B60 [Radeon X300 (PCIE)]	0	
-s	10025b6010221103		1	
-s	10025b601043002a	Extreme AX300SE-X	0	
-s	10025b601043032e	Extreme AX300/TD	0	
-s	10025b6010de0059		1	
-s	10025b6010de005e		1	
-s	10025b6010de005e	Memory	1	
-s	10025b6014620400	RX300SE-TD128E (MS-8940 REV:200)	0	
-s	10025b6014620402	RX300SE-TD128E (MS-8940)	0	
-s	10025b60196d1086	X300SE HM	0	
-d	10025b62	RV380 [Radeon X600 (PCIE)]	0	
-d	10025b63	RV370 [Sapphire X550 Silent]	0	
-d	10025b64	RV370 5B64 [FireGL V3100 (PCIE)]	0	
-d	10025b65	RV370 5B65 [FireGL D1100 (PCIE)]	0	
-d	10025b70	RV370 [Radeon X300SE]	0	
-s	10025b7014620403	RX300SE-TD128E (MS-8940) (secondary display)	0	
-s	10025b70196d1087	X300SE HM	0	
-d	10025b72	RV380 [Radeon X600]	0	
-d	10025b73	RV370 secondary [Sapphire X550 Silent]	0	
-d	10025b74	RV370 5B64 [FireGL V3100 (PCIE)] (Secondary)	0	
-d	10025c61	M9+ 5C61 [Radeon Mobility 9200 (AGP)]	0	
-d	10025c63	M9+ 5C63 [Radeon Mobility 9200 (AGP)]	0	
-s	10025c6310025c63	Apple iBook G4 2004	0	
-s	10025c63144dc00c	P30 notebook	1	
-d	10025d44	RV280 [Radeon 9200 SE] (Secondary)	0	
-s	10025d4414584019	Radeon 9200 SE (Secondary)	0	
-s	10025d4414584032	Radeon 9200 SE 128MB	0	
-s	10025d44174b7c12	Sapphire Radeon 9200 SE (Secondary)	0	
-s	10025d4417875965	Excalibur 9200SE VIVO 128M (Secondary)	0	
-s	10025d4417af2013	Radeon 9200 SE Excalibur (Secondary)	0	
-s	10025d4418bc0171	Radeon 9200 SE 128MB Game Buster (Secondary)	0	
-s	10025d4418bc0172	GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]	0	
-d	10025d48	M28 [Radeon Mobility X800XT]	0	
-d	10025d49	M28 [Mobility FireGL V5100]	0	
-d	10025d4a	Mobility Radeon X800	0	
-d	10025d4d	R480 [Radeon X850XT Platinum (PCIE)]	0	
-d	10025d4f	R480 [Radeon X800 GTO (PCIE)]	0	
-d	10025d52	R480 [Radeon X850XT (PCIE)] (Primary)	0	
-s	10025d5210020b12	PowerColor X850XT PCIe Primary	0	
-s	10025d5210020b13	PowerColor X850XT PCIe Secondary	0	
-d	10025d57	R423 5F57 [Radeon X800XT (PCIE)]	0	
-d	10025d6d	R480 [Radeon X850XT Platinum (PCIE)] (Secondary)	0	
-d	10025d6f	R480 [Radeon X800 GTO (PCIE)] (Secondary)	0	
-d	10025d72	R480 [Radeon X850XT (PCIE)] (Secondary)	0	
-d	10025d77	R423 5F57 [Radeon X800XT (PCIE)] (Secondary)	0	
-d	10025e48	RV410 [FireGL V5000]	0	
-d	10025e49	RV410 [FireGL V3300]	0	
-d	10025e49		1	
-d	10025e4a	RV410 [Radeon X700XT]	0	
-d	10025e4b	RV410 [Radeon X700 Pro (PCIE)]	0	
-d	10025e4c	RV410 [Radeon X700SE]	0	
-d	10025e4d	RV410 [Radeon X700 (PCIE)]	0	
-s	10025e4d148c2116	PowerColor Bravo X700	0	
-d	10025e4f	RV410 [Radeon X700]	0	
-d	10025e4f	x550xt	1	
-d	10025e6b	RV410 [Radeon X700 Pro (PCIE)] Secondary	0	
-d	10025e6d	RV410 [Radeon X700 (PCIE)] (Secondary)	0	
-s	10025e6d148c2117	PowerColor Bravo X700	0	
-d	10025f57	R423 [Radeon X800XT (PCIE)]	0	
-d	1002700f	PCI Bridge [IGP 320M]	0	
-d	10027010	PCI Bridge [IGP 340M]	0	
-d	10027100	R520 [Radeon X1800]	0	
-d	10027102	M58 [Radeon Mobility X1800]	0	
-d	10027103	M58 [Mobility FireGL V7200]	0	
-d	10027104	R520 GL ATI FireGL V7200 Primary	0	
-d	10027105	R520 [FireGL]	0	
-d	10027106	M58 [Mobility FireGL V7100]	0	
-d	10027108	M58 [Radeon Mobility X1800]	0	
-d	10027109	R520 [Radeon X1800]	0	
-s	1002710910020322	All-in-Wonder X1800XL	0	
-s	1002710910020d02	Radeon X1800 CrossFire Edition	0	
-d	1002710a	R520 [Radeon X1800]	0	
-d	1002710b	R520 [Radeon X1800]	0	
-d	1002710c	R520 [Radeon X1800]	0	
-d	10027120	R520 [Radeon X1800] (Secondary)	0	
-d	10027124	R520 GL ATI FireGL V7200 Secondary	0	
-d	10027129	R520 [Radeon X1800] (Secondary)	0	
-s	1002712910020323	All-in-Wonder X1800XL (Secondary)	0	
-s	1002712910020d03	Radeon X1800 CrossFire Edition (Secondary)	0	
-d	10027140	RV515 [Radeon X1600]	0	
-d	10027142	RV515 [Radeon X1300]	0	
-d	10027142	ATI Radeon X1300/X1550 Series	1	
-d	10027142	RV515 PRO [ATI Radeon X1300/X1550 Series]	1	
-s	1002714210020322	All-in-Wonder 2006 PCI-E Edition	0	
-d	10027143	Radeon X1550 Series	1	
-d	10027143	RV505 [Radeon X1550 Series]	1	
-d	10027145	Radeon Mobility X1400	0	
-d	10027146	RV515 [Radeon X1300]	0	
-s	1002714610020322	All-in-Wonder 2006 PCI-E Edition	0	
-d	10027147	RV505 [Radeon X1550 64-bit]	1	
-d	10027149	M52 [ATI Mobility Radeon X1300]	0	
-d	1002714a	M52 [ATI Mobility Radeon X1300]	0	
-d	1002714b	M52 [ATI Mobility Radeon X1300]	0	
-d	1002714c	M52 [ATI Mobility Radeon X1300]	0	
-d	1002714d	RV515 [Radeon X1300]	0	
-d	1002714e	RV515 [Radeon X1300]	0	
-d	10027152	RV515 GL ATI FireGL V3300 Primary	0	
-d	10027153	RV515GL [FireGL V3350]	1	
-d	1002715e	RV515 [Radeon X1300]	0	
-d	1002715f	RV505 CE [Radeon X1550 64-bit]	1	
-d	10027162	RV515 [Radeon X1300] (Secondary)	0	
-d	10027162	ATI Radeon X1300/X1550 Series Secondary	1	
-d	10027162	RV515 PRO [ATI Radeon X1300/X1550 Series Secondary]	1	
-s	1002716210020323	All-in-Wonder 2006 PCI-E Edition (Secondary)	0	
-d	10027166	RV515 [Radeon X1300] (Secondary)	0	
-s	1002716610020323	All-in-Wonder 2006 PCI-E Edition (Secondary)	0	
-d	10027172	RV515 GL ATI FireGL V3300 Secondary	0	
-d	10027173	RV515GL [FireGL V3350 Secondary]	1	
-d	10027180	RV516 Radeon X1300 Series Primary	0	
-d	10027180	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1	
-d	10027180	RV516 [ATI Radeon X1300/X1550 Series]	1	
-d	10027181	RV516 XT Radeon X1600 Series Primary	0	
+d	10025a3f	RS480 PCI Bridge	0
+d	10025a41	RS400 [Radeon Xpress 200]	0
+d	10025a42	RS400 [Radeon Xpress 200M]	0
+d	10025a61	RC410 [Radeon Xpress 200]	0
+d	10025a62	RC410 [Radeon Xpress 200M]	0
+d	10025b60	RV370 5B60 [Radeon X300 (PCIE)]	0
+s	10025b6010221103		1
+s	10025b601043002a	Extreme AX300SE-X	0
+s	10025b601043032e	Extreme AX300/TD	0
+s	10025b6010de0059		1
+s	10025b6010de005e		1
+s	10025b6010de005e	Memory	1
+s	10025b6014620400	RX300SE-TD128E (MS-8940 REV:200)	0
+s	10025b6014620402	RX300SE-TD128E (MS-8940)	0
+s	10025b60196d1086	X300SE HM	0
+d	10025b62	RV380 [Radeon X600 (PCIE)]	0
+d	10025b63	RV370 [Sapphire X550 Silent]	0
+d	10025b64	RV370 5B64 [FireGL V3100 (PCIE)]	0
+d	10025b65	RV370 5B65 [FireGL D1100 (PCIE)]	0
+d	10025b70	RV370 [Radeon X300SE]	0
+s	10025b7014620403	RX300SE-TD128E (MS-8940) (secondary display)	0
+s	10025b70196d1087	X300SE HM	0
+d	10025b72	RV380 [Radeon X600]	0
+d	10025b73	RV370 secondary [Sapphire X550 Silent]	0
+d	10025b74	RV370 5B64 [FireGL V3100 (PCIE)] (Secondary)	0
+d	10025c61	M9+ 5C61 [Radeon Mobility 9200 (AGP)]	0
+d	10025c63	M9+ 5C63 [Radeon Mobility 9200 (AGP)]	0
+s	10025c6310025c63	Apple iBook G4 2004	0
+s	10025c63144dc00c	P30 notebook	1
+d	10025d44	RV280 [Radeon 9200 SE] (Secondary)	0
+s	10025d4414584019	Radeon 9200 SE (Secondary)	0
+s	10025d4414584032	Radeon 9200 SE 128MB	0
+s	10025d44174b7c12	Sapphire Radeon 9200 SE (Secondary)	0
+s	10025d4417875965	Excalibur 9200SE VIVO 128M (Secondary)	0
+s	10025d4417af2013	Radeon 9200 SE Excalibur (Secondary)	0
+s	10025d4418bc0171	Radeon 9200 SE 128MB Game Buster (Secondary)	0
+s	10025d4418bc0172	GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]	0
+d	10025d48	M28 [Radeon Mobility X800XT]	0
+d	10025d49	M28 [Mobility FireGL V5100]	0
+d	10025d4a	Mobility Radeon X800	0
+d	10025d4d	R480 [Radeon X850XT Platinum (PCIE)]	0
+d	10025d4f	R480 [Radeon X800 GTO (PCIE)]	0
+d	10025d52	R480 [Radeon X850XT (PCIE)] (Primary)	0
+s	10025d5210020b12	PowerColor X850XT PCIe Primary	0
+s	10025d5210020b13	PowerColor X850XT PCIe Secondary	0
+d	10025d57	R423 5F57 [Radeon X800XT (PCIE)]	0
+d	10025d6d	R480 [Radeon X850XT Platinum (PCIE)] (Secondary)	0
+d	10025d6f	R480 [Radeon X800 GTO (PCIE)] (Secondary)	0
+d	10025d72	R480 [Radeon X850XT (PCIE)] (Secondary)	0
+d	10025d77	R423 5F57 [Radeon X800XT (PCIE)] (Secondary)	0
+d	10025e48	RV410 [FireGL V5000]	0
+d	10025e49	RV410 [FireGL V3300]	0
+d	10025e49		1
+d	10025e4a	RV410 [Radeon X700XT]	0
+d	10025e4b	RV410 [Radeon X700 Pro (PCIE)]	0
+d	10025e4c	RV410 [Radeon X700SE]	0
+d	10025e4d	RV410 [Radeon X700 (PCIE)]	0
+s	10025e4d148c2116	PowerColor Bravo X700	0
+d	10025e4f	RV410 [Radeon X700]	0
+d	10025e4f	x550xt	1
+d	10025e6b	RV410 [Radeon X700 Pro (PCIE)] Secondary	0
+d	10025e6d	RV410 [Radeon X700 (PCIE)] (Secondary)	0
+s	10025e6d148c2117	PowerColor Bravo X700	0
+d	10025f57	R423 [Radeon X800XT (PCIE)]	0
+d	1002700f	PCI Bridge [IGP 320M]	0
+d	10027010	PCI Bridge [IGP 340M]	0
+d	10027100	R520 [Radeon X1800]	0
+d	10027102	M58 [Radeon Mobility X1800]	0
+d	10027103	M58 [Mobility FireGL V7200]	0
+d	10027104	R520 GL ATI FireGL V7200 Primary	0
+d	10027105	R520 [FireGL]	0
+d	10027106	M58 [Mobility FireGL V7100]	0
+d	10027108	M58 [Radeon Mobility X1800]	0
+d	10027109	R520 [Radeon X1800]	0
+s	1002710910020322	All-in-Wonder X1800XL	0
+s	1002710910020d02	Radeon X1800 CrossFire Edition	0
+d	1002710a	R520 [Radeon X1800]	0
+d	1002710b	R520 [Radeon X1800]	0
+d	1002710c	R520 [Radeon X1800]	0
+d	10027120	R520 [Radeon X1800] (Secondary)	0
+d	10027124	R520 GL ATI FireGL V7200 Secondary	0
+d	10027129	R520 [Radeon X1800] (Secondary)	0
+s	1002712910020323	All-in-Wonder X1800XL (Secondary)	0
+s	1002712910020d03	Radeon X1800 CrossFire Edition (Secondary)	0
+d	10027140	RV515 [Radeon X1600]	0
+d	10027142	RV515 [Radeon X1300]	0
+d	10027142	ATI Radeon X1300/X1550 Series	1
+d	10027142	RV515 PRO [ATI Radeon X1300/X1550 Series]	1
+s	1002714210020322	All-in-Wonder 2006 PCI-E Edition	0
+d	10027143	Radeon X1550 Series	1
+d	10027143	RV505 [Radeon X1550 Series]	1
+d	10027145	Radeon Mobility X1400	0
+d	10027146	RV515 [Radeon X1300]	0
+s	1002714610020322	All-in-Wonder 2006 PCI-E Edition	0
+d	10027147	RV505 [Radeon X1550 64-bit]	1
+d	10027149	M52 [ATI Mobility Radeon X1300]	0
+d	1002714a	M52 [ATI Mobility Radeon X1300]	0
+d	1002714b	M52 [ATI Mobility Radeon X1300]	0
+d	1002714c	M52 [ATI Mobility Radeon X1300]	0
+d	1002714d	RV515 [Radeon X1300]	0
+d	1002714e	RV515 [Radeon X1300]	0
+d	10027152	RV515 GL ATI FireGL V3300 Primary	0
+d	10027153	RV515GL [FireGL V3350]	1
+d	1002715e	RV515 [Radeon X1300]	0
+d	1002715f	RV505 CE [Radeon X1550 64-bit]	1
+d	10027162	RV515 [Radeon X1300] (Secondary)	0
+d	10027162	ATI Radeon X1300/X1550 Series Secondary	1
+d	10027162	RV515 PRO [ATI Radeon X1300/X1550 Series Secondary]	1
+s	1002716210020323	All-in-Wonder 2006 PCI-E Edition (Secondary)	0
+d	10027166	RV515 [Radeon X1300] (Secondary)	0
+s	1002716610020323	All-in-Wonder 2006 PCI-E Edition (Secondary)	0
+d	10027172	RV515 GL ATI FireGL V3300 Secondary	0
+d	10027173	RV515GL [FireGL V3350 Secondary]	1
+d	10027180	RV516 Radeon X1300 Series Primary	0
+d	10027180	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1
+d	10027180	RV516 [ATI Radeon X1300/X1550 Series]	1
+d	10027181	RV516 XT Radeon X1600 Series Primary	0
 d	10027183	RV516 Radeon X1300 Pro	1	Mine is a 256 MB ATI Radeon X1300 Pro PCI Express
-d	10027183	RV516 [ATI Radeon X1300/X1550 Series]	1	
-d	10027187	RV516 [ATI Radeon X1300/X1550 Series]	1	
-d	10027188	M64-S [ATI Mobility Radeon X2300]	1	
-d	1002718a	ATI Mobility Radeon X2300	1	
-d	1002718c	M62CSP64 [ATI Mobility Radeon X1350]	1	
-d	1002718d	M64CSP128 [ATI Mobility Radeon X1450]	1	
-d	10027193	RV516[Radeon X1550 Series]	1	
-d	1002719b	FireMV 2250	1	
-d	1002719f	Radeon X1550 64-bit	1	
-d	1002719f	RV505 [Radeon X1550 64-bit]	1	
-d	1002719f	RV516LE [Radeon X1550 64-bit]	1	
-d	100271a0	RV516 Radeon X1300 Series Secondary	0	
-d	100271a0	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1	
-d	100271a1	RV516 XT Radeon X1600 Series Secondary	0	
+d	10027183	RV516 [ATI Radeon X1300/X1550 Series]	1
+d	10027187	RV516 [ATI Radeon X1300/X1550 Series]	1
+d	10027188	M64-S [ATI Mobility Radeon X2300]	1
+d	1002718a	ATI Mobility Radeon X2300	1
+d	1002718c	M62CSP64 [ATI Mobility Radeon X1350]	1
+d	1002718d	M64CSP128 [ATI Mobility Radeon X1450]	1
+d	10027193	RV516[Radeon X1550 Series]	1
+d	1002719b	FireMV 2250	1
+d	1002719f	Radeon X1550 64-bit	1
+d	1002719f	RV505 [Radeon X1550 64-bit]	1
+d	1002719f	RV516LE [Radeon X1550 64-bit]	1
+d	100271a0	RV516 Radeon X1300 Series Secondary	0
+d	100271a0	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1
+d	100271a1	RV516 XT Radeon X1600 Series Secondary	0
 d	100271a3	RV516 Radeon X1300 Pro (Secondary)	1	Mine is a 256 MB ATI Radeon X1300 Pro PCI Express by Dell
-d	100271a3	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1	
-d	100271a7	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1	
-d	100271bb	FireMV 2250 Secondary	1	
-d	100271c0	RV530 [Radeon X1600]	0	
-d	100271c2	RV530 [Radeon X1600]	0	
-d	100271c4	M56GL [ATI Mobility FireGL V5200]	0	
-s	100271c417aa2007	ThinkPad T60p	0	
-d	100271c5	M56P [Radeon Mobility X1600]	0	
-d	100271c6	RV530LE [Radeon X1600]	0	
-d	100271c7	RV535 [Radeon X1650 Series]	1	
-d	100271ce	RV530LE [Radeon X1600]	0	
-d	100271d5	M66-P ATI Mobility Radeon X1700	0	
-d	100271d6	M66-XT ATI Mobility Radeon X1700	0	
-d	100271de	RV530LE [Radeon X1600]	0	
-d	100271e0	RV530 [Radeon X1600] (Secondary)	0	
-d	100271e2	RV530 [Radeon X1600] (Secondary)	0	
-d	100271e7	RV535 [Radeon X1650 Series]	1	
-d	10027210	M71 [ ATI Mobility radeon X2100]	1	
-d	10027210	M71 [ ATI Mobility Radeon X2100 ]	1	
-d	10027211	M71 [ ATI Mobility Radeon X2100 Secondary]	1	
-d	10027240	R580 [Radeon X1900]	0	
-d	10027241	R580 [Radeon X1900]	0	
-d	10027242	R580 [Radeon X1900]	0	
-d	10027243	R580 [Radeon X1900]	0	
-d	10027244	R580 [Radeon X1900]	0	
-d	10027245	R580 [Radeon X1900]	0	
-d	10027246	R580 [Radeon X1900]	0	
-d	10027247	R580 [Radeon X1900]	0	
-d	10027248	R580 [Radeon X1900]	0	
-d	10027249	R580 [Radeon X1900 XT] Primary	0	
-d	1002724a	R580 [Radeon X1900]	0	
-d	1002724b	R580 [Radeon X1900]	0	
-s	1002724b10020b12	Primary Display Device	1	
-s	1002724b10020b13	Secondary Display Device	1	
-d	1002724c	R580 [Radeon X1900]	0	
-d	1002724d	R580 [Radeon X1900]	0	
-d	1002724e	R580 [FireGL V7300/V7350] Primary (PCIE)	0	
+d	100271a3	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1
+d	100271a7	RV516 [ATI Radeon X1300/X1550 Series Secondary]	1
+d	100271bb	FireMV 2250 Secondary	1
+d	100271c0	RV530 [Radeon X1600]	0
+d	100271c2	RV530 [Radeon X1600]	0
+d	100271c4	M56GL [ATI Mobility FireGL V5200]	0
+s	100271c417aa2007	ThinkPad T60p	0
+d	100271c5	M56P [Radeon Mobility X1600]	0
+d	100271c6	RV530LE [Radeon X1600]	0
+d	100271c7	RV535 [Radeon X1650 Series]	1
+d	100271ce	RV530LE [Radeon X1600]	0
+d	100271d5	M66-P ATI Mobility Radeon X1700	0
+d	100271d6	M66-XT ATI Mobility Radeon X1700	0
+d	100271de	RV530LE [Radeon X1600]	0
+d	100271e0	RV530 [Radeon X1600] (Secondary)	0
+d	100271e2	RV530 [Radeon X1600] (Secondary)	0
+d	100271e7	RV535 [Radeon X1650 Series]	1
+d	10027210	M71 [ ATI Mobility radeon X2100]	1
+d	10027210	M71 [ ATI Mobility Radeon X2100 ]	1
+d	10027211	M71 [ ATI Mobility Radeon X2100 Secondary]	1
+d	10027240	R580 [Radeon X1900]	0
+d	10027241	R580 [Radeon X1900]	0
+d	10027242	R580 [Radeon X1900]	0
+d	10027243	R580 [Radeon X1900]	0
+d	10027244	R580 [Radeon X1900]	0
+d	10027245	R580 [Radeon X1900]	0
+d	10027246	R580 [Radeon X1900]	0
+d	10027247	R580 [Radeon X1900]	0
+d	10027248	R580 [Radeon X1900]	0
+d	10027249	R580 [Radeon X1900 XT] Primary	0
+d	1002724a	R580 [Radeon X1900]	0
+d	1002724b	R580 [Radeon X1900]	0
+s	1002724b10020b12	Primary Display Device	1
+s	1002724b10020b13	Secondary Display Device	1
+d	1002724c	R580 [Radeon X1900]	0
+d	1002724d	R580 [Radeon X1900]	0
+d	1002724e	R580 [FireGL V7300/V7350] Primary (PCIE)	0
 d	1002724e	ATI FireStream 2U	1	Changing marketing name to this DID. Correct name is ATI FireStream 2U.
-d	10027269	R580 [Radeon X1900 XT] Secondary	0	
-d	1002726b	R580 [Radeon X1900]	1	
-d	1002726e	ATI FireStream 2U Secondary	1	
-d	1002726e	R580 [FireGL V7300/V7350] Secondary (PCIE)	0	
+d	10027269	R580 [Radeon X1900 XT] Secondary	0
+d	1002726b	R580 [Radeon X1900]	1
+d	1002726e	ATI FireStream 2U Secondary	1
+d	1002726e	R580 [FireGL V7300/V7350] Secondary (PCIE)	0
 d	1002726e	ATI FireStream 2U Secondary	1	Changing marketing name to this DID. Correct name is ATI FireStream 2U Secondary.
-d	10027288	ATI Radeon X1950 GT	1	
-d	10027293	Radeon X1650 Series	1	
-d	100272a8	ATI Radeon X1950 GT Secondary	1	
-d	100272b3	Radeon X1650 Series Secondary	1	
-d	10027833	Radeon 9100 IGP Host Bridge	0	
-d	10027834	Radeon 9100 PRO IGP	0	
-d	10027835	Radeon Mobility 9200 IGP	0	
-d	10027838	Radeon 9100 IGP PCI/AGP Bridge	0	
-d	1002791e	ATI Radeon Xpress 1200 Series	1	
-d	1002791f	ATI Radeon Xpress 1200 Series	1	
-d	1002793f	ATI Radeon Xpress 1200 Series Secondary	1	
-d	10027c37	RV350 AQ [Radeon 9600 SE]	0	
-d	1002cab0	AGP Bridge [IGP 320M]	0	
-d	1002cab2	RS200/RS200M AGP Bridge [IGP 340M]	0	
-d	1002cab3	R200 AGP Bridge [Mobility Radeon 7000 IGP]	0	
-d	1002cbb2	RS200/RS200M AGP Bridge [IGP 340M]	0	
-v	1003	ULSI Systems	0	
-d	10030201	US201	0	
-v	1004	VLSI Technology Inc	0	
-d	10040005	82C592-FC1	0	
-d	10040006	82C593-FC1	0	
-d	10040007	82C594-AFC2	0	
-d	10040008	82C596/7 [Wildcat]	0	
-d	10040009	82C597-AFC2	0	
-d	1004000c	82C541 [Lynx]	0	
-d	1004000d	82C543 [Lynx]	0	
-d	10040101	82C532	0	
-d	10040102	82C534 [Eagle]	0	
-d	10040103	82C538	0	
-d	10040104	82C535	0	
-d	10040105	82C147	0	
-d	10040200	82C975	0	
-d	10040280	82C925	0	
-d	10040304	QSound ThunderBird PCI Audio	0	
-s	1004030410040304	QSound ThunderBird PCI Audio	0	
-s	10040304122d1206	DSP368 Audio	0	
-s	1004030414835020	XWave Thunder 3D Audio	0	
-d	10040305	QSound ThunderBird PCI Audio Gameport	0	
-s	1004030510040305	QSound ThunderBird PCI Audio Gameport	0	
-s	10040305122d1207	DSP368 Audio Gameport	0	
-s	1004030514835021	XWave Thunder 3D Audio Gameport	0	
-d	10040306	QSound ThunderBird PCI Audio Support Registers	0	
-s	1004030610040306	QSound ThunderBird PCI Audio Support Registers	0	
-s	10040306122d1208	DSP368 Audio Support Registers	0	
-s	1004030614835022	XWave Thunder 3D Audio Support Registers	0	
-d	10040307	Thunderbird	0	
-d	10040308	Thunderbird	0	
-d	10040702	VAS96011 [Golden Gate II]	0	
-d	10040703	Tollgate	0	
-v	1005	Avance Logic Inc. [ALI]	0	
-d	10052064	ALG2032/2064	0	
-d	10052128	ALG2364A	0	
-d	10052301	ALG2301	0	
-d	10052302	ALG2302	0	
-d	10052364	ALG2364	0	
-d	10052464	ALG2364A	0	
-d	10052501	ALG2564A/25128A	0	
-v	1006	Reply Group	0	
-v	1007	NetFrame Systems Inc	0	
-v	1008	Epson	0	
-v	100a	Phoenix Technologies	0	
-v	100b	National Semiconductor Corporation	0	
-d	100b0001	DP83810	0	
-d	100b0002	87415/87560 IDE	0	
-d	100b000e	87560 Legacy I/O	0	
-d	100b000f	FireWire Controller	0	
-d	100b0011	NS87560 National PCI System I/O	0	
-d	100b0012	USB Controller	0	
-d	100b0020	DP83815 (MacPhyter) Ethernet Controller	0	
-s	100b0020103c0024	Pavilion ze4400 builtin Network	0	
-s	100b002012d9000c	Aculab E1/T1 PMXc cPCI carrier card	0	
-s	100b00201385f311	FA311 / FA312 (FA311 with WoL HW)	0	
-d	100b0021	PC87200 PCI to ISA Bridge	0	
-d	100b0022	DP83820 10/100/1000 Ethernet Controller	0	
-d	100b0028	Geode GX2 Host Bridge	0	
-d	100b002a	CS5535 South Bridge	0	
-d	100b002b	CS5535 ISA bridge	0	
-d	100b002d	CS5535 IDE	0	
-d	100b002e	CS5535 Audio	0	
-d	100b002f	CS5535 USB	0	
-d	100b0030	Geode GX2 Graphics Processor	0	
-d	100b0035	DP83065 [Saturn] 10/100/1000 Ethernet Controller	0	
-d	100b0500	SCx200 Bridge	0	
-d	100b0501	SCx200 SMI	0	
-d	100b0502	SCx200 IDE	0	
-d	100b0503	SCx200 Audio	0	
-d	100b0504	SCx200 Video	0	
-d	100b0505	SCx200 XBus	0	
-d	100b0510	SC1100 Bridge	0	
-d	100b0511	SC1100 SMI	0	
-d	100b0515	SC1100 XBus	0	
-d	100bd001	87410 IDE	0	
-v	100c	Tseng Labs Inc	0	
-d	100c3202	ET4000/W32p rev A	0	
-d	100c3205	ET4000/W32p rev B	0	
-d	100c3206	ET4000/W32p rev C	0	
-d	100c3207	ET4000/W32p rev D	0	
-d	100c3208	ET6000	0	
-d	100c4702	ET6300	0	
-v	100d	AST Research Inc	0	
-v	100e	Weitek	0	
-d	100e9000	P9000 Viper	0	
-d	100e9001	P9000 Viper	0	
-d	100e9002	P9000 Viper	0	
-d	100e9100	P9100 Viper Pro/SE	0	
-v	1010	Video Logic, Ltd.	0	
-v	1011	Digital Equipment Corporation	0	
-d	10110001	DECchip 21050	0	
-d	10110002	DECchip 21040 [Tulip]	0	
-d	10110004	DECchip 21030 [TGA]	0	
-d	10110007	NVRAM [Zephyr NVRAM]	0	
-d	10110008	KZPSA [KZPSA]	0	
-d	10110009	DECchip 21140 [FasterNet]	0	
-s	1011000910250310	21140 Fast Ethernet	0	
-s	1011000910b82001	SMC9332BDT EtherPower 10/100	0	
-s	1011000910b82002	SMC9332BVT EtherPower T4 10/100	0	
-s	1011000910b82003	SMC9334BDT EtherPower 10/100 (1-port)	0	
-s	1011000911092400	ANA-6944A/TX Fast Ethernet	0	
-s	1011000911122300	RNS2300 Fast Ethernet	0	
-s	1011000911122320	RNS2320 Fast Ethernet	0	
-s	1011000911122340	RNS2340 Fast Ethernet	0	
-s	1011000911131207	EN-1207-TX Fast Ethernet	0	
-s	1011000911861100	DFE-500TX Fast Ethernet	0	
-s	1011000911861112	DFE-570TX Fast Ethernet	0	
-s	1011000911861140	DFE-660 Cardbus Ethernet 10/100	0	
-s	1011000911861142	DFE-660 Cardbus Ethernet 10/100	0	
-s	1011000911f60503	Freedomline Fast Ethernet	0	
-s	1011000912829100	AEF-380TXD Fast Ethernet	0	
-s	1011000913851100	FA310TX Fast Ethernet	0	
-s	1011000926460001	KNE100TX Fast Ethernet	0	
-d	1011000a	21230 Video Codec	0	
-d	1011000d	PBXGB [TGA2]	0	
-d	1011000f	PCI-to-PDQ Interface Chip [PFI]	0	
-s	1011000f1011def1	FDDI controller (DEFPA)	0	
-s	1011000f103cdef1	FDDI controller (3X-DEFPA)	0	
-d	10110014	DECchip 21041 [Tulip Pass 3]	0	
-s	1011001411860100	DE-530+	0	
-d	10110016	DGLPB [OPPO]	0	
-d	10110017	PV-PCI Graphics Controller (ZLXp-L)	0	
-d	10110019	DECchip 21142/43	0	
-s	101100191011500a	DE500A Fast Ethernet	0	
-s	101100191011500b	DE500B Fast Ethernet	0	
-s	1011001910140001	10/100 EtherJet Cardbus	0	
-s	1011001910250315	ALN315 Fast Ethernet	0	
-s	101100191033800c	PC-9821-CS01 100BASE-TX Interface Card	0	
-s	101100191033800d	PC-9821NR-B06 100BASE-TX Interface Card	0	
-s	10110019103c125a	10/100Base-TX (PCI) [A5506B]	0	
-s	10110019108d0016	Rapidfire 2327 10/100 Ethernet	0	
-s	10110019108d0017	GoCard 2250 Ethernet 10/100 Cardbus	0	
-s	1011001910b82005	SMC8032DT Extreme Ethernet 10/100	0	
-s	1011001910b88034	SMC8034 Extreme Ethernet 10/100	0	
-s	1011001910ef8169	Cardbus Fast Ethernet	0	
-s	1011001911092a00	ANA-6911A/TX Fast Ethernet	0	
-s	1011001911092b00	ANA-6911A/TXC Fast Ethernet	0	
-s	1011001911093000	ANA-6922/TX Fast Ethernet	0	
-s	1011001911131207	Cheetah Fast Ethernet	0	
-s	1011001911132220	Cardbus Fast Ethernet	0	
-s	10110019115d0002	Cardbus Ethernet 10/100	0	
-s	1011001911790203	Fast Ethernet	0	
-s	1011001911790204	Cardbus Fast Ethernet	0	
-s	1011001911861100	DFE-500TX Fast Ethernet	0	
-s	1011001911861101	DFE-500TX Fast Ethernet	0	
-s	1011001911861102	DFE-500TX Fast Ethernet	0	
-s	1011001911861112	DFE-570TX Quad Fast Ethernet	0	
-s	1011001912592800	AT-2800Tx Fast Ethernet	0	
-s	1011001912660004	Eagle Fast EtherMAX	0	
-s	1011001912af0019	NetFlyer Cardbus Fast Ethernet	0	
-s	1011001913740001	Cardbus Ethernet Card 10/100	0	
-s	1011001913740002	Cardbus Ethernet Card 10/100	0	
-s	1011001913740007	Cardbus Ethernet Card 10/100	0	
-s	1011001913740008	Cardbus Ethernet Card 10/100	0	
-s	1011001913852100	FA510	0	
-s	1011001913950001	10/100 Ethernet CardBus PC Card	0	
-s	1011001913d1ab01	EtherFast 10/100 Cardbus (PCMPC200)	0	
-s	101100191498000a	TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter	0	
-s	101100191498000b	TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter	0	
-s	101100191498000c	TPMC880-12 Single 10Base2 PMC Ethernet Adapter	0	
-s	1011001914cb0100	LNDL-100N 100Base-TX Ethernet PC Card	0	
-s	1011001980860001	EtherExpress PRO/100 Mobile CardBus 32	0	
-d	1011001a	Farallon PN9000SX Gigabit Ethernet	0	
-d	10110021	DECchip 21052	0	
-d	10110022	DECchip 21150	0	
-d	10110023	DECchip 21150	0	
-d	10110024	DECchip 21152	0	
-d	10110025	DECchip 21153	0	
-d	10110026	DECchip 21154	0	
-d	10110034	56k Modem Cardbus	0	
-s	1011003413740003	56k Modem Cardbus	0	
-d	10110045	DECchip 21553	0	
-d	10110046	DECchip 21554	0	
-s	101100460e114050	Integrated Smart Array	0	
-s	101100460e114051	Integrated Smart Array	0	
-s	101100460e114058	Integrated Smart Array	0	
-s	10110046103c10c2	NetRAID-4M	0	
-s	1011004612d9000a	IP Telephony card	0	
-s	101100464c531050	CT7 mainboard	0	
-s	101100464c531051	CE7 mainboard	0	
-s	1011004690050364	5400S (Mustang)	0	
-s	1011004690050365	5400S (Mustang)	0	
-s	1011004690051364	Dell PowerEdge RAID Controller 2	0	
-s	1011004690051365	Dell PowerEdge RAID Controller 2	0	
-s	10110046e4bf1000	CC8-1-BLUES	0	
-d	10111065	StrongARM DC21285	0	
-s	1011106510690020	DAC960P / DAC1164P	0	
-v	1012	Micronics Computers Inc	0	
-v	1013	Cirrus Logic	0	
-d	10130038	GD 7548	0	
-d	10130040	GD 7555 Flat Panel GUI Accelerator	0	
-d	1013004c	GD 7556 Video/Graphics LCD/CRT Ctrlr	0	
-d	101300a0	GD 5430/40 [Alpine]	0	
-d	101300a2	GD 5432 [Alpine]	0	
-d	101300a4	GD 5434-4 [Alpine]	0	
-d	101300a8	GD 5434-8 [Alpine]	0	
-d	101300ac	GD 5436 [Alpine]	0	
-d	101300b0	GD 5440	0	
-d	101300b8	GD 5446	0	
-d	101300bc	GD 5480	0	
-s	101300bc101300bc	CL-GD5480	0	
-d	101300d0	GD 5462	0	
-d	101300d2	GD 5462 [Laguna I]	0	
-d	101300d4	GD 5464 [Laguna]	0	
-d	101300d5	GD 5464 BD [Laguna]	0	
-d	101300d6	GD 5465 [Laguna]	0	
-s	101300d613ce8031	Barco Metheus 2 Megapixel, Dual Head	0	
-s	101300d613cf8031	Barco Metheus 2 Megapixel, Dual Head	0	
-d	101300e8	GD 5436U	0	
-d	10131100	CL 6729	0	
-d	10131110	PD 6832 PCMCIA/CardBus Ctrlr	0	
-d	10131112	PD 6834 PCMCIA/CardBus Ctrlr	0	
-d	10131113	PD 6833 PCMCIA/CardBus Ctrlr	0	
-d	10131200	GD 7542 [Nordic]	0	
-d	10131202	GD 7543 [Viking]	0	
-d	10131204	GD 7541 [Nordic Light]	0	
-d	10134000	MD 5620 [CLM Data Fax Voice]	0	
-d	10134400	CD 4400	0	
-d	10136001	CS 4610/11 [CrystalClear SoundFusion Audio Accelerator]	0	
-s	1013600110141010	CS4610 SoundFusion Audio Accelerator	0	
-d	10136003	CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator]	0	
-s	1013600310134280	Crystal SoundFusion PCI Audio Accelerator	0	
-s	1013600310140153	ThinkPad A20m	0	
-s	10136003153b112e	DMX XFire 1024	0	
-s	10136003153b1136	SiXPack 5.1+	0	
-s	1013600316810050	Game Theater XP	0	
-s	101360031681a011	Fortissimo III 7.1	0	
-s	1013600350533357	Santa Cruz	0	
-d	10136004	CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]	0	
-d	10136005	Crystal CS4281 PCI Audio	0	
-s	1013600510134281	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10a8	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10a9	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10aa	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10ab	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10ac	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10ad	Crystal CS4281 PCI Audio	0	
-s	1013600510cf10b4	Crystal CS4281 PCI Audio	0	
-s	1013600511790001	Crystal CS4281 PCI Audio	0	
-s	1013600514c0000c	Crystal CS4281 PCI Audio	0	
-v	1014	IBM	0	
-d	10140002	PCI to MCA Bridge	0	
-d	10140005	Alta Lite	0	
-d	10140007	Alta MP	0	
-d	1014000a	Fire Coral	0	
-d	10140017	CPU to PCI Bridge	0	
-d	10140018	TR Auto LANstreamer	0	
-d	1014001b	GXT-150P	0	
-d	1014001c	Carrera	0	
-d	1014001d	82G2675	0	
-d	10140020	GXT1000 Graphics Adapter	0	
-d	10140022	IBM27-82351	0	
-d	1014002d	Python	0	
-d	1014002e	SCSI RAID Adapter [ServeRAID]	0	
-s	1014002e1014002e	ServeRAID-3x	0	
-s	1014002e1014022e	ServeRAID-4H	0	
-d	10140031	2 Port Serial Adapter	0	
+d	10027288	ATI Radeon X1950 GT	1
+d	10027293	Radeon X1650 Series	1
+d	100272a8	ATI Radeon X1950 GT Secondary	1
+d	100272b3	Radeon X1650 Series Secondary	1
+d	10027833	Radeon 9100 IGP Host Bridge	0
+d	10027834	Radeon 9100 PRO IGP	0
+d	10027835	Radeon Mobility 9200 IGP	0
+d	10027838	Radeon 9100 IGP PCI/AGP Bridge	0
+d	1002791e	ATI Radeon Xpress 1200 Series	1
+d	1002791f	ATI Radeon Xpress 1200 Series	1
+d	1002793f	ATI Radeon Xpress 1200 Series Secondary	1
+d	10027c37	RV350 AQ [Radeon 9600 SE]	0
+d	1002cab0	AGP Bridge [IGP 320M]	0
+d	1002cab2	RS200/RS200M AGP Bridge [IGP 340M]	0
+d	1002cab3	R200 AGP Bridge [Mobility Radeon 7000 IGP]	0
+d	1002cbb2	RS200/RS200M AGP Bridge [IGP 340M]	0
+v	1003	ULSI Systems	0
+d	10030201	US201	0
+v	1004	VLSI Technology Inc	0
+d	10040005	82C592-FC1	0
+d	10040006	82C593-FC1	0
+d	10040007	82C594-AFC2	0
+d	10040008	82C596/7 [Wildcat]	0
+d	10040009	82C597-AFC2	0
+d	1004000c	82C541 [Lynx]	0
+d	1004000d	82C543 [Lynx]	0
+d	10040101	82C532	0
+d	10040102	82C534 [Eagle]	0
+d	10040103	82C538	0
+d	10040104	82C535	0
+d	10040105	82C147	0
+d	10040200	82C975	0
+d	10040280	82C925	0
+d	10040304	QSound ThunderBird PCI Audio	0
+s	1004030410040304	QSound ThunderBird PCI Audio	0
+s	10040304122d1206	DSP368 Audio	0
+s	1004030414835020	XWave Thunder 3D Audio	0
+d	10040305	QSound ThunderBird PCI Audio Gameport	0
+s	1004030510040305	QSound ThunderBird PCI Audio Gameport	0
+s	10040305122d1207	DSP368 Audio Gameport	0
+s	1004030514835021	XWave Thunder 3D Audio Gameport	0
+d	10040306	QSound ThunderBird PCI Audio Support Registers	0
+s	1004030610040306	QSound ThunderBird PCI Audio Support Registers	0
+s	10040306122d1208	DSP368 Audio Support Registers	0
+s	1004030614835022	XWave Thunder 3D Audio Support Registers	0
+d	10040307	Thunderbird	0
+d	10040308	Thunderbird	0
+d	10040702	VAS96011 [Golden Gate II]	0
+d	10040703	Tollgate	0
+v	1005	Avance Logic Inc. [ALI]	0
+d	10052064	ALG2032/2064	0
+d	10052128	ALG2364A	0
+d	10052301	ALG2301	0
+d	10052302	ALG2302	0
+d	10052364	ALG2364	0
+d	10052464	ALG2364A	0
+d	10052501	ALG2564A/25128A	0
+v	1006	Reply Group	0
+v	1007	NetFrame Systems Inc	0
+v	1008	Epson	0
+v	100a	Phoenix Technologies	0
+v	100b	National Semiconductor Corporation	0
+d	100b0001	DP83810	0
+d	100b0002	87415/87560 IDE	0
+d	100b000e	87560 Legacy I/O	0
+d	100b000f	FireWire Controller	0
+d	100b0011	NS87560 National PCI System I/O	0
+d	100b0012	USB Controller	0
+d	100b0020	DP83815 (MacPhyter) Ethernet Controller	0
+s	100b0020103c0024	Pavilion ze4400 builtin Network	0
+s	100b002012d9000c	Aculab E1/T1 PMXc cPCI carrier card	0
+s	100b00201385f311	FA311 / FA312 (FA311 with WoL HW)	0
+d	100b0021	PC87200 PCI to ISA Bridge	0
+d	100b0022	DP83820 10/100/1000 Ethernet Controller	0
+d	100b0028	Geode GX2 Host Bridge	0
+d	100b002a	CS5535 South Bridge	0
+d	100b002b	CS5535 ISA bridge	0
+d	100b002d	CS5535 IDE	0
+d	100b002e	CS5535 Audio	0
+d	100b002f	CS5535 USB	0
+d	100b0030	Geode GX2 Graphics Processor	0
+d	100b0035	DP83065 [Saturn] 10/100/1000 Ethernet Controller	0
+d	100b0500	SCx200 Bridge	0
+d	100b0501	SCx200 SMI	0
+d	100b0502	SCx200 IDE	0
+d	100b0503	SCx200 Audio	0
+d	100b0504	SCx200 Video	0
+d	100b0505	SCx200 XBus	0
+d	100b0510	SC1100 Bridge	0
+d	100b0511	SC1100 SMI	0
+d	100b0515	SC1100 XBus	0
+d	100bd001	87410 IDE	0
+v	100c	Tseng Labs Inc	0
+d	100c3202	ET4000/W32p rev A	0
+d	100c3205	ET4000/W32p rev B	0
+d	100c3206	ET4000/W32p rev C	0
+d	100c3207	ET4000/W32p rev D	0
+d	100c3208	ET6000	0
+d	100c4702	ET6300	0
+v	100d	AST Research Inc	0
+v	100e	Weitek	0
+d	100e9000	P9000 Viper	0
+d	100e9001	P9000 Viper	0
+d	100e9002	P9000 Viper	0
+d	100e9100	P9100 Viper Pro/SE	0
+v	1010	Video Logic, Ltd.	0
+v	1011	Digital Equipment Corporation	0
+d	10110001	DECchip 21050	0
+d	10110002	DECchip 21040 [Tulip]	0
+d	10110004	DECchip 21030 [TGA]	0
+d	10110007	NVRAM [Zephyr NVRAM]	0
+d	10110008	KZPSA [KZPSA]	0
+d	10110009	DECchip 21140 [FasterNet]	0
+s	1011000910250310	21140 Fast Ethernet	0
+s	1011000910b82001	SMC9332BDT EtherPower 10/100	0
+s	1011000910b82002	SMC9332BVT EtherPower T4 10/100	0
+s	1011000910b82003	SMC9334BDT EtherPower 10/100 (1-port)	0
+s	1011000911092400	ANA-6944A/TX Fast Ethernet	0
+s	1011000911122300	RNS2300 Fast Ethernet	0
+s	1011000911122320	RNS2320 Fast Ethernet	0
+s	1011000911122340	RNS2340 Fast Ethernet	0
+s	1011000911131207	EN-1207-TX Fast Ethernet	0
+s	1011000911861100	DFE-500TX Fast Ethernet	0
+s	1011000911861112	DFE-570TX Fast Ethernet	0
+s	1011000911861140	DFE-660 Cardbus Ethernet 10/100	0
+s	1011000911861142	DFE-660 Cardbus Ethernet 10/100	0
+s	1011000911f60503	Freedomline Fast Ethernet	0
+s	1011000912829100	AEF-380TXD Fast Ethernet	0
+s	1011000913851100	FA310TX Fast Ethernet	0
+s	1011000926460001	KNE100TX Fast Ethernet	0
+d	1011000a	21230 Video Codec	0
+d	1011000d	PBXGB [TGA2]	0
+d	1011000f	PCI-to-PDQ Interface Chip [PFI]	0
+s	1011000f1011def1	FDDI controller (DEFPA)	0
+s	1011000f103cdef1	FDDI controller (3X-DEFPA)	0
+d	10110014	DECchip 21041 [Tulip Pass 3]	0
+s	1011001411860100	DE-530+	0
+d	10110016	DGLPB [OPPO]	0
+d	10110017	PV-PCI Graphics Controller (ZLXp-L)	0
+d	10110019	DECchip 21142/43	0
+s	101100191011500a	DE500A Fast Ethernet	0
+s	101100191011500b	DE500B Fast Ethernet	0
+s	1011001910140001	10/100 EtherJet Cardbus	0
+s	1011001910250315	ALN315 Fast Ethernet	0
+s	101100191033800c	PC-9821-CS01 100BASE-TX Interface Card	0
+s	101100191033800d	PC-9821NR-B06 100BASE-TX Interface Card	0
+s	10110019103c125a	10/100Base-TX (PCI) [A5506B]	0
+s	10110019108d0016	Rapidfire 2327 10/100 Ethernet	0
+s	10110019108d0017	GoCard 2250 Ethernet 10/100 Cardbus	0
+s	1011001910b82005	SMC8032DT Extreme Ethernet 10/100	0
+s	1011001910b88034	SMC8034 Extreme Ethernet 10/100	0
+s	1011001910ef8169	Cardbus Fast Ethernet	0
+s	1011001911092a00	ANA-6911A/TX Fast Ethernet	0
+s	1011001911092b00	ANA-6911A/TXC Fast Ethernet	0
+s	1011001911093000	ANA-6922/TX Fast Ethernet	0
+s	1011001911131207	Cheetah Fast Ethernet	0
+s	1011001911132220	Cardbus Fast Ethernet	0
+s	10110019115d0002	Cardbus Ethernet 10/100	0
+s	1011001911790203	Fast Ethernet	0
+s	1011001911790204	Cardbus Fast Ethernet	0
+s	1011001911861100	DFE-500TX Fast Ethernet	0
+s	1011001911861101	DFE-500TX Fast Ethernet	0
+s	1011001911861102	DFE-500TX Fast Ethernet	0
+s	1011001911861112	DFE-570TX Quad Fast Ethernet	0
+s	1011001912592800	AT-2800Tx Fast Ethernet	0
+s	1011001912660004	Eagle Fast EtherMAX	0
+s	1011001912af0019	NetFlyer Cardbus Fast Ethernet	0
+s	1011001913740001	Cardbus Ethernet Card 10/100	0
+s	1011001913740002	Cardbus Ethernet Card 10/100	0
+s	1011001913740007	Cardbus Ethernet Card 10/100	0
+s	1011001913740008	Cardbus Ethernet Card 10/100	0
+s	1011001913852100	FA510	0
+s	1011001913950001	10/100 Ethernet CardBus PC Card	0
+s	1011001913d1ab01	EtherFast 10/100 Cardbus (PCMPC200)	0
+s	101100191498000a	TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter	0
+s	101100191498000b	TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter	0
+s	101100191498000c	TPMC880-12 Single 10Base2 PMC Ethernet Adapter	0
+s	1011001914cb0100	LNDL-100N 100Base-TX Ethernet PC Card	0
+s	1011001980860001	EtherExpress PRO/100 Mobile CardBus 32	0
+d	1011001a	Farallon PN9000SX Gigabit Ethernet	0
+d	10110021	DECchip 21052	0
+d	10110022	DECchip 21150	0
+d	10110023	DECchip 21150	0
+d	10110024	DECchip 21152	0
+d	10110025	DECchip 21153	0
+d	10110026	DECchip 21154	0
+d	10110034	56k Modem Cardbus	0
+s	1011003413740003	56k Modem Cardbus	0
+d	10110045	DECchip 21553	0
+d	10110046	DECchip 21554	0
+s	101100460e114050	Integrated Smart Array	0
+s	101100460e114051	Integrated Smart Array	0
+s	101100460e114058	Integrated Smart Array	0
+s	10110046103c10c2	NetRAID-4M	0
+s	1011004612d9000a	IP Telephony card	0
+s	101100464c531050	CT7 mainboard	0
+s	101100464c531051	CE7 mainboard	0
+s	1011004690050364	5400S (Mustang)	0
+s	1011004690050365	5400S (Mustang)	0
+s	1011004690051364	Dell PowerEdge RAID Controller 2	0
+s	1011004690051365	Dell PowerEdge RAID Controller 2	0
+s	10110046e4bf1000	CC8-1-BLUES	0
+d	10111065	StrongARM DC21285	0
+s	1011106510690020	DAC960P / DAC1164P	0
+v	1012	Micronics Computers Inc	0
+v	1013	Cirrus Logic	0
+d	10130038	GD 7548	0
+d	10130040	GD 7555 Flat Panel GUI Accelerator	0
+d	1013004c	GD 7556 Video/Graphics LCD/CRT Ctrlr	0
+d	101300a0	GD 5430/40 [Alpine]	0
+d	101300a2	GD 5432 [Alpine]	0
+d	101300a4	GD 5434-4 [Alpine]	0
+d	101300a8	GD 5434-8 [Alpine]	0
+d	101300ac	GD 5436 [Alpine]	0
+d	101300b0	GD 5440	0
+d	101300b8	GD 5446	0
+d	101300bc	GD 5480	0
+s	101300bc101300bc	CL-GD5480	0
+d	101300d0	GD 5462	0
+d	101300d2	GD 5462 [Laguna I]	0
+d	101300d4	GD 5464 [Laguna]	0
+d	101300d5	GD 5464 BD [Laguna]	0
+d	101300d6	GD 5465 [Laguna]	0
+s	101300d613ce8031	Barco Metheus 2 Megapixel, Dual Head	0
+s	101300d613cf8031	Barco Metheus 2 Megapixel, Dual Head	0
+d	101300e8	GD 5436U	0
+d	10131100	CL 6729	0
+d	10131110	PD 6832 PCMCIA/CardBus Ctrlr	0
+d	10131112	PD 6834 PCMCIA/CardBus Ctrlr	0
+d	10131113	PD 6833 PCMCIA/CardBus Ctrlr	0
+d	10131200	GD 7542 [Nordic]	0
+d	10131202	GD 7543 [Viking]	0
+d	10131204	GD 7541 [Nordic Light]	0
+d	10134000	MD 5620 [CLM Data Fax Voice]	0
+d	10134400	CD 4400	0
+d	10136001	CS 4610/11 [CrystalClear SoundFusion Audio Accelerator]	0
+s	1013600110141010	CS4610 SoundFusion Audio Accelerator	0
+d	10136003	CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator]	0
+s	1013600310134280	Crystal SoundFusion PCI Audio Accelerator	0
+s	1013600310140153	ThinkPad A20m	0
+s	10136003153b112e	DMX XFire 1024	0
+s	10136003153b1136	SiXPack 5.1+	0
+s	1013600316810050	Game Theater XP	0
+s	101360031681a011	Fortissimo III 7.1	0
+s	1013600350533357	Santa Cruz	0
+d	10136004	CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]	0
+d	10136005	Crystal CS4281 PCI Audio	0
+s	1013600510134281	Crystal CS4281 PCI Audio	0
+s	1013600510cf10a8	Crystal CS4281 PCI Audio	0
+s	1013600510cf10a9	Crystal CS4281 PCI Audio	0
+s	1013600510cf10aa	Crystal CS4281 PCI Audio	0
+s	1013600510cf10ab	Crystal CS4281 PCI Audio	0
+s	1013600510cf10ac	Crystal CS4281 PCI Audio	0
+s	1013600510cf10ad	Crystal CS4281 PCI Audio	0
+s	1013600510cf10b4	Crystal CS4281 PCI Audio	0
+s	1013600511790001	Crystal CS4281 PCI Audio	0
+s	1013600514c0000c	Crystal CS4281 PCI Audio	0
+v	1014	IBM	0
+d	10140002	PCI to MCA Bridge	0
+d	10140005	Alta Lite	0
+d	10140007	Alta MP	0
+d	1014000a	Fire Coral	0
+d	10140017	CPU to PCI Bridge	0
+d	10140018	TR Auto LANstreamer	0
+d	1014001b	GXT-150P	0
+d	1014001c	Carrera	0
+d	1014001d	82G2675	0
+d	10140020	GXT1000 Graphics Adapter	0
+d	10140022	IBM27-82351	0
+d	1014002d	Python	0
+d	1014002e	SCSI RAID Adapter [ServeRAID]	0
+s	1014002e1014002e	ServeRAID-3x	0
+s	1014002e1014022e	ServeRAID-4H	0
+d	10140031	2 Port Serial Adapter	0
 s	1014003110140031	2721 WAN IOA - 2 Port Sync Serial Adapter	0	AS400 iSeries PCI sync serial card
-d	10140036	Miami	0	
-d	10140037	82660 CPU to PCI Bridge	0	
-d	1014003a	CPU to PCI Bridge	0	
-d	1014003c	GXT250P/GXT255P Graphics Adapter	0	
-d	1014003e	16/4 Token ring UTP/STP controller	0	
-s	1014003e1014003e	Token-Ring Adapter	0	
-s	1014003e101400cd	Token-Ring Adapter + Wake-On-LAN	0	
-s	1014003e101400ce	16/4 Token-Ring Adapter 2	0	
-s	1014003e101400cf	16/4 Token-Ring Adapter Special	0	
-s	1014003e101400e4	High-Speed 100/16/4 Token-Ring Adapter	0	
-s	1014003e101400e5	16/4 Token-Ring Adapter 2 + Wake-On-LAN	0	
-s	1014003e1014016d	iSeries 2744 Card	0	
-d	10140045	SSA Adapter	0	
-d	10140046	MPIC interrupt controller	0	
-d	10140047	PCI to PCI Bridge	0	
-d	10140048	PCI to PCI Bridge	0	
-d	10140049	Warhead SCSI Controller	0	
-d	1014004e	ATM Controller (14104e00)	0	
-d	1014004f	ATM Controller (14104f00)	0	
-d	10140050	ATM Controller (14105000)	0	
-d	10140053	25 MBit ATM Controller	0	
-d	10140054	GXT500P/GXT550P Graphics Adapter	0	
-d	10140057	MPEG PCI Bridge	0	
-d	10140058	SSA Adapter [Advanced SerialRAID/X]	0	
-d	1014005c	i82557B 10/100	0	
-d	1014005e	GXT800P Graphics Adapter	0	
-d	1014007c	ATM Controller (14107c00)	0	
-d	1014007d	3780IDSP [MWave]	0	
-d	1014008b	EADS PCI to PCI Bridge	0	
-d	1014008e	GXT3000P Graphics Adapter	0	
-d	10140090	GXT 3000P	0	
-s	101400901014008e	GXT-3000P	0	
-d	10140091	SSA Adapter	0	
-d	10140095	20H2999 PCI Docking Bridge	0	
-d	10140096	Chukar chipset SCSI controller	0	
-s	1014009610140097	iSeries 2778 DASD IOA	0	
-s	1014009610140098	iSeries 2763 DASD IOA	0	
-s	1014009610140099	iSeries 2748 DASD IOA	0	
-d	1014009f	PCI 4758 Cryptographic Accelerator	0	
-d	101400a5	ATM Controller (1410a500)	0	
-d	101400a6	ATM 155MBPS MM Controller (1410a600)	0	
-d	101400b7	256-bit Graphics Rasterizer [Fire GL1]	0	
-s	101400b7109200b8	FireGL1 AGP 32Mb	0	
-d	101400b8	GXT2000P Graphics Adapter	0	
-d	101400be	ATM 622MBPS Controller (1410be00)	0	
-d	101400dc	Advanced Systems Management Adapter (ASMA)	0	
-d	101400fc	CPC710 Dual Bridge and Memory Controller (PCI-64)	0	
-d	10140104	Gigabit Ethernet-SX Adapter	0	
-d	10140105	CPC710 Dual Bridge and Memory Controller (PCI-32)	0	
-d	1014010f	Remote Supervisor Adapter (RSA)	0	
-d	10140142	Yotta Video Compositor Input	0	
-s	1014014210140143	Yotta Input Controller (ytin)	0	
-d	10140144	Yotta Video Compositor Output	0	
-s	1014014410140145	Yotta Output Controller (ytout)	0	
-d	10140156	405GP PLB to PCI Bridge	0	
-d	1014015e	622Mbps ATM PCI Adapter	0	
-d	10140160	64bit/66MHz PCI ATM 155 MMF	0	
-d	1014016e	GXT4000P Graphics Adapter	0	
-d	10140170	GXT6000P Graphics Adapter	0	
-d	1014017d	GXT300P Graphics Adapter	0	
-d	10140180	Snipe chipset SCSI controller	0	
-s	1014018010140241	iSeries 2757 DASD IOA	0	
-s	1014018010140264	Quad Channel PCI-X U320 SCSI RAID Adapter (2780)	0	
-d	10140188	EADS-X PCI-X to PCI-X Bridge	0	
-d	101401a7	PCI-X to PCI-X Bridge	0	
-d	101401bd	ServeRAID Controller	0	
-s	101401bd101401be	ServeRAID-4M	0	
-s	101401bd101401bf	ServeRAID-4L	0	
-s	101401bd10140208	ServeRAID-4Mx	0	
-s	101401bd1014020e	ServeRAID-4Lx	0	
-s	101401bd1014022e	ServeRAID-4H	0	
-s	101401bd10140258	ServeRAID-5i	0	
-s	101401bd10140259	ServeRAID-5i	0	
-d	101401c1	64bit/66MHz PCI ATM 155 UTP	0	
-d	101401e6	Cryptographic Accelerator	0	
-d	101401ff	10/100 Mbps Ethernet	0	
-d	10140219	Multiport Serial Adapter	0	
-s	101402191014021a	Dual RVX	0	
-s	1014021910140251	Internal Modem/RVX	0	
-s	1014021910140252	Quad Internal Modem	0	
-d	1014021b	GXT6500P Graphics Adapter	0	
-d	1014021c	GXT4500P Graphics Adapter	0	
-d	10140233	GXT135P Graphics Adapter	0	
-d	10140266	PCI-X Dual Channel SCSI	0	
-d	10140268	Gigabit Ethernet-SX Adapter (PCI-X)	0	
-d	10140269	10/100/1000 Base-TX Ethernet Adapter (PCI-X)	0	
-d	1014028c	Citrine chipset SCSI controller	0	
-s	1014028c1014028d	Dual Channel PCI-X DDR SAS RAID Adapter (572E)	0	
-s	1014028c101402be	Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)	0	
-s	1014028c101402c0	Dual Channel PCI-X DDR U320 SCSI Adapter (571A)	0	
-s	1014028c1014030d	PCI-X DDR Auxiliary Cache Adapter (575B)	0	
-d	101402a1	Calgary PCI-X Host Bridge	0	
-d	101402bd	Obsidian chipset SCSI controller	0	
-s	101402bd101402c1	PCI-X DDR 3Gb SAS Adapter (572A/572C)	0	
-s	101402bd101402c2	PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)	0	
-d	10140302	Winnipeg PCI-X Host Bridge	0	
-d	10140308	CalIOC2 PCI-E Root Port	0	
-d	10140314	ZISC 036 Neural accelerator card	0	
+d	10140036	Miami	0
+d	10140037	82660 CPU to PCI Bridge	0
+d	1014003a	CPU to PCI Bridge	0
+d	1014003c	GXT250P/GXT255P Graphics Adapter	0
+d	1014003e	16/4 Token ring UTP/STP controller	0
+s	1014003e1014003e	Token-Ring Adapter	0
+s	1014003e101400cd	Token-Ring Adapter + Wake-On-LAN	0
+s	1014003e101400ce	16/4 Token-Ring Adapter 2	0
+s	1014003e101400cf	16/4 Token-Ring Adapter Special	0
+s	1014003e101400e4	High-Speed 100/16/4 Token-Ring Adapter	0
+s	1014003e101400e5	16/4 Token-Ring Adapter 2 + Wake-On-LAN	0
+s	1014003e1014016d	iSeries 2744 Card	0
+d	10140045	SSA Adapter	0
+d	10140046	MPIC interrupt controller	0
+d	10140047	PCI to PCI Bridge	0
+d	10140048	PCI to PCI Bridge	0
+d	10140049	Warhead SCSI Controller	0
+d	1014004e	ATM Controller (14104e00)	0
+d	1014004f	ATM Controller (14104f00)	0
+d	10140050	ATM Controller (14105000)	0
+d	10140053	25 MBit ATM Controller	0
+d	10140054	GXT500P/GXT550P Graphics Adapter	0
+d	10140057	MPEG PCI Bridge	0
+d	10140058	SSA Adapter [Advanced SerialRAID/X]	0
+d	1014005c	i82557B 10/100	0
+d	1014005e	GXT800P Graphics Adapter	0
+d	1014007c	ATM Controller (14107c00)	0
+d	1014007d	3780IDSP [MWave]	0
+d	1014008b	EADS PCI to PCI Bridge	0
+d	1014008e	GXT3000P Graphics Adapter	0
+d	10140090	GXT 3000P	0
+s	101400901014008e	GXT-3000P	0
+d	10140091	SSA Adapter	0
+d	10140095	20H2999 PCI Docking Bridge	0
+d	10140096	Chukar chipset SCSI controller	0
+s	1014009610140097	iSeries 2778 DASD IOA	0
+s	1014009610140098	iSeries 2763 DASD IOA	0
+s	1014009610140099	iSeries 2748 DASD IOA	0
+d	1014009f	PCI 4758 Cryptographic Accelerator	0
+d	101400a5	ATM Controller (1410a500)	0
+d	101400a6	ATM 155MBPS MM Controller (1410a600)	0
+d	101400b7	256-bit Graphics Rasterizer [Fire GL1]	0
+s	101400b7109200b8	FireGL1 AGP 32Mb	0
+d	101400b8	GXT2000P Graphics Adapter	0
+d	101400be	ATM 622MBPS Controller (1410be00)	0
+d	101400dc	Advanced Systems Management Adapter (ASMA)	0
+d	101400fc	CPC710 Dual Bridge and Memory Controller (PCI-64)	0
+d	10140104	Gigabit Ethernet-SX Adapter	0
+d	10140105	CPC710 Dual Bridge and Memory Controller (PCI-32)	0
+d	1014010f	Remote Supervisor Adapter (RSA)	0
+d	10140142	Yotta Video Compositor Input	0
+s	1014014210140143	Yotta Input Controller (ytin)	0
+d	10140144	Yotta Video Compositor Output	0
+s	1014014410140145	Yotta Output Controller (ytout)	0
+d	10140156	405GP PLB to PCI Bridge	0
+d	1014015e	622Mbps ATM PCI Adapter	0
+d	10140160	64bit/66MHz PCI ATM 155 MMF	0
+d	1014016e	GXT4000P Graphics Adapter	0
+d	10140170	GXT6000P Graphics Adapter	0
+d	1014017d	GXT300P Graphics Adapter	0
+d	10140180	Snipe chipset SCSI controller	0
+s	1014018010140241	iSeries 2757 DASD IOA	0
+s	1014018010140264	Quad Channel PCI-X U320 SCSI RAID Adapter (2780)	0
+d	10140188	EADS-X PCI-X to PCI-X Bridge	0
+d	101401a7	PCI-X to PCI-X Bridge	0
+d	101401bd	ServeRAID Controller	0
+s	101401bd101401be	ServeRAID-4M	0
+s	101401bd101401bf	ServeRAID-4L	0
+s	101401bd10140208	ServeRAID-4Mx	0
+s	101401bd1014020e	ServeRAID-4Lx	0
+s	101401bd1014022e	ServeRAID-4H	0
+s	101401bd10140258	ServeRAID-5i	0
+s	101401bd10140259	ServeRAID-5i	0
+d	101401c1	64bit/66MHz PCI ATM 155 UTP	0
+d	101401e6	Cryptographic Accelerator	0
+d	101401ff	10/100 Mbps Ethernet	0
+d	10140219	Multiport Serial Adapter	0
+s	101402191014021a	Dual RVX	0
+s	1014021910140251	Internal Modem/RVX	0
+s	1014021910140252	Quad Internal Modem	0
+d	1014021b	GXT6500P Graphics Adapter	0
+d	1014021c	GXT4500P Graphics Adapter	0
+d	10140233	GXT135P Graphics Adapter	0
+d	10140266	PCI-X Dual Channel SCSI	0
+d	10140268	Gigabit Ethernet-SX Adapter (PCI-X)	0
+d	10140269	10/100/1000 Base-TX Ethernet Adapter (PCI-X)	0
+d	1014028c	Citrine chipset SCSI controller	0
+s	1014028c1014028d	Dual Channel PCI-X DDR SAS RAID Adapter (572E)	0
+s	1014028c101402be	Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)	0
+s	1014028c101402c0	Dual Channel PCI-X DDR U320 SCSI Adapter (571A)	0
+s	1014028c1014030d	PCI-X DDR Auxiliary Cache Adapter (575B)	0
+d	101402a1	Calgary PCI-X Host Bridge	0
+d	101402bd	Obsidian chipset SCSI controller	0
+s	101402bd101402c1	PCI-X DDR 3Gb SAS Adapter (572A/572C)	0
+s	101402bd101402c2	PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)	0
+d	10140302	Winnipeg PCI-X Host Bridge	0
+d	10140308	CalIOC2 PCI-E Root Port	0
+d	10140314	ZISC 036 Neural accelerator card	0
 d	10140529	Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)	1	Duplicate of 8086:3340 in IBM ThinkPad T42 (2373-2VG)
 d	1014052d	Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01)	1	Duplicate of 8086:24cd in IBM ThinkPad T42 (2373-2VG)
 d	1014052d	Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01)	1	Duplicate of 8086:24ca in IBM ThinkPad T42 (2373-2VG)
@@ -1603,3434 +1603,3434 @@ d	10140550	ATI Technologies Inc RV350 [M
 d	10140552	Texas Instruments PCI4520 PC card Cardbus Controller (rev 01)	1	Duplicate of 104c:ac46 in IBM ThinkPad T42 (2373-2VG)
 d	10140554	Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)	1	Duplicate of 8086:24c5 in IBM ThinkPad T42 (2373-2VG)
 d	1014055a	Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)	1	Duplicate of 8086:24c6 in IBM ThinkPad T42 (2373-2VG)
-d	10143022	QLA3022 Network Adapter	0	
-d	10144022	QLA3022 Network Adapter	0	
-d	1014ffff	MPIC-2 interrupt controller	0	
-v	1015	LSI Logic Corp of Canada	0	
-v	1016	ICL Personal Systems	0	
-v	1017	SPEA Software AG	0	
-d	10175343	SPEA 3D Accelerator	0	
-v	1018	Unisys Systems	0	
-v	1019	Elitegroup Computer Systems	0	
-v	101a	AT&T GIS (NCR)	0	
-d	101a0005	100VG ethernet	0	
-v	101b	Vitesse Semiconductor	0	
-v	101c	Western Digital	0	
-d	101c0193	33C193A	0	
-d	101c0196	33C196A	0	
-d	101c0197	33C197A	0	
-d	101c0296	33C296A	0	
-d	101c3193	7193	0	
-d	101c3197	7197	0	
-d	101c3296	33C296A	0	
-d	101c4296	34C296	0	
-d	101c9710	Pipeline 9710	0	
-d	101c9712	Pipeline 9712	0	
-d	101cc24a	90C	0	
-v	101e	American Megatrends Inc.	0	
-d	101e0009	MegaRAID 428 Ultra RAID Controller (rev 03)	0	
-d	101e1960	MegaRAID	0	
-s	101e1960101e0471	MegaRAID 471 Enterprise 1600 RAID Controller	0	
-s	101e1960101e0475	MegaRAID 475 Express 500/500LC RAID Controller	0	
-s	101e1960101e0477	MegaRAID 477 Elite 3100 RAID Controller	0	
-s	101e1960101e0493	MegaRAID 493 Elite 1600 RAID Controller	0	
-s	101e1960101e0494	MegaRAID 494 Elite 1650 RAID Controller	0	
-s	101e1960101e0503	MegaRAID 503 Enterprise 1650 RAID Controller	0	
-s	101e1960101e0511	MegaRAID 511 i4 IDE RAID Controller	0	
-s	101e1960101e0522	MegaRAID 522 i4133 RAID Controller	0	
-s	101e196010280471	PowerEdge RAID Controller 3/QC	0	
-s	101e196010280475	PowerEdge RAID Controller 3/SC	0	
-s	101e196010280493	PowerEdge RAID Controller 3/DC	0	
-s	101e196010280511	PowerEdge Cost Effective RAID Controller ATA100/4Ch	0	
-s	101e1960103c60e7	NetRAID-1M	0	
-d	101e9010	MegaRAID 428 Ultra RAID Controller	0	
-d	101e9030	EIDE Controller	0	
-d	101e9031	EIDE Controller	0	
-d	101e9032	EIDE & SCSI Controller	0	
-d	101e9033	SCSI Controller	0	
-d	101e9040	Multimedia card	0	
-d	101e9060	MegaRAID 434 Ultra GT RAID Controller	0	
-d	101e9063	MegaRAC	0	
-s	101e9063101e0767	Dell Remote Assistant Card 2	0	
-v	101f	PictureTel	0	
-v	1020	Hitachi Computer Products	0	
-v	1021	OKI Electric Industry Co. Ltd.	0	
-v	1022	Advanced Micro Devices [AMD]	0	
-d	10221100	K8 [Athlon64/Opteron] HyperTransport Technology Configuration	0	
-d	10221101	K8 [Athlon64/Opteron] Address Map	0	
-d	10221102	K8 [Athlon64/Opteron] DRAM Controller	0	
-d	10221103	K8 [Athlon64/Opteron] Miscellaneous Control	0	
-d	10222000	79c970 [PCnet32 LANCE]	0	
-s	1022200010142000	NetFinity 10/100 Fast Ethernet	0	
-s	1022200010222000	PCnet - Fast 79C971	0	
-s	10222000103c104c	Ethernet with LAN remote power Adapter	0	
-s	10222000103c1064	Ethernet with LAN remote power Adapter	0	
-s	10222000103c1065	Ethernet with LAN remote power Adapter	0	
-s	10222000103c106c	Ethernet with LAN remote power Adapter	0	
-s	10222000103c106e	Ethernet with LAN remote power Adapter	0	
-s	10222000103c10ea	Ethernet with LAN remote power Adapter	0	
-s	1022200011131220	EN1220 10/100 Fast Ethernet	0	
-s	1022200012592450	AT-2450 10/100 Fast Ethernet	0	
-s	1022200012592454	AT-2450v4 10Mb Ethernet Adapter	0	
-s	1022200012592700	AT-2700TX 10/100 Fast Ethernet	0	
-s	1022200012592701	AT-2700FX 100Mb Ethernet	0	
-s	1022200012592702	AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet	0	
-s	1022200012592703	AT-2701FX	0	
-s	1022200012592704	AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet	0	
-s	102220004c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0	
-s	102220004c531010	CP5/CR6 mainboard	0	
-s	102220004c531020	VR6 mainboard	0	
-s	102220004c531030	PC5 mainboard	0	
-s	102220004c531040	CL7 mainboard	0	
-s	102220004c531060	PC7 mainboard	0	
-d	10222001	79c978 [HomePNA]	0	
-s	1022200110920a78	Multimedia Home Network Adapter	0	
-s	1022200116680299	ActionLink Home Network Adapter	0	
-d	10222003	Am 1771 MBW [Alchemy]	0	
-d	10222020	53c974 [PCscsi]	0	
-d	10222040	79c974	0	
+d	10143022	QLA3022 Network Adapter	0
+d	10144022	QLA3022 Network Adapter	0
+d	1014ffff	MPIC-2 interrupt controller	0
+v	1015	LSI Logic Corp of Canada	0
+v	1016	ICL Personal Systems	0
+v	1017	SPEA Software AG	0
+d	10175343	SPEA 3D Accelerator	0
+v	1018	Unisys Systems	0
+v	1019	Elitegroup Computer Systems	0
+v	101a	AT&T GIS (NCR)	0
+d	101a0005	100VG ethernet	0
+v	101b	Vitesse Semiconductor	0
+v	101c	Western Digital	0
+d	101c0193	33C193A	0
+d	101c0196	33C196A	0
+d	101c0197	33C197A	0
+d	101c0296	33C296A	0
+d	101c3193	7193	0
+d	101c3197	7197	0
+d	101c3296	33C296A	0
+d	101c4296	34C296	0
+d	101c9710	Pipeline 9710	0
+d	101c9712	Pipeline 9712	0
+d	101cc24a	90C	0
+v	101e	American Megatrends Inc.	0
+d	101e0009	MegaRAID 428 Ultra RAID Controller (rev 03)	0
+d	101e1960	MegaRAID	0
+s	101e1960101e0471	MegaRAID 471 Enterprise 1600 RAID Controller	0
+s	101e1960101e0475	MegaRAID 475 Express 500/500LC RAID Controller	0
+s	101e1960101e0477	MegaRAID 477 Elite 3100 RAID Controller	0
+s	101e1960101e0493	MegaRAID 493 Elite 1600 RAID Controller	0
+s	101e1960101e0494	MegaRAID 494 Elite 1650 RAID Controller	0
+s	101e1960101e0503	MegaRAID 503 Enterprise 1650 RAID Controller	0
+s	101e1960101e0511	MegaRAID 511 i4 IDE RAID Controller	0
+s	101e1960101e0522	MegaRAID 522 i4133 RAID Controller	0
+s	101e196010280471	PowerEdge RAID Controller 3/QC	0
+s	101e196010280475	PowerEdge RAID Controller 3/SC	0
+s	101e196010280493	PowerEdge RAID Controller 3/DC	0
+s	101e196010280511	PowerEdge Cost Effective RAID Controller ATA100/4Ch	0
+s	101e1960103c60e7	NetRAID-1M	0
+d	101e9010	MegaRAID 428 Ultra RAID Controller	0
+d	101e9030	EIDE Controller	0
+d	101e9031	EIDE Controller	0
+d	101e9032	EIDE & SCSI Controller	0
+d	101e9033	SCSI Controller	0
+d	101e9040	Multimedia card	0
+d	101e9060	MegaRAID 434 Ultra GT RAID Controller	0
+d	101e9063	MegaRAC	0
+s	101e9063101e0767	Dell Remote Assistant Card 2	0
+v	101f	PictureTel	0
+v	1020	Hitachi Computer Products	0
+v	1021	OKI Electric Industry Co. Ltd.	0
+v	1022	Advanced Micro Devices [AMD]	0
+d	10221100	K8 [Athlon64/Opteron] HyperTransport Technology Configuration	0
+d	10221101	K8 [Athlon64/Opteron] Address Map	0
+d	10221102	K8 [Athlon64/Opteron] DRAM Controller	0
+d	10221103	K8 [Athlon64/Opteron] Miscellaneous Control	0
+d	10222000	79c970 [PCnet32 LANCE]	0
+s	1022200010142000	NetFinity 10/100 Fast Ethernet	0
+s	1022200010222000	PCnet - Fast 79C971	0
+s	10222000103c104c	Ethernet with LAN remote power Adapter	0
+s	10222000103c1064	Ethernet with LAN remote power Adapter	0
+s	10222000103c1065	Ethernet with LAN remote power Adapter	0
+s	10222000103c106c	Ethernet with LAN remote power Adapter	0
+s	10222000103c106e	Ethernet with LAN remote power Adapter	0
+s	10222000103c10ea	Ethernet with LAN remote power Adapter	0
+s	1022200011131220	EN1220 10/100 Fast Ethernet	0
+s	1022200012592450	AT-2450 10/100 Fast Ethernet	0
+s	1022200012592454	AT-2450v4 10Mb Ethernet Adapter	0
+s	1022200012592700	AT-2700TX 10/100 Fast Ethernet	0
+s	1022200012592701	AT-2700FX 100Mb Ethernet	0
+s	1022200012592702	AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet	0
+s	1022200012592703	AT-2701FX	0
+s	1022200012592704	AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet	0
+s	102220004c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0
+s	102220004c531010	CP5/CR6 mainboard	0
+s	102220004c531020	VR6 mainboard	0
+s	102220004c531030	PC5 mainboard	0
+s	102220004c531040	CL7 mainboard	0
+s	102220004c531060	PC7 mainboard	0
+d	10222001	79c978 [HomePNA]	0
+s	1022200110920a78	Multimedia Home Network Adapter	0
+s	1022200116680299	ActionLink Home Network Adapter	0
+d	10222003	Am 1771 MBW [Alchemy]	0
+d	10222020	53c974 [PCscsi]	0
+d	10222040	79c974	0
 d	10222080	Conrad Kostecki	1	CS5536 [Geode companion] Host Bridge
-d	10222081	Geode LX Video	0	
-d	10222082	Geode LX AES Security Block	0	
-d	1022208f	CS5536 GeodeLink PCI South Bridge	0	
-d	10222090	CS5536 [Geode companion] ISA	0	
-d	10222091	CS5536 [Geode companion] FLASH	0	
-d	10222093	CS5536 [Geode companion] Audio	0	
-d	10222094	CS5536 [Geode companion] OHC	0	
-d	10222095	CS5536 [Geode companion] EHC	0	
-d	10222096	CS5536 [Geode companion] UDC	0	
-d	10222097	CS5536 [Geode companion] UOC	0	
-d	1022209a	CS5536 [Geode companion] IDE	0	
-d	10223000	ELanSC520 Microcontroller	0	
-d	10227006	AMD-751 [Irongate] System Controller	0	
-d	10227007	AMD-751 [Irongate] AGP Bridge	0	
-d	1022700a	AMD-IGR4 AGP Host to PCI Bridge	0	
-d	1022700b	AMD-IGR4 PCI to PCI Bridge	0	
-d	1022700c	AMD-760 MP [IGD4-2P] System Controller	0	
-d	1022700d	AMD-760 MP [IGD4-2P] AGP Bridge	0	
-d	1022700e	AMD-760 [IGD4-1P] System Controller	0	
-d	1022700f	AMD-760 [IGD4-1P] AGP Bridge	0	
-d	10227400	AMD-755 [Cobra] ISA	0	
-d	10227401	AMD-755 [Cobra] IDE	0	
-d	10227403	AMD-755 [Cobra] ACPI	0	
-d	10227404	AMD-755 [Cobra] USB	0	
-d	10227408	AMD-756 [Viper] ISA	0	
-d	10227409	AMD-756 [Viper] IDE	0	
-d	1022740b	AMD-756 [Viper] ACPI	0	
-d	1022740c	AMD-756 [Viper] USB	0	
-d	10227410	AMD-766 [ViperPlus] ISA	0	
-d	10227411	AMD-766 [ViperPlus] IDE	0	
-d	10227413	AMD-766 [ViperPlus] ACPI	0	
-d	10227414	AMD-766 [ViperPlus] USB	0	
-d	10227440	AMD-768 [Opus] ISA	0	
-s	1022744010438044	A7M-D Mainboard	0	
-d	10227441	AMD-768 [Opus] IDE	0	
-d	10227443	AMD-768 [Opus] ACPI	0	
-s	1022744310438044	A7M-D Mainboard	0	
-d	10227445	AMD-768 [Opus] Audio	0	
-d	10227446	AMD-768 [Opus] MC97 Modem (Smart Link HAMR5600 compatible)	0	
-d	10227448	AMD-768 [Opus] PCI	0	
-d	10227449	AMD-768 [Opus] USB	0	
-d	10227450	AMD-8131 PCI-X Bridge	0	
-d	10227451	AMD-8131 PCI-X IOAPIC	0	
-d	10227454	AMD-8151 System Controller	0	
-d	10227455	AMD-8151 AGP Bridge	0	
-d	10227458	AMD-8132 PCI-X Bridge	0	
-d	10227459	AMD-8132 PCI-X IOAPIC	0	
-d	10227460	AMD-8111 PCI	0	
-s	10227460161f3017	HDAMB	0	
-d	10227461	AMD-8111 USB	0	
-d	10227462	AMD-8111 Ethernet	0	
-d	10227464	AMD-8111 USB	0	
-s	10227464161f3017	HDAMB	0	
-d	10227468	AMD-8111 LPC	0	
-s	10227468161f3017	HDAMB	0	
-d	10227469	AMD-8111 IDE	0	
-s	1022746910222b80	AMD-8111 IDE [Quartet]	0	
-s	10227469161f3017	HDAMB	0	
-d	1022746a	AMD-8111 SMBus 2.0	0	
-d	1022746b	AMD-8111 ACPI	0	
-s	1022746b161f3017	HDAMB	0	
-d	1022746d	AMD-8111 AC97 Audio	0	
-s	1022746d161f3017	HDAMB	0	
-d	1022746e	AMD-8111 MC97 Modem	0	
-d	1022756b	AMD-8111 ACPI	0	
-v	1023	Trident Microsystems	0	
-d	10230194	82C194	0	
-d	10232000	4DWave DX	0	
-d	10232001	4DWave NX	0	
-s	10232001122d1400	Trident PCI288-Q3DII (NX)	0	
-d	10232100	CyberBlade XP4m32	0	
-d	10232200	XGI Volari XP5	0	
-d	10238400	CyberBlade/i7	0	
-s	1023840010238400	CyberBlade i7 AGP	0	
-d	10238420	CyberBlade/i7d	0	
-s	102384200e11b15a	CyberBlade i7 AGP	0	
-d	10238500	CyberBlade/i1	0	
-d	10238520	CyberBlade i1	0	
-s	102385200e11b16e	CyberBlade i1 AGP	0	
-s	1023852010238520	CyberBlade i1 AGP	0	
-d	10238620	CyberBlade/i1	0	
-s	1023862010140502	ThinkPad R30/T30	0	
-s	1023862010141025	Travelmate 352TE	0	
-d	10238820	CyberBlade XPAi1	0	
-d	10239320	TGUI 9320	0	
-d	10239350	GUI Accelerator	0	
-d	10239360	Flat panel GUI Accelerator	0	
-d	10239382	Cyber 9382 [Reference design]	0	
-d	10239383	Cyber 9383 [Reference design]	0	
-d	10239385	Cyber 9385 [Reference design]	0	
-d	10239386	Cyber 9386	0	
-d	10239388	Cyber 9388	0	
-d	10239397	Cyber 9397	0	
-d	1023939a	Cyber 9397DVD	0	
-d	10239420	TGUI 9420	0	
-d	10239430	TGUI 9430	0	
-d	10239440	TGUI 9440	0	
-d	10239460	TGUI 9460	0	
-d	10239470	TGUI 9470	0	
-d	10239520	Cyber 9520	0	
-d	10239525	Cyber 9525	0	
-s	1023952510cf1094	Lifebook C6155	0	
-d	10239540	Cyber 9540	0	
-d	10239660	TGUI 9660/938x/968x	0	
-d	10239680	TGUI 9680	0	
-d	10239682	TGUI 9682	0	
-d	10239683	TGUI 9683	0	
-d	10239685	ProVIDIA 9685	0	
-d	10239750	3DImage 9750	0	
-s	1023975010149750	3DImage 9750	0	
-s	1023975010239750	3DImage 9750	0	
-d	10239753	TGUI 9753	0	
-d	10239754	TGUI 9754	0	
-d	10239759	TGUI 975	0	
-d	10239783	TGUI 9783	0	
-d	10239785	TGUI 9785	0	
-d	10239850	3DImage 9850	0	
-d	10239880	Blade 3D PCI/AGP	0	
-s	1023988010239880	Blade 3D	0	
-d	10239910	CyberBlade/XP	0	
-d	10239930	CyberBlade/XPm	0	
-v	1024	Zenith Data Systems	0	
-v	1025	Acer Incorporated [ALI]	0	
-d	10250090	BCM440x 100Base-TX Fast Ethernet	0	
-d	10251435	M1435	0	
-d	10251445	M1445	0	
-d	10251449	M1449	0	
-d	10251451	M1451	0	
-d	10251461	M1461	0	
-d	10251489	M1489	0	
-d	10251511	M1511	0	
-d	10251512	ALI M1512 Aladdin	0	
-d	10251513	M1513	0	
-d	10251521	ALI M1521 Aladdin III CPU Bridge	0	
-s	1025152110b91521	ALI M1521 Aladdin III CPU Bridge	0	
-d	10251523	ALI M1523 ISA Bridge	0	
-s	1025152310b91523	ALI M1523 ISA Bridge	0	
-d	10251531	M1531 Northbridge [Aladdin IV/IV+]	0	
-d	10251533	M1533 PCI-to-ISA Bridge	0	
-s	1025153310b91533	ALI M1533 Aladdin IV/V ISA South Bridge	0	
-d	10251535	M1535 PCI Bridge + Super I/O + FIR	0	
-d	10251541	M1541 Northbridge [Aladdin V]	0	
-s	1025154110b91541	ALI M1541 Aladdin V/V+ AGP+PCI North Bridge	0	
-d	10251542	M1542 Northbridge [Aladdin V]	0	
-d	10251543	M1543 PCI-to-ISA Bridge + Super I/O + FIR	0	
-d	10251561	M1561 Northbridge [Aladdin 7]	0	
-d	10251621	M1621 Northbridge [Aladdin-Pro II]	0	
-d	10251631	M1631 Northbridge+3D Graphics [Aladdin TNT2]	0	
-d	10251641	M1641 Northbridge [Aladdin-Pro IV]	0	
-d	10251647	M1647 [MaGiK1] PCI North Bridge	0	
-d	10251671	M1671 Northbridge [ALADDiN-P4]	0	
-d	10251672	Northbridge [CyberALADDiN-P4]	0	
-d	10253141	M3141	0	
-d	10253143	M3143	0	
-d	10253145	M3145	0	
-d	10253147	M3147	0	
-d	10253149	M3149	0	
-d	10253151	M3151	0	
-d	10253307	M3307 MPEG-I Video Controller	0	
-d	10253309	M3309 MPEG-II Video w/ Software Audio Decoder	0	
-d	10253321	M3321 MPEG-II Audio/Video Decoder	0	
-d	10255212	M4803	0	
-d	10255215	ALI PCI EIDE Controller	0	
-d	10255217	M5217H	0	
-d	10255219	M5219	0	
-d	10255225	M5225	0	
-d	10255229	M5229	0	
-d	10255235	M5235	0	
-d	10255237	M5237 PCI USB Host Controller	0	
-d	10255240	EIDE Controller	0	
-d	10255241	PCMCIA Bridge	0	
-d	10255242	General Purpose Controller	0	
-d	10255243	PCI to PCI Bridge Controller	0	
-d	10255244	Floppy Disk Controller	0	
-d	10255247	M1541 PCI to PCI Bridge	0	
-d	10255251	M5251 P1394 Controller	0	
-d	10255427	PCI to AGP Bridge	0	
-d	10255451	M5451 PCI AC-Link Controller Audio Device	0	
-d	10255453	M5453 PCI AC-Link Controller Modem Device	0	
-d	10257101	M7101 PCI PMU Power Management Controller	0	
-s	1025710110b97101	M7101 PCI PMU Power Management Controller	0	
-v	1028	Dell	0	
-d	10280001	PowerEdge Expandable RAID Controller 2/Si	0	
-s	1028000110280001	PowerEdge 2400	0	
-d	10280002	PowerEdge Expandable RAID Controller 3/Di	0	
-s	1028000210280002	PowerEdge 4400	0	
+d	10222081	Geode LX Video	0
+d	10222082	Geode LX AES Security Block	0
+d	1022208f	CS5536 GeodeLink PCI South Bridge	0
+d	10222090	CS5536 [Geode companion] ISA	0
+d	10222091	CS5536 [Geode companion] FLASH	0
+d	10222093	CS5536 [Geode companion] Audio	0
+d	10222094	CS5536 [Geode companion] OHC	0
+d	10222095	CS5536 [Geode companion] EHC	0
+d	10222096	CS5536 [Geode companion] UDC	0
+d	10222097	CS5536 [Geode companion] UOC	0
+d	1022209a	CS5536 [Geode companion] IDE	0
+d	10223000	ELanSC520 Microcontroller	0
+d	10227006	AMD-751 [Irongate] System Controller	0
+d	10227007	AMD-751 [Irongate] AGP Bridge	0
+d	1022700a	AMD-IGR4 AGP Host to PCI Bridge	0
+d	1022700b	AMD-IGR4 PCI to PCI Bridge	0
+d	1022700c	AMD-760 MP [IGD4-2P] System Controller	0
+d	1022700d	AMD-760 MP [IGD4-2P] AGP Bridge	0
+d	1022700e	AMD-760 [IGD4-1P] System Controller	0
+d	1022700f	AMD-760 [IGD4-1P] AGP Bridge	0
+d	10227400	AMD-755 [Cobra] ISA	0
+d	10227401	AMD-755 [Cobra] IDE	0
+d	10227403	AMD-755 [Cobra] ACPI	0
+d	10227404	AMD-755 [Cobra] USB	0
+d	10227408	AMD-756 [Viper] ISA	0
+d	10227409	AMD-756 [Viper] IDE	0
+d	1022740b	AMD-756 [Viper] ACPI	0
+d	1022740c	AMD-756 [Viper] USB	0
+d	10227410	AMD-766 [ViperPlus] ISA	0
+d	10227411	AMD-766 [ViperPlus] IDE	0
+d	10227413	AMD-766 [ViperPlus] ACPI	0
+d	10227414	AMD-766 [ViperPlus] USB	0
+d	10227440	AMD-768 [Opus] ISA	0
+s	1022744010438044	A7M-D Mainboard	0
+d	10227441	AMD-768 [Opus] IDE	0
+d	10227443	AMD-768 [Opus] ACPI	0
+s	1022744310438044	A7M-D Mainboard	0
+d	10227445	AMD-768 [Opus] Audio	0
+d	10227446	AMD-768 [Opus] MC97 Modem (Smart Link HAMR5600 compatible)	0
+d	10227448	AMD-768 [Opus] PCI	0
+d	10227449	AMD-768 [Opus] USB	0
+d	10227450	AMD-8131 PCI-X Bridge	0
+d	10227451	AMD-8131 PCI-X IOAPIC	0
+d	10227454	AMD-8151 System Controller	0
+d	10227455	AMD-8151 AGP Bridge	0
+d	10227458	AMD-8132 PCI-X Bridge	0
+d	10227459	AMD-8132 PCI-X IOAPIC	0
+d	10227460	AMD-8111 PCI	0
+s	10227460161f3017	HDAMB	0
+d	10227461	AMD-8111 USB	0
+d	10227462	AMD-8111 Ethernet	0
+d	10227464	AMD-8111 USB	0
+s	10227464161f3017	HDAMB	0
+d	10227468	AMD-8111 LPC	0
+s	10227468161f3017	HDAMB	0
+d	10227469	AMD-8111 IDE	0
+s	1022746910222b80	AMD-8111 IDE [Quartet]	0
+s	10227469161f3017	HDAMB	0
+d	1022746a	AMD-8111 SMBus 2.0	0
+d	1022746b	AMD-8111 ACPI	0
+s	1022746b161f3017	HDAMB	0
+d	1022746d	AMD-8111 AC97 Audio	0
+s	1022746d161f3017	HDAMB	0
+d	1022746e	AMD-8111 MC97 Modem	0
+d	1022756b	AMD-8111 ACPI	0
+v	1023	Trident Microsystems	0
+d	10230194	82C194	0
+d	10232000	4DWave DX	0
+d	10232001	4DWave NX	0
+s	10232001122d1400	Trident PCI288-Q3DII (NX)	0
+d	10232100	CyberBlade XP4m32	0
+d	10232200	XGI Volari XP5	0
+d	10238400	CyberBlade/i7	0
+s	1023840010238400	CyberBlade i7 AGP	0
+d	10238420	CyberBlade/i7d	0
+s	102384200e11b15a	CyberBlade i7 AGP	0
+d	10238500	CyberBlade/i1	0
+d	10238520	CyberBlade i1	0
+s	102385200e11b16e	CyberBlade i1 AGP	0
+s	1023852010238520	CyberBlade i1 AGP	0
+d	10238620	CyberBlade/i1	0
+s	1023862010140502	ThinkPad R30/T30	0
+s	1023862010141025	Travelmate 352TE	0
+d	10238820	CyberBlade XPAi1	0
+d	10239320	TGUI 9320	0
+d	10239350	GUI Accelerator	0
+d	10239360	Flat panel GUI Accelerator	0
+d	10239382	Cyber 9382 [Reference design]	0
+d	10239383	Cyber 9383 [Reference design]	0
+d	10239385	Cyber 9385 [Reference design]	0
+d	10239386	Cyber 9386	0
+d	10239388	Cyber 9388	0
+d	10239397	Cyber 9397	0
+d	1023939a	Cyber 9397DVD	0
+d	10239420	TGUI 9420	0
+d	10239430	TGUI 9430	0
+d	10239440	TGUI 9440	0
+d	10239460	TGUI 9460	0
+d	10239470	TGUI 9470	0
+d	10239520	Cyber 9520	0
+d	10239525	Cyber 9525	0
+s	1023952510cf1094	Lifebook C6155	0
+d	10239540	Cyber 9540	0
+d	10239660	TGUI 9660/938x/968x	0
+d	10239680	TGUI 9680	0
+d	10239682	TGUI 9682	0
+d	10239683	TGUI 9683	0
+d	10239685	ProVIDIA 9685	0
+d	10239750	3DImage 9750	0
+s	1023975010149750	3DImage 9750	0
+s	1023975010239750	3DImage 9750	0
+d	10239753	TGUI 9753	0
+d	10239754	TGUI 9754	0
+d	10239759	TGUI 975	0
+d	10239783	TGUI 9783	0
+d	10239785	TGUI 9785	0
+d	10239850	3DImage 9850	0
+d	10239880	Blade 3D PCI/AGP	0
+s	1023988010239880	Blade 3D	0
+d	10239910	CyberBlade/XP	0
+d	10239930	CyberBlade/XPm	0
+v	1024	Zenith Data Systems	0
+v	1025	Acer Incorporated [ALI]	0
+d	10250090	BCM440x 100Base-TX Fast Ethernet	0
+d	10251435	M1435	0
+d	10251445	M1445	0
+d	10251449	M1449	0
+d	10251451	M1451	0
+d	10251461	M1461	0
+d	10251489	M1489	0
+d	10251511	M1511	0
+d	10251512	ALI M1512 Aladdin	0
+d	10251513	M1513	0
+d	10251521	ALI M1521 Aladdin III CPU Bridge	0
+s	1025152110b91521	ALI M1521 Aladdin III CPU Bridge	0
+d	10251523	ALI M1523 ISA Bridge	0
+s	1025152310b91523	ALI M1523 ISA Bridge	0
+d	10251531	M1531 Northbridge [Aladdin IV/IV+]	0
+d	10251533	M1533 PCI-to-ISA Bridge	0
+s	1025153310b91533	ALI M1533 Aladdin IV/V ISA South Bridge	0
+d	10251535	M1535 PCI Bridge + Super I/O + FIR	0
+d	10251541	M1541 Northbridge [Aladdin V]	0
+s	1025154110b91541	ALI M1541 Aladdin V/V+ AGP+PCI North Bridge	0
+d	10251542	M1542 Northbridge [Aladdin V]	0
+d	10251543	M1543 PCI-to-ISA Bridge + Super I/O + FIR	0
+d	10251561	M1561 Northbridge [Aladdin 7]	0
+d	10251621	M1621 Northbridge [Aladdin-Pro II]	0
+d	10251631	M1631 Northbridge+3D Graphics [Aladdin TNT2]	0
+d	10251641	M1641 Northbridge [Aladdin-Pro IV]	0
+d	10251647	M1647 [MaGiK1] PCI North Bridge	0
+d	10251671	M1671 Northbridge [ALADDiN-P4]	0
+d	10251672	Northbridge [CyberALADDiN-P4]	0
+d	10253141	M3141	0
+d	10253143	M3143	0
+d	10253145	M3145	0
+d	10253147	M3147	0
+d	10253149	M3149	0
+d	10253151	M3151	0
+d	10253307	M3307 MPEG-I Video Controller	0
+d	10253309	M3309 MPEG-II Video w/ Software Audio Decoder	0
+d	10253321	M3321 MPEG-II Audio/Video Decoder	0
+d	10255212	M4803	0
+d	10255215	ALI PCI EIDE Controller	0
+d	10255217	M5217H	0
+d	10255219	M5219	0
+d	10255225	M5225	0
+d	10255229	M5229	0
+d	10255235	M5235	0
+d	10255237	M5237 PCI USB Host Controller	0
+d	10255240	EIDE Controller	0
+d	10255241	PCMCIA Bridge	0
+d	10255242	General Purpose Controller	0
+d	10255243	PCI to PCI Bridge Controller	0
+d	10255244	Floppy Disk Controller	0
+d	10255247	M1541 PCI to PCI Bridge	0
+d	10255251	M5251 P1394 Controller	0
+d	10255427	PCI to AGP Bridge	0
+d	10255451	M5451 PCI AC-Link Controller Audio Device	0
+d	10255453	M5453 PCI AC-Link Controller Modem Device	0
+d	10257101	M7101 PCI PMU Power Management Controller	0
+s	1025710110b97101	M7101 PCI PMU Power Management Controller	0
+v	1028	Dell	0
+d	10280001	PowerEdge Expandable RAID Controller 2/Si	0
+s	1028000110280001	PowerEdge 2400	0
+d	10280002	PowerEdge Expandable RAID Controller 3/Di	0
+s	1028000210280002	PowerEdge 4400	0
 s	10280002102800d1	PERC 3/DiV	1	PowerEdge Codename Viper
 s	10280002102800d9	PERC 3/DiL	1	PowerEdge Codename Lexus
-d	10280003	PowerEdge Expandable RAID Controller 3/Si	0	
-s	1028000310280003	PowerEdge 2450	0	
+d	10280003	PowerEdge Expandable RAID Controller 3/Si	0
+s	1028000310280003	PowerEdge 2450	0
 d	10280004	PowerEdge Expandable RAID Controller 3/Di	1	PowerEdge Codename Iguana
 s	1028000410280004	PERC 3/DiF	1	PowerEdge Codename Iguana
-d	10280006	PowerEdge Expandable RAID Controller 3/Di	0	
-d	10280007	Remote Access Card III	0	
-d	10280008	Remote Access Card III	0	
-d	10280009	Remote Access Card III: BMC/SMIC device not present	0	
-d	1028000a	PowerEdge Expandable RAID Controller 3/Di	0	
+d	10280006	PowerEdge Expandable RAID Controller 3/Di	0
+d	10280007	Remote Access Card III	0
+d	10280008	Remote Access Card III	0
+d	10280009	Remote Access Card III: BMC/SMIC device not present	0
+d	1028000a	PowerEdge Expandable RAID Controller 3/Di	0
 s	1028000a10280106	PERC 3/DiJ	1	PowerEdge Codename Jaguar
 s	1028000a1028011b	PERC 3/DiD	1	PowerEdge Codename Dagger
 s	1028000a10280121	PERC 3/DiB	1	PowerEdge Codename Boxster
-d	1028000c	Embedded Remote Access or ERA/O	0	
-d	1028000d	Embedded Remote Access: BMC/SMIC device	0	
-d	1028000e	PowerEdge Expandable RAID controller 4/Di	0	
-d	1028000f	PowerEdge Expandable RAID controller 4/Di	0	
-d	10280010	Remote Access Card 4	0	
-d	10280011	Remote Access Card 4 Daughter Card	0	
-d	10280012	Remote Access Card 4 Daughter Card Virtual UART	0	
-d	10280013	PowerEdge Expandable RAID controller 4	0	
-s	102800131028016c	PowerEdge Expandable RAID Controller 4e/Si	0	
-s	102800131028016d	PowerEdge Expandable RAID Controller 4e/Di	0	
-s	102800131028016e	PowerEdge Expandable RAID Controller 4e/Di	0	
-s	102800131028016f	PowerEdge Expandable RAID Controller 4e/Di	0	
-s	1028001310280170	PowerEdge Expandable RAID Controller 4e/Di	0	
-d	10280014	Remote Access Card 4 Daughter Card SMIC interface	0	
-d	10280015	PowerEdge Expandable RAID controller 5i	0	
-s	1028001510281f01	PERC 5/E Adapter RAID Controller	1	
-s	1028001510281f02	PERC 5/i Adapter RAID Controller	1	
-d	10281f03	PowerEdge Expandable RAID controller 5i	1	
-v	1029	Siemens Nixdorf IS	0	
-v	102a	LSI Logic	0	
-d	102a0000	HYDRA	0	
-d	102a0010	ASPEN	0	
-d	102a001f	AHA-2940U2/U2W /7890/7891 SCSI Controllers	0	
-s	102a001f9005000f	2940U2W SCSI Controller	0	
-s	102a001f90050106	2940U2W SCSI Controller	0	
-s	102a001f9005a180	2940U2W SCSI Controller	0	
-d	102a00c5	AIC-7899 U160/m SCSI Controller	0	
-s	102a00c5102800c5	PowerEdge 2550/2650/4600	0	
-d	102a00cf	AIC-7899P U160/m	0	
-s	102a00cf10280106	PowerEdge 4600	0	
-s	102a00cf10280121	PowerEdge 2650	0	
-v	102b	Matrox Graphics, Inc.	0	
+d	1028000c	Embedded Remote Access or ERA/O	0
+d	1028000d	Embedded Remote Access: BMC/SMIC device	0
+d	1028000e	PowerEdge Expandable RAID controller 4/Di	0
+d	1028000f	PowerEdge Expandable RAID controller 4/Di	0
+d	10280010	Remote Access Card 4	0
+d	10280011	Remote Access Card 4 Daughter Card	0
+d	10280012	Remote Access Card 4 Daughter Card Virtual UART	0
+d	10280013	PowerEdge Expandable RAID controller 4	0
+s	102800131028016c	PowerEdge Expandable RAID Controller 4e/Si	0
+s	102800131028016d	PowerEdge Expandable RAID Controller 4e/Di	0
+s	102800131028016e	PowerEdge Expandable RAID Controller 4e/Di	0
+s	102800131028016f	PowerEdge Expandable RAID Controller 4e/Di	0
+s	1028001310280170	PowerEdge Expandable RAID Controller 4e/Di	0
+d	10280014	Remote Access Card 4 Daughter Card SMIC interface	0
+d	10280015	PowerEdge Expandable RAID controller 5i	0
+s	1028001510281f01	PERC 5/E Adapter RAID Controller	1
+s	1028001510281f02	PERC 5/i Adapter RAID Controller	1
+d	10281f03	PowerEdge Expandable RAID controller 5i	1
+v	1029	Siemens Nixdorf IS	0
+v	102a	LSI Logic	0
+d	102a0000	HYDRA	0
+d	102a0010	ASPEN	0
+d	102a001f	AHA-2940U2/U2W /7890/7891 SCSI Controllers	0
+s	102a001f9005000f	2940U2W SCSI Controller	0
+s	102a001f90050106	2940U2W SCSI Controller	0
+s	102a001f9005a180	2940U2W SCSI Controller	0
+d	102a00c5	AIC-7899 U160/m SCSI Controller	0
+s	102a00c5102800c5	PowerEdge 2550/2650/4600	0
+d	102a00cf	AIC-7899P U160/m	0
+s	102a00cf10280106	PowerEdge 4600	0
+s	102a00cf10280121	PowerEdge 2650	0
+v	102b	Matrox Graphics, Inc.	0
 d	102b0010	MGA-I [Impression?]	0	DJ: I've a suspicion that 0010 is a duplicate of 0d10.
-d	102b0100	MGA 1064SG [Mystique]	0	
-d	102b0518	MGA-II [Athena]	0	
-d	102b0519	MGA 2064W [Millennium]	0	
-d	102b051a	MGA 1064SG [Mystique]	0	
-s	102b051a102b0100	MGA-1064SG Mystique	0	
-s	102b051a102b1100	MGA-1084SG Mystique	0	
-s	102b051a102b1200	MGA-1084SG Mystique	0	
-s	102b051a1100102b	MGA-1084SG Mystique	0	
-s	102b051a110a0018	Scenic Pro C5 (D1025)	0	
-d	102b051b	MGA 2164W [Millennium II]	0	
-s	102b051b102b051b	MGA-2164W Millennium II	0	
-s	102b051b102b1100	MGA-2164W Millennium II	0	
-s	102b051b102b1200	MGA-2164W Millennium II	0	
-d	102b051e	MGA 1064SG [Mystique] AGP	0	
-d	102b051f	MGA 2164W [Millennium II] AGP	0	
-d	102b0520	MGA G200	0	
-s	102b0520102bdbc2	G200 Multi-Monitor	0	
-s	102b0520102bdbc8	G200 Multi-Monitor	0	
-s	102b0520102bdbe2	G200 Multi-Monitor	0	
-s	102b0520102bdbe8	G200 Multi-Monitor	0	
-s	102b0520102bff03	Millennium G200 SD	0	
-s	102b0520102bff04	Marvel G200	0	
-d	102b0521	MGA G200 AGP	0	
-s	102b05211014ff03	Millennium G200 AGP	0	
-s	102b0521102b48e9	Mystique G200 AGP	0	
-s	102b0521102b48f8	Millennium G200 SD AGP	0	
-s	102b0521102b4a60	Millennium G200 LE AGP	0	
-s	102b0521102b4a64	Millennium G200 AGP	0	
-s	102b0521102bc93c	Millennium G200 AGP	0	
-s	102b0521102bc9b0	Millennium G200 AGP	0	
-s	102b0521102bc9bc	Millennium G200 AGP	0	
-s	102b0521102bca60	Millennium G250 LE AGP	0	
-s	102b0521102bca6c	Millennium G250 AGP	0	
-s	102b0521102bdbbc	Millennium G200 AGP	0	
-s	102b0521102bdbc2	Millennium G200 MMS (Dual G200)	0	
-s	102b0521102bdbc3	G200 Multi-Monitor	0	
-s	102b0521102bdbc8	Millennium G200 MMS (Dual G200)	0	
-s	102b0521102bdbd2	G200 Multi-Monitor	0	
-s	102b0521102bdbd3	G200 Multi-Monitor	0	
-s	102b0521102bdbd4	G200 Multi-Monitor	0	
-s	102b0521102bdbd5	G200 Multi-Monitor	0	
-s	102b0521102bdbd8	G200 Multi-Monitor	0	
-s	102b0521102bdbd9	G200 Multi-Monitor	0	
-s	102b0521102bdbe2	Millennium G200 MMS (Quad G200)	0	
-s	102b0521102bdbe3	G200 Multi-Monitor	0	
-s	102b0521102bdbe8	Millennium G200 MMS (Quad G200)	0	
-s	102b0521102bdbf2	G200 Multi-Monitor	0	
-s	102b0521102bdbf3	G200 Multi-Monitor	0	
-s	102b0521102bdbf4	G200 Multi-Monitor	0	
-s	102b0521102bdbf5	G200 Multi-Monitor	0	
-s	102b0521102bdbf8	G200 Multi-Monitor	0	
-s	102b0521102bdbf9	G200 Multi-Monitor	0	
-s	102b0521102bf806	Mystique G200 Video AGP	0	
-s	102b0521102bff00	MGA-G200 AGP	0	
-s	102b0521102bff02	Mystique G200 AGP	0	
-s	102b0521102bff03	Millennium G200 AGP	0	
-s	102b0521102bff04	Marvel G200 AGP	0	
-s	102b0521110a0032	MGA-G200 AGP	0	
-d	102b0522	MGA G200e [Pilot] ServerEngines (SEP1)	0	
-d	102b0525	MGA G400/G450	0	
-s	102b05250e11b16f	MGA-G400 AGP	0	
-s	102b0525102b0328	Millennium G400 16Mb SDRAM	0	
-s	102b0525102b0338	Millennium G400 16Mb SDRAM	0	
-s	102b0525102b0378	Millennium G400 32Mb SDRAM	0	
-s	102b0525102b0541	Millennium G450 Dual Head	0	
-s	102b0525102b0542	Millennium G450 Dual Head LX	0	
-s	102b0525102b0543	Millennium G450 Single Head LX	0	
-s	102b0525102b0641	Millennium G450 32Mb SDRAM Dual Head	0	
-s	102b0525102b0642	Millennium G450 32Mb SDRAM Dual Head LX	0	
-s	102b0525102b0643	Millennium G450 32Mb SDRAM Single Head LX	0	
-s	102b0525102b07c0	Millennium G450 Dual Head LE	0	
-s	102b0525102b07c1	Millennium G450 SDR Dual Head LE	0	
-s	102b0525102b0d41	Millennium G450 Dual Head PCI	0	
-s	102b0525102b0d42	Millennium G450 Dual Head LX PCI	0	
-s	102b0525102b0d43	Millennium G450 32Mb Dual Head PCI	0	
-s	102b0525102b0e00	Marvel G450 eTV	0	
-s	102b0525102b0e01	Marvel G450 eTV	0	
-s	102b0525102b0e02	Marvel G450 eTV	0	
-s	102b0525102b0e03	Marvel G450 eTV	0	
-s	102b0525102b0f80	Millennium G450 Low Profile	0	
-s	102b0525102b0f81	Millennium G450 Low Profile	0	
-s	102b0525102b0f82	Millennium G450 Low Profile DVI	0	
-s	102b0525102b0f83	Millennium G450 Low Profile DVI	0	
-s	102b0525102b19d8	Millennium G400 16Mb SGRAM	0	
-s	102b0525102b19f8	Millennium G400 32Mb SGRAM	0	
-s	102b0525102b2159	Millennium G400 Dual Head 16Mb	0	
-s	102b0525102b2179	Millennium G400 MAX/Dual Head 32Mb	0	
-s	102b0525102b217d	Millennium G400 Dual Head Max	0	
-s	102b0525102b23c0	Millennium G450	0	
-s	102b0525102b23c1	Millennium G450	0	
-s	102b0525102b23c2	Millennium G450 DVI	0	
-s	102b0525102b23c3	Millennium G450 DVI	0	
-s	102b0525102b2f58	Millennium G400	0	
-s	102b0525102b2f78	Millennium G400	0	
-s	102b0525102b3693	Marvel G400 AGP	0	
-s	102b0525102b5dd0	4Sight II	0	
-s	102b0525102b5f50	4Sight II	0	
-s	102b0525102b5f51	4Sight II	0	
-s	102b0525102b5f52	4Sight II	0	
-s	102b0525102b9010	Millennium G400 Dual Head	0	
-s	102b052514580400	GA-G400	0	
-s	102b052517050001	Millennium G450 32MB SGRAM	0	
-s	102b052517050002	Millennium G450 16MB SGRAM	0	
-s	102b052517050003	Millennium G450 32MB	0	
-s	102b052517050004	Millennium G450 16MB	0	
-d	102b0527	MGA Parhelia AGP	0	
-s	102b0527102b0840	Parhelia 128Mb	0	
-s	102b0527102b0850	Parhelia 256MB AGP 4X	0	
-d	102b0528	Parhelia 8X	0	
-s	102b0528102b1020	Parhelia 128MB	0	
-s	102b0528102b1030	Parhelia 256 MB Dual DVI	0	
-s	102b0528102b14e1	Parhelia PCI 256MB	0	
-s	102b0528102b2021	QID Pro	0	
-d	102b0d10	MGA Ultima/Impression	0	
-d	102b1000	MGA G100 [Productiva]	0	
-s	102b1000102bff01	Productiva G100	0	
-s	102b1000102bff05	Productiva G100 Multi-Monitor	0	
-d	102b1001	MGA G100 [Productiva] AGP	0	
-s	102b1001102b1001	MGA-G100 AGP	0	
-s	102b1001102bff00	MGA-G100 AGP	0	
-s	102b1001102bff01	MGA-G100 Productiva AGP	0	
-s	102b1001102bff03	Millennium G100 AGP	0	
-s	102b1001102bff04	MGA-G100 AGP	0	
-s	102b1001102bff05	MGA-G100 Productiva AGP Multi-Monitor	0	
-s	102b1001110a001e	MGA-G100 AGP	0	
-d	102b2007	MGA Mistral	0	
-d	102b2527	MGA G550 AGP	0	
-s	102b2527102b0f83	Millennium G550	0	
-s	102b2527102b0f84	Millennium G550 Dual Head DDR 32Mb	0	
-s	102b2527102b1e41	Millennium G550	0	
-d	102b2537	Millenium P650/P750	0	
-s	102b2537102b1820	Millennium P750 64MB	0	
-s	102b2537102b1830	Millennium P650 64MB	0	
-s	102b2537102b1c10	QID 128MB	0	
-s	102b2537102b2811	Millennium P650 Low-profile PCI 64MB	0	
-s	102b2537102b2c11	QID Low-profile PCI	0	
-d	102b2538	Millenium P650 PCIe	0	
-s	102b2538102b08c7	Millennium P650 PCIe 128MB	0	
-s	102b2538102b0907	Millennium P650 PCIe 64MB	0	
-s	102b2538102b1047	Millennium P650 LP PCIe 128MB	0	
-s	102b2538102b1087	Millennium P650 LP PCIe 64MB	0	
-s	102b2538102b2538	Parhelia APVe	0	
-s	102b2538102b3007	QID Low-profile PCIe	0	
-d	102b4536	VIA Framegrabber	0	
-d	102b4cdc	Morphis Vision System Jpeg2000	0	
-d	102b4fc5	Morphis Vision System	0	
-d	102b5e10	Morphis Vision System Aux/IO	0	
-d	102b6573	Shark 10/100 Multiport SwitchNIC	0	
-v	102c	Chips and Technologies	0	
-d	102c00b8	F64310	0	
-d	102c00c0	F69000 HiQVideo	0	
-s	102c00c0102c00c0	F69000 HiQVideo	0	
-s	102c00c04c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0	
-s	102c00c04c531010	CP5/CR6 mainboard	0	
-s	102c00c04c531020	VR6 mainboard	0	
-s	102c00c04c531030	PC5 mainboard	0	
-s	102c00c04c531050	CT7 mainboard	0	
-s	102c00c04c531051	CE7 mainboard	0	
-d	102c00d0	F65545	0	
-d	102c00d8	F65545	0	
-d	102c00dc	F65548	0	
-d	102c00e0	F65550	0	
-d	102c00e4	F65554	0	
-d	102c00e5	F65555 HiQVPro	0	
-s	102c00e50e11b049	Armada 1700 Laptop Display Controller	0	
-s	102c00e511790001	Satellite Pro	0	
-d	102c00f0	F68554	0	
-d	102c00f4	F68554 HiQVision	0	
-d	102c00f5	F68555	0	
-d	102c0c30	F69030	0	
-s	102c0c304c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0	
-s	102c0c304c531050	CT7 mainboard	0	
-s	102c0c304c531051	CE7 mainboard	0	
-s	102c0c304c531080	CT8 mainboard	0	
-v	102d	Wyse Technology Inc.	0	
-d	102d50dc	3328 Audio	0	
-v	102e	Olivetti Advanced Technology	0	
-v	102f	Toshiba America	0	
-d	102f0009	r4x00	0	
-d	102f000a	TX3927 MIPS RISC PCI Controller	0	
-d	102f0020	ATM Meteor 155	0	
-s	102f0020102f00f8	ATM Meteor 155	0	
-d	102f0030	TC35815CF PCI 10/100 Mbit Ethernet Controller	0	
-d	102f0031	TC35815CF PCI 10/100 Mbit Ethernet Controller with WOL	0	
-d	102f0032	TC35815CF PCI 10/100 Mbit Ethernet Controller on TX4939	1	
-d	102f0105	TC86C001 [goku-s] IDE	0	
-d	102f0106	TC86C001 [goku-s] USB 1.1 Host	0	
-d	102f0107	TC86C001 [goku-s] USB Device Controller	0	
-d	102f0108	TC86C001 [goku-s] I2C/SIO/GPIO Controller	0	
-d	102f0180	TX4927/38 MIPS RISC PCI Controller	0	
-d	102f0181	TX4925 MIPS RISC PCI Controller	0	
-d	102f0182	TX4937 MIPS RISC PCI Controller	0	
-v	1030	TMC Research	0	
-v	1031	Miro Computer Products AG	0	
-d	10315601	DC20 ASIC	0	
-d	10315607	Video I/O & motion JPEG compressor	0	
-d	10315631	Media 3D	0	
-d	10316057	MiroVideo DC10/DC30+	0	
-v	1032	Compaq	0	
-v	1033	NEC Corporation	0	
-d	10330000	Vr4181A USB Host or Function Control Unit	0	
-d	10330001	PCI to 486-like bus Bridge	0	
-d	10330002	PCI to VL98 Bridge	0	
-d	10330003	ATM Controller	0	
-d	10330004	R4000 PCI Bridge	0	
-d	10330005	PCI to 486-like bus Bridge	0	
-d	10330006	PC-9800 Graphic Accelerator	0	
-d	10330007	PCI to UX-Bus Bridge	0	
-d	10330008	PC-9800 Graphic Accelerator	0	
-d	10330009	PCI to PC9800 Core-Graph Bridge	0	
-d	10330016	PCI to VL Bridge	0	
-d	1033001a	[Nile II]	0	
-d	10330021	Vrc4373 [Nile I]	0	
-d	10330029	PowerVR PCX1	0	
-d	1033002a	PowerVR 3D	0	
-d	1033002c	Star Alpha 2	0	
-d	1033002d	PCI to C-bus Bridge	0	
-d	10330035	USB	0	
-s	1033003510330035	Hama USB 2.0 CardBus	0	
-s	1033003511790001	USB	0	
-s	1033003512ee7000	Root Hub	0	
-s	1033003514c20105	PTI-205N USB 2.0 Host Controller	0	
-s	1033003517990001	Root Hub	0	
-s	103300351931000a	GlobeTrotter Fusion Quad Lite (PPP data)	0	
-s	103300351931000b	GlobeTrotter Fusion Quad Lite (GSM data)	0	
-s	10330035807d0035	PCI-USB2 (OHCI subsystem)	0	
-d	1033003b	PCI to C-bus Bridge	0	
-d	1033003e	NAPCCARD Cardbus Controller	0	
-d	10330046	PowerVR PCX2 [midas]	0	
-d	1033005a	Vrc5074 [Nile 4]	0	
-d	10330063	Firewarden	0	
-d	10330067	PowerVR Neon 250 Chipset	0	
-s	1033006710100020	PowerVR Neon 250 AGP 32Mb	0	
-s	1033006710100080	PowerVR Neon 250 AGP 16Mb	0	
-s	1033006710100088	PowerVR Neon 250 16Mb	0	
-s	1033006710100090	PowerVR Neon 250 AGP 16Mb	0	
-s	1033006710100098	PowerVR Neon 250 16Mb	0	
-s	10330067101000a0	PowerVR Neon 250 AGP 32Mb	0	
-s	10330067101000a8	PowerVR Neon 250 32Mb	0	
-s	1033006710100120	PowerVR Neon 250 AGP 32Mb	0	
-d	10330072	uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr	0	
-d	10330074	56k Voice Modem	0	
-s	1033007410338014	RCV56ACF 56k Voice Modem	0	
-d	1033009b	Vrc5476	0	
-d	103300a5	VRC4173	0	
-d	103300a6	VRC5477 AC97	0	
-d	103300cd	IEEE 1394 [OrangeLink] Host Controller	0	
-s	103300cd12ee8011	Root hub	0	
-d	103300ce	IEEE 1394 Host Controller	0	
-d	103300df	Vr4131	0	
-d	103300e0	USB 2.0	0	
-s	103300e012ee7001	Root hub	0	
-s	103300e014c20205	PTI-205N USB 2.0 Host Controller	0	
-s	103300e017990002	Root Hub	0	
-s	103300e0807d1043	PCI-USB2 (EHCI subsystem)	0	
-d	103300e7	IEEE 1394 Host Controller	0	
-d	103300f2	uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr	0	
-d	103300f3	uPD6113x Multimedia Decoder/Processor [EMMA2]	0	
-d	1033010c	VR7701	0	
-d	10330125	uPD720400 PCI Express - PCI/PCI-X Bridge	0	
-d	1033013a	Dual Tuner/MPEG Encoder	0	
-v	1034	Framatome Connectors USA Inc.	0	
-v	1035	Comp. & Comm. Research Lab	0	
-v	1036	Future Domain Corp.	0	
-d	10360000	TMC-18C30 [36C70]	0	
-v	1037	Hitachi Micro Systems	0	
-v	1038	AMP, Inc	0	
-v	1039	Silicon Integrated Systems [SiS]	0	
-d	10390001	Virtual PCI-to-PCI bridge (AGP)	0	
-d	10390002	SG86C202	0	
-d	10390003	SiS AGP Port (virtual PCI-to-PCI bridge)	0	
-d	10390004	PCI-to-PCI bridge	0	
-d	10390006	85C501/2/3	0	
-d	10390008	SiS85C503/5513 (LPC Bridge)	0	
-d	10390009	ACPI	0	
-d	1039000a	PCI-to-PCI bridge	0	
-d	10390016	SiS961/2 SMBus Controller	0	
-d	10390018	SiS85C503/5513 (LPC Bridge)	0	
-d	10390180	RAID bus controller 180 SATA/PATA  [SiS]	0	
-d	10390181	SATA	0	
-d	10390182	182 SATA/RAID Controller	0	
-d	10390186	AHCI Controller (0106)	0	
-d	10390190	190 Gigabit Ethernet Adapter	0	
-d	10390191	191 Gigabit Ethernet Adapter	0	
-d	10390200	5597/5598/6326 VGA	0	
-s	1039020010390000	SiS5597 SVGA (Shared RAM)	0	
-d	10390204	82C204	0	
-d	10390205	SG86C205	0	
-d	10390300	300/305 PCI/AGP VGA Display Adapter	0	
-s	10390300107d2720	Leadtek WinFast VR300	0	
-d	10390310	315H PCI/AGP VGA Display Adapter	0	
-d	10390315	315 PCI/AGP VGA Display Adapter	0	
-d	10390325	315PRO PCI/AGP VGA Display Adapter	0	
-d	10390330	330 [Xabre] PCI/AGP VGA Display Adapter	0	
-d	10390406	85C501/2	0	
-d	10390496	85C496	0	
-d	10390530	530 Host	0	
-d	10390540	540 Host	0	
-d	10390550	550 Host	0	
-d	10390597	5513C	0	
-d	10390601	85C601	0	
-d	10390620	620 Host	0	
-d	10390630	630 Host	0	
-d	10390633	633 Host	0	
-d	10390635	635 Host	0	
-d	10390645	SiS645 Host & Memory & AGP Controller	0	
-d	10390646	SiS645DX Host & Memory & AGP Controller	0	
-d	10390648	645xx	0	
-d	10390650	650/M650 Host	0	
-d	10390651	651 Host	0	
-d	10390655	655 Host	0	
-d	10390660	660 Host	0	
-d	10390661	661FX/M661FX/M661MX Host	0	
-d	10390662	662 Host	0	
-d	10390730	730 Host	0	
-d	10390733	733 Host	0	
-d	10390735	735 Host	0	
-d	10390740	740 Host	0	
-d	10390741	741/741GX/M741 Host	0	
-d	10390745	745 Host	0	
-d	10390746	746 Host	0	
-d	10390755	755 Host	0	
-d	10390760	760/M760 Host	0	
-d	10390761	761/M761 Host	0	
-d	10390900	SiS900 PCI Fast Ethernet	0	
-s	1039090010190a14	K7S5A motherboard	0	
-s	1039090010390900	SiS900 10/100 Ethernet Adapter	0	
-s	1039090010438035	CUSI-FX motherboard	0	
-d	10390961	SiS961 [MuTIOL Media IO]	0	
-d	10390962	SiS962 [MuTIOL Media IO]	0	
-d	10390963	SiS963 [MuTIOL Media IO]	0	
-d	10390964	SiS964 [MuTIOL Media IO]	0	
-d	10390965	SiS965 [MuTIOL Media IO]	0	
-d	10390966	SiS966 [MuTIOL Media IO]	0	
-d	10390968	SiS968 [MuTIOL Media IO]	0	
-d	10391180	SATA Controller / IDE mode	0	
-d	10391182	SATA Controller / RAID mode	0	
-d	10391183	SATA Controller / IDE mode	0	
-d	10391184	AHCI Controller / RAID mode	0	
-d	10391185	AHCI IDE Controller (0106)	0	
-d	10393602	83C602	0	
-d	10395107	5107	0	
-d	10395300	SiS540 PCI Display Adapter	0	
-d	10395315	550 PCI/AGP VGA Display Adapter	0	
-d	10395401	486 PCI Chipset	0	
-d	10395511	5511/5512	0	
-d	10395513	5513 [IDE]	0	
-s	1039551310190970	P6STP-FL motherboard	0	
-s	1039551310395513	SiS5513 EIDE Controller (A,B step)	0	
-s	1039551310438035	CUSI-FX motherboard	0	
-d	10395517	5517	0	
-d	10395571	5571	0	
-d	10395581	5581 Pentium Chipset	0	
-d	10395582	5582	0	
-d	10395591	5591/5592 Host	0	
-d	10395596	5596 Pentium Chipset	0	
-d	10395597	5597 [SiS5582]	0	
-d	10395600	5600 Host	0	
-d	10396204	Video decoder & MPEG interface	0	
-d	10396205	VGA Controller	0	
-d	10396236	6236 3D-AGP	0	
-d	10396300	630/730 PCI/AGP VGA Display Adapter	0	
-s	1039630010190970	P6STP-FL motherboard	0	
-s	1039630010438035	CUSI-FX motherboard	0	
-d	10396306	530/620 PCI/AGP VGA Display Adapter	0	
-s	1039630610396306	SiS530,620 GUI Accelerator+3D	0	
-d	10396325	65x/M650/740 PCI/AGP VGA Display Adapter	0	
-d	10396326	86C326 5598/6326	0	
-s	1039632610396326	SiS6326 GUI Accelerator	0	
-s	1039632610920a50	SpeedStar A50	0	
-s	1039632610920a70	SpeedStar A70	0	
-s	1039632610924910	SpeedStar A70	0	
-s	1039632610924920	SpeedStar A70	0	
-s	1039632615696326	SiS6326 GUI Accelerator	0	
-d	10396330	661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter	0	
-s	1039633010396330	[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter	0	
-d	10396350	770/670 PCIE VGA Display Adapter	0	
-d	10396351	771/671 PCIE VGA Display Adapter	0	
-d	10397001	USB 1.0 Controller	0	
-s	1039700110190a14	K7S5A motherboard	0	
-s	1039700110397000	Onboard USB Controller	0	
-s	1039700114625470	K7SOM+ 5.2C Motherboard	0	
-d	10397002	USB 2.0 Controller	0	
-s	1039700215097002	Onboard USB Controller	0	
-d	10397007	FireWire Controller	0	
-d	10397012	AC'97 Sound Controller	0	
-s	1039701215bd1001	DFI 661FX motherboard	0	
+d	102b0100	MGA 1064SG [Mystique]	0
+d	102b0518	MGA-II [Athena]	0
+d	102b0519	MGA 2064W [Millennium]	0
+d	102b051a	MGA 1064SG [Mystique]	0
+s	102b051a102b0100	MGA-1064SG Mystique	0
+s	102b051a102b1100	MGA-1084SG Mystique	0
+s	102b051a102b1200	MGA-1084SG Mystique	0
+s	102b051a1100102b	MGA-1084SG Mystique	0
+s	102b051a110a0018	Scenic Pro C5 (D1025)	0
+d	102b051b	MGA 2164W [Millennium II]	0
+s	102b051b102b051b	MGA-2164W Millennium II	0
+s	102b051b102b1100	MGA-2164W Millennium II	0
+s	102b051b102b1200	MGA-2164W Millennium II	0
+d	102b051e	MGA 1064SG [Mystique] AGP	0
+d	102b051f	MGA 2164W [Millennium II] AGP	0
+d	102b0520	MGA G200	0
+s	102b0520102bdbc2	G200 Multi-Monitor	0
+s	102b0520102bdbc8	G200 Multi-Monitor	0
+s	102b0520102bdbe2	G200 Multi-Monitor	0
+s	102b0520102bdbe8	G200 Multi-Monitor	0
+s	102b0520102bff03	Millennium G200 SD	0
+s	102b0520102bff04	Marvel G200	0
+d	102b0521	MGA G200 AGP	0
+s	102b05211014ff03	Millennium G200 AGP	0
+s	102b0521102b48e9	Mystique G200 AGP	0
+s	102b0521102b48f8	Millennium G200 SD AGP	0
+s	102b0521102b4a60	Millennium G200 LE AGP	0
+s	102b0521102b4a64	Millennium G200 AGP	0
+s	102b0521102bc93c	Millennium G200 AGP	0
+s	102b0521102bc9b0	Millennium G200 AGP	0
+s	102b0521102bc9bc	Millennium G200 AGP	0
+s	102b0521102bca60	Millennium G250 LE AGP	0
+s	102b0521102bca6c	Millennium G250 AGP	0
+s	102b0521102bdbbc	Millennium G200 AGP	0
+s	102b0521102bdbc2	Millennium G200 MMS (Dual G200)	0
+s	102b0521102bdbc3	G200 Multi-Monitor	0
+s	102b0521102bdbc8	Millennium G200 MMS (Dual G200)	0
+s	102b0521102bdbd2	G200 Multi-Monitor	0
+s	102b0521102bdbd3	G200 Multi-Monitor	0
+s	102b0521102bdbd4	G200 Multi-Monitor	0
+s	102b0521102bdbd5	G200 Multi-Monitor	0
+s	102b0521102bdbd8	G200 Multi-Monitor	0
+s	102b0521102bdbd9	G200 Multi-Monitor	0
+s	102b0521102bdbe2	Millennium G200 MMS (Quad G200)	0
+s	102b0521102bdbe3	G200 Multi-Monitor	0
+s	102b0521102bdbe8	Millennium G200 MMS (Quad G200)	0
+s	102b0521102bdbf2	G200 Multi-Monitor	0
+s	102b0521102bdbf3	G200 Multi-Monitor	0
+s	102b0521102bdbf4	G200 Multi-Monitor	0
+s	102b0521102bdbf5	G200 Multi-Monitor	0
+s	102b0521102bdbf8	G200 Multi-Monitor	0
+s	102b0521102bdbf9	G200 Multi-Monitor	0
+s	102b0521102bf806	Mystique G200 Video AGP	0
+s	102b0521102bff00	MGA-G200 AGP	0
+s	102b0521102bff02	Mystique G200 AGP	0
+s	102b0521102bff03	Millennium G200 AGP	0
+s	102b0521102bff04	Marvel G200 AGP	0
+s	102b0521110a0032	MGA-G200 AGP	0
+d	102b0522	MGA G200e [Pilot] ServerEngines (SEP1)	0
+d	102b0525	MGA G400/G450	0
+s	102b05250e11b16f	MGA-G400 AGP	0
+s	102b0525102b0328	Millennium G400 16Mb SDRAM	0
+s	102b0525102b0338	Millennium G400 16Mb SDRAM	0
+s	102b0525102b0378	Millennium G400 32Mb SDRAM	0
+s	102b0525102b0541	Millennium G450 Dual Head	0
+s	102b0525102b0542	Millennium G450 Dual Head LX	0
+s	102b0525102b0543	Millennium G450 Single Head LX	0
+s	102b0525102b0641	Millennium G450 32Mb SDRAM Dual Head	0
+s	102b0525102b0642	Millennium G450 32Mb SDRAM Dual Head LX	0
+s	102b0525102b0643	Millennium G450 32Mb SDRAM Single Head LX	0
+s	102b0525102b07c0	Millennium G450 Dual Head LE	0
+s	102b0525102b07c1	Millennium G450 SDR Dual Head LE	0
+s	102b0525102b0d41	Millennium G450 Dual Head PCI	0
+s	102b0525102b0d42	Millennium G450 Dual Head LX PCI	0
+s	102b0525102b0d43	Millennium G450 32Mb Dual Head PCI	0
+s	102b0525102b0e00	Marvel G450 eTV	0
+s	102b0525102b0e01	Marvel G450 eTV	0
+s	102b0525102b0e02	Marvel G450 eTV	0
+s	102b0525102b0e03	Marvel G450 eTV	0
+s	102b0525102b0f80	Millennium G450 Low Profile	0
+s	102b0525102b0f81	Millennium G450 Low Profile	0
+s	102b0525102b0f82	Millennium G450 Low Profile DVI	0
+s	102b0525102b0f83	Millennium G450 Low Profile DVI	0
+s	102b0525102b19d8	Millennium G400 16Mb SGRAM	0
+s	102b0525102b19f8	Millennium G400 32Mb SGRAM	0
+s	102b0525102b2159	Millennium G400 Dual Head 16Mb	0
+s	102b0525102b2179	Millennium G400 MAX/Dual Head 32Mb	0
+s	102b0525102b217d	Millennium G400 Dual Head Max	0
+s	102b0525102b23c0	Millennium G450	0
+s	102b0525102b23c1	Millennium G450	0
+s	102b0525102b23c2	Millennium G450 DVI	0
+s	102b0525102b23c3	Millennium G450 DVI	0
+s	102b0525102b2f58	Millennium G400	0
+s	102b0525102b2f78	Millennium G400	0
+s	102b0525102b3693	Marvel G400 AGP	0
+s	102b0525102b5dd0	4Sight II	0
+s	102b0525102b5f50	4Sight II	0
+s	102b0525102b5f51	4Sight II	0
+s	102b0525102b5f52	4Sight II	0
+s	102b0525102b9010	Millennium G400 Dual Head	0
+s	102b052514580400	GA-G400	0
+s	102b052517050001	Millennium G450 32MB SGRAM	0
+s	102b052517050002	Millennium G450 16MB SGRAM	0
+s	102b052517050003	Millennium G450 32MB	0
+s	102b052517050004	Millennium G450 16MB	0
+d	102b0527	MGA Parhelia AGP	0
+s	102b0527102b0840	Parhelia 128Mb	0
+s	102b0527102b0850	Parhelia 256MB AGP 4X	0
+d	102b0528	Parhelia 8X	0
+s	102b0528102b1020	Parhelia 128MB	0
+s	102b0528102b1030	Parhelia 256 MB Dual DVI	0
+s	102b0528102b14e1	Parhelia PCI 256MB	0
+s	102b0528102b2021	QID Pro	0
+d	102b0d10	MGA Ultima/Impression	0
+d	102b1000	MGA G100 [Productiva]	0
+s	102b1000102bff01	Productiva G100	0
+s	102b1000102bff05	Productiva G100 Multi-Monitor	0
+d	102b1001	MGA G100 [Productiva] AGP	0
+s	102b1001102b1001	MGA-G100 AGP	0
+s	102b1001102bff00	MGA-G100 AGP	0
+s	102b1001102bff01	MGA-G100 Productiva AGP	0
+s	102b1001102bff03	Millennium G100 AGP	0
+s	102b1001102bff04	MGA-G100 AGP	0
+s	102b1001102bff05	MGA-G100 Productiva AGP Multi-Monitor	0
+s	102b1001110a001e	MGA-G100 AGP	0
+d	102b2007	MGA Mistral	0
+d	102b2527	MGA G550 AGP	0
+s	102b2527102b0f83	Millennium G550	0
+s	102b2527102b0f84	Millennium G550 Dual Head DDR 32Mb	0
+s	102b2527102b1e41	Millennium G550	0
+d	102b2537	Millenium P650/P750	0
+s	102b2537102b1820	Millennium P750 64MB	0
+s	102b2537102b1830	Millennium P650 64MB	0
+s	102b2537102b1c10	QID 128MB	0
+s	102b2537102b2811	Millennium P650 Low-profile PCI 64MB	0
+s	102b2537102b2c11	QID Low-profile PCI	0
+d	102b2538	Millenium P650 PCIe	0
+s	102b2538102b08c7	Millennium P650 PCIe 128MB	0
+s	102b2538102b0907	Millennium P650 PCIe 64MB	0
+s	102b2538102b1047	Millennium P650 LP PCIe 128MB	0
+s	102b2538102b1087	Millennium P650 LP PCIe 64MB	0
+s	102b2538102b2538	Parhelia APVe	0
+s	102b2538102b3007	QID Low-profile PCIe	0
+d	102b4536	VIA Framegrabber	0
+d	102b4cdc	Morphis Vision System Jpeg2000	0
+d	102b4fc5	Morphis Vision System	0
+d	102b5e10	Morphis Vision System Aux/IO	0
+d	102b6573	Shark 10/100 Multiport SwitchNIC	0
+v	102c	Chips and Technologies	0
+d	102c00b8	F64310	0
+d	102c00c0	F69000 HiQVideo	0
+s	102c00c0102c00c0	F69000 HiQVideo	0
+s	102c00c04c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0
+s	102c00c04c531010	CP5/CR6 mainboard	0
+s	102c00c04c531020	VR6 mainboard	0
+s	102c00c04c531030	PC5 mainboard	0
+s	102c00c04c531050	CT7 mainboard	0
+s	102c00c04c531051	CE7 mainboard	0
+d	102c00d0	F65545	0
+d	102c00d8	F65545	0
+d	102c00dc	F65548	0
+d	102c00e0	F65550	0
+d	102c00e4	F65554	0
+d	102c00e5	F65555 HiQVPro	0
+s	102c00e50e11b049	Armada 1700 Laptop Display Controller	0
+s	102c00e511790001	Satellite Pro	0
+d	102c00f0	F68554	0
+d	102c00f4	F68554 HiQVision	0
+d	102c00f5	F68555	0
+d	102c0c30	F69030	0
+s	102c0c304c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0
+s	102c0c304c531050	CT7 mainboard	0
+s	102c0c304c531051	CE7 mainboard	0
+s	102c0c304c531080	CT8 mainboard	0
+v	102d	Wyse Technology Inc.	0
+d	102d50dc	3328 Audio	0
+v	102e	Olivetti Advanced Technology	0
+v	102f	Toshiba America	0
+d	102f0009	r4x00	0
+d	102f000a	TX3927 MIPS RISC PCI Controller	0
+d	102f0020	ATM Meteor 155	0
+s	102f0020102f00f8	ATM Meteor 155	0
+d	102f0030	TC35815CF PCI 10/100 Mbit Ethernet Controller	0
+d	102f0031	TC35815CF PCI 10/100 Mbit Ethernet Controller with WOL	0
+d	102f0032	TC35815CF PCI 10/100 Mbit Ethernet Controller on TX4939	1
+d	102f0105	TC86C001 [goku-s] IDE	0
+d	102f0106	TC86C001 [goku-s] USB 1.1 Host	0
+d	102f0107	TC86C001 [goku-s] USB Device Controller	0
+d	102f0108	TC86C001 [goku-s] I2C/SIO/GPIO Controller	0
+d	102f0180	TX4927/38 MIPS RISC PCI Controller	0
+d	102f0181	TX4925 MIPS RISC PCI Controller	0
+d	102f0182	TX4937 MIPS RISC PCI Controller	0
+v	1030	TMC Research	0
+v	1031	Miro Computer Products AG	0
+d	10315601	DC20 ASIC	0
+d	10315607	Video I/O & motion JPEG compressor	0
+d	10315631	Media 3D	0
+d	10316057	MiroVideo DC10/DC30+	0
+v	1032	Compaq	0
+v	1033	NEC Corporation	0
+d	10330000	Vr4181A USB Host or Function Control Unit	0
+d	10330001	PCI to 486-like bus Bridge	0
+d	10330002	PCI to VL98 Bridge	0
+d	10330003	ATM Controller	0
+d	10330004	R4000 PCI Bridge	0
+d	10330005	PCI to 486-like bus Bridge	0
+d	10330006	PC-9800 Graphic Accelerator	0
+d	10330007	PCI to UX-Bus Bridge	0
+d	10330008	PC-9800 Graphic Accelerator	0
+d	10330009	PCI to PC9800 Core-Graph Bridge	0
+d	10330016	PCI to VL Bridge	0
+d	1033001a	[Nile II]	0
+d	10330021	Vrc4373 [Nile I]	0
+d	10330029	PowerVR PCX1	0
+d	1033002a	PowerVR 3D	0
+d	1033002c	Star Alpha 2	0
+d	1033002d	PCI to C-bus Bridge	0
+d	10330035	USB	0
+s	1033003510330035	Hama USB 2.0 CardBus	0
+s	1033003511790001	USB	0
+s	1033003512ee7000	Root Hub	0
+s	1033003514c20105	PTI-205N USB 2.0 Host Controller	0
+s	1033003517990001	Root Hub	0
+s	103300351931000a	GlobeTrotter Fusion Quad Lite (PPP data)	0
+s	103300351931000b	GlobeTrotter Fusion Quad Lite (GSM data)	0
+s	10330035807d0035	PCI-USB2 (OHCI subsystem)	0
+d	1033003b	PCI to C-bus Bridge	0
+d	1033003e	NAPCCARD Cardbus Controller	0
+d	10330046	PowerVR PCX2 [midas]	0
+d	1033005a	Vrc5074 [Nile 4]	0
+d	10330063	Firewarden	0
+d	10330067	PowerVR Neon 250 Chipset	0
+s	1033006710100020	PowerVR Neon 250 AGP 32Mb	0
+s	1033006710100080	PowerVR Neon 250 AGP 16Mb	0
+s	1033006710100088	PowerVR Neon 250 16Mb	0
+s	1033006710100090	PowerVR Neon 250 AGP 16Mb	0
+s	1033006710100098	PowerVR Neon 250 16Mb	0
+s	10330067101000a0	PowerVR Neon 250 AGP 32Mb	0
+s	10330067101000a8	PowerVR Neon 250 32Mb	0
+s	1033006710100120	PowerVR Neon 250 AGP 32Mb	0
+d	10330072	uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr	0
+d	10330074	56k Voice Modem	0
+s	1033007410338014	RCV56ACF 56k Voice Modem	0
+d	1033009b	Vrc5476	0
+d	103300a5	VRC4173	0
+d	103300a6	VRC5477 AC97	0
+d	103300cd	IEEE 1394 [OrangeLink] Host Controller	0
+s	103300cd12ee8011	Root hub	0
+d	103300ce	IEEE 1394 Host Controller	0
+d	103300df	Vr4131	0
+d	103300e0	USB 2.0	0
+s	103300e012ee7001	Root hub	0
+s	103300e014c20205	PTI-205N USB 2.0 Host Controller	0
+s	103300e017990002	Root Hub	0
+s	103300e0807d1043	PCI-USB2 (EHCI subsystem)	0
+d	103300e7	IEEE 1394 Host Controller	0
+d	103300f2	uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr	0
+d	103300f3	uPD6113x Multimedia Decoder/Processor [EMMA2]	0
+d	1033010c	VR7701	0
+d	10330125	uPD720400 PCI Express - PCI/PCI-X Bridge	0
+d	1033013a	Dual Tuner/MPEG Encoder	0
+v	1034	Framatome Connectors USA Inc.	0
+v	1035	Comp. & Comm. Research Lab	0
+v	1036	Future Domain Corp.	0
+d	10360000	TMC-18C30 [36C70]	0
+v	1037	Hitachi Micro Systems	0
+v	1038	AMP, Inc	0
+v	1039	Silicon Integrated Systems [SiS]	0
+d	10390001	Virtual PCI-to-PCI bridge (AGP)	0
+d	10390002	SG86C202	0
+d	10390003	SiS AGP Port (virtual PCI-to-PCI bridge)	0
+d	10390004	PCI-to-PCI bridge	0
+d	10390006	85C501/2/3	0
+d	10390008	SiS85C503/5513 (LPC Bridge)	0
+d	10390009	ACPI	0
+d	1039000a	PCI-to-PCI bridge	0
+d	10390016	SiS961/2 SMBus Controller	0
+d	10390018	SiS85C503/5513 (LPC Bridge)	0
+d	10390180	RAID bus controller 180 SATA/PATA  [SiS]	0
+d	10390181	SATA	0
+d	10390182	182 SATA/RAID Controller	0
+d	10390186	AHCI Controller (0106)	0
+d	10390190	190 Gigabit Ethernet Adapter	0
+d	10390191	191 Gigabit Ethernet Adapter	0
+d	10390200	5597/5598/6326 VGA	0
+s	1039020010390000	SiS5597 SVGA (Shared RAM)	0
+d	10390204	82C204	0
+d	10390205	SG86C205	0
+d	10390300	300/305 PCI/AGP VGA Display Adapter	0
+s	10390300107d2720	Leadtek WinFast VR300	0
+d	10390310	315H PCI/AGP VGA Display Adapter	0
+d	10390315	315 PCI/AGP VGA Display Adapter	0
+d	10390325	315PRO PCI/AGP VGA Display Adapter	0
+d	10390330	330 [Xabre] PCI/AGP VGA Display Adapter	0
+d	10390406	85C501/2	0
+d	10390496	85C496	0
+d	10390530	530 Host	0
+d	10390540	540 Host	0
+d	10390550	550 Host	0
+d	10390597	5513C	0
+d	10390601	85C601	0
+d	10390620	620 Host	0
+d	10390630	630 Host	0
+d	10390633	633 Host	0
+d	10390635	635 Host	0
+d	10390645	SiS645 Host & Memory & AGP Controller	0
+d	10390646	SiS645DX Host & Memory & AGP Controller	0
+d	10390648	645xx	0
+d	10390650	650/M650 Host	0
+d	10390651	651 Host	0
+d	10390655	655 Host	0
+d	10390660	660 Host	0
+d	10390661	661FX/M661FX/M661MX Host	0
+d	10390662	662 Host	0
+d	10390730	730 Host	0
+d	10390733	733 Host	0
+d	10390735	735 Host	0
+d	10390740	740 Host	0
+d	10390741	741/741GX/M741 Host	0
+d	10390745	745 Host	0
+d	10390746	746 Host	0
+d	10390755	755 Host	0
+d	10390760	760/M760 Host	0
+d	10390761	761/M761 Host	0
+d	10390900	SiS900 PCI Fast Ethernet	0
+s	1039090010190a14	K7S5A motherboard	0
+s	1039090010390900	SiS900 10/100 Ethernet Adapter	0
+s	1039090010438035	CUSI-FX motherboard	0
+d	10390961	SiS961 [MuTIOL Media IO]	0
+d	10390962	SiS962 [MuTIOL Media IO]	0
+d	10390963	SiS963 [MuTIOL Media IO]	0
+d	10390964	SiS964 [MuTIOL Media IO]	0
+d	10390965	SiS965 [MuTIOL Media IO]	0
+d	10390966	SiS966 [MuTIOL Media IO]	0
+d	10390968	SiS968 [MuTIOL Media IO]	0
+d	10391180	SATA Controller / IDE mode	0
+d	10391182	SATA Controller / RAID mode	0
+d	10391183	SATA Controller / IDE mode	0
+d	10391184	AHCI Controller / RAID mode	0
+d	10391185	AHCI IDE Controller (0106)	0
+d	10393602	83C602	0
+d	10395107	5107	0
+d	10395300	SiS540 PCI Display Adapter	0
+d	10395315	550 PCI/AGP VGA Display Adapter	0
+d	10395401	486 PCI Chipset	0
+d	10395511	5511/5512	0
+d	10395513	5513 [IDE]	0
+s	1039551310190970	P6STP-FL motherboard	0
+s	1039551310395513	SiS5513 EIDE Controller (A,B step)	0
+s	1039551310438035	CUSI-FX motherboard	0
+d	10395517	5517	0
+d	10395571	5571	0
+d	10395581	5581 Pentium Chipset	0
+d	10395582	5582	0
+d	10395591	5591/5592 Host	0
+d	10395596	5596 Pentium Chipset	0
+d	10395597	5597 [SiS5582]	0
+d	10395600	5600 Host	0
+d	10396204	Video decoder & MPEG interface	0
+d	10396205	VGA Controller	0
+d	10396236	6236 3D-AGP	0
+d	10396300	630/730 PCI/AGP VGA Display Adapter	0
+s	1039630010190970	P6STP-FL motherboard	0
+s	1039630010438035	CUSI-FX motherboard	0
+d	10396306	530/620 PCI/AGP VGA Display Adapter	0
+s	1039630610396306	SiS530,620 GUI Accelerator+3D	0
+d	10396325	65x/M650/740 PCI/AGP VGA Display Adapter	0
+d	10396326	86C326 5598/6326	0
+s	1039632610396326	SiS6326 GUI Accelerator	0
+s	1039632610920a50	SpeedStar A50	0
+s	1039632610920a70	SpeedStar A70	0
+s	1039632610924910	SpeedStar A70	0
+s	1039632610924920	SpeedStar A70	0
+s	1039632615696326	SiS6326 GUI Accelerator	0
+d	10396330	661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter	0
+s	1039633010396330	[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter	0
+d	10396350	770/670 PCIE VGA Display Adapter	0
+d	10396351	771/671 PCIE VGA Display Adapter	0
+d	10397001	USB 1.0 Controller	0
+s	1039700110190a14	K7S5A motherboard	0
+s	1039700110397000	Onboard USB Controller	0
+s	1039700114625470	K7SOM+ 5.2C Motherboard	0
+d	10397002	USB 2.0 Controller	0
+s	1039700215097002	Onboard USB Controller	0
+d	10397007	FireWire Controller	0
+d	10397012	AC'97 Sound Controller	0
+s	1039701215bd1001	DFI 661FX motherboard	0
 d	10397013	AC'97 Modem Controller	0	There are may be different modem codecs here (Intel537 compatible and incompatible)
-d	10397016	SiS7016 PCI Fast Ethernet Adapter	0	
-s	1039701610397016	SiS7016 10/100 Ethernet Adapter	0	
-d	10397018	SiS PCI Audio Accelerator	0	
-s	10397018101401b6	SiS PCI Audio Accelerator	0	
-s	10397018101401b7	SiS PCI Audio Accelerator	0	
-s	1039701810197018	SiS PCI Audio Accelerator	0	
-s	103970181025000e	SiS PCI Audio Accelerator	0	
-s	1039701810250018	SiS PCI Audio Accelerator	0	
-s	1039701810397018	SiS PCI Audio Accelerator	0	
-s	103970181043800b	SiS PCI Audio Accelerator	0	
-s	1039701810547018	SiS PCI Audio Accelerator	0	
-s	10397018107d5330	SiS PCI Audio Accelerator	0	
-s	10397018107d5350	SiS PCI Audio Accelerator	0	
-s	1039701811703209	SiS PCI Audio Accelerator	0	
-s	103970181462400a	SiS PCI Audio Accelerator	0	
-s	1039701814a42089	SiS PCI Audio Accelerator	0	
-s	1039701814cd2194	SiS PCI Audio Accelerator	0	
-s	1039701814ff1100	SiS PCI Audio Accelerator	0	
-s	10397018152d8808	SiS PCI Audio Accelerator	0	
-s	1039701815581103	SiS PCI Audio Accelerator	0	
-s	1039701815582200	SiS PCI Audio Accelerator	0	
-s	1039701815637018	SiS PCI Audio Accelerator	0	
-s	1039701815c50111	SiS PCI Audio Accelerator	0	
-s	10397018270fa171	SiS PCI Audio Accelerator	0	
-s	10397018a0a00022	SiS PCI Audio Accelerator	0	
-d	10397019	SiS7019 Audio Accelerator	0	
-d	10397502	Azalia Audio Controller	0	
-v	103a	Seiko Epson Corporation	0	
-v	103b	Tatung Co. of America	0	
-v	103c	Hewlett-Packard Company	0	
-d	103c002a	NX9000 Notebook	0	
-d	103c1005	A4977A Visualize EG	0	
-d	103c1008	Visualize FX	0	
-d	103c1028	Tach TL Fibre Channel Host Adapter	0	
-d	103c1029	Tach XL2 Fibre Channel Host Adapter	0	
-s	103c1029107e000f	Interphase 5560 Fibre Channel Adapter	0	
-s	103c102990049210	1Gb/2Gb Family Fibre Channel Controller	0	
-s	103c102990049211	1Gb/2Gb Family Fibre Channel Controller	0	
-d	103c102a	Tach TS Fibre Channel Host Adapter	0	
-s	103c102a107e000e	Interphase 5540/5541 Fibre Channel Adapter	0	
-s	103c102a90049110	1Gb/2Gb Family Fibre Channel Controller	0	
-s	103c102a90049111	1Gb/2Gb Family Fibre Channel Controller	0	
-d	103c1030	J2585A DeskDirect 10/100VG NIC	0	
-d	103c1031	J2585B HP 10/100VG PCI LAN Adapter	0	
-s	103c1031103c1040	J2973A DeskDirect 10BaseT NIC	0	
-s	103c1031103c1041	J2585B DeskDirect 10/100VG NIC	0	
-s	103c1031103c1042	J2970A DeskDirect 10BaseT/2 NIC	0	
-d	103c1040	J2973A DeskDirect 10BaseT NIC	0	
-d	103c1041	J2585B DeskDirect 10/100 NIC	0	
-d	103c1042	J2970A DeskDirect 10BaseT/2 NIC	0	
-d	103c1048	Diva Serial [GSP] Multiport UART	0	
-s	103c1048103c1049	Tosca Console	0	
-s	103c1048103c104a	Tosca Secondary	0	
-s	103c1048103c104b	Maestro SP2	0	
-s	103c1048103c1223	Superdome Console	0	
-s	103c1048103c1226	Keystone SP2	0	
-s	103c1048103c1227	Powerbar SP2	0	
-s	103c1048103c1282	Everest SP2	0	
-s	103c1048103c1301	Diva RMP3	0	
-d	103c1054	PCI Local Bus Adapter	0	
-d	103c1064	79C970 PCnet Ethernet Controller	0	
-d	103c108b	Visualize FXe	0	
-d	103c10c1	NetServer Smart IRQ Router	0	
-d	103c10ed	TopTools Remote Control	0	
-d	103c10f0	rio System Bus Adapter	0	
-d	103c10f1	rio I/O Controller	0	
-d	103c1200	82557B 10/100 NIC	0	
-d	103c1219	NetServer PCI Hot-Plug Controller	0	
-d	103c121a	NetServer SMIC Controller	0	
-d	103c121b	NetServer Legacy COM Port Decoder	0	
-d	103c121c	NetServer PCI COM Port Decoder	0	
-d	103c1229	zx1 System Bus Adapter	0	
-d	103c122a	zx1 I/O Controller	0	
-d	103c122e	PCI-X Local Bus Adapter	0	
-d	103c127b	sx1000 System Bus Adapter	0	
-d	103c127c	sx1000 I/O Controller	0	
-d	103c1290	Auxiliary Diva Serial Port	0	
-d	103c1291	Auxiliary Diva Serial Port	0	
-d	103c12b4	zx1 QuickSilver AGP8x Local Bus Adapter	0	
-d	103c12eb	sx2000 System Bus Adapter	0	
-d	103c12ec	sx2000 I/O Controller	0	
-d	103c12ee	PCI-X 2.0 Local Bus Adapter	0	
-d	103c12f8	Broadcom BCM4306 802.11b/g Wireless LAN	0	
-d	103c12fa	BCM4306 802.11b/g Wireless LAN Controller	0	
-d	103c2910	E2910A PCIBus Exerciser	0	
-d	103c2925	E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer	0	
-d	103c3080	Pavilion ze2028ea	0	
-d	103c3085	Realtek RTL8139/8139C/8139C+	0	
+d	10397016	SiS7016 PCI Fast Ethernet Adapter	0
+s	1039701610397016	SiS7016 10/100 Ethernet Adapter	0
+d	10397018	SiS PCI Audio Accelerator	0
+s	10397018101401b6	SiS PCI Audio Accelerator	0
+s	10397018101401b7	SiS PCI Audio Accelerator	0
+s	1039701810197018	SiS PCI Audio Accelerator	0
+s	103970181025000e	SiS PCI Audio Accelerator	0
+s	1039701810250018	SiS PCI Audio Accelerator	0
+s	1039701810397018	SiS PCI Audio Accelerator	0
+s	103970181043800b	SiS PCI Audio Accelerator	0
+s	1039701810547018	SiS PCI Audio Accelerator	0
+s	10397018107d5330	SiS PCI Audio Accelerator	0
+s	10397018107d5350	SiS PCI Audio Accelerator	0
+s	1039701811703209	SiS PCI Audio Accelerator	0
+s	103970181462400a	SiS PCI Audio Accelerator	0
+s	1039701814a42089	SiS PCI Audio Accelerator	0
+s	1039701814cd2194	SiS PCI Audio Accelerator	0
+s	1039701814ff1100	SiS PCI Audio Accelerator	0
+s	10397018152d8808	SiS PCI Audio Accelerator	0
+s	1039701815581103	SiS PCI Audio Accelerator	0
+s	1039701815582200	SiS PCI Audio Accelerator	0
+s	1039701815637018	SiS PCI Audio Accelerator	0
+s	1039701815c50111	SiS PCI Audio Accelerator	0
+s	10397018270fa171	SiS PCI Audio Accelerator	0
+s	10397018a0a00022	SiS PCI Audio Accelerator	0
+d	10397019	SiS7019 Audio Accelerator	0
+d	10397502	Azalia Audio Controller	0
+v	103a	Seiko Epson Corporation	0
+v	103b	Tatung Co. of America	0
+v	103c	Hewlett-Packard Company	0
+d	103c002a	NX9000 Notebook	0
+d	103c1005	A4977A Visualize EG	0
+d	103c1008	Visualize FX	0
+d	103c1028	Tach TL Fibre Channel Host Adapter	0
+d	103c1029	Tach XL2 Fibre Channel Host Adapter	0
+s	103c1029107e000f	Interphase 5560 Fibre Channel Adapter	0
+s	103c102990049210	1Gb/2Gb Family Fibre Channel Controller	0
+s	103c102990049211	1Gb/2Gb Family Fibre Channel Controller	0
+d	103c102a	Tach TS Fibre Channel Host Adapter	0
+s	103c102a107e000e	Interphase 5540/5541 Fibre Channel Adapter	0
+s	103c102a90049110	1Gb/2Gb Family Fibre Channel Controller	0
+s	103c102a90049111	1Gb/2Gb Family Fibre Channel Controller	0
+d	103c1030	J2585A DeskDirect 10/100VG NIC	0
+d	103c1031	J2585B HP 10/100VG PCI LAN Adapter	0
+s	103c1031103c1040	J2973A DeskDirect 10BaseT NIC	0
+s	103c1031103c1041	J2585B DeskDirect 10/100VG NIC	0
+s	103c1031103c1042	J2970A DeskDirect 10BaseT/2 NIC	0
+d	103c1040	J2973A DeskDirect 10BaseT NIC	0
+d	103c1041	J2585B DeskDirect 10/100 NIC	0
+d	103c1042	J2970A DeskDirect 10BaseT/2 NIC	0
+d	103c1048	Diva Serial [GSP] Multiport UART	0
+s	103c1048103c1049	Tosca Console	0
+s	103c1048103c104a	Tosca Secondary	0
+s	103c1048103c104b	Maestro SP2	0
+s	103c1048103c1223	Superdome Console	0
+s	103c1048103c1226	Keystone SP2	0
+s	103c1048103c1227	Powerbar SP2	0
+s	103c1048103c1282	Everest SP2	0
+s	103c1048103c1301	Diva RMP3	0
+d	103c1054	PCI Local Bus Adapter	0
+d	103c1064	79C970 PCnet Ethernet Controller	0
+d	103c108b	Visualize FXe	0
+d	103c10c1	NetServer Smart IRQ Router	0
+d	103c10ed	TopTools Remote Control	0
+d	103c10f0	rio System Bus Adapter	0
+d	103c10f1	rio I/O Controller	0
+d	103c1200	82557B 10/100 NIC	0
+d	103c1219	NetServer PCI Hot-Plug Controller	0
+d	103c121a	NetServer SMIC Controller	0
+d	103c121b	NetServer Legacy COM Port Decoder	0
+d	103c121c	NetServer PCI COM Port Decoder	0
+d	103c1229	zx1 System Bus Adapter	0
+d	103c122a	zx1 I/O Controller	0
+d	103c122e	PCI-X Local Bus Adapter	0
+d	103c127b	sx1000 System Bus Adapter	0
+d	103c127c	sx1000 I/O Controller	0
+d	103c1290	Auxiliary Diva Serial Port	0
+d	103c1291	Auxiliary Diva Serial Port	0
+d	103c12b4	zx1 QuickSilver AGP8x Local Bus Adapter	0
+d	103c12eb	sx2000 System Bus Adapter	0
+d	103c12ec	sx2000 I/O Controller	0
+d	103c12ee	PCI-X 2.0 Local Bus Adapter	0
+d	103c12f8	Broadcom BCM4306 802.11b/g Wireless LAN	0
+d	103c12fa	BCM4306 802.11b/g Wireless LAN Controller	0
+d	103c2910	E2910A PCIBus Exerciser	0
+d	103c2925	E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer	0
+d	103c3080	Pavilion ze2028ea	0
+d	103c3085	Realtek RTL8139/8139C/8139C+	0
 d	103c30b5	Compaq Presario V3000Z	1	It
-d	103c3220	Smart Array P600	0	
-s	103c3220103c3225	3 Gb/s SAS RAID	0	
-d	103c3230	Smart Array Controller	0	
-d	103c4030	zx2 System Bus Adapter	0	
-d	103c4031	zx2 I/O Controller	0	
-d	103c4037	PCIe Local Bus Adapter	0	
-d	103c403b	PCIe Root Port	0	
-d	103c60e8	NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493)	0	
-v	103e	Solliday Engineering	0	
-v	103f	Synopsys/Logic Modeling Group	0	
-v	1040	Accelgraphics Inc.	0	
-v	1041	Computrend	0	
-v	1042	Micron	0	
-d	10421000	PC Tech RZ1000	0	
-d	10421001	PC Tech RZ1001	0	
-d	10423000	Samurai_0	0	
-d	10423010	Samurai_1	0	
-d	10423020	Samurai_IDE	0	
-v	1043	ASUSTeK Computer Inc.	0	
-d	10430675	ISDNLink P-IN100-ST-D	0	
-s	1043067506751704	ISDN Adapter (PCI Bus, D, C)	0	
-s	1043067506751707	ISDN Adapter (PCI Bus, DV, W)	0	
-s	1043067510cf105e	ISDN Adapter (PCI Bus, DV, W)	0	
-d	10430c11	A7N8X Motherboard nForce2 IDE/USB/SMBus	0	
-d	10434015	v7100 SDRAM [GeForce2 MX]	0	
-d	10434021	v7100 Combo Deluxe [GeForce2 MX + TV tuner]	0	
-d	10434057	v8200 GeForce 3	0	
-d	10438043	v8240 PAL 128M [P4T] Motherboard	0	
-d	10438047	v8420 Deluxe [GeForce4 Ti4200]	0	
-d	1043807b	v9280/TD [Geforce4 TI4200 8X With TV-Out and DVI]	0	
-d	10438095	A7N8X Motherboard nForce2 AC97 Audio	0	
-d	104380ac	A7N8X Motherboard nForce2 AGP/Memory	0	
-d	104380bb	v9180 Magic/T [GeForce4 MX440 AGP 8x 64MB TV-out]	0	
-d	104380c5	nForce3 chipset motherboard [SK8N]	0	
-d	104380df	v9520 Magic/T	0	
-d	1043815a	A8N-SLI Motherboard nForce4 SATA	0	
+d	103c3220	Smart Array P600	0
+s	103c3220103c3225	3 Gb/s SAS RAID	0
+d	103c3230	Smart Array Controller	0
+d	103c4030	zx2 System Bus Adapter	0
+d	103c4031	zx2 I/O Controller	0
+d	103c4037	PCIe Local Bus Adapter	0
+d	103c403b	PCIe Root Port	0
+d	103c60e8	NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493)	0
+v	103e	Solliday Engineering	0
+v	103f	Synopsys/Logic Modeling Group	0
+v	1040	Accelgraphics Inc.	0
+v	1041	Computrend	0
+v	1042	Micron	0
+d	10421000	PC Tech RZ1000	0
+d	10421001	PC Tech RZ1001	0
+d	10423000	Samurai_0	0
+d	10423010	Samurai_1	0
+d	10423020	Samurai_IDE	0
+v	1043	ASUSTeK Computer Inc.	0
+d	10430675	ISDNLink P-IN100-ST-D	0
+s	1043067506751704	ISDN Adapter (PCI Bus, D, C)	0
+s	1043067506751707	ISDN Adapter (PCI Bus, DV, W)	0
+s	1043067510cf105e	ISDN Adapter (PCI Bus, DV, W)	0
+d	10430c11	A7N8X Motherboard nForce2 IDE/USB/SMBus	0
+d	10434015	v7100 SDRAM [GeForce2 MX]	0
+d	10434021	v7100 Combo Deluxe [GeForce2 MX + TV tuner]	0
+d	10434057	v8200 GeForce 3	0
+d	10438043	v8240 PAL 128M [P4T] Motherboard	0
+d	10438047	v8420 Deluxe [GeForce4 Ti4200]	0
+d	1043807b	v9280/TD [Geforce4 TI4200 8X With TV-Out and DVI]	0
+d	10438095	A7N8X Motherboard nForce2 AC97 Audio	0
+d	104380ac	A7N8X Motherboard nForce2 AGP/Memory	0
+d	104380bb	v9180 Magic/T [GeForce4 MX440 AGP 8x 64MB TV-out]	0
+d	104380c5	nForce3 chipset motherboard [SK8N]	0
+d	104380df	v9520 Magic/T	0
+d	1043815a	A8N-SLI Motherboard nForce4 SATA	0
 d	10438168	Realtek PCI-E Gigabit Ethernet Controller (RTL8111B)	1	Found it on Asus P5B Mainboard. Product url: http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=5&Level=5&Conn=4
-d	10438187	802.11a/b/g Wireless LAN Card	0	
-d	10438188	Tiger Hybrid TV Capture Device	0	
-v	1044	Adaptec (formerly DPT)	0	
-d	10441012	Domino RAID Engine	0	
-d	1044a400	SmartCache/Raid I-IV Controller	0	
-d	1044a500	PCI Bridge	0	
-d	1044a501	SmartRAID V Controller	0	
-s	1044a5011044c001	PM1554U2 Ultra2 Single Channel	0	
-s	1044a5011044c002	PM1654U2 Ultra2 Single Channel	0	
-s	1044a5011044c003	PM1564U3 Ultra3 Single Channel	0	
-s	1044a5011044c004	PM1564U3 Ultra3 Dual Channel	0	
-s	1044a5011044c005	PM1554U2 Ultra2 Single Channel (NON ACPI)	0	
-s	1044a5011044c00a	PM2554U2 Ultra2 Single Channel	0	
-s	1044a5011044c00b	PM2654U2 Ultra2 Single Channel	0	
-s	1044a5011044c00c	PM2664U3 Ultra3 Single Channel	0	
-s	1044a5011044c00d	PM2664U3 Ultra3 Dual Channel	0	
-s	1044a5011044c00e	PM2554U2 Ultra2 Single Channel (NON ACPI)	0	
-s	1044a5011044c00f	PM2654U2 Ultra2 Single Channel (NON ACPI)	0	
-s	1044a5011044c014	PM3754U2 Ultra2 Single Channel (NON ACPI)	0	
-s	1044a5011044c015	PM3755U2B Ultra2 Single Channel (NON ACPI)	0	
-s	1044a5011044c016	PM3755F Fibre Channel (NON ACPI)	0	
-s	1044a5011044c01e	PM3757U2 Ultra2 Single Channel	0	
-s	1044a5011044c01f	PM3757U2 Ultra2 Dual Channel	0	
-s	1044a5011044c020	PM3767U3 Ultra3 Dual Channel	0	
-s	1044a5011044c021	PM3767U3 Ultra3 Quad Channel	0	
-s	1044a5011044c028	PM2865U3 Ultra3 Single Channel	0	
-s	1044a5011044c029	PM2865U3 Ultra3 Dual Channel	0	
-s	1044a5011044c02a	PM2865F Fibre Channel	0	
-s	1044a5011044c03c	2000S Ultra3 Single Channel	0	
-s	1044a5011044c03d	2000S Ultra3 Dual Channel	0	
-s	1044a5011044c03e	2000F Fibre Channel	0	
-s	1044a5011044c046	3000S Ultra3 Single Channel	0	
-s	1044a5011044c047	3000S Ultra3 Dual Channel	0	
-s	1044a5011044c048	3000F Fibre Channel	0	
-s	1044a5011044c050	5000S Ultra3 Single Channel	0	
-s	1044a5011044c051	5000S Ultra3 Dual Channel	0	
-s	1044a5011044c052	5000F Fibre Channel	0	
-s	1044a5011044c05a	2400A UDMA Four Channel	0	
-s	1044a5011044c05b	2400A UDMA Four Channel DAC	0	
-s	1044a5011044c064	3010S Ultra3 Dual Channel	0	
-s	1044a5011044c065	3410S Ultra160 Four Channel	0	
-s	1044a5011044c066	3010S Fibre Channel	0	
-d	1044a511	SmartRAID V Controller	0	
-s	1044a5111044c032	ASR-2005S I2O Zero Channel	0	
-s	1044a5111044c035	ASR-2010S I2O Zero Channel	0	
-v	1045	OPTi Inc.	0	
-d	1045a0f8	82C750 [Vendetta] USB Controller	0	
-d	1045c101	92C264	0	
-d	1045c178	92C178	0	
-d	1045c556	82X556 [Viper]	0	
-d	1045c557	82C557 [Viper-M]	0	
-d	1045c558	82C558 [Viper-M ISA+IDE]	0	
-d	1045c567	82C750 [Vendetta], device 0	0	
-d	1045c568	82C750 [Vendetta], device 1	0	
-d	1045c569	82C579 [Viper XPress+ Chipset]	0	
-d	1045c621	82C621 [Viper-M/N+]	0	
-d	1045c700	82C700 [FireStar]	0	
-d	1045c701	82C701 [FireStar Plus]	0	
-d	1045c814	82C814 [Firebridge 1]	0	
-d	1045c822	82C822	0	
-d	1045c824	82C824	0	
-d	1045c825	82C825 [Firebridge 2]	0	
-d	1045c832	82C832	0	
-d	1045c861	82C861	0	
-d	1045c895	82C895	0	
-d	1045c935	EV1935 ECTIVA MachOne PCIAudio	0	
-d	1045d568	82C825 [Firebridge 2]	0	
-d	1045d721	IDE [FireStar]	0	
-v	1046	IPC Corporation, Ltd.	0	
-v	1047	Genoa Systems Corp	0	
-v	1048	Elsa AG	0	
-d	10480c60	Gladiac MX	0	
-d	10480d22	Quadro4 900XGL [ELSA GLoria4 900XGL]	0	
-d	10481000	QuickStep 1000	0	
-d	10483000	QuickStep 3000	0	
-d	10488901	Gloria XL	0	
-s	1048890110480935	GLoria XL (Virge)	0	
-v	1049	Fountain Technologies, Inc.	0	
+d	10438187	802.11a/b/g Wireless LAN Card	0
+d	10438188	Tiger Hybrid TV Capture Device	0
+v	1044	Adaptec (formerly DPT)	0
+d	10441012	Domino RAID Engine	0
+d	1044a400	SmartCache/Raid I-IV Controller	0
+d	1044a500	PCI Bridge	0
+d	1044a501	SmartRAID V Controller	0
+s	1044a5011044c001	PM1554U2 Ultra2 Single Channel	0
+s	1044a5011044c002	PM1654U2 Ultra2 Single Channel	0
+s	1044a5011044c003	PM1564U3 Ultra3 Single Channel	0
+s	1044a5011044c004	PM1564U3 Ultra3 Dual Channel	0
+s	1044a5011044c005	PM1554U2 Ultra2 Single Channel (NON ACPI)	0
+s	1044a5011044c00a	PM2554U2 Ultra2 Single Channel	0
+s	1044a5011044c00b	PM2654U2 Ultra2 Single Channel	0
+s	1044a5011044c00c	PM2664U3 Ultra3 Single Channel	0
+s	1044a5011044c00d	PM2664U3 Ultra3 Dual Channel	0
+s	1044a5011044c00e	PM2554U2 Ultra2 Single Channel (NON ACPI)	0
+s	1044a5011044c00f	PM2654U2 Ultra2 Single Channel (NON ACPI)	0
+s	1044a5011044c014	PM3754U2 Ultra2 Single Channel (NON ACPI)	0
+s	1044a5011044c015	PM3755U2B Ultra2 Single Channel (NON ACPI)	0
+s	1044a5011044c016	PM3755F Fibre Channel (NON ACPI)	0
+s	1044a5011044c01e	PM3757U2 Ultra2 Single Channel	0
+s	1044a5011044c01f	PM3757U2 Ultra2 Dual Channel	0
+s	1044a5011044c020	PM3767U3 Ultra3 Dual Channel	0
+s	1044a5011044c021	PM3767U3 Ultra3 Quad Channel	0
+s	1044a5011044c028	PM2865U3 Ultra3 Single Channel	0
+s	1044a5011044c029	PM2865U3 Ultra3 Dual Channel	0
+s	1044a5011044c02a	PM2865F Fibre Channel	0
+s	1044a5011044c03c	2000S Ultra3 Single Channel	0
+s	1044a5011044c03d	2000S Ultra3 Dual Channel	0
+s	1044a5011044c03e	2000F Fibre Channel	0
+s	1044a5011044c046	3000S Ultra3 Single Channel	0
+s	1044a5011044c047	3000S Ultra3 Dual Channel	0
+s	1044a5011044c048	3000F Fibre Channel	0
+s	1044a5011044c050	5000S Ultra3 Single Channel	0
+s	1044a5011044c051	5000S Ultra3 Dual Channel	0
+s	1044a5011044c052	5000F Fibre Channel	0
+s	1044a5011044c05a	2400A UDMA Four Channel	0
+s	1044a5011044c05b	2400A UDMA Four Channel DAC	0
+s	1044a5011044c064	3010S Ultra3 Dual Channel	0
+s	1044a5011044c065	3410S Ultra160 Four Channel	0
+s	1044a5011044c066	3010S Fibre Channel	0
+d	1044a511	SmartRAID V Controller	0
+s	1044a5111044c032	ASR-2005S I2O Zero Channel	0
+s	1044a5111044c035	ASR-2010S I2O Zero Channel	0
+v	1045	OPTi Inc.	0
+d	1045a0f8	82C750 [Vendetta] USB Controller	0
+d	1045c101	92C264	0
+d	1045c178	92C178	0
+d	1045c556	82X556 [Viper]	0
+d	1045c557	82C557 [Viper-M]	0
+d	1045c558	82C558 [Viper-M ISA+IDE]	0
+d	1045c567	82C750 [Vendetta], device 0	0
+d	1045c568	82C750 [Vendetta], device 1	0
+d	1045c569	82C579 [Viper XPress+ Chipset]	0
+d	1045c621	82C621 [Viper-M/N+]	0
+d	1045c700	82C700 [FireStar]	0
+d	1045c701	82C701 [FireStar Plus]	0
+d	1045c814	82C814 [Firebridge 1]	0
+d	1045c822	82C822	0
+d	1045c824	82C824	0
+d	1045c825	82C825 [Firebridge 2]	0
+d	1045c832	82C832	0
+d	1045c861	82C861	0
+d	1045c895	82C895	0
+d	1045c935	EV1935 ECTIVA MachOne PCIAudio	0
+d	1045d568	82C825 [Firebridge 2]	0
+d	1045d721	IDE [FireStar]	0
+v	1046	IPC Corporation, Ltd.	0
+v	1047	Genoa Systems Corp	0
+v	1048	Elsa AG	0
+d	10480c60	Gladiac MX	0
+d	10480d22	Quadro4 900XGL [ELSA GLoria4 900XGL]	0
+d	10481000	QuickStep 1000	0
+d	10483000	QuickStep 3000	0
+d	10488901	Gloria XL	0
+s	1048890110480935	GLoria XL (Virge)	0
+v	1049	Fountain Technologies, Inc.	0
 v	104a	STMicroelectronics	0	nee SGS Thomson Microelectronics
-d	104a0008	STG 2000X	0	
-d	104a0009	STG 1764X	0	
-d	104a0010	STG4000 [3D Prophet Kyro Series]	0	
-d	104a0209	STPC Consumer/Industrial North- and Southbridge	0	
-d	104a020a	STPC Atlas/ConsumerS/Consumer IIA Northbridge	0	
-d	104a0210	STPC Atlas ISA Bridge	0	
-d	104a021a	STPC Consumer S Southbridge	0	
-d	104a021b	STPC Consumer IIA Southbridge	0	
-d	104a0500	ST70137 [Unicorn] ADSL DMT Transceiver	0	
-s	104a0500104a0500	BeWAN ADSL PCI st	0	
-d	104a0564	STPC Client Northbridge	0	
-d	104a0981	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	104a104a		1	
-d	104a1746	STG 1764X	0	
-d	104a2774	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	104a3520	MPEG-II decoder card	0	
-d	104a55cc	STPC Client Southbridge	0	
-v	104b	BusLogic	0	
-d	104b0140	BT-946C (old) [multimaster  01]	0	
-d	104b1040	BT-946C (BA80C30) [MultiMaster 10]	0	
-d	104b8130	Flashpoint LT	0	
-v	104c	Texas Instruments	0	
-d	104c0500	100 MBit LAN Controller	0	
-d	104c0508	TMS380C2X Compressor Interface	0	
-d	104c1000	Eagle i/f AS	0	
-d	104c104c	PCI1510 PC card Cardbus Controller	0	
-d	104c3d04	TVP4010 [Permedia]	0	
-d	104c3d07	TVP4020 [Permedia 2]	0	
-s	104c3d0710114d10	Comet	0	
-s	104c3d071040000f	AccelStar II	0	
-s	104c3d0710400011	AccelStar II	0	
-s	104c3d0710480a31	WINNER 2000	0	
-s	104c3d0710480a32	GLoria Synergy	0	
-s	104c3d0710480a34	GLoria Synergy	0	
-s	104c3d0710480a35	GLoria Synergy	0	
-s	104c3d0710480a36	GLoria Synergy	0	
-s	104c3d0710480a43	GLoria Synergy	0	
-s	104c3d0710480a44	GLoria Synergy	0	
-s	104c3d07107d2633	WinFast 3D L2300	0	
-s	104c3d0710920127	FIRE GL 1000 PRO	0	
-s	104c3d0710920136	FIRE GL 1000 PRO	0	
-s	104c3d0710920141	FIRE GL 1000 PRO	0	
-s	104c3d0710920146	FIRE GL 1000 PRO	0	
-s	104c3d0710920148	FIRE GL 1000 PRO	0	
-s	104c3d0710920149	FIRE GL 1000 PRO	0	
-s	104c3d0710920152	FIRE GL 1000 PRO	0	
-s	104c3d0710920154	FIRE GL 1000 PRO	0	
-s	104c3d0710920155	FIRE GL 1000 PRO	0	
-s	104c3d0710920156	FIRE GL 1000 PRO	0	
-s	104c3d0710920157	FIRE GL 1000 PRO	0	
-s	104c3d0710973d01	Jeronimo Pro	0	
-s	104c3d071102100f	Graphics Blaster Extreme	0	
-s	104c3d073d3d0100	Reference Permedia 2 3D	0	
-d	104c8000	PCILynx/PCILynx2 IEEE 1394 Link Layer Controller	0	
-s	104c8000e4bf1010	CF1-1-SNARE	0	
-s	104c8000e4bf1020	CF1-2-SNARE	0	
-d	104c8009	FireWire Controller	0	
-s	104c8009104d8032	8032 OHCI i.LINK (IEEE 1394) Controller	0	
-d	104c8017	PCI4410 FireWire Controller	0	
-d	104c8019	TSB12LV23 IEEE-1394 Controller	0	
-s	104c801911bd000a	Studio DV500-1394	0	
-s	104c801911bd000e	Studio DV	0	
-s	104c8019e4bf1010	CF2-1-CYMBAL	0	
-d	104c8020	TSB12LV26 IEEE-1394 Controller (Link)	0	
-s	104c802011bd000f	Studio DV500-1394	0	
-s	104c802011bd001c	Excalibur 4.1	0	
-d	104c8021	TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated)	0	
-s	104c8021104d80df	Vaio PCG-FX403	0	
-s	104c8021104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-d	104c8022	TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link)	0	
-d	104c8023	TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)	0	
-s	104c8023103c088c	NC8000 laptop	0	
-s	104c80231043808b	K8N4-E Mainboard	0	
-s	104c80231043815b	PW5 DH Deluxe Motherboard	1	
+d	104a0008	STG 2000X	0
+d	104a0009	STG 1764X	0
+d	104a0010	STG4000 [3D Prophet Kyro Series]	0
+d	104a0209	STPC Consumer/Industrial North- and Southbridge	0
+d	104a020a	STPC Atlas/ConsumerS/Consumer IIA Northbridge	0
+d	104a0210	STPC Atlas ISA Bridge	0
+d	104a021a	STPC Consumer S Southbridge	0
+d	104a021b	STPC Consumer IIA Southbridge	0
+d	104a0500	ST70137 [Unicorn] ADSL DMT Transceiver	0
+s	104a0500104a0500	BeWAN ADSL PCI st	0
+d	104a0564	STPC Client Northbridge	0
+d	104a0981	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	104a104a		1
+d	104a1746	STG 1764X	0
+d	104a2774	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	104a3520	MPEG-II decoder card	0
+d	104a55cc	STPC Client Southbridge	0
+v	104b	BusLogic	0
+d	104b0140	BT-946C (old) [multimaster  01]	0
+d	104b1040	BT-946C (BA80C30) [MultiMaster 10]	0
+d	104b8130	Flashpoint LT	0
+v	104c	Texas Instruments	0
+d	104c0500	100 MBit LAN Controller	0
+d	104c0508	TMS380C2X Compressor Interface	0
+d	104c1000	Eagle i/f AS	0
+d	104c104c	PCI1510 PC card Cardbus Controller	0
+d	104c3d04	TVP4010 [Permedia]	0
+d	104c3d07	TVP4020 [Permedia 2]	0
+s	104c3d0710114d10	Comet	0
+s	104c3d071040000f	AccelStar II	0
+s	104c3d0710400011	AccelStar II	0
+s	104c3d0710480a31	WINNER 2000	0
+s	104c3d0710480a32	GLoria Synergy	0
+s	104c3d0710480a34	GLoria Synergy	0
+s	104c3d0710480a35	GLoria Synergy	0
+s	104c3d0710480a36	GLoria Synergy	0
+s	104c3d0710480a43	GLoria Synergy	0
+s	104c3d0710480a44	GLoria Synergy	0
+s	104c3d07107d2633	WinFast 3D L2300	0
+s	104c3d0710920127	FIRE GL 1000 PRO	0
+s	104c3d0710920136	FIRE GL 1000 PRO	0
+s	104c3d0710920141	FIRE GL 1000 PRO	0
+s	104c3d0710920146	FIRE GL 1000 PRO	0
+s	104c3d0710920148	FIRE GL 1000 PRO	0
+s	104c3d0710920149	FIRE GL 1000 PRO	0
+s	104c3d0710920152	FIRE GL 1000 PRO	0
+s	104c3d0710920154	FIRE GL 1000 PRO	0
+s	104c3d0710920155	FIRE GL 1000 PRO	0
+s	104c3d0710920156	FIRE GL 1000 PRO	0
+s	104c3d0710920157	FIRE GL 1000 PRO	0
+s	104c3d0710973d01	Jeronimo Pro	0
+s	104c3d071102100f	Graphics Blaster Extreme	0
+s	104c3d073d3d0100	Reference Permedia 2 3D	0
+d	104c8000	PCILynx/PCILynx2 IEEE 1394 Link Layer Controller	0
+s	104c8000e4bf1010	CF1-1-SNARE	0
+s	104c8000e4bf1020	CF1-2-SNARE	0
+d	104c8009	FireWire Controller	0
+s	104c8009104d8032	8032 OHCI i.LINK (IEEE 1394) Controller	0
+d	104c8017	PCI4410 FireWire Controller	0
+d	104c8019	TSB12LV23 IEEE-1394 Controller	0
+s	104c801911bd000a	Studio DV500-1394	0
+s	104c801911bd000e	Studio DV	0
+s	104c8019e4bf1010	CF2-1-CYMBAL	0
+d	104c8020	TSB12LV26 IEEE-1394 Controller (Link)	0
+s	104c802011bd000f	Studio DV500-1394	0
+s	104c802011bd001c	Excalibur 4.1	0
+d	104c8021	TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated)	0
+s	104c8021104d80df	Vaio PCG-FX403	0
+s	104c8021104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+d	104c8022	TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link)	0
+d	104c8023	TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)	0
+s	104c8023103c088c	NC8000 laptop	0
+s	104c80231043808b	K8N4-E Mainboard	0
+s	104c80231043815b	PW5 DH Deluxe Motherboard	1
 s	104c80231043815b	P5W DH Deluxe Motherboard	1	correct typo
-d	104c8024	TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)	0	
-d	104c8025	TSB82AA2 IEEE-1394b Link Layer Controller	0	
-s	104c802514581000	GA-K8N Ultra-9 Mainboard	0	
-d	104c8026	TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)	0	
-s	104c80261025003c	Aspire 2001WLCi (Compaq CL50 motherboard)	0	
-s	104c8026103c006a	NX9500	0	
-s	104c80261043808d	A7V333 mainboard.	0	
-d	104c8027	PCI4451 IEEE-1394 Controller	0	
-s	104c8027102800e6	PCI4451 IEEE-1394 Controller (Dell Inspiron 8100)	0	
-d	104c8029	PCI4510 IEEE-1394 Controller	0	
-s	104c802910280163	Latitude D505	0	
-s	104c802910280196	Inspiron 5160	0	
-s	104c802910718160	MIM2900	0	
-d	104c802b	PCI7410,7510,7610 OHCI-Lynx Controller	0	
-s	104c802b10280139	Latitude D400	0	
-s	104c802b1028014e	PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800)	0	
-d	104c802e	PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller	0	
-d	104c8031	PCIxx21/x515 Cardbus Controller	0	
-s	104c803110250080	Aspire 5024WLMi	0	
-s	104c8031103c099c	NX6110/NC6120	0	
-s	104c8031103c308b	MX6125	0	
-d	104c8032	OHCI Compliant IEEE 1394 Host Controller	0	
-s	104c803210250080	Aspire 5024WLMi	0	
-s	104c8032103c099c	NX6110/NC6120	0	
-s	104c8032103c308b	MX6125	0	
-d	104c8033	PCIxx21 Integrated FlashMedia Controller	0	
-s	104c803310250080	Aspire 5024WLMi	0	
-s	104c8033103c099c	NX6110/NC6120	0	
-s	104c8033103c308b	MX6125	0	
-d	104c8034	PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller	0	
-s	104c803410250080	Aspire 5024WLMi	0	
-s	104c8034103c099c	NX6110/NC6120	0	
-s	104c8034103c308b	MX6125	0	
-d	104c8035	PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller	0	
-s	104c8035103c099c	NX6110/NC6120	0	
-d	104c8036	PCI6515 Cardbus Controller	0	
-d	104c8038	PCI6515 SmartCard Controller	0	
-d	104c8039	PCIxx12 Cardbus Controller	0	
-s	104c8039103c309f	nx9420	0	
-s	104c8039103c30a1	NC2400	1	
-d	104c803a	PCIxx12 OHCI Compliant IEEE 1394 Host Controller	0	
-s	104c803a103c309f	nx9420	0	
-s	104c803a103c30a1	NC2400	1	
-d	104c803b	5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)	0	
-s	104c803b103c309f	nx9420	0	
-d	104c803c	PCIxx12 SDA Standard Compliant SD Host Controller	0	
-s	104c803c103c309f	nx9420	0	
-d	104c803d	PCIxx12 GemCore based SmartCard controller	0	
-s	104c803d103c309f	nx9420	0	
-s	104c803d103c30a1	NC2400	1	
-d	104c8201	PCI1620 Firmware Loading Function	0	
-d	104c8204	PCI7410,7510,7610 PCI Firmware Loading Function	0	
-s	104c820410280139	Latitude D400	0	
-s	104c82041028014e	Latitude D800	0	
-d	104c8231	XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge	0	
-d	104c8235	XIO2200(A) IEEE-1394a-2000 Controller (PHY/Link)	0	
-d	104c8400	ACX 100 22Mbps Wireless Interface	0	
-s	104c840011863b00	DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]	0	
-s	104c840011863b01	DWL-520+ 22Mbps PCI Wireless Adapter	0	
-s	104c840016ab8501	WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter	0	
-d	104c8401	ACX 100 22Mbps Wireless Interface	0	
-d	104c9000	Wireless Interface (of unknown type)	0	
-d	104c9065	TMS320DM642	0	
-d	104c9066	ACX 111 54Mbps Wireless Interface	0	
-s	104c9066104c9066	Trendnet TEW-421PC Wireless PCI Adapter	0	
-s	104c906611863b04	DWL-G520+ Wireless PCI Adapter	0	
-s	104c906611863b05	DWL-G650+ AirPlusG+ CardBus Wireless LAN	0	
-s	104c906613d1aba0	SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+	0	
-s	104c906617370033	WPC54G Ver.2 802.11G PC Card	0	
-d	104ca001	TDC1570	0	
-d	104ca100	TDC1561	0	
-d	104ca102	TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f	0	
-d	104ca106	TMS320C6414 TMS320C6415 TMS320C6416	0	
-s	104ca106175c5000	ASI50xx Audio Adapter	0	
-s	104ca106175c6400	ASI6400 Cobranet series	0	
-s	104ca106175c8700	ASI87xx Radio Tuner card	0	
-d	104cac10	PCI1050	0	
-d	104cac11	PCI1053	0	
-d	104cac12	PCI1130	0	
-d	104cac13	PCI1031	0	
-d	104cac15	PCI1131	0	
-d	104cac16	PCI1250	0	
-s	104cac1610140092	ThinkPad 600	0	
-d	104cac17	PCI1220	0	
-d	104cac18	PCI1260	0	
-d	104cac19	PCI1221	0	
-d	104cac1a	PCI1210	0	
-d	104cac1b	PCI1450	0	
-s	104cac1b0e11b113	Armada M700	0	
-s	104cac1b10140130	Thinkpad T20/T22/A21m	0	
-d	104cac1c	PCI1225	0	
-s	104cac1c0e11b121	Armada E500	0	
-s	104cac1c10280088	Latitude CPi A400XT	0	
-d	104cac1d	PCI1251A	0	
-d	104cac1e	PCI1211	0	
-d	104cac1f	PCI1251B	0	
-d	104cac20	TI 2030	0	
-d	104cac21	PCI2031	0	
-d	104cac22	PCI2032 PCI Docking Bridge	0	
-d	104cac23	PCI2250 PCI-to-PCI Bridge	0	
-d	104cac28	PCI2050 PCI-to-PCI Bridge	0	
-d	104cac30	PCI1260 PC card Cardbus Controller	0	
-d	104cac40	PCI4450 PC card Cardbus Controller	0	
-d	104cac41	PCI4410 PC card Cardbus Controller	0	
-d	104cac42	PCI4451 PC card Cardbus Controller	0	
-s	104cac42102800e6	PCI4451 PC card CardBus Controller (Inspiron 8100)	0	
-d	104cac44	PCI4510 PC card Cardbus Controller	0	
-s	104cac4410280163	Latitude D505	0	
-s	104cac4410280196	Inspiron 5160	0	
-s	104cac4410718160	MIM2000	0	
-d	104cac46	PCI4520 PC card Cardbus Controller	0	
-d	104cac47	PCI7510 PC card Cardbus Controller	0	
-s	104cac4710280139	Latitude D400	0	
-s	104cac471028013f	Precision M60	0	
-s	104cac471028014e	Latitude D800	0	
-d	104cac4a	PCI7510,7610 PC card Cardbus Controller	0	
-s	104cac4a10280139	Latitude D400	0	
-s	104cac4a1028014e	Latitude D800	0	
-d	104cac50	PCI1410 PC card Cardbus Controller	0	
-d	104cac51	PCI1420	0	
+d	104c8024	TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)	0
+d	104c8025	TSB82AA2 IEEE-1394b Link Layer Controller	0
+s	104c802514581000	GA-K8N Ultra-9 Mainboard	0
+d	104c8026	TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)	0
+s	104c80261025003c	Aspire 2001WLCi (Compaq CL50 motherboard)	0
+s	104c8026103c006a	NX9500	0
+s	104c80261043808d	A7V333 mainboard.	0
+d	104c8027	PCI4451 IEEE-1394 Controller	0
+s	104c8027102800e6	PCI4451 IEEE-1394 Controller (Dell Inspiron 8100)	0
+d	104c8029	PCI4510 IEEE-1394 Controller	0
+s	104c802910280163	Latitude D505	0
+s	104c802910280196	Inspiron 5160	0
+s	104c802910718160	MIM2900	0
+d	104c802b	PCI7410,7510,7610 OHCI-Lynx Controller	0
+s	104c802b10280139	Latitude D400	0
+s	104c802b1028014e	PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800)	0
+d	104c802e	PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller	0
+d	104c8031	PCIxx21/x515 Cardbus Controller	0
+s	104c803110250080	Aspire 5024WLMi	0
+s	104c8031103c099c	NX6110/NC6120	0
+s	104c8031103c308b	MX6125	0
+d	104c8032	OHCI Compliant IEEE 1394 Host Controller	0
+s	104c803210250080	Aspire 5024WLMi	0
+s	104c8032103c099c	NX6110/NC6120	0
+s	104c8032103c308b	MX6125	0
+d	104c8033	PCIxx21 Integrated FlashMedia Controller	0
+s	104c803310250080	Aspire 5024WLMi	0
+s	104c8033103c099c	NX6110/NC6120	0
+s	104c8033103c308b	MX6125	0
+d	104c8034	PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller	0
+s	104c803410250080	Aspire 5024WLMi	0
+s	104c8034103c099c	NX6110/NC6120	0
+s	104c8034103c308b	MX6125	0
+d	104c8035	PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller	0
+s	104c8035103c099c	NX6110/NC6120	0
+d	104c8036	PCI6515 Cardbus Controller	0
+d	104c8038	PCI6515 SmartCard Controller	0
+d	104c8039	PCIxx12 Cardbus Controller	0
+s	104c8039103c309f	nx9420	0
+s	104c8039103c30a1	NC2400	1
+d	104c803a	PCIxx12 OHCI Compliant IEEE 1394 Host Controller	0
+s	104c803a103c309f	nx9420	0
+s	104c803a103c30a1	NC2400	1
+d	104c803b	5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)	0
+s	104c803b103c309f	nx9420	0
+d	104c803c	PCIxx12 SDA Standard Compliant SD Host Controller	0
+s	104c803c103c309f	nx9420	0
+d	104c803d	PCIxx12 GemCore based SmartCard controller	0
+s	104c803d103c309f	nx9420	0
+s	104c803d103c30a1	NC2400	1
+d	104c8201	PCI1620 Firmware Loading Function	0
+d	104c8204	PCI7410,7510,7610 PCI Firmware Loading Function	0
+s	104c820410280139	Latitude D400	0
+s	104c82041028014e	Latitude D800	0
+d	104c8231	XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge	0
+d	104c8235	XIO2200(A) IEEE-1394a-2000 Controller (PHY/Link)	0
+d	104c8400	ACX 100 22Mbps Wireless Interface	0
+s	104c840011863b00	DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]	0
+s	104c840011863b01	DWL-520+ 22Mbps PCI Wireless Adapter	0
+s	104c840016ab8501	WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter	0
+d	104c8401	ACX 100 22Mbps Wireless Interface	0
+d	104c9000	Wireless Interface (of unknown type)	0
+d	104c9065	TMS320DM642	0
+d	104c9066	ACX 111 54Mbps Wireless Interface	0
+s	104c9066104c9066	Trendnet TEW-421PC Wireless PCI Adapter	0
+s	104c906611863b04	DWL-G520+ Wireless PCI Adapter	0
+s	104c906611863b05	DWL-G650+ AirPlusG+ CardBus Wireless LAN	0
+s	104c906613d1aba0	SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+	0
+s	104c906617370033	WPC54G Ver.2 802.11G PC Card	0
+d	104ca001	TDC1570	0
+d	104ca100	TDC1561	0
+d	104ca102	TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f	0
+d	104ca106	TMS320C6414 TMS320C6415 TMS320C6416	0
+s	104ca106175c5000	ASI50xx Audio Adapter	0
+s	104ca106175c6400	ASI6400 Cobranet series	0
+s	104ca106175c8700	ASI87xx Radio Tuner card	0
+d	104cac10	PCI1050	0
+d	104cac11	PCI1053	0
+d	104cac12	PCI1130	0
+d	104cac13	PCI1031	0
+d	104cac15	PCI1131	0
+d	104cac16	PCI1250	0
+s	104cac1610140092	ThinkPad 600	0
+d	104cac17	PCI1220	0
+d	104cac18	PCI1260	0
+d	104cac19	PCI1221	0
+d	104cac1a	PCI1210	0
+d	104cac1b	PCI1450	0
+s	104cac1b0e11b113	Armada M700	0
+s	104cac1b10140130	Thinkpad T20/T22/A21m	0
+d	104cac1c	PCI1225	0
+s	104cac1c0e11b121	Armada E500	0
+s	104cac1c10280088	Latitude CPi A400XT	0
+d	104cac1d	PCI1251A	0
+d	104cac1e	PCI1211	0
+d	104cac1f	PCI1251B	0
+d	104cac20	TI 2030	0
+d	104cac21	PCI2031	0
+d	104cac22	PCI2032 PCI Docking Bridge	0
+d	104cac23	PCI2250 PCI-to-PCI Bridge	0
+d	104cac28	PCI2050 PCI-to-PCI Bridge	0
+d	104cac30	PCI1260 PC card Cardbus Controller	0
+d	104cac40	PCI4450 PC card Cardbus Controller	0
+d	104cac41	PCI4410 PC card Cardbus Controller	0
+d	104cac42	PCI4451 PC card Cardbus Controller	0
+s	104cac42102800e6	PCI4451 PC card CardBus Controller (Inspiron 8100)	0
+d	104cac44	PCI4510 PC card Cardbus Controller	0
+s	104cac4410280163	Latitude D505	0
+s	104cac4410280196	Inspiron 5160	0
+s	104cac4410718160	MIM2000	0
+d	104cac46	PCI4520 PC card Cardbus Controller	0
+d	104cac47	PCI7510 PC card Cardbus Controller	0
+s	104cac4710280139	Latitude D400	0
+s	104cac471028013f	Precision M60	0
+s	104cac471028014e	Latitude D800	0
+d	104cac4a	PCI7510,7610 PC card Cardbus Controller	0
+s	104cac4a10280139	Latitude D400	0
+s	104cac4a1028014e	Latitude D800	0
+d	104cac50	PCI1410 PC card Cardbus Controller	0
+d	104cac51	PCI1420	0
 d	104cac51	PCI1420 PC card Cardbus Controller	1	More detailed and consistent
-s	104cac510e11004e	Evo N600c	0	
-s	104cac5110140148	ThinkPad A20m	0	
-s	104cac511014023b	ThinkPad T23 (2647-4MG)	0	
-s	104cac51102800b1	Latitude C600	0	
-s	104cac511028012a	Latitude C640	0	
-s	104cac51103380cd	Versa Note VXi	0	
-s	104cac51109510cf	Fujitsu-Siemens LifeBook C Series	0	
-s	104cac5110cf1095	Lifebook S-4510/C6155	0	
-s	104cac51e4bf1000	CP2-2-HIPHOP	0	
-d	104cac52	PCI1451 PC card Cardbus Controller	0	
-d	104cac53	PCI1421 PC card Cardbus Controller	0	
-d	104cac54	PCI1620 PC Card Controller	0	
-s	104cac54103c08b0	tc1100 tablet	0	
-d	104cac55	PCI1520 PC card Cardbus Controller	0	
-s	104cac5510140512	ThinkPad T30/T40	0	
-d	104cac56	PCI1510 PC card Cardbus Controller	0	
-s	104cac5610140512	Thinkpad R50e model 1634	0	
-s	104cac5610140528	ThinkPad R40e (2684-HVG) Cardbus Controller	0	
-s	104cac5617aa2012	Thinkpad R60e model 0657	0	
-d	104cac60	PCI2040 PCI to DSP Bridge Controller	0	
-s	104cac60175c5100	ASI51xx Audio Adapter	0	
-s	104cac60175c6100	ASI61xx Audio Adapter	0	
-s	104cac60175c6200	ASI62xx Audio Adapter	0	
-s	104cac60175c8800	ASI88xx Audio Adapter	0	
-d	104cac8d	PCI 7620	0	
-d	104cac8e	PCI7420 CardBus Controller	0	
-d	104cac8f	PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller	0	
-s	104cac8f1028018d	Dell Inspiron 700m	1	
-d	104cfe00	FireWire Host Controller	0	
-d	104cfe03	12C01A FireWire Host Controller	0	
-v	104d	Sony Corporation	0	
-d	104d8004	DTL-H2500 [Playstation development board]	0	
-d	104d8009	CXD1947Q i.LINK Controller	0	
-d	104d8039	CXD3222 i.LINK Controller	0	
-d	104d8056	Rockwell HCF 56K modem	0	
-d	104d808a	Memory Stick Controller	0	
-v	104e	Oak Technology, Inc	0	
-d	104e0017	OTI-64017	0	
-d	104e0107	OTI-107 [Spitfire]	0	
-d	104e0109	Video Adapter	0	
-d	104e0111	OTI-64111 [Spitfire]	0	
-d	104e0217	OTI-64217	0	
-d	104e0317	OTI-64317	0	
-v	104f	Co-time Computer Ltd	0	
-v	1050	Winbond Electronics Corp	0	
-d	10500000	NE2000	0	
-d	10500001	W83769F	0	
-d	10500033	W89C33D 802.11 a/b/g BB/MAC	0	
-d	10500105	W82C105	0	
-d	10500840	W89C840	0	
-s	1050084010500001	W89C840 Ethernet Adapter	0	
-s	1050084010500840	W89C840 Ethernet Adapter	0	
-d	10500940	W89C940	0	
-d	10505a5a	W89C940F	0	
-d	10506692	W6692	0	
-s	1050669210431702	ISDN Adapter (PCI Bus, D, W)	0	
-s	1050669210431703	ISDN Adapter (PCI Bus, DV, W)	0	
-s	1050669210431707	ISDN Adapter (PCI Bus, DV, W)	0	
-s	10506692144f1702	ISDN Adapter (PCI Bus, D, W)	0	
-s	10506692144f1703	ISDN Adapter (PCI Bus, DV, W)	0	
-s	10506692144f1707	ISDN Adapter (PCI Bus, DV, W)	0	
-d	10509921	W99200F MPEG-1 Video Encoder	0	
-d	10509922	W99200F/W9922PF MPEG-1/2 Video Encoder	0	
-d	10509970	W9970CF	0	
-v	1051	Anigma, Inc.	0	
-v	1052	?Young Micro Systems	0	
-v	1053	Young Micro Systems	0	
-v	1054	Hitachi, Ltd	0	
-v	1055	Efar Microsystems	0	
-d	10559130	SLC90E66 [Victory66] IDE	0	
-d	10559460	SLC90E66 [Victory66] ISA	0	
-d	10559462	SLC90E66 [Victory66] USB	0	
-d	10559463	SLC90E66 [Victory66] ACPI	0	
-v	1056	ICL	0	
+s	104cac510e11004e	Evo N600c	0
+s	104cac5110140148	ThinkPad A20m	0
+s	104cac511014023b	ThinkPad T23 (2647-4MG)	0
+s	104cac51102800b1	Latitude C600	0
+s	104cac511028012a	Latitude C640	0
+s	104cac51103380cd	Versa Note VXi	0
+s	104cac51109510cf	Fujitsu-Siemens LifeBook C Series	0
+s	104cac5110cf1095	Lifebook S-4510/C6155	0
+s	104cac51e4bf1000	CP2-2-HIPHOP	0
+d	104cac52	PCI1451 PC card Cardbus Controller	0
+d	104cac53	PCI1421 PC card Cardbus Controller	0
+d	104cac54	PCI1620 PC Card Controller	0
+s	104cac54103c08b0	tc1100 tablet	0
+d	104cac55	PCI1520 PC card Cardbus Controller	0
+s	104cac5510140512	ThinkPad T30/T40	0
+d	104cac56	PCI1510 PC card Cardbus Controller	0
+s	104cac5610140512	Thinkpad R50e model 1634	0
+s	104cac5610140528	ThinkPad R40e (2684-HVG) Cardbus Controller	0
+s	104cac5617aa2012	Thinkpad R60e model 0657	0
+d	104cac60	PCI2040 PCI to DSP Bridge Controller	0
+s	104cac60175c5100	ASI51xx Audio Adapter	0
+s	104cac60175c6100	ASI61xx Audio Adapter	0
+s	104cac60175c6200	ASI62xx Audio Adapter	0
+s	104cac60175c8800	ASI88xx Audio Adapter	0
+d	104cac8d	PCI 7620	0
+d	104cac8e	PCI7420 CardBus Controller	0
+d	104cac8f	PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller	0
+s	104cac8f1028018d	Dell Inspiron 700m	1
+d	104cfe00	FireWire Host Controller	0
+d	104cfe03	12C01A FireWire Host Controller	0
+v	104d	Sony Corporation	0
+d	104d8004	DTL-H2500 [Playstation development board]	0
+d	104d8009	CXD1947Q i.LINK Controller	0
+d	104d8039	CXD3222 i.LINK Controller	0
+d	104d8056	Rockwell HCF 56K modem	0
+d	104d808a	Memory Stick Controller	0
+v	104e	Oak Technology, Inc	0
+d	104e0017	OTI-64017	0
+d	104e0107	OTI-107 [Spitfire]	0
+d	104e0109	Video Adapter	0
+d	104e0111	OTI-64111 [Spitfire]	0
+d	104e0217	OTI-64217	0
+d	104e0317	OTI-64317	0
+v	104f	Co-time Computer Ltd	0
+v	1050	Winbond Electronics Corp	0
+d	10500000	NE2000	0
+d	10500001	W83769F	0
+d	10500033	W89C33D 802.11 a/b/g BB/MAC	0
+d	10500105	W82C105	0
+d	10500840	W89C840	0
+s	1050084010500001	W89C840 Ethernet Adapter	0
+s	1050084010500840	W89C840 Ethernet Adapter	0
+d	10500940	W89C940	0
+d	10505a5a	W89C940F	0
+d	10506692	W6692	0
+s	1050669210431702	ISDN Adapter (PCI Bus, D, W)	0
+s	1050669210431703	ISDN Adapter (PCI Bus, DV, W)	0
+s	1050669210431707	ISDN Adapter (PCI Bus, DV, W)	0
+s	10506692144f1702	ISDN Adapter (PCI Bus, D, W)	0
+s	10506692144f1703	ISDN Adapter (PCI Bus, DV, W)	0
+s	10506692144f1707	ISDN Adapter (PCI Bus, DV, W)	0
+d	10509921	W99200F MPEG-1 Video Encoder	0
+d	10509922	W99200F/W9922PF MPEG-1/2 Video Encoder	0
+d	10509970	W9970CF	0
+v	1051	Anigma, Inc.	0
+v	1052	?Young Micro Systems	0
+v	1053	Young Micro Systems	0
+v	1054	Hitachi, Ltd	0
+v	1055	Efar Microsystems	0
+d	10559130	SLC90E66 [Victory66] IDE	0
+d	10559460	SLC90E66 [Victory66] ISA	0
+d	10559462	SLC90E66 [Victory66] USB	0
+d	10559463	SLC90E66 [Victory66] ACPI	0
+v	1056	ICL	0
 v	1057	Motorola	0	Motorola made a mistake and used 1507 instead of 1057 in some chips. Please look at the 1507 entry as well when updating this.
-d	10570001	MPC105 [Eagle]	0	
-d	10570002	MPC106 [Grackle]	0	
-d	10570003	MPC8240 [Kahlua]	0	
-d	10570004	MPC107	0	
-d	10570006	MPC8245 [Unity]	0	
-d	10570008	MPC8540	0	
-d	10570009	MPC8560	0	
-d	10570012	MPC8548 [PowerQUICC III]	0	
-d	10570100	MC145575 [HFC-PCI]	0	
-d	10570431	KTI829c 100VG	0	
-d	10571801	DSP56301 Digital Signal Processor	0	
-s	1057180114fb0101	Transas Radar Imitator Board [RIM]	0	
-s	1057180114fb0102	Transas Radar Imitator Board [RIM-2]	0	
-s	1057180114fb0202	Transas Radar Integrator Board [RIB-2]	0	
-s	1057180114fb0611	1 channel CAN bus Controller [CanPci-1]	0	
-s	1057180114fb0612	2 channels CAN bus Controller [CanPci-2]	0	
-s	1057180114fb0613	3 channels CAN bus Controller [CanPci-3]	0	
-s	1057180114fb0614	4 channels CAN bus Controller [CanPci-4]	0	
-s	1057180114fb0621	1 channel CAN bus Controller [CanPci2-1]	0	
-s	1057180114fb0622	2 channels CAN bus Controller [CanPci2-2]	0	
-s	1057180114fb0810	Transas VTS Radar Integrator Board [RIB-4]	0	
-s	10571801175c4200	ASI4215 Audio Adapter	0	
-s	10571801175c4300	ASI43xx Audio Adapter	0	
-s	10571801175c4400	ASI4401 Audio Adapter	0	
-s	10571801ecc00010	Darla	0	
-s	10571801ecc00020	Gina	0	
-s	10571801ecc00030	Layla rev.0	0	
-s	10571801ecc00031	Layla rev.1	0	
-s	10571801ecc00040	Darla24 rev.0	0	
-s	10571801ecc00041	Darla24 rev.1	0	
-s	10571801ecc00050	Gina24 rev.0	0	
-s	10571801ecc00051	Gina24 rev.1	0	
-s	10571801ecc00070	Mona rev.0	0	
-s	10571801ecc00071	Mona rev.1	0	
-s	10571801ecc00072	Mona rev.2	0	
-d	105718c0	MPC8265A/8266/8272	0	
-d	105718c1	MPC8271/MPC8272	0	
-d	10573052	SM56 Data Fax Modem	1	
-d	10573055	SM56 Data Fax Modem	0	
-d	10573410	DSP56361 Digital Signal Processor	0	
-s	10573410ecc00050	Gina24 rev.0	0	
-s	10573410ecc00051	Gina24 rev.1	0	
-s	10573410ecc00060	Layla24	0	
-s	10573410ecc00070	Mona rev.0	0	
-s	10573410ecc00071	Mona rev.1	0	
-s	10573410ecc00072	Mona rev.2	0	
-s	10573410ecc00080	Mia rev.0	0	
-s	10573410ecc00081	Mia rev.1	0	
-s	10573410ecc00090	Indigo	0	
-s	10573410ecc000a0	Indigo IO	0	
-s	10573410ecc000b0	Indigo DJ	0	
-s	10573410ecc00100	3G	0	
-d	10574801	Raven	0	
-d	10574802	Falcon	0	
-d	10574803	Hawk	0	
-d	10574806	CPX8216	0	
-d	10574d68	20268	0	
-d	10575600	SM56 PCI Modem	0	
-s	1057560010570300	SM56 PCI Speakerphone Modem	0	
-s	1057560010570301	SM56 PCI Voice Modem	0	
-s	1057560010570302	SM56 PCI Fax Modem	0	
-s	1057560010575600	SM56 PCI Voice modem	0	
-s	1057560013d20300	SM56 PCI Speakerphone Modem	0	
-s	1057560013d20301	SM56 PCI Voice modem	0	
-s	1057560013d20302	SM56 PCI Fax Modem	0	
-s	1057560014360300	SM56 PCI Speakerphone Modem	0	
-s	1057560014360301	SM56 PCI Voice modem	0	
-s	1057560014360302	SM56 PCI Fax Modem	0	
-s	10575600144f100c	SM56 PCI Fax Modem	0	
-s	1057560014940300	SM56 PCI Speakerphone Modem	0	
-s	1057560014940301	SM56 PCI Voice modem	0	
-s	1057560014c80300	SM56 PCI Speakerphone Modem	0	
-s	1057560014c80302	SM56 PCI Fax Modem	0	
-s	1057560016680300	SM56 PCI Speakerphone Modem	0	
-s	1057560016680302	SM56 PCI Fax Modem	0	
-d	10575608	Wildcard X100P	0	
-d	10575803	MPC5200	0	
-d	10575806	MCF54 Coldfire	0	
-d	10575808	MPC8220	0	
-d	10575809	MPC5200B	0	
-d	10576400	MPC190 Security Processor (S1 family, encryption)	0	
-d	10576405	MPC184 Security Processor (S1 family)	0	
-v	1058	Electronics & Telecommunications RSH	0	
-v	1059	Teknor Industrial Computers Inc	0	
-v	105a	Promise Technology, Inc.	0	
-d	105a0d30	PDC20265 (FastTrak100 Lite/Ultra100)	0	
-s	105a0d3010438042	ASUS AV7266-E South Bridge Promise RAID	1	
-s	105a0d30105a4d33	Ultra100	0	
-d	105a0d38	20263	0	
-s	105a0d38105a4d39	Fasttrak66	0	
-d	105a1275	20275	0	
-d	105a3318	PDC20318 (SATA150 TX4)	0	
-d	105a3319	PDC20319 (FastTrak S150 TX4)	0	
-s	105a331980863427	S875WP1-E mainboard	0	
-d	105a3371	PDC20371 (FastTrak S150 TX2plus)	0	
-d	105a3373	PDC20378 (FastTrak 378/SATA 378)	0	
-s	105a3373104380f5	K8V Deluxe/PC-DL Deluxe motherboard	0	
-s	105a33731462702e	K8T NEO FIS2R motherboard	0	
-d	105a3375	PDC20375 (SATA150 TX2plus)	0	
-d	105a3376	PDC20376 (FastTrak 376)	0	
-s	105a33761043809e	A7V8X motherboard	0	
-d	105a3515	PDC40719 [FastTrak TX4300/TX4310]	0	
-d	105a3519	PDC40519 (FastTrak TX4200)	0	
-d	105a3570	20771 (FastTrak TX2300)	0	
-d	105a3571	PDC20571 (FastTrak TX2200)	0	
-d	105a3574	PDC20579 SATAII 150 IDE Controller	0	
-d	105a3577	PDC40779 (SATA 300 779)	0	
-d	105a3d17	PDC40718 (SATA 300 TX4)	0	
-d	105a3d18	PDC20518/PDC40518 (SATAII 150 TX4)	0	
-d	105a3d73	PDC40775 (SATA 300 TX2plus)	0	
-d	105a3d75	PDC20575 (SATAII150 TX2plus)	0	
-d	105a4302	80333 [SuperTrak EX4350]	0	
-d	105a4d30	PDC20267 (FastTrak100/Ultra100)	0	
-s	105a4d30105a4d33	Ultra100	0	
-s	105a4d30105a4d39	FastTrak100	0	
-s	105a4d3080865744	S845WD1-E mainboard	1	
-d	105a4d33	20246	0	
-s	105a4d33105a4d33	20246 IDE Controller	0	
-d	105a4d38	PDC20262 (FastTrak66/Ultra66)	0	
-s	105a4d38105a4d30	Ultra Device on SuperTrak	0	
-s	105a4d38105a4d33	Ultra66	0	
-s	105a4d38105a4d39	FastTrak66	0	
-d	105a4d68	PDC20268 (Ultra100 TX2)	0	
-s	105a4d68105a4d68	Ultra100TX2	0	
-d	105a4d69	20269	0	
-s	105a4d69105a4d68	Ultra133TX2	0	
-d	105a5275	PDC20276 (MBFastTrak133 Lite)	0	
-s	105a52751043807e	A7V333 motherboard.	0	
-s	105a5275105a0275	SuperTrak SX6000 IDE	0	
-s	105a5275105a1275	MBFastTrak133 Lite (tm) Controller (RAID mode)	0	
-s	105a52751458b001	MBUltra 133	0	
-d	105a5300	DC5300	0	
-d	105a6268	PDC20270 (FastTrak100 LP/TX2/TX4)	0	
-s	105a6268105a4d68	FastTrak100 TX2	0	
-d	105a6269	PDC20271 (FastTrak TX2000)	0	
-s	105a6269105a6269	FastTrak TX2/TX2000	0	
-d	105a6621	PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite)	0	
-d	105a6622	PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller	0	
-d	105a6624	PDC20621 [FastTrak SX4100]	0	
-d	105a6626	PDC20618 (Ultra 618)	0	
-d	105a6629	PDC20619 (FastTrak TX4000)	0	
-d	105a7275	PDC20277 (SBFastTrak133 Lite)	0	
-d	105a8002	SATAII150 SX8	0	
-d	105a8350	80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300]	0	
-d	105a8650	IOP1348 [SuperTrak SAS8650 series]	1	
+d	10570001	MPC105 [Eagle]	0
+d	10570002	MPC106 [Grackle]	0
+d	10570003	MPC8240 [Kahlua]	0
+d	10570004	MPC107	0
+d	10570006	MPC8245 [Unity]	0
+d	10570008	MPC8540	0
+d	10570009	MPC8560	0
+d	10570012	MPC8548 [PowerQUICC III]	0
+d	10570100	MC145575 [HFC-PCI]	0
+d	10570431	KTI829c 100VG	0
+d	10571801	DSP56301 Digital Signal Processor	0
+s	1057180114fb0101	Transas Radar Imitator Board [RIM]	0
+s	1057180114fb0102	Transas Radar Imitator Board [RIM-2]	0
+s	1057180114fb0202	Transas Radar Integrator Board [RIB-2]	0
+s	1057180114fb0611	1 channel CAN bus Controller [CanPci-1]	0
+s	1057180114fb0612	2 channels CAN bus Controller [CanPci-2]	0
+s	1057180114fb0613	3 channels CAN bus Controller [CanPci-3]	0
+s	1057180114fb0614	4 channels CAN bus Controller [CanPci-4]	0
+s	1057180114fb0621	1 channel CAN bus Controller [CanPci2-1]	0
+s	1057180114fb0622	2 channels CAN bus Controller [CanPci2-2]	0
+s	1057180114fb0810	Transas VTS Radar Integrator Board [RIB-4]	0
+s	10571801175c4200	ASI4215 Audio Adapter	0
+s	10571801175c4300	ASI43xx Audio Adapter	0
+s	10571801175c4400	ASI4401 Audio Adapter	0
+s	10571801ecc00010	Darla	0
+s	10571801ecc00020	Gina	0
+s	10571801ecc00030	Layla rev.0	0
+s	10571801ecc00031	Layla rev.1	0
+s	10571801ecc00040	Darla24 rev.0	0
+s	10571801ecc00041	Darla24 rev.1	0
+s	10571801ecc00050	Gina24 rev.0	0
+s	10571801ecc00051	Gina24 rev.1	0
+s	10571801ecc00070	Mona rev.0	0
+s	10571801ecc00071	Mona rev.1	0
+s	10571801ecc00072	Mona rev.2	0
+d	105718c0	MPC8265A/8266/8272	0
+d	105718c1	MPC8271/MPC8272	0
+d	10573052	SM56 Data Fax Modem	1
+d	10573055	SM56 Data Fax Modem	0
+d	10573410	DSP56361 Digital Signal Processor	0
+s	10573410ecc00050	Gina24 rev.0	0
+s	10573410ecc00051	Gina24 rev.1	0
+s	10573410ecc00060	Layla24	0
+s	10573410ecc00070	Mona rev.0	0
+s	10573410ecc00071	Mona rev.1	0
+s	10573410ecc00072	Mona rev.2	0
+s	10573410ecc00080	Mia rev.0	0
+s	10573410ecc00081	Mia rev.1	0
+s	10573410ecc00090	Indigo	0
+s	10573410ecc000a0	Indigo IO	0
+s	10573410ecc000b0	Indigo DJ	0
+s	10573410ecc00100	3G	0
+d	10574801	Raven	0
+d	10574802	Falcon	0
+d	10574803	Hawk	0
+d	10574806	CPX8216	0
+d	10574d68	20268	0
+d	10575600	SM56 PCI Modem	0
+s	1057560010570300	SM56 PCI Speakerphone Modem	0
+s	1057560010570301	SM56 PCI Voice Modem	0
+s	1057560010570302	SM56 PCI Fax Modem	0
+s	1057560010575600	SM56 PCI Voice modem	0
+s	1057560013d20300	SM56 PCI Speakerphone Modem	0
+s	1057560013d20301	SM56 PCI Voice modem	0
+s	1057560013d20302	SM56 PCI Fax Modem	0
+s	1057560014360300	SM56 PCI Speakerphone Modem	0
+s	1057560014360301	SM56 PCI Voice modem	0
+s	1057560014360302	SM56 PCI Fax Modem	0
+s	10575600144f100c	SM56 PCI Fax Modem	0
+s	1057560014940300	SM56 PCI Speakerphone Modem	0
+s	1057560014940301	SM56 PCI Voice modem	0
+s	1057560014c80300	SM56 PCI Speakerphone Modem	0
+s	1057560014c80302	SM56 PCI Fax Modem	0
+s	1057560016680300	SM56 PCI Speakerphone Modem	0
+s	1057560016680302	SM56 PCI Fax Modem	0
+d	10575608	Wildcard X100P	0
+d	10575803	MPC5200	0
+d	10575806	MCF54 Coldfire	0
+d	10575808	MPC8220	0
+d	10575809	MPC5200B	0
+d	10576400	MPC190 Security Processor (S1 family, encryption)	0
+d	10576405	MPC184 Security Processor (S1 family)	0
+v	1058	Electronics & Telecommunications RSH	0
+v	1059	Teknor Industrial Computers Inc	0
+v	105a	Promise Technology, Inc.	0
+d	105a0d30	PDC20265 (FastTrak100 Lite/Ultra100)	0
+s	105a0d3010438042	ASUS AV7266-E South Bridge Promise RAID	1
+s	105a0d30105a4d33	Ultra100	0
+d	105a0d38	20263	0
+s	105a0d38105a4d39	Fasttrak66	0
+d	105a1275	20275	0
+d	105a3318	PDC20318 (SATA150 TX4)	0
+d	105a3319	PDC20319 (FastTrak S150 TX4)	0
+s	105a331980863427	S875WP1-E mainboard	0
+d	105a3371	PDC20371 (FastTrak S150 TX2plus)	0
+d	105a3373	PDC20378 (FastTrak 378/SATA 378)	0
+s	105a3373104380f5	K8V Deluxe/PC-DL Deluxe motherboard	0
+s	105a33731462702e	K8T NEO FIS2R motherboard	0
+d	105a3375	PDC20375 (SATA150 TX2plus)	0
+d	105a3376	PDC20376 (FastTrak 376)	0
+s	105a33761043809e	A7V8X motherboard	0
+d	105a3515	PDC40719 [FastTrak TX4300/TX4310]	0
+d	105a3519	PDC40519 (FastTrak TX4200)	0
+d	105a3570	20771 (FastTrak TX2300)	0
+d	105a3571	PDC20571 (FastTrak TX2200)	0
+d	105a3574	PDC20579 SATAII 150 IDE Controller	0
+d	105a3577	PDC40779 (SATA 300 779)	0
+d	105a3d17	PDC40718 (SATA 300 TX4)	0
+d	105a3d18	PDC20518/PDC40518 (SATAII 150 TX4)	0
+d	105a3d73	PDC40775 (SATA 300 TX2plus)	0
+d	105a3d75	PDC20575 (SATAII150 TX2plus)	0
+d	105a4302	80333 [SuperTrak EX4350]	0
+d	105a4d30	PDC20267 (FastTrak100/Ultra100)	0
+s	105a4d30105a4d33	Ultra100	0
+s	105a4d30105a4d39	FastTrak100	0
+s	105a4d3080865744	S845WD1-E mainboard	1
+d	105a4d33	20246	0
+s	105a4d33105a4d33	20246 IDE Controller	0
+d	105a4d38	PDC20262 (FastTrak66/Ultra66)	0
+s	105a4d38105a4d30	Ultra Device on SuperTrak	0
+s	105a4d38105a4d33	Ultra66	0
+s	105a4d38105a4d39	FastTrak66	0
+d	105a4d68	PDC20268 (Ultra100 TX2)	0
+s	105a4d68105a4d68	Ultra100TX2	0
+d	105a4d69	20269	0
+s	105a4d69105a4d68	Ultra133TX2	0
+d	105a5275	PDC20276 (MBFastTrak133 Lite)	0
+s	105a52751043807e	A7V333 motherboard.	0
+s	105a5275105a0275	SuperTrak SX6000 IDE	0
+s	105a5275105a1275	MBFastTrak133 Lite (tm) Controller (RAID mode)	0
+s	105a52751458b001	MBUltra 133	0
+d	105a5300	DC5300	0
+d	105a6268	PDC20270 (FastTrak100 LP/TX2/TX4)	0
+s	105a6268105a4d68	FastTrak100 TX2	0
+d	105a6269	PDC20271 (FastTrak TX2000)	0
+s	105a6269105a6269	FastTrak TX2/TX2000	0
+d	105a6621	PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite)	0
+d	105a6622	PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller	0
+d	105a6624	PDC20621 [FastTrak SX4100]	0
+d	105a6626	PDC20618 (Ultra 618)	0
+d	105a6629	PDC20619 (FastTrak TX4000)	0
+d	105a7275	PDC20277 (SBFastTrak133 Lite)	0
+d	105a8002	SATAII150 SX8	0
+d	105a8350	80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300]	0
+d	105a8650	IOP1348 [SuperTrak SAS8650 series]	1
 d	105a8650	IOP1348 [SuperTrak EX4650/EX8650/EX8654]	1	change to indicate more specific information, please notify if not approvable
-s	105a8650105a4600	SuperTrak EX4650	1	
-s	105a8650105a8601	SuperTrak EX8650	1	
-s	105a8650105a8602	SuperTrak EX8654	1	
-d	105ac350	80333 [SuperTrak EX12350]	0	
-d	105ae350	80333 [SuperTrak EX24350]	1	
-v	105b	Foxconn International, Inc.	0	
-d	105b0c4d	Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)	1	
-v	105c	Wipro Infotech Limited	0	
-v	105d	Number 9 Computer Company	0	
-d	105d2309	Imagine 128	0	
-d	105d2339	Imagine 128-II	0	
-s	105d2339105d0000	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0001	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0002	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0003	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0004	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0005	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0006	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0007	Imagine 128 series 2 4Mb VRAM	0	
-s	105d2339105d0008	Imagine 128 series 2e 4Mb DRAM	0	
-s	105d2339105d0009	Imagine 128 series 2e 4Mb DRAM	0	
-s	105d2339105d000a	Imagine 128 series 2 8Mb VRAM	0	
-s	105d2339105d000b	Imagine 128 series 2 8Mb H-VRAM	0	
-s	105d233911a4000a	Barco Metheus 5 Megapixel	0	
-s	105d233913cc0000	Barco Metheus 5 Megapixel	0	
-s	105d233913cc0004	Barco Metheus 5 Megapixel	0	
-s	105d233913cc0005	Barco Metheus 5 Megapixel	0	
-s	105d233913cc0006	Barco Metheus 5 Megapixel	0	
-s	105d233913cc0008	Barco Metheus 5 Megapixel	0	
-s	105d233913cc0009	Barco Metheus 5 Megapixel	0	
-s	105d233913cc000a	Barco Metheus 5 Megapixel	0	
-s	105d233913cc000c	Barco Metheus 5 Megapixel	0	
-d	105d493d	Imagine 128 T2R [Ticket to Ride]	0	
-s	105d493d11a4000a	Barco Metheus 5 Megapixel, Dual Head	0	
-s	105d493d11a4000b	Barco Metheus 5 Megapixel, Dual Head	0	
-s	105d493d13cc0002	Barco Metheus 4 Megapixel, Dual Head	0	
-s	105d493d13cc0003	Barco Metheus 5 Megapixel, Dual Head	0	
-s	105d493d13cc0007	Barco Metheus 5 Megapixel, Dual Head	0	
-s	105d493d13cc0008	Barco Metheus 5 Megapixel, Dual Head	0	
-s	105d493d13cc0009	Barco Metheus 5 Megapixel, Dual Head	0	
-s	105d493d13cc000a	Barco Metheus 5 Megapixel, Dual Head	0	
-d	105d5348	Revolution 4	0	
-s	105d5348105d0037	Revolution IV-FP AGP (For SGI 1600SW)	0	
-s	105d534811a40028	PVS5600M	0	
-s	105d534811a40038	PVS5600D	0	
-v	105e	Vtech Computers Ltd	0	
-v	105f	Infotronic America Inc	0	
-v	1060	United Microelectronics [UMC]	0	
-d	10600001	UM82C881	0	
-d	10600002	UM82C886	0	
-d	10600101	UM8673F	0	
-d	10600881	UM8881	0	
-d	10600886	UM8886F	0	
-d	10600891	UM8891A	0	
-d	10601001	UM886A	0	
-d	1060673a	UM8886BF	0	
-d	1060673b	EIDE Master/DMA	0	
-d	10608710	UM8710	0	
-d	1060886a	UM8886A	0	
-d	10608881	UM8881F	0	
-d	10608886	UM8886F	0	
-d	1060888a	UM8886A	0	
-d	10608891	UM8891A	0	
-d	10609017	UM9017F	0	
-d	10609018	UM9018	0	
-d	10609026	UM9026	0	
-d	1060e881	UM8881N	0	
-d	1060e886	UM8886N	0	
-d	1060e88a	UM8886N	0	
-d	1060e891	UM8891N	0	
-v	1061	I.I.T.	0	
-d	10610001	AGX016	0	
-d	10610002	IIT3204/3501	0	
-v	1062	Maspar Computer Corp	0	
-v	1063	Ocean Office Automation	0	
-v	1064	Alcatel	0	
-v	1065	Texas Microsystems	0	
-v	1066	PicoPower Technology	0	
-d	10660000	PT80C826	0	
-d	10660001	PT86C521 [Vesuvius v1] Host Bridge	0	
-d	10660002	PT86C523 [Vesuvius v3] PCI-ISA Bridge Master	0	
-d	10660003	PT86C524 [Nile] PCI-to-PCI Bridge	0	
-d	10660004	PT86C525 [Nile-II] PCI-to-PCI Bridge	0	
-d	10660005	National PC87550 System Controller	0	
-d	10668002	PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave	0	
-v	1067	Mitsubishi Electric	0	
-d	10670301	AccelGraphics AccelECLIPSE	0	
-d	10670304	AccelGALAXY A2100 [OEM Evans & Sutherland]	0	
-d	10670308	Tornado 3000 [OEM Evans & Sutherland]	0	
-d	10671002	VG500 [VolumePro Volume Rendering Accelerator]	0	
-v	1068	Diversified Technology	0	
-v	1069	Mylex Corporation	0	
-d	10690001	DAC960P	0	
-d	10690002	DAC960PD	0	
-d	10690010	DAC960PG	0	
-d	10690020	DAC960LA	0	
-d	10690050	AcceleRAID 352/170/160 support Device	0	
-s	1069005010690050	AcceleRAID 352 support Device	0	
-s	1069005010690052	AcceleRAID 170 support Device	0	
-s	1069005010690054	AcceleRAID 160 support Device	0	
-d	1069b166	AcceleRAID 600/500/400/Sapphire support Device	0	
-s	1069b16610140242	iSeries 2872 DASD IOA	0	
-s	1069b16610140266	Dual Channel PCI-X U320 SCSI Adapter	0	
-s	1069b16610140278	Dual Channel PCI-X U320 SCSI RAID Adapter	0	
-s	1069b166101402d3	Dual Channel PCI-X U320 SCSI Adapter	0	
-s	1069b166101402d4	Dual Channel PCI-X U320 SCSI RAID Adapter	0	
-s	1069b16610690200	AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID	0	
-s	1069b16610690202	AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID	0	
-s	1069b16610690204	AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID	0	
-s	1069b16610690206	AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID	0	
-d	1069ba55	eXtremeRAID 1100 support Device	0	
-d	1069ba56	eXtremeRAID 2000/3000 support Device	0	
-s	1069ba5610690030	eXtremeRAID 3000 support Device	0	
-s	1069ba5610690040	eXtremeRAID 2000 support Device	0	
-d	1069ba57	eXtremeRAID 4000/5000 support Device	0	
-s	1069ba5710690072	eXtremeRAID 5000 support Device	0	
-v	106a	Aten Research Inc	0	
-v	106b	Apple Computer Inc.	0	
-d	106b0001	Bandit PowerPC host bridge	0	
-d	106b0002	Grand Central I/O	0	
-d	106b0003	Control Video	0	
-d	106b0004	PlanB Video-In	0	
-d	106b0007	O'Hare I/O	0	
-d	106b000c	DOS on Mac	0	
-d	106b000e	Hydra Mac I/O	0	
-d	106b0010	Heathrow Mac I/O	0	
-d	106b0017	Paddington Mac I/O	0	
-d	106b0018	UniNorth FireWire	0	
-d	106b0019	KeyLargo USB	0	
-d	106b001e	UniNorth Internal PCI	0	
-d	106b001f	UniNorth PCI	0	
-d	106b0020	UniNorth AGP	0	
-d	106b0021	UniNorth GMAC (Sun GEM)	0	
-d	106b0022	KeyLargo Mac I/O	0	
-d	106b0024	UniNorth/Pangea GMAC (Sun GEM)	0	
-d	106b0025	KeyLargo/Pangea Mac I/O	0	
-d	106b0026	KeyLargo/Pangea USB	0	
-d	106b0027	UniNorth/Pangea AGP	0	
-d	106b0028	UniNorth/Pangea PCI	0	
-d	106b0029	UniNorth/Pangea Internal PCI	0	
-d	106b002d	UniNorth 1.5 AGP	0	
-d	106b002e	UniNorth 1.5 PCI	0	
-d	106b002f	UniNorth 1.5 Internal PCI	0	
-d	106b0030	UniNorth/Pangea FireWire	0	
-d	106b0031	UniNorth 2 FireWire	0	
-s	106b0031106b5811	iBook G4 2004	0	
-d	106b0032	UniNorth 2 GMAC (Sun GEM)	0	
-d	106b0033	UniNorth 2 ATA/100	0	
-d	106b0034	UniNorth 2 AGP	0	
-d	106b0035	UniNorth 2 PCI	0	
-d	106b0036	UniNorth 2 Internal PCI	0	
-d	106b003b	UniNorth/Intrepid ATA/100	0	
-d	106b003e	KeyLargo/Intrepid Mac I/O	0	
-d	106b003f	KeyLargo/Intrepid USB	0	
-d	106b0040	K2 KeyLargo USB	0	
-d	106b0041	K2 KeyLargo Mac/IO	0	
-d	106b0042	K2 FireWire	0	
-d	106b0043	K2 ATA/100	0	
-d	106b0045	K2 HT-PCI Bridge	0	
-d	106b0046	K2 HT-PCI Bridge	0	
-d	106b0047	K2 HT-PCI Bridge	0	
-d	106b0048	K2 HT-PCI Bridge	0	
-d	106b0049	K2 HT-PCI Bridge	0	
-d	106b004b	U3 AGP	0	
-d	106b004c	K2 GMAC (Sun GEM)	0	
-d	106b004f	Shasta Mac I/O	0	
-d	106b0050	Shasta IDE	0	
-d	106b0051	Shasta (Sun GEM)	0	
-d	106b0052	Shasta Firewire	0	
-d	106b0053	Shasta PCI Bridge	0	
-d	106b0054	Shasta PCI Bridge	0	
-d	106b0055	Shasta PCI Bridge	0	
-d	106b0058	U3L AGP Bridge	0	
-d	106b0059	U3H AGP Bridge	0	
-d	106b0066	Intrepid2 AGP Bridge	0	
-d	106b0067	Intrepid2 PCI Bridge	0	
-d	106b0068	Intrepid2 PCI Bridge	0	
-d	106b0069	Intrepid2 ATA/100	0	
-d	106b006a	Intrepid2 Firewire	0	
-d	106b006b	Intrepid2 GMAC (Sun GEM)	0	
-d	106b1645	Tigon3 Gigabit Ethernet NIC (BCM5701)	0	
-v	106c	Hynix Semiconductor	0	
-d	106c8801	Dual Pentium ISA/PCI Motherboard	0	
-d	106c8802	PowerPC ISA/PCI Motherboard	0	
-d	106c8803	Dual Window Graphics Accelerator	0	
-d	106c8804	LAN Controller	0	
-d	106c8805	100-BaseT LAN	0	
-v	106d	Sequent Computer Systems	0	
-v	106e	DFI, Inc	0	
-v	106f	City Gate Development Ltd	0	
-v	1070	Daewoo Telecom Ltd	0	
-v	1071	Mitac	0	
-d	10718160	Mitac 8060B Mobile Platform	0	
-v	1072	GIT Co Ltd	0	
-v	1073	Yamaha Corporation	0	
-d	10730001	3D GUI Accelerator	0	
-d	10730002	YGV615 [RPA3 3D-Graphics Controller]	0	
-d	10730003	YMF-740	0	
-d	10730004	YMF-724	0	
-s	1073000410730004	YMF724-Based PCI Audio Adapter	0	
-d	10730005	DS1 Audio	0	
-s	1073000510730005	DS-XG PCI Audio CODEC	0	
-d	10730006	DS1 Audio	0	
-d	10730008	DS1 Audio	0	
-s	1073000810730008	DS-XG PCI Audio CODEC	0	
-d	1073000a	DS1L Audio	0	
-s	1073000a10730004	DS-XG PCI Audio CODEC	0	
-s	1073000a1073000a	DS-XG PCI Audio CODEC	0	
-d	1073000c	YMF-740C [DS-1L Audio Controller]	0	
-s	1073000c107a000c	DS-XG PCI Audio CODEC	0	
-d	1073000d	YMF-724F [DS-1 Audio Controller]	0	
-s	1073000d1073000d	DS-XG PCI Audio CODEC	0	
-d	10730010	YMF-744B [DS-1S Audio Controller]	0	
-s	1073001010730006	DS-XG PCI Audio CODEC	0	
-s	1073001010730010	DS-XG PCI Audio CODEC	0	
-d	10730012	YMF-754 [DS-1E Audio Controller]	0	
-s	1073001210730012	DS-XG PCI Audio Codec	0	
-d	10730020	DS-1 Audio	0	
+s	105a8650105a4600	SuperTrak EX4650	1
+s	105a8650105a8601	SuperTrak EX8650	1
+s	105a8650105a8602	SuperTrak EX8654	1
+d	105ac350	80333 [SuperTrak EX12350]	0
+d	105ae350	80333 [SuperTrak EX24350]	1
+v	105b	Foxconn International, Inc.	0
+d	105b0c4d	Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)	1
+v	105c	Wipro Infotech Limited	0
+v	105d	Number 9 Computer Company	0
+d	105d2309	Imagine 128	0
+d	105d2339	Imagine 128-II	0
+s	105d2339105d0000	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0001	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0002	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0003	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0004	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0005	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0006	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0007	Imagine 128 series 2 4Mb VRAM	0
+s	105d2339105d0008	Imagine 128 series 2e 4Mb DRAM	0
+s	105d2339105d0009	Imagine 128 series 2e 4Mb DRAM	0
+s	105d2339105d000a	Imagine 128 series 2 8Mb VRAM	0
+s	105d2339105d000b	Imagine 128 series 2 8Mb H-VRAM	0
+s	105d233911a4000a	Barco Metheus 5 Megapixel	0
+s	105d233913cc0000	Barco Metheus 5 Megapixel	0
+s	105d233913cc0004	Barco Metheus 5 Megapixel	0
+s	105d233913cc0005	Barco Metheus 5 Megapixel	0
+s	105d233913cc0006	Barco Metheus 5 Megapixel	0
+s	105d233913cc0008	Barco Metheus 5 Megapixel	0
+s	105d233913cc0009	Barco Metheus 5 Megapixel	0
+s	105d233913cc000a	Barco Metheus 5 Megapixel	0
+s	105d233913cc000c	Barco Metheus 5 Megapixel	0
+d	105d493d	Imagine 128 T2R [Ticket to Ride]	0
+s	105d493d11a4000a	Barco Metheus 5 Megapixel, Dual Head	0
+s	105d493d11a4000b	Barco Metheus 5 Megapixel, Dual Head	0
+s	105d493d13cc0002	Barco Metheus 4 Megapixel, Dual Head	0
+s	105d493d13cc0003	Barco Metheus 5 Megapixel, Dual Head	0
+s	105d493d13cc0007	Barco Metheus 5 Megapixel, Dual Head	0
+s	105d493d13cc0008	Barco Metheus 5 Megapixel, Dual Head	0
+s	105d493d13cc0009	Barco Metheus 5 Megapixel, Dual Head	0
+s	105d493d13cc000a	Barco Metheus 5 Megapixel, Dual Head	0
+d	105d5348	Revolution 4	0
+s	105d5348105d0037	Revolution IV-FP AGP (For SGI 1600SW)	0
+s	105d534811a40028	PVS5600M	0
+s	105d534811a40038	PVS5600D	0
+v	105e	Vtech Computers Ltd	0
+v	105f	Infotronic America Inc	0
+v	1060	United Microelectronics [UMC]	0
+d	10600001	UM82C881	0
+d	10600002	UM82C886	0
+d	10600101	UM8673F	0
+d	10600881	UM8881	0
+d	10600886	UM8886F	0
+d	10600891	UM8891A	0
+d	10601001	UM886A	0
+d	1060673a	UM8886BF	0
+d	1060673b	EIDE Master/DMA	0
+d	10608710	UM8710	0
+d	1060886a	UM8886A	0
+d	10608881	UM8881F	0
+d	10608886	UM8886F	0
+d	1060888a	UM8886A	0
+d	10608891	UM8891A	0
+d	10609017	UM9017F	0
+d	10609018	UM9018	0
+d	10609026	UM9026	0
+d	1060e881	UM8881N	0
+d	1060e886	UM8886N	0
+d	1060e88a	UM8886N	0
+d	1060e891	UM8891N	0
+v	1061	I.I.T.	0
+d	10610001	AGX016	0
+d	10610002	IIT3204/3501	0
+v	1062	Maspar Computer Corp	0
+v	1063	Ocean Office Automation	0
+v	1064	Alcatel	0
+v	1065	Texas Microsystems	0
+v	1066	PicoPower Technology	0
+d	10660000	PT80C826	0
+d	10660001	PT86C521 [Vesuvius v1] Host Bridge	0
+d	10660002	PT86C523 [Vesuvius v3] PCI-ISA Bridge Master	0
+d	10660003	PT86C524 [Nile] PCI-to-PCI Bridge	0
+d	10660004	PT86C525 [Nile-II] PCI-to-PCI Bridge	0
+d	10660005	National PC87550 System Controller	0
+d	10668002	PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave	0
+v	1067	Mitsubishi Electric	0
+d	10670301	AccelGraphics AccelECLIPSE	0
+d	10670304	AccelGALAXY A2100 [OEM Evans & Sutherland]	0
+d	10670308	Tornado 3000 [OEM Evans & Sutherland]	0
+d	10671002	VG500 [VolumePro Volume Rendering Accelerator]	0
+v	1068	Diversified Technology	0
+v	1069	Mylex Corporation	0
+d	10690001	DAC960P	0
+d	10690002	DAC960PD	0
+d	10690010	DAC960PG	0
+d	10690020	DAC960LA	0
+d	10690050	AcceleRAID 352/170/160 support Device	0
+s	1069005010690050	AcceleRAID 352 support Device	0
+s	1069005010690052	AcceleRAID 170 support Device	0
+s	1069005010690054	AcceleRAID 160 support Device	0
+d	1069b166	AcceleRAID 600/500/400/Sapphire support Device	0
+s	1069b16610140242	iSeries 2872 DASD IOA	0
+s	1069b16610140266	Dual Channel PCI-X U320 SCSI Adapter	0
+s	1069b16610140278	Dual Channel PCI-X U320 SCSI RAID Adapter	0
+s	1069b166101402d3	Dual Channel PCI-X U320 SCSI Adapter	0
+s	1069b166101402d4	Dual Channel PCI-X U320 SCSI RAID Adapter	0
+s	1069b16610690200	AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID	0
+s	1069b16610690202	AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID	0
+s	1069b16610690204	AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID	0
+s	1069b16610690206	AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID	0
+d	1069ba55	eXtremeRAID 1100 support Device	0
+d	1069ba56	eXtremeRAID 2000/3000 support Device	0
+s	1069ba5610690030	eXtremeRAID 3000 support Device	0
+s	1069ba5610690040	eXtremeRAID 2000 support Device	0
+d	1069ba57	eXtremeRAID 4000/5000 support Device	0
+s	1069ba5710690072	eXtremeRAID 5000 support Device	0
+v	106a	Aten Research Inc	0
+v	106b	Apple Computer Inc.	0
+d	106b0001	Bandit PowerPC host bridge	0
+d	106b0002	Grand Central I/O	0
+d	106b0003	Control Video	0
+d	106b0004	PlanB Video-In	0
+d	106b0007	O'Hare I/O	0
+d	106b000c	DOS on Mac	0
+d	106b000e	Hydra Mac I/O	0
+d	106b0010	Heathrow Mac I/O	0
+d	106b0017	Paddington Mac I/O	0
+d	106b0018	UniNorth FireWire	0
+d	106b0019	KeyLargo USB	0
+d	106b001e	UniNorth Internal PCI	0
+d	106b001f	UniNorth PCI	0
+d	106b0020	UniNorth AGP	0
+d	106b0021	UniNorth GMAC (Sun GEM)	0
+d	106b0022	KeyLargo Mac I/O	0
+d	106b0024	UniNorth/Pangea GMAC (Sun GEM)	0
+d	106b0025	KeyLargo/Pangea Mac I/O	0
+d	106b0026	KeyLargo/Pangea USB	0
+d	106b0027	UniNorth/Pangea AGP	0
+d	106b0028	UniNorth/Pangea PCI	0
+d	106b0029	UniNorth/Pangea Internal PCI	0
+d	106b002d	UniNorth 1.5 AGP	0
+d	106b002e	UniNorth 1.5 PCI	0
+d	106b002f	UniNorth 1.5 Internal PCI	0
+d	106b0030	UniNorth/Pangea FireWire	0
+d	106b0031	UniNorth 2 FireWire	0
+s	106b0031106b5811	iBook G4 2004	0
+d	106b0032	UniNorth 2 GMAC (Sun GEM)	0
+d	106b0033	UniNorth 2 ATA/100	0
+d	106b0034	UniNorth 2 AGP	0
+d	106b0035	UniNorth 2 PCI	0
+d	106b0036	UniNorth 2 Internal PCI	0
+d	106b003b	UniNorth/Intrepid ATA/100	0
+d	106b003e	KeyLargo/Intrepid Mac I/O	0
+d	106b003f	KeyLargo/Intrepid USB	0
+d	106b0040	K2 KeyLargo USB	0
+d	106b0041	K2 KeyLargo Mac/IO	0
+d	106b0042	K2 FireWire	0
+d	106b0043	K2 ATA/100	0
+d	106b0045	K2 HT-PCI Bridge	0
+d	106b0046	K2 HT-PCI Bridge	0
+d	106b0047	K2 HT-PCI Bridge	0
+d	106b0048	K2 HT-PCI Bridge	0
+d	106b0049	K2 HT-PCI Bridge	0
+d	106b004b	U3 AGP	0
+d	106b004c	K2 GMAC (Sun GEM)	0
+d	106b004f	Shasta Mac I/O	0
+d	106b0050	Shasta IDE	0
+d	106b0051	Shasta (Sun GEM)	0
+d	106b0052	Shasta Firewire	0
+d	106b0053	Shasta PCI Bridge	0
+d	106b0054	Shasta PCI Bridge	0
+d	106b0055	Shasta PCI Bridge	0
+d	106b0058	U3L AGP Bridge	0
+d	106b0059	U3H AGP Bridge	0
+d	106b0066	Intrepid2 AGP Bridge	0
+d	106b0067	Intrepid2 PCI Bridge	0
+d	106b0068	Intrepid2 PCI Bridge	0
+d	106b0069	Intrepid2 ATA/100	0
+d	106b006a	Intrepid2 Firewire	0
+d	106b006b	Intrepid2 GMAC (Sun GEM)	0
+d	106b1645	Tigon3 Gigabit Ethernet NIC (BCM5701)	0
+v	106c	Hynix Semiconductor	0
+d	106c8801	Dual Pentium ISA/PCI Motherboard	0
+d	106c8802	PowerPC ISA/PCI Motherboard	0
+d	106c8803	Dual Window Graphics Accelerator	0
+d	106c8804	LAN Controller	0
+d	106c8805	100-BaseT LAN	0
+v	106d	Sequent Computer Systems	0
+v	106e	DFI, Inc	0
+v	106f	City Gate Development Ltd	0
+v	1070	Daewoo Telecom Ltd	0
+v	1071	Mitac	0
+d	10718160	Mitac 8060B Mobile Platform	0
+v	1072	GIT Co Ltd	0
+v	1073	Yamaha Corporation	0
+d	10730001	3D GUI Accelerator	0
+d	10730002	YGV615 [RPA3 3D-Graphics Controller]	0
+d	10730003	YMF-740	0
+d	10730004	YMF-724	0
+s	1073000410730004	YMF724-Based PCI Audio Adapter	0
+d	10730005	DS1 Audio	0
+s	1073000510730005	DS-XG PCI Audio CODEC	0
+d	10730006	DS1 Audio	0
+d	10730008	DS1 Audio	0
+s	1073000810730008	DS-XG PCI Audio CODEC	0
+d	1073000a	DS1L Audio	0
+s	1073000a10730004	DS-XG PCI Audio CODEC	0
+s	1073000a1073000a	DS-XG PCI Audio CODEC	0
+d	1073000c	YMF-740C [DS-1L Audio Controller]	0
+s	1073000c107a000c	DS-XG PCI Audio CODEC	0
+d	1073000d	YMF-724F [DS-1 Audio Controller]	0
+s	1073000d1073000d	DS-XG PCI Audio CODEC	0
+d	10730010	YMF-744B [DS-1S Audio Controller]	0
+s	1073001010730006	DS-XG PCI Audio CODEC	0
+s	1073001010730010	DS-XG PCI Audio CODEC	0
+d	10730012	YMF-754 [DS-1E Audio Controller]	0
+s	1073001210730012	DS-XG PCI Audio Codec	0
+d	10730020	DS-1 Audio	0
 d	10731000	SW1000XG	1	aka XG Factory, powerfull yahama soundcard
-d	10732000	DS2416 Digital Mixing Card	0	
-s	1073200010732000	DS2416 Digital Mixing Card	0	
-v	1074	NexGen Microsystems	0	
-d	10744e78	82c500/1	0	
-v	1075	Advanced Integrations Research	0	
-v	1076	Chaintech Computer Co. Ltd	0	
-v	1077	QLogic Corp.	0	
-d	10771016	ISP10160 Single Channel Ultra3 SCSI Processor	0	
-d	10771020	ISP1020 Fast-wide SCSI	0	
-d	10771022	ISP1022 Fast-wide SCSI	0	
-d	10771080	ISP1080 SCSI Host Adapter	0	
-d	10771216	ISP12160 Dual Channel Ultra3 SCSI Processor	0	
-s	10771216101e8471	QLA12160 on AMI MegaRAID	0	
-s	10771216101e8493	QLA12160 on AMI MegaRAID	0	
-d	10771240	ISP1240 SCSI Host Adapter	0	
-d	10771280	ISP1280 SCSI Host Adapter	0	
-d	10772020	ISP2020A Fast!SCSI Basic Adapter	0	
-d	10772100	QLA2100 64-bit Fibre Channel Adapter	0	
-s	1077210010770001	QLA2100 64-bit Fibre Channel Adapter	0	
-d	10772200	QLA2200 64-bit Fibre Channel Adapter	0	
-s	1077220010770002	QLA2200	0	
-d	10772300	QLA2300 64-bit Fibre Channel Adapter	0	
-d	10772312	ISP2312-based 2Gb Fibre Channel to PCI-X HBA	0	
-s	10772312103c0131	2Gb Fibre Channel - Single port [A7538A]	0	
-s	10772312103c12ba	2Gb Fibre Channel - Dual port [A6826A]	0	
-d	10772322	ISP2322-based 2Gb Fibre Channel to PCI-X HBA	0	
-d	10772422	ISP2422-based 4Gb Fibre Channel to PCI-X HBA	0	
-s	10772422103c12d7	4Gb Fibre Channel [AB379A]	0	
-s	10772422103c12dd	4Gb Fibre Channel [AB429A]	0	
-d	10772432	ISP2432-based 4Gb Fibre Channel to PCI Express HBA	0	
-d	10773022	ISP4022-based Ethernet NIC	0	
+d	10732000	DS2416 Digital Mixing Card	0
+s	1073200010732000	DS2416 Digital Mixing Card	0
+v	1074	NexGen Microsystems	0
+d	10744e78	82c500/1	0
+v	1075	Advanced Integrations Research	0
+v	1076	Chaintech Computer Co. Ltd	0
+v	1077	QLogic Corp.	0
+d	10771016	ISP10160 Single Channel Ultra3 SCSI Processor	0
+d	10771020	ISP1020 Fast-wide SCSI	0
+d	10771022	ISP1022 Fast-wide SCSI	0
+d	10771080	ISP1080 SCSI Host Adapter	0
+d	10771216	ISP12160 Dual Channel Ultra3 SCSI Processor	0
+s	10771216101e8471	QLA12160 on AMI MegaRAID	0
+s	10771216101e8493	QLA12160 on AMI MegaRAID	0
+d	10771240	ISP1240 SCSI Host Adapter	0
+d	10771280	ISP1280 SCSI Host Adapter	0
+d	10772020	ISP2020A Fast!SCSI Basic Adapter	0
+d	10772100	QLA2100 64-bit Fibre Channel Adapter	0
+s	1077210010770001	QLA2100 64-bit Fibre Channel Adapter	0
+d	10772200	QLA2200 64-bit Fibre Channel Adapter	0
+s	1077220010770002	QLA2200	0
+d	10772300	QLA2300 64-bit Fibre Channel Adapter	0
+d	10772312	ISP2312-based 2Gb Fibre Channel to PCI-X HBA	0
+s	10772312103c0131	2Gb Fibre Channel - Single port [A7538A]	0
+s	10772312103c12ba	2Gb Fibre Channel - Dual port [A6826A]	0
+d	10772322	ISP2322-based 2Gb Fibre Channel to PCI-X HBA	0
+d	10772422	ISP2422-based 4Gb Fibre Channel to PCI-X HBA	0
+s	10772422103c12d7	4Gb Fibre Channel [AB379A]	0
+s	10772422103c12dd	4Gb Fibre Channel [AB429A]	0
+d	10772432	ISP2432-based 4Gb Fibre Channel to PCI Express HBA	0
+d	10773022	ISP4022-based Ethernet NIC	0
 d	10773032	ISP4032-based Ethernet IPv6 NIC	1	Clarification, this new ASIC supports IPv6
-d	10773032	ISP4032-based Ethernet NIC	0	
-d	10774010	ISP4010-based iSCSI TOE HBA	0	
-d	10774022	ISP4022-based iSCSI TOE HBA	0	
-d	10774032	ISP4032-based iSCSI TOE IPv6 HBA	0	
-d	10775432	SP232-based 4Gb Fibre Channel to PCI Express HBA	0	
-d	10776312	SP202-based 2Gb Fibre Channel to PCI-X HBA	0	
-d	10776322	SP212-based 2Gb Fibre Channel to PCI-X HBA	0	
-v	1078	Cyrix Corporation	0	
-d	10780000	5510 [Grappa]	0	
-d	10780001	PCI Master	0	
-d	10780002	5520 [Cognac]	0	
-d	10780100	5530 Legacy [Kahlua]	0	
-d	10780101	5530 SMI [Kahlua]	0	
-d	10780102	5530 IDE [Kahlua]	0	
-d	10780103	5530 Audio [Kahlua]	0	
-d	10780104	5530 Video [Kahlua]	0	
-d	10780400	ZFMicro PCI Bridge	0	
-d	10780401	ZFMicro Chipset SMI	0	
-d	10780402	ZFMicro Chipset IDE	0	
-d	10780403	ZFMicro Expansion Bus	0	
-v	1079	I-Bus	0	
-v	107a	NetWorth	0	
-v	107b	Gateway 2000	0	
-v	107c	LG Electronics [Lucky Goldstar Co. Ltd]	0	
-v	107d	LeadTek Research Inc.	0	
-d	107d0000	P86C850	0	
-d	107d204d	[GeForce 7800 GTX] Winfast PX7800 GTX TDH	0	
-d	107d2134	WinFast 3D S320 II	0	
-d	107d2971	[GeForce FX 5900] WinFast A350 TDH MyViVo	0	
-v	107e	Interphase Corporation	0	
-d	107e0001	5515 ATM Adapter [Flipper]	0	
-d	107e0002	100 VG AnyLan Controller	0	
-d	107e0004	5526 Fibre Channel Host Adapter	0	
-d	107e0005	x526 Fibre Channel Host Adapter	0	
-d	107e0008	5525/5575 ATM Adapter (155 Mbit) [Atlantic]	0	
-d	107e9003	5535-4P-BRI-ST	0	
-d	107e9007	5535-4P-BRI-U	0	
-d	107e9008	5535-1P-SR	0	
-d	107e900c	5535-1P-SR-ST	0	
-d	107e900e	5535-1P-SR-U	0	
-d	107e9011	5535-1P-PRI	0	
-d	107e9013	5535-2P-PRI	0	
-d	107e9023	5536-4P-BRI-ST	0	
-d	107e9027	5536-4P-BRI-U	0	
-d	107e9031	5536-1P-PRI	0	
-d	107e9033	5536-2P-PRI	0	
-v	107f	Data Technology Corporation	0	
-d	107f0802	SL82C105	0	
-v	1080	Contaq Microsystems	0	
-d	10800600	82C599	0	
-d	1080c691	Cypress CY82C691	0	
-d	1080c693	82c693	0	
-v	1081	Supermac Technology	0	
-d	10810d47	Radius PCI to NuBUS Bridge	0	
-v	1082	EFA Corporation of America	0	
-v	1083	Forex Computer Corporation	0	
-d	10830001	FR710	0	
-v	1084	Parador	0	
-v	1085	Tulip Computers Int.B.V.	0	
-v	1086	J. Bond Computer Systems	0	
-v	1087	Cache Computer	0	
-v	1088	Microcomputer Systems (M) Son	0	
-v	1089	Data General Corporation	0	
+d	10773032	ISP4032-based Ethernet NIC	0
+d	10774010	ISP4010-based iSCSI TOE HBA	0
+d	10774022	ISP4022-based iSCSI TOE HBA	0
+d	10774032	ISP4032-based iSCSI TOE IPv6 HBA	0
+d	10775432	SP232-based 4Gb Fibre Channel to PCI Express HBA	0
+d	10776312	SP202-based 2Gb Fibre Channel to PCI-X HBA	0
+d	10776322	SP212-based 2Gb Fibre Channel to PCI-X HBA	0
+v	1078	Cyrix Corporation	0
+d	10780000	5510 [Grappa]	0
+d	10780001	PCI Master	0
+d	10780002	5520 [Cognac]	0
+d	10780100	5530 Legacy [Kahlua]	0
+d	10780101	5530 SMI [Kahlua]	0
+d	10780102	5530 IDE [Kahlua]	0
+d	10780103	5530 Audio [Kahlua]	0
+d	10780104	5530 Video [Kahlua]	0
+d	10780400	ZFMicro PCI Bridge	0
+d	10780401	ZFMicro Chipset SMI	0
+d	10780402	ZFMicro Chipset IDE	0
+d	10780403	ZFMicro Expansion Bus	0
+v	1079	I-Bus	0
+v	107a	NetWorth	0
+v	107b	Gateway 2000	0
+v	107c	LG Electronics [Lucky Goldstar Co. Ltd]	0
+v	107d	LeadTek Research Inc.	0
+d	107d0000	P86C850	0
+d	107d204d	[GeForce 7800 GTX] Winfast PX7800 GTX TDH	0
+d	107d2134	WinFast 3D S320 II	0
+d	107d2971	[GeForce FX 5900] WinFast A350 TDH MyViVo	0
+v	107e	Interphase Corporation	0
+d	107e0001	5515 ATM Adapter [Flipper]	0
+d	107e0002	100 VG AnyLan Controller	0
+d	107e0004	5526 Fibre Channel Host Adapter	0
+d	107e0005	x526 Fibre Channel Host Adapter	0
+d	107e0008	5525/5575 ATM Adapter (155 Mbit) [Atlantic]	0
+d	107e9003	5535-4P-BRI-ST	0
+d	107e9007	5535-4P-BRI-U	0
+d	107e9008	5535-1P-SR	0
+d	107e900c	5535-1P-SR-ST	0
+d	107e900e	5535-1P-SR-U	0
+d	107e9011	5535-1P-PRI	0
+d	107e9013	5535-2P-PRI	0
+d	107e9023	5536-4P-BRI-ST	0
+d	107e9027	5536-4P-BRI-U	0
+d	107e9031	5536-1P-PRI	0
+d	107e9033	5536-2P-PRI	0
+v	107f	Data Technology Corporation	0
+d	107f0802	SL82C105	0
+v	1080	Contaq Microsystems	0
+d	10800600	82C599	0
+d	1080c691	Cypress CY82C691	0
+d	1080c693	82c693	0
+v	1081	Supermac Technology	0
+d	10810d47	Radius PCI to NuBUS Bridge	0
+v	1082	EFA Corporation of America	0
+v	1083	Forex Computer Corporation	0
+d	10830001	FR710	0
+v	1084	Parador	0
+v	1085	Tulip Computers Int.B.V.	0
+v	1086	J. Bond Computer Systems	0
+v	1087	Cache Computer	0
+v	1088	Microcomputer Systems (M) Son	0
+v	1089	Data General Corporation	0
 v	108a	SBS Technologies	0	Formerly Bit3 Computer Corp.
-d	108a0001	VME Bridge Model 617	0	
-d	108a0010	VME Bridge Model 618	0	
-d	108a0040	dataBLIZZARD	0	
-d	108a3000	VME Bridge Model 2706	0	
-v	108c	Oakleigh Systems Inc.	0	
-v	108d	Olicom	0	
-d	108d0001	Token-Ring 16/4 PCI Adapter (3136/3137)	0	
-d	108d0002	16/4 Token Ring	0	
-d	108d0004	RapidFire 3139 Token-Ring 16/4 PCI Adapter	0	
-s	108d0004108d0004	OC-3139/3140 RapidFire Token-Ring 16/4 Adapter	0	
-d	108d0005	GoCard 3250 Token-Ring 16/4 CardBus PC Card	0	
-d	108d0006	OC-3530 RapidFire Token-Ring 100	0	
-d	108d0007	RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter	0	
-s	108d0007108d0007	OC-3141 RapidFire Token-Ring 16/4 Adapter	0	
-d	108d0008	RapidFire 3540 HSTR 100/16/4 PCI Adapter	0	
-s	108d0008108d0008	OC-3540 RapidFire HSTR 100/16/4 Adapter	0	
-d	108d0011	OC-2315	0	
-d	108d0012	OC-2325	0	
-d	108d0013	OC-2183/2185	0	
-d	108d0014	OC-2326	0	
-d	108d0019	OC-2327/2250 10/100 Ethernet Adapter	0	
-s	108d0019108d0016	OC-2327 Rapidfire 10/100 Ethernet Adapter	0	
-s	108d0019108d0017	OC-2250 GoCard 10/100 Ethernet Adapter	0	
-d	108d0021	OC-6151/6152 [RapidFire ATM 155]	0	
-d	108d0022	ATM Adapter	0	
-v	108e	Sun Microsystems Computer Corp.	0	
-d	108e0001	EBUS	0	
-d	108e1000	EBUS	0	
-d	108e1001	Happy Meal	0	
-d	108e1100	RIO EBUS	0	
-d	108e1101	RIO GEM	0	
-d	108e1102	RIO 1394	0	
-d	108e1103	RIO USB	0	
-d	108e1648	[bge] Gigabit Ethernet	0	
-d	108e2bad	GEM	0	
-d	108e5000	Simba Advanced PCI Bridge	0	
-d	108e5043	SunPCI Co-processor	0	
-d	108e8000	Psycho PCI Bus Module	0	
-d	108e8001	Schizo PCI Bus Module	0	
-d	108e8002	Schizo+ PCI Bus Module	0	
-d	108ea000	Ultra IIi	0	
-d	108ea001	Ultra IIe	0	
-d	108ea801	Tomatillo PCI Bus Module	0	
-d	108eabba	Cassini 10/100/1000	0	
-v	108f	Systemsoft	0	
-v	1090	Compro Computer Services, Inc.	0	
-v	1091	Intergraph Corporation	0	
-d	10910020	3D graphics processor	0	
-d	10910021	3D graphics processor w/Texturing	0	
-d	10910040	3D graphics frame buffer	0	
-d	10910041	3D graphics frame buffer	0	
-d	10910060	Proprietary bus bridge	0	
-d	109100e4	Powerstorm 4D50T	0	
-d	10910720	Motion JPEG codec	0	
-d	109107a0	Sun Expert3D-Lite Graphics Accelerator	0	
-d	10911091	Sun Expert3D Graphics Accelerator	0	
-v	1092	Diamond Multimedia Systems	0	
-d	109200a0	Speedstar Pro SE	0	
-d	109200a8	Speedstar 64	0	
-d	10920550	Viper V550	0	
-d	109208d4	Supra 2260 Modem	0	
-d	1092094c	SupraExpress 56i Pro	0	
-d	10921092	Viper V330	0	
-d	10926120	Maximum DVD	0	
-d	10928810	Stealth SE	0	
-d	10928811	Stealth 64/SE	0	
-d	10928880	Stealth	0	
-d	10928881	Stealth	0	
-d	109288b0	Stealth 64	0	
-d	109288b1	Stealth 64	0	
-d	109288c0	Stealth 64	0	
-d	109288c1	Stealth 64	0	
-d	109288d0	Stealth 64	0	
-d	109288d1	Stealth 64	0	
-d	109288f0	Stealth 64	0	
-d	109288f1	Stealth 64	0	
-d	10929999	DMD-I0928-1 "Monster sound" sound chip	0	
-v	1093	National Instruments	0	
-d	10930160	PCI-DIO-96	0	
-d	10930162	PCI-MIO-16XE-50	0	
-d	10931150	PCI-DIO-32HS High Speed Digital I/O Board	0	
-d	10931170	PCI-MIO-16XE-10	0	
-d	10931180	PCI-MIO-16E-1	0	
-d	10931190	PCI-MIO-16E-4	0	
-d	10931310	PCI-6602	0	
-d	10931330	PCI-6031E	0	
-d	10931350	PCI-6071E	0	
-d	109314e0	PCI-6110	0	
-d	109314f0	PCI-6111	0	
-d	109317d0	PCI-6503	0	
-d	10931870	PCI-6713	0	
-d	10931880	PCI-6711	0	
-d	109318b0	PCI-6052E	0	
-d	10932410	PCI-6733	0	
-d	10932890	PCI-6036E	0	
-d	10932a60	PCI-6023E	0	
-d	10932a70	PCI-6024E	0	
-d	10932a80	PCI-6025E	0	
-d	10932c80	PCI-6035E	0	
-d	10932ca0	PCI-6034E	0	
-d	109370a9	PCI-6528 (Digital I/O at 60V)	0	
-d	109370b8	PCI-6251 [M Series - High Speed Multifunction DAQ]	0	
-d	1093b001	IMAQ-PCI-1408	0	
-d	1093b011	IMAQ-PXI-1408	0	
-d	1093b021	IMAQ-PCI-1424	0	
-d	1093b031	IMAQ-PCI-1413	0	
-d	1093b041	IMAQ-PCI-1407	0	
-d	1093b051	IMAQ-PXI-1407	0	
-d	1093b061	IMAQ-PCI-1411	0	
-d	1093b071	IMAQ-PCI-1422	0	
-d	1093b081	IMAQ-PXI-1422	0	
-d	1093b091	IMAQ-PXI-1411	0	
-d	1093c801	PCI-GPIB	0	
-d	1093c831	PCI-GPIB bridge	0	
-v	1094	First International Computers [FIC]	0	
+d	108a0001	VME Bridge Model 617	0
+d	108a0010	VME Bridge Model 618	0
+d	108a0040	dataBLIZZARD	0
+d	108a3000	VME Bridge Model 2706	0
+v	108c	Oakleigh Systems Inc.	0
+v	108d	Olicom	0
+d	108d0001	Token-Ring 16/4 PCI Adapter (3136/3137)	0
+d	108d0002	16/4 Token Ring	0
+d	108d0004	RapidFire 3139 Token-Ring 16/4 PCI Adapter	0
+s	108d0004108d0004	OC-3139/3140 RapidFire Token-Ring 16/4 Adapter	0
+d	108d0005	GoCard 3250 Token-Ring 16/4 CardBus PC Card	0
+d	108d0006	OC-3530 RapidFire Token-Ring 100	0
+d	108d0007	RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter	0
+s	108d0007108d0007	OC-3141 RapidFire Token-Ring 16/4 Adapter	0
+d	108d0008	RapidFire 3540 HSTR 100/16/4 PCI Adapter	0
+s	108d0008108d0008	OC-3540 RapidFire HSTR 100/16/4 Adapter	0
+d	108d0011	OC-2315	0
+d	108d0012	OC-2325	0
+d	108d0013	OC-2183/2185	0
+d	108d0014	OC-2326	0
+d	108d0019	OC-2327/2250 10/100 Ethernet Adapter	0
+s	108d0019108d0016	OC-2327 Rapidfire 10/100 Ethernet Adapter	0
+s	108d0019108d0017	OC-2250 GoCard 10/100 Ethernet Adapter	0
+d	108d0021	OC-6151/6152 [RapidFire ATM 155]	0
+d	108d0022	ATM Adapter	0
+v	108e	Sun Microsystems Computer Corp.	0
+d	108e0001	EBUS	0
+d	108e1000	EBUS	0
+d	108e1001	Happy Meal	0
+d	108e1100	RIO EBUS	0
+d	108e1101	RIO GEM	0
+d	108e1102	RIO 1394	0
+d	108e1103	RIO USB	0
+d	108e1648	[bge] Gigabit Ethernet	0
+d	108e2bad	GEM	0
+d	108e5000	Simba Advanced PCI Bridge	0
+d	108e5043	SunPCI Co-processor	0
+d	108e8000	Psycho PCI Bus Module	0
+d	108e8001	Schizo PCI Bus Module	0
+d	108e8002	Schizo+ PCI Bus Module	0
+d	108ea000	Ultra IIi	0
+d	108ea001	Ultra IIe	0
+d	108ea801	Tomatillo PCI Bus Module	0
+d	108eabba	Cassini 10/100/1000	0
+v	108f	Systemsoft	0
+v	1090	Compro Computer Services, Inc.	0
+v	1091	Intergraph Corporation	0
+d	10910020	3D graphics processor	0
+d	10910021	3D graphics processor w/Texturing	0
+d	10910040	3D graphics frame buffer	0
+d	10910041	3D graphics frame buffer	0
+d	10910060	Proprietary bus bridge	0
+d	109100e4	Powerstorm 4D50T	0
+d	10910720	Motion JPEG codec	0
+d	109107a0	Sun Expert3D-Lite Graphics Accelerator	0
+d	10911091	Sun Expert3D Graphics Accelerator	0
+v	1092	Diamond Multimedia Systems	0
+d	109200a0	Speedstar Pro SE	0
+d	109200a8	Speedstar 64	0
+d	10920550	Viper V550	0
+d	109208d4	Supra 2260 Modem	0
+d	1092094c	SupraExpress 56i Pro	0
+d	10921092	Viper V330	0
+d	10926120	Maximum DVD	0
+d	10928810	Stealth SE	0
+d	10928811	Stealth 64/SE	0
+d	10928880	Stealth	0
+d	10928881	Stealth	0
+d	109288b0	Stealth 64	0
+d	109288b1	Stealth 64	0
+d	109288c0	Stealth 64	0
+d	109288c1	Stealth 64	0
+d	109288d0	Stealth 64	0
+d	109288d1	Stealth 64	0
+d	109288f0	Stealth 64	0
+d	109288f1	Stealth 64	0
+d	10929999	DMD-I0928-1 "Monster sound" sound chip	0
+v	1093	National Instruments	0
+d	10930160	PCI-DIO-96	0
+d	10930162	PCI-MIO-16XE-50	0
+d	10931150	PCI-DIO-32HS High Speed Digital I/O Board	0
+d	10931170	PCI-MIO-16XE-10	0
+d	10931180	PCI-MIO-16E-1	0
+d	10931190	PCI-MIO-16E-4	0
+d	10931310	PCI-6602	0
+d	10931330	PCI-6031E	0
+d	10931350	PCI-6071E	0
+d	109314e0	PCI-6110	0
+d	109314f0	PCI-6111	0
+d	109317d0	PCI-6503	0
+d	10931870	PCI-6713	0
+d	10931880	PCI-6711	0
+d	109318b0	PCI-6052E	0
+d	10932410	PCI-6733	0
+d	10932890	PCI-6036E	0
+d	10932a60	PCI-6023E	0
+d	10932a70	PCI-6024E	0
+d	10932a80	PCI-6025E	0
+d	10932c80	PCI-6035E	0
+d	10932ca0	PCI-6034E	0
+d	109370a9	PCI-6528 (Digital I/O at 60V)	0
+d	109370b8	PCI-6251 [M Series - High Speed Multifunction DAQ]	0
+d	1093b001	IMAQ-PCI-1408	0
+d	1093b011	IMAQ-PXI-1408	0
+d	1093b021	IMAQ-PCI-1424	0
+d	1093b031	IMAQ-PCI-1413	0
+d	1093b041	IMAQ-PCI-1407	0
+d	1093b051	IMAQ-PXI-1407	0
+d	1093b061	IMAQ-PCI-1411	0
+d	1093b071	IMAQ-PCI-1422	0
+d	1093b081	IMAQ-PXI-1422	0
+d	1093b091	IMAQ-PXI-1411	0
+d	1093c801	PCI-GPIB	0
+d	1093c831	PCI-GPIB bridge	0
+v	1094	First International Computers [FIC]	0
 v	1095	Silicon Image, Inc.	0	nee CMD Technology Inc
-d	10950240	Adaptec AAR-1210SA SATA HostRAID Controller	0	
-d	10950640	PCI0640	0	
-d	10950643	PCI0643	0	
-d	10950646	PCI0646	0	
-d	10950647	PCI0647	0	
-d	10950648	PCI0648	0	
-s	1095064810438025	CUBX motherboard	0	
-d	10950649	SiI 0649 Ultra ATA/100 PCI to ATA Host Controller	0	
-s	109506490e11005d	Integrated Ultra ATA-100 Dual Channel Controller	0	
-s	109506490e11007e	Integrated Ultra ATA-100 IDE RAID Controller	0	
-s	10950649101e0649	AMI MegaRAID IDE 100 Controller	0	
-d	10950650	PBC0650A	0	
-d	10950670	USB0670	0	
-s	1095067010950670	USB0670	0	
-d	10950673	USB0673	0	
-d	10950680	PCI0680 Ultra ATA-133 Host Controller	0	
-s	1095068010953680	Winic W-680 (Silicon Image 680 based)	0	
-d	10953112	SiI 3112 [SATALink/SATARaid] Serial ATA Controller	0	
-s	1095311210953112	SiI 3112 SATALink Controller	0	
-s	1095311210956112	SiI 3112 SATARaid Controller	0	
-s	1095311290050250	SATAConnect 1205SA Host Controller	0	
-d	10953114	SiI 3114 [SATALink/SATARaid] Serial ATA Controller	0	
-s	1095311410953114	SiI 3114 SATALink Controller	0	
-s	1095311410956114	SiI 3114 SATARaid Controller	0	
-d	10953124	SiI 3124 PCI-X Serial ATA Controller	0	
-s	1095312410953124	SiI 3124 PCI-X Serial ATA Controller	0	
-d	10953132	SiI 3132 Serial ATA Raid II Controller	0	
-d	10953512	SiI 3512 [SATALink/SATARaid] Serial ATA Controller	0	
-s	1095351210953512	SiI 3512 SATALink Controller	0	
-s	1095351210956512	SiI 3512 SATARaid Controller	0	
-v	1096	Alacron	0	
-v	1097	Appian Technology	0	
-v	1098	Quantum Designs (H.K.) Ltd	0	
-d	10980001	QD-8500	0	
-d	10980002	QD-8580	0	
-v	1099	Samsung Electronics Co., Ltd	0	
-v	109a	Packard Bell	0	
-v	109b	Gemlight Computer Ltd.	0	
-v	109c	Megachips Corporation	0	
-v	109d	Zida Technologies Ltd.	0	
-v	109e	Brooktree Corporation	0	
-d	109e032e	Bt878 Video Capture	0	
-d	109e0350	Bt848 Video Capture	0	
-d	109e0351	Bt849A Video capture	0	
-d	109e0369	Bt878 Video Capture	0	
-s	109e036910020001	TV-Wonder	0	
-s	109e036910020003	TV-Wonder/VE	0	
-d	109e036c	Bt879(?) Video Capture	0	
-s	109e036c13e90070	Win/TV (Video Section)	0	
-d	109e036e	Bt878 Video Capture	0	
-s	109e036e007013eb	WinTV Series	0	
-s	109e036e0070ff01	Viewcast Osprey 200	0	
-s	109e036e00710101	DigiTV PCI	0	
-s	109e036e107d6606	WinFast TV 2000	0	
-s	109e036e11bd0012	PCTV pro (TV + FM stereo receiver)	0	
-s	109e036e11bd001c	PCTV Sat (DBC receiver)	0	
-s	109e036e127a0001	Bt878 Mediastream Controller NTSC	0	
-s	109e036e127a0002	Bt878 Mediastream Controller PAL BG	0	
-s	109e036e127a0003	Bt878a Mediastream Controller PAL BG	0	
-s	109e036e127a0048	Bt878/832 Mediastream Controller	0	
-s	109e036e144f3000	MagicTView CPH060 - Video	0	
-s	109e036e14610002	TV98 Series (TV/No FM/Remote)	0	
-s	109e036e14610003	AverMedia UltraTV PCI 350	0	
-s	109e036e14610004	AVerTV WDM Video Capture	0	
-s	109e036e14610761	AverTV DVB-T	0	
-s	109e036e14610771	AverMedia AVerTV DVB-T 771	0	
-s	109e036e14f10001	Bt878 Mediastream Controller NTSC	0	
-s	109e036e14f10002	Bt878 Mediastream Controller PAL BG	0	
-s	109e036e14f10003	Bt878a Mediastream Controller PAL BG	0	
-s	109e036e14f10048	Bt878/832 Mediastream Controller	0	
-s	109e036e18220001	VisionPlus DVB card	0	
-s	109e036e18511850	FlyVideo'98 - Video	0	
-s	109e036e18511851	FlyVideo II	0	
-s	109e036e18521852	FlyVideo'98 - Video (with FM Tuner)	0	
-s	109e036e18acd500	DViCO FusionHDTV5 Lite	0	
-s	109e036e270ffc00	Digitop DTT-1000	0	
-s	109e036ebd111200	PCTV pro (TV + FM stereo receiver)	0	
-d	109e036f	Bt879 Video Capture	0	
-s	109e036f127a0044	Bt879 Video Capture NTSC	0	
-s	109e036f127a0122	Bt879 Video Capture PAL I	0	
-s	109e036f127a0144	Bt879 Video Capture NTSC	0	
-s	109e036f127a0222	Bt879 Video Capture PAL BG	0	
-s	109e036f127a0244	Bt879a Video Capture NTSC	0	
-s	109e036f127a0322	Bt879 Video Capture NTSC	0	
-s	109e036f127a0422	Bt879 Video Capture NTSC	0	
-s	109e036f127a1122	Bt879 Video Capture PAL I	0	
-s	109e036f127a1222	Bt879 Video Capture PAL BG	0	
-s	109e036f127a1322	Bt879 Video Capture NTSC	0	
-s	109e036f127a1522	Bt879a Video Capture PAL I	0	
-s	109e036f127a1622	Bt879a Video Capture PAL BG	0	
-s	109e036f127a1722	Bt879a Video Capture NTSC	0	
-s	109e036f14f10044	Bt879 Video Capture NTSC	0	
-s	109e036f14f10122	Bt879 Video Capture PAL I	0	
-s	109e036f14f10144	Bt879 Video Capture NTSC	0	
-s	109e036f14f10222	Bt879 Video Capture PAL BG	0	
-s	109e036f14f10244	Bt879a Video Capture NTSC	0	
-s	109e036f14f10322	Bt879 Video Capture NTSC	0	
-s	109e036f14f10422	Bt879 Video Capture NTSC	0	
-s	109e036f14f11122	Bt879 Video Capture PAL I	0	
-s	109e036f14f11222	Bt879 Video Capture PAL BG	0	
-s	109e036f14f11322	Bt879 Video Capture NTSC	0	
-s	109e036f14f11522	Bt879a Video Capture PAL I	0	
-s	109e036f14f11622	Bt879a Video Capture PAL BG	0	
-s	109e036f14f11722	Bt879a Video Capture NTSC	0	
-s	109e036f18511850	FlyVideo'98 - Video	0	
-s	109e036f18511851	FlyVideo II	0	
-s	109e036f18521852	FlyVideo'98 - Video (with FM Tuner)	0	
-d	109e0370	Bt880 Video Capture	0	
-s	109e037018511850	FlyVideo'98	0	
-s	109e037018511851	FlyVideo'98 EZ - video	0	
-s	109e037018521852	FlyVideo'98 (with FM Tuner)	0	
-d	109e0878	Bt878 Audio Capture	0	
-s	109e0878007013eb	WinTV Series	0	
-s	109e08780070ff01	Viewcast Osprey 200	0	
-s	109e087800710101	DigiTV PCI	0	
-s	109e087810020001	TV-Wonder	0	
-s	109e087810020003	TV-Wonder/VE	0	
-s	109e087811bd0012	PCTV pro (TV + FM stereo receiver, audio section)	0	
-s	109e087811bd001c	PCTV Sat (DBC receiver)	0	
-s	109e0878127a0001	Bt878 Video Capture (Audio Section)	0	
-s	109e0878127a0002	Bt878 Video Capture (Audio Section)	0	
-s	109e0878127a0003	Bt878 Video Capture (Audio Section)	0	
-s	109e0878127a0048	Bt878 Video Capture (Audio Section)	0	
-s	109e087813e90070	Win/TV (Audio Section)	0	
-s	109e0878144f3000	MagicTView CPH060 - Audio	0	
-s	109e087814610002	Avermedia PCTV98 Audio Capture	0	
-s	109e087814610004	AVerTV WDM Audio Capture	0	
-s	109e087814610761	AVerTV DVB-T	0	
-s	109e087814610771	AverMedia AVerTV DVB-T 771	0	
-s	109e087814f10001	Bt878 Video Capture (Audio Section)	0	
-s	109e087814f10002	Bt878 Video Capture (Audio Section)	0	
-s	109e087814f10003	Bt878 Video Capture (Audio Section)	0	
-s	109e087814f10048	Bt878 Video Capture (Audio Section)	0	
-s	109e087818220001	VisionPlus DVB Card	0	
-s	109e087818acd500	DViCO FusionHDTV5 Lite	0	
-s	109e0878270ffc00	Digitop DTT-1000	0	
-s	109e0878bd111200	PCTV pro (TV + FM stereo receiver, audio section)	0	
-d	109e0879	Bt879 Audio Capture	0	
-s	109e0879127a0044	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a0122	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a0144	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a0222	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a0244	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a0322	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a0422	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a1122	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a1222	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a1322	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a1522	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a1622	Bt879 Video Capture (Audio Section)	0	
-s	109e0879127a1722	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10044	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10122	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10144	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10222	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10244	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10322	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f10422	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f11122	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f11222	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f11322	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f11522	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f11622	Bt879 Video Capture (Audio Section)	0	
-s	109e087914f11722	Bt879 Video Capture (Audio Section)	0	
-d	109e0880	Bt880 Audio Capture	0	
-d	109e2115	BtV 2115 Mediastream controller	0	
-d	109e2125	BtV 2125 Mediastream controller	0	
-d	109e2164	BtV 2164	0	
-d	109e2165	BtV 2165	0	
-d	109e8230	Bt8230 ATM Segment/Reassembly Ctrlr (SRC)	0	
-d	109e8472	Bt8472	0	
-d	109e8474	Bt8474	0	
-v	109f	Trigem Computer Inc.	0	
-v	10a0	Meidensha Corporation	0	
-v	10a1	Juko Electronics Ind. Co. Ltd	0	
-v	10a2	Quantum Corporation	0	
-v	10a3	Everex Systems Inc	0	
-v	10a4	Globe Manufacturing Sales	0	
-v	10a5	Smart Link Ltd.	0	
-d	10a53052	SmartPCI562 56K Modem	0	
-d	10a55449	SmartPCI561 modem	0	
-v	10a6	Informtech Industrial Ltd.	0	
-v	10a7	Benchmarq Microelectronics	0	
-v	10a8	Sierra Semiconductor	0	
-d	10a80000	STB Horizon 64	0	
-v	10a9	Silicon Graphics, Inc.	0	
-d	10a90001	Crosstalk to PCI Bridge	0	
-d	10a90002	Linc I/O controller	0	
-d	10a90003	IOC3 I/O controller	0	
-d	10a90004	O2 MACE	0	
-d	10a90005	RAD Audio	0	
-d	10a90006	HPCEX	0	
-d	10a90007	RPCEX	0	
-d	10a90008	DiVO VIP	0	
-d	10a90009	AceNIC Gigabit Ethernet	0	
-s	10a9000910a98002	AceNIC Gigabit Ethernet	0	
-d	10a90010	AMP Video I/O	0	
-d	10a90011	GRIP	0	
-d	10a90012	SGH PSHAC GSN	0	
-d	10a91001	Magic Carpet	0	
-d	10a91002	Lithium	0	
-d	10a91003	Dual JPEG 1	0	
-d	10a91004	Dual JPEG 2	0	
-d	10a91005	Dual JPEG 3	0	
-d	10a91006	Dual JPEG 4	0	
-d	10a91007	Dual JPEG 5	0	
-d	10a91008	Cesium	0	
-d	10a9100a	IOC4 I/O controller	0	
-d	10a92001	Fibre Channel	0	
-d	10a92002	ASDE	0	
-d	10a94001	TIO-CE PCI Express Bridge	0	
-d	10a94002	TIO-CE PCI Express Port	0	
-d	10a98001	O2 1394	0	
-d	10a98002	G-net NT	0	
-d	10a98010	Broadcom e-net [SGI IO9/IO10 BaseIO]	1	
-d	10a98018	Broadcom e-net [SGI A330 Server BaseIO]	1	
-v	10aa	ACC Microelectronics	0	
-d	10aa0000	ACCM 2188	0	
-v	10ab	Digicom	0	
-v	10ac	Honeywell IAC	0	
-v	10ad	Symphony Labs	0	
-d	10ad0001	W83769F	0	
-d	10ad0003	SL82C103	0	
-d	10ad0005	SL82C105	0	
-d	10ad0103	SL82c103	0	
-d	10ad0105	SL82c105	0	
-d	10ad0565	W83C553	0	
-v	10ae	Cornerstone Technology	0	
-v	10af	Micro Computer Systems Inc	0	
-v	10b0	CardExpert Technology	0	
-v	10b1	Cabletron Systems Inc	0	
-v	10b2	Raytheon Company	0	
-v	10b3	Databook Inc	0	
-d	10b33106	DB87144	0	
-d	10b3b106	DB87144	0	
-v	10b4	STB Systems Inc	0	
-d	10b41b1d	Velocity 128 3D	0	
-s	10b41b1d10b4237e	Velocity 4400	0	
-v	10b5	PLX Technology, Inc.	0	
-d	10b50001	i960 PCI bus interface	0	
-d	10b51042	Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36	0	
-d	10b51076	VScom 800 8 port serial adaptor	0	
-d	10b51077	VScom 400 4 port serial adaptor	0	
-d	10b51078	VScom 210 2 port serial and 1 port parallel adaptor	0	
-d	10b51103	VScom 200 2 port serial adaptor	0	
-d	10b51146	VScom 010 1 port parallel adaptor	0	
-d	10b51147	VScom 020 2 port parallel adaptor	0	
-d	10b52540	IXXAT CAN-Interface PC-I 04/PCI	0	
-d	10b52724	Thales PCSM Security Card	0	
-d	10b56540	PCI6540/6466 PCI-PCI bridge (transparent mode)	0	
-s	10b565404c5310e0	PSL09 PrPMC	0	
-d	10b56541	PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side)	0	
-s	10b565414c5310e0	PSL09 PrPMC	0	
-d	10b56542	PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side)	0	
-s	10b565424c5310e0	PSL09 PrPMC	0	
-d	10b58111	PEX 8111 PCI Express-to-PCI Bridge	0	
-d	10b58114	PEX 8114 PCI Express-to-PCI/PCI-X Bridge	0	
-d	10b58516	PEX 8516  Versatile PCI Express Switch	0	
-d	10b58532	PEX 8532  Versatile PCI Express Switch	0	
-d	10b59030	PCI <-> IOBus Bridge Hot Swap	0	
-s	10b5903010b52862	Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board	0	
-s	10b5903010b52906	Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board	0	
-s	10b5903010b52940	Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board	0	
-s	10b5903010b52977	IXXAT iPC-I XC16/PCI CAN Board	0	
-s	10b5903010b52978	SH ARC-PCIu SOHARD ARCNET card	0	
-s	10b5903010b53025	Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board	0	
-s	10b5903010b53068	Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board	0	
+d	10950240	Adaptec AAR-1210SA SATA HostRAID Controller	0
+d	10950640	PCI0640	0
+d	10950643	PCI0643	0
+d	10950646	PCI0646	0
+d	10950647	PCI0647	0
+d	10950648	PCI0648	0
+s	1095064810438025	CUBX motherboard	0
+d	10950649	SiI 0649 Ultra ATA/100 PCI to ATA Host Controller	0
+s	109506490e11005d	Integrated Ultra ATA-100 Dual Channel Controller	0
+s	109506490e11007e	Integrated Ultra ATA-100 IDE RAID Controller	0
+s	10950649101e0649	AMI MegaRAID IDE 100 Controller	0
+d	10950650	PBC0650A	0
+d	10950670	USB0670	0
+s	1095067010950670	USB0670	0
+d	10950673	USB0673	0
+d	10950680	PCI0680 Ultra ATA-133 Host Controller	0
+s	1095068010953680	Winic W-680 (Silicon Image 680 based)	0
+d	10953112	SiI 3112 [SATALink/SATARaid] Serial ATA Controller	0
+s	1095311210953112	SiI 3112 SATALink Controller	0
+s	1095311210956112	SiI 3112 SATARaid Controller	0
+s	1095311290050250	SATAConnect 1205SA Host Controller	0
+d	10953114	SiI 3114 [SATALink/SATARaid] Serial ATA Controller	0
+s	1095311410953114	SiI 3114 SATALink Controller	0
+s	1095311410956114	SiI 3114 SATARaid Controller	0
+d	10953124	SiI 3124 PCI-X Serial ATA Controller	0
+s	1095312410953124	SiI 3124 PCI-X Serial ATA Controller	0
+d	10953132	SiI 3132 Serial ATA Raid II Controller	0
+d	10953512	SiI 3512 [SATALink/SATARaid] Serial ATA Controller	0
+s	1095351210953512	SiI 3512 SATALink Controller	0
+s	1095351210956512	SiI 3512 SATARaid Controller	0
+v	1096	Alacron	0
+v	1097	Appian Technology	0
+v	1098	Quantum Designs (H.K.) Ltd	0
+d	10980001	QD-8500	0
+d	10980002	QD-8580	0
+v	1099	Samsung Electronics Co., Ltd	0
+v	109a	Packard Bell	0
+v	109b	Gemlight Computer Ltd.	0
+v	109c	Megachips Corporation	0
+v	109d	Zida Technologies Ltd.	0
+v	109e	Brooktree Corporation	0
+d	109e032e	Bt878 Video Capture	0
+d	109e0350	Bt848 Video Capture	0
+d	109e0351	Bt849A Video capture	0
+d	109e0369	Bt878 Video Capture	0
+s	109e036910020001	TV-Wonder	0
+s	109e036910020003	TV-Wonder/VE	0
+d	109e036c	Bt879(?) Video Capture	0
+s	109e036c13e90070	Win/TV (Video Section)	0
+d	109e036e	Bt878 Video Capture	0
+s	109e036e007013eb	WinTV Series	0
+s	109e036e0070ff01	Viewcast Osprey 200	0
+s	109e036e00710101	DigiTV PCI	0
+s	109e036e107d6606	WinFast TV 2000	0
+s	109e036e11bd0012	PCTV pro (TV + FM stereo receiver)	0
+s	109e036e11bd001c	PCTV Sat (DBC receiver)	0
+s	109e036e127a0001	Bt878 Mediastream Controller NTSC	0
+s	109e036e127a0002	Bt878 Mediastream Controller PAL BG	0
+s	109e036e127a0003	Bt878a Mediastream Controller PAL BG	0
+s	109e036e127a0048	Bt878/832 Mediastream Controller	0
+s	109e036e144f3000	MagicTView CPH060 - Video	0
+s	109e036e14610002	TV98 Series (TV/No FM/Remote)	0
+s	109e036e14610003	AverMedia UltraTV PCI 350	0
+s	109e036e14610004	AVerTV WDM Video Capture	0
+s	109e036e14610761	AverTV DVB-T	0
+s	109e036e14610771	AverMedia AVerTV DVB-T 771	0
+s	109e036e14f10001	Bt878 Mediastream Controller NTSC	0
+s	109e036e14f10002	Bt878 Mediastream Controller PAL BG	0
+s	109e036e14f10003	Bt878a Mediastream Controller PAL BG	0
+s	109e036e14f10048	Bt878/832 Mediastream Controller	0
+s	109e036e18220001	VisionPlus DVB card	0
+s	109e036e18511850	FlyVideo'98 - Video	0
+s	109e036e18511851	FlyVideo II	0
+s	109e036e18521852	FlyVideo'98 - Video (with FM Tuner)	0
+s	109e036e18acd500	DViCO FusionHDTV5 Lite	0
+s	109e036e270ffc00	Digitop DTT-1000	0
+s	109e036ebd111200	PCTV pro (TV + FM stereo receiver)	0
+d	109e036f	Bt879 Video Capture	0
+s	109e036f127a0044	Bt879 Video Capture NTSC	0
+s	109e036f127a0122	Bt879 Video Capture PAL I	0
+s	109e036f127a0144	Bt879 Video Capture NTSC	0
+s	109e036f127a0222	Bt879 Video Capture PAL BG	0
+s	109e036f127a0244	Bt879a Video Capture NTSC	0
+s	109e036f127a0322	Bt879 Video Capture NTSC	0
+s	109e036f127a0422	Bt879 Video Capture NTSC	0
+s	109e036f127a1122	Bt879 Video Capture PAL I	0
+s	109e036f127a1222	Bt879 Video Capture PAL BG	0
+s	109e036f127a1322	Bt879 Video Capture NTSC	0
+s	109e036f127a1522	Bt879a Video Capture PAL I	0
+s	109e036f127a1622	Bt879a Video Capture PAL BG	0
+s	109e036f127a1722	Bt879a Video Capture NTSC	0
+s	109e036f14f10044	Bt879 Video Capture NTSC	0
+s	109e036f14f10122	Bt879 Video Capture PAL I	0
+s	109e036f14f10144	Bt879 Video Capture NTSC	0
+s	109e036f14f10222	Bt879 Video Capture PAL BG	0
+s	109e036f14f10244	Bt879a Video Capture NTSC	0
+s	109e036f14f10322	Bt879 Video Capture NTSC	0
+s	109e036f14f10422	Bt879 Video Capture NTSC	0
+s	109e036f14f11122	Bt879 Video Capture PAL I	0
+s	109e036f14f11222	Bt879 Video Capture PAL BG	0
+s	109e036f14f11322	Bt879 Video Capture NTSC	0
+s	109e036f14f11522	Bt879a Video Capture PAL I	0
+s	109e036f14f11622	Bt879a Video Capture PAL BG	0
+s	109e036f14f11722	Bt879a Video Capture NTSC	0
+s	109e036f18511850	FlyVideo'98 - Video	0
+s	109e036f18511851	FlyVideo II	0
+s	109e036f18521852	FlyVideo'98 - Video (with FM Tuner)	0
+d	109e0370	Bt880 Video Capture	0
+s	109e037018511850	FlyVideo'98	0
+s	109e037018511851	FlyVideo'98 EZ - video	0
+s	109e037018521852	FlyVideo'98 (with FM Tuner)	0
+d	109e0878	Bt878 Audio Capture	0
+s	109e0878007013eb	WinTV Series	0
+s	109e08780070ff01	Viewcast Osprey 200	0
+s	109e087800710101	DigiTV PCI	0
+s	109e087810020001	TV-Wonder	0
+s	109e087810020003	TV-Wonder/VE	0
+s	109e087811bd0012	PCTV pro (TV + FM stereo receiver, audio section)	0
+s	109e087811bd001c	PCTV Sat (DBC receiver)	0
+s	109e0878127a0001	Bt878 Video Capture (Audio Section)	0
+s	109e0878127a0002	Bt878 Video Capture (Audio Section)	0
+s	109e0878127a0003	Bt878 Video Capture (Audio Section)	0
+s	109e0878127a0048	Bt878 Video Capture (Audio Section)	0
+s	109e087813e90070	Win/TV (Audio Section)	0
+s	109e0878144f3000	MagicTView CPH060 - Audio	0
+s	109e087814610002	Avermedia PCTV98 Audio Capture	0
+s	109e087814610004	AVerTV WDM Audio Capture	0
+s	109e087814610761	AVerTV DVB-T	0
+s	109e087814610771	AverMedia AVerTV DVB-T 771	0
+s	109e087814f10001	Bt878 Video Capture (Audio Section)	0
+s	109e087814f10002	Bt878 Video Capture (Audio Section)	0
+s	109e087814f10003	Bt878 Video Capture (Audio Section)	0
+s	109e087814f10048	Bt878 Video Capture (Audio Section)	0
+s	109e087818220001	VisionPlus DVB Card	0
+s	109e087818acd500	DViCO FusionHDTV5 Lite	0
+s	109e0878270ffc00	Digitop DTT-1000	0
+s	109e0878bd111200	PCTV pro (TV + FM stereo receiver, audio section)	0
+d	109e0879	Bt879 Audio Capture	0
+s	109e0879127a0044	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a0122	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a0144	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a0222	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a0244	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a0322	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a0422	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a1122	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a1222	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a1322	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a1522	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a1622	Bt879 Video Capture (Audio Section)	0
+s	109e0879127a1722	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10044	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10122	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10144	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10222	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10244	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10322	Bt879 Video Capture (Audio Section)	0
+s	109e087914f10422	Bt879 Video Capture (Audio Section)	0
+s	109e087914f11122	Bt879 Video Capture (Audio Section)	0
+s	109e087914f11222	Bt879 Video Capture (Audio Section)	0
+s	109e087914f11322	Bt879 Video Capture (Audio Section)	0
+s	109e087914f11522	Bt879 Video Capture (Audio Section)	0
+s	109e087914f11622	Bt879 Video Capture (Audio Section)	0
+s	109e087914f11722	Bt879 Video Capture (Audio Section)	0
+d	109e0880	Bt880 Audio Capture	0
+d	109e2115	BtV 2115 Mediastream controller	0
+d	109e2125	BtV 2125 Mediastream controller	0
+d	109e2164	BtV 2164	0
+d	109e2165	BtV 2165	0
+d	109e8230	Bt8230 ATM Segment/Reassembly Ctrlr (SRC)	0
+d	109e8472	Bt8472	0
+d	109e8474	Bt8474	0
+v	109f	Trigem Computer Inc.	0
+v	10a0	Meidensha Corporation	0
+v	10a1	Juko Electronics Ind. Co. Ltd	0
+v	10a2	Quantum Corporation	0
+v	10a3	Everex Systems Inc	0
+v	10a4	Globe Manufacturing Sales	0
+v	10a5	Smart Link Ltd.	0
+d	10a53052	SmartPCI562 56K Modem	0
+d	10a55449	SmartPCI561 modem	0
+v	10a6	Informtech Industrial Ltd.	0
+v	10a7	Benchmarq Microelectronics	0
+v	10a8	Sierra Semiconductor	0
+d	10a80000	STB Horizon 64	0
+v	10a9	Silicon Graphics, Inc.	0
+d	10a90001	Crosstalk to PCI Bridge	0
+d	10a90002	Linc I/O controller	0
+d	10a90003	IOC3 I/O controller	0
+d	10a90004	O2 MACE	0
+d	10a90005	RAD Audio	0
+d	10a90006	HPCEX	0
+d	10a90007	RPCEX	0
+d	10a90008	DiVO VIP	0
+d	10a90009	AceNIC Gigabit Ethernet	0
+s	10a9000910a98002	AceNIC Gigabit Ethernet	0
+d	10a90010	AMP Video I/O	0
+d	10a90011	GRIP	0
+d	10a90012	SGH PSHAC GSN	0
+d	10a91001	Magic Carpet	0
+d	10a91002	Lithium	0
+d	10a91003	Dual JPEG 1	0
+d	10a91004	Dual JPEG 2	0
+d	10a91005	Dual JPEG 3	0
+d	10a91006	Dual JPEG 4	0
+d	10a91007	Dual JPEG 5	0
+d	10a91008	Cesium	0
+d	10a9100a	IOC4 I/O controller	0
+d	10a92001	Fibre Channel	0
+d	10a92002	ASDE	0
+d	10a94001	TIO-CE PCI Express Bridge	0
+d	10a94002	TIO-CE PCI Express Port	0
+d	10a98001	O2 1394	0
+d	10a98002	G-net NT	0
+d	10a98010	Broadcom e-net [SGI IO9/IO10 BaseIO]	1
+d	10a98018	Broadcom e-net [SGI A330 Server BaseIO]	1
+v	10aa	ACC Microelectronics	0
+d	10aa0000	ACCM 2188	0
+v	10ab	Digicom	0
+v	10ac	Honeywell IAC	0
+v	10ad	Symphony Labs	0
+d	10ad0001	W83769F	0
+d	10ad0003	SL82C103	0
+d	10ad0005	SL82C105	0
+d	10ad0103	SL82c103	0
+d	10ad0105	SL82c105	0
+d	10ad0565	W83C553	0
+v	10ae	Cornerstone Technology	0
+v	10af	Micro Computer Systems Inc	0
+v	10b0	CardExpert Technology	0
+v	10b1	Cabletron Systems Inc	0
+v	10b2	Raytheon Company	0
+v	10b3	Databook Inc	0
+d	10b33106	DB87144	0
+d	10b3b106	DB87144	0
+v	10b4	STB Systems Inc	0
+d	10b41b1d	Velocity 128 3D	0
+s	10b41b1d10b4237e	Velocity 4400	0
+v	10b5	PLX Technology, Inc.	0
+d	10b50001	i960 PCI bus interface	0
+d	10b51042	Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36	0
+d	10b51076	VScom 800 8 port serial adaptor	0
+d	10b51077	VScom 400 4 port serial adaptor	0
+d	10b51078	VScom 210 2 port serial and 1 port parallel adaptor	0
+d	10b51103	VScom 200 2 port serial adaptor	0
+d	10b51146	VScom 010 1 port parallel adaptor	0
+d	10b51147	VScom 020 2 port parallel adaptor	0
+d	10b52540	IXXAT CAN-Interface PC-I 04/PCI	0
+d	10b52724	Thales PCSM Security Card	0
+d	10b56540	PCI6540/6466 PCI-PCI bridge (transparent mode)	0
+s	10b565404c5310e0	PSL09 PrPMC	0
+d	10b56541	PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side)	0
+s	10b565414c5310e0	PSL09 PrPMC	0
+d	10b56542	PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side)	0
+s	10b565424c5310e0	PSL09 PrPMC	0
+d	10b58111	PEX 8111 PCI Express-to-PCI Bridge	0
+d	10b58114	PEX 8114 PCI Express-to-PCI/PCI-X Bridge	0
+d	10b58516	PEX 8516  Versatile PCI Express Switch	0
+d	10b58532	PEX 8532  Versatile PCI Express Switch	0
+d	10b59030	PCI <-> IOBus Bridge Hot Swap	0
+s	10b5903010b52862	Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board	0
+s	10b5903010b52906	Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board	0
+s	10b5903010b52940	Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board	0
+s	10b5903010b52977	IXXAT iPC-I XC16/PCI CAN Board	0
+s	10b5903010b52978	SH ARC-PCIu SOHARD ARCNET card	0
+s	10b5903010b53025	Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board	0
+s	10b5903010b53068	Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board	0
 s	10b5903012fe0111	CPCI-ASIO4	1	ESD CompactPCI 4-port Serial Interface Board
-s	10b5903013973136	4xS0-ISDN PCI Adapter	0	
-s	10b5903013973137	S2M-E1-ISDN PCI Adapter	0	
-s	10b5903015180200	Kontron ThinkIO-C	0	
-s	10b5903015ed1002	MCCS 8-port Serial Hot Swap	0	
-s	10b5903015ed1003	MCCS 16-port Serial Hot Swap	0	
-d	10b59036	9036	0	
-d	10b59050	PCI <-> IOBus Bridge	0	
-s	10b5905010b51067	IXXAT CAN i165	0	
-s	10b5905010b51172	IK220 (Heidenhain)	0	
-s	10b5905010b52036	SatPak GPS	0	
-s	10b5905010b52221	Alpermann+Velte PCL PCI LV: Timecode Reader Board	0	
-s	10b5905010b52273	SH ARC-PCI SOHARD ARCNET card	0	
-s	10b5905010b52431	Alpermann+Velte PCL PCI D: Timecode Reader Board	0	
-s	10b5905010b52905	Alpermann+Velte PCI TS: Time Synchronisation Board	0	
-s	10b5905010b59050	PCI-I04 PCI Passive PC/CAN Interface	0	
-s	10b5905014980362	TPMC866 8 Channel Serial Card	0	
-s	10b5905015220001	RockForce 4 Port V.90 Data/Fax/Voice Modem	0	
-s	10b5905015220002	RockForce 2 Port V.90 Data/Fax/Voice Modem	0	
-s	10b5905015220003	RockForce 6 Port V.90 Data/Fax/Voice Modem	0	
-s	10b5905015220004	RockForce 8 Port V.90 Data/Fax/Voice Modem	0	
-s	10b5905015220010	RockForce2000 4 Port V.90 Data/Fax/Voice Modem	0	
-s	10b5905015220020	RockForce2000 2 Port V.90 Data/Fax/Voice Modem	0	
-s	10b5905015ed1000	Macrolink MCCS 8-port Serial	0	
-s	10b5905015ed1001	Macrolink MCCS 16-port Serial	0	
-s	10b5905015ed1002	Macrolink MCCS 8-port Serial Hot Swap	0	
-s	10b5905015ed1003	Macrolink MCCS 16-port Serial Hot Swap	0	
-s	10b5905056542036	OpenSwitch 6 Telephony card	0	
-s	10b5905056543132	OpenSwitch 12 Telephony card	0	
-s	10b5905056545634	OpenLine4 Telephony Card	0	
-s	10b59050d531c002	PCIntelliCAN 2xSJA1000 CAN bus	0	
-s	10b59050d84d4006	EX-4006 1P	0	
-s	10b59050d84d4008	EX-4008 1P EPP/ECP	0	
-s	10b59050d84d4014	EX-4014 2P	0	
-s	10b59050d84d4018	EX-4018 3P EPP/ECP	0	
-s	10b59050d84d4025	EX-4025 1S(16C550) RS-232	0	
-s	10b59050d84d4027	EX-4027 1S(16C650) RS-232	0	
-s	10b59050d84d4028	EX-4028 1S(16C850) RS-232	0	
-s	10b59050d84d4036	EX-4036 2S(16C650) RS-232	0	
-s	10b59050d84d4037	EX-4037 2S(16C650) RS-232	0	
-s	10b59050d84d4038	EX-4038 2S(16C850) RS-232	0	
-s	10b59050d84d4052	EX-4052 1S(16C550) RS-422/485	0	
-s	10b59050d84d4053	EX-4053 2S(16C550) RS-422/485	0	
-s	10b59050d84d4055	EX-4055 4S(16C550) RS-232	0	
-s	10b59050d84d4058	EX-4055 4S(16C650) RS-232	0	
-s	10b59050d84d4065	EX-4065 8S(16C550) RS-232	0	
-s	10b59050d84d4068	EX-4068 8S(16C650) RS-232	0	
-s	10b59050d84d4078	EX-4078 2S(16C552) RS-232+1P	0	
-d	10b59054	PCI <-> IOBus Bridge	0	
-s	10b5905410b52455	Wessex Techology PHIL-PCI	0	
-s	10b5905410b52696	Innes Corp AM Radcap card	0	
-s	10b5905410b52717	Innes Corp Auricon card	0	
-s	10b5905410b52844	Innes Corp TVS Encoder card	0	
-s	10b5905412c74001	Intel Dialogic DM/V960-4T1 PCI	0	
-s	10b5905412d90002	PCI Prosody Card rev 1.5	0	
+s	10b5903013973136	4xS0-ISDN PCI Adapter	0
+s	10b5903013973137	S2M-E1-ISDN PCI Adapter	0
+s	10b5903015180200	Kontron ThinkIO-C	0
+s	10b5903015ed1002	MCCS 8-port Serial Hot Swap	0
+s	10b5903015ed1003	MCCS 16-port Serial Hot Swap	0
+d	10b59036	9036	0
+d	10b59050	PCI <-> IOBus Bridge	0
+s	10b5905010b51067	IXXAT CAN i165	0
+s	10b5905010b51172	IK220 (Heidenhain)	0
+s	10b5905010b52036	SatPak GPS	0
+s	10b5905010b52221	Alpermann+Velte PCL PCI LV: Timecode Reader Board	0
+s	10b5905010b52273	SH ARC-PCI SOHARD ARCNET card	0
+s	10b5905010b52431	Alpermann+Velte PCL PCI D: Timecode Reader Board	0
+s	10b5905010b52905	Alpermann+Velte PCI TS: Time Synchronisation Board	0
+s	10b5905010b59050	PCI-I04 PCI Passive PC/CAN Interface	0
+s	10b5905014980362	TPMC866 8 Channel Serial Card	0
+s	10b5905015220001	RockForce 4 Port V.90 Data/Fax/Voice Modem	0
+s	10b5905015220002	RockForce 2 Port V.90 Data/Fax/Voice Modem	0
+s	10b5905015220003	RockForce 6 Port V.90 Data/Fax/Voice Modem	0
+s	10b5905015220004	RockForce 8 Port V.90 Data/Fax/Voice Modem	0
+s	10b5905015220010	RockForce2000 4 Port V.90 Data/Fax/Voice Modem	0
+s	10b5905015220020	RockForce2000 2 Port V.90 Data/Fax/Voice Modem	0
+s	10b5905015ed1000	Macrolink MCCS 8-port Serial	0
+s	10b5905015ed1001	Macrolink MCCS 16-port Serial	0
+s	10b5905015ed1002	Macrolink MCCS 8-port Serial Hot Swap	0
+s	10b5905015ed1003	Macrolink MCCS 16-port Serial Hot Swap	0
+s	10b5905056542036	OpenSwitch 6 Telephony card	0
+s	10b5905056543132	OpenSwitch 12 Telephony card	0
+s	10b5905056545634	OpenLine4 Telephony Card	0
+s	10b59050d531c002	PCIntelliCAN 2xSJA1000 CAN bus	0
+s	10b59050d84d4006	EX-4006 1P	0
+s	10b59050d84d4008	EX-4008 1P EPP/ECP	0
+s	10b59050d84d4014	EX-4014 2P	0
+s	10b59050d84d4018	EX-4018 3P EPP/ECP	0
+s	10b59050d84d4025	EX-4025 1S(16C550) RS-232	0
+s	10b59050d84d4027	EX-4027 1S(16C650) RS-232	0
+s	10b59050d84d4028	EX-4028 1S(16C850) RS-232	0
+s	10b59050d84d4036	EX-4036 2S(16C650) RS-232	0
+s	10b59050d84d4037	EX-4037 2S(16C650) RS-232	0
+s	10b59050d84d4038	EX-4038 2S(16C850) RS-232	0
+s	10b59050d84d4052	EX-4052 1S(16C550) RS-422/485	0
+s	10b59050d84d4053	EX-4053 2S(16C550) RS-422/485	0
+s	10b59050d84d4055	EX-4055 4S(16C550) RS-232	0
+s	10b59050d84d4058	EX-4055 4S(16C650) RS-232	0
+s	10b59050d84d4065	EX-4065 8S(16C550) RS-232	0
+s	10b59050d84d4068	EX-4068 8S(16C650) RS-232	0
+s	10b59050d84d4078	EX-4078 2S(16C552) RS-232+1P	0
+d	10b59054	PCI <-> IOBus Bridge	0
+s	10b5905410b52455	Wessex Techology PHIL-PCI	0
+s	10b5905410b52696	Innes Corp AM Radcap card	0
+s	10b5905410b52717	Innes Corp Auricon card	0
+s	10b5905410b52844	Innes Corp TVS Encoder card	0
+s	10b5905412c74001	Intel Dialogic DM/V960-4T1 PCI	0
+s	10b5905412d90002	PCI Prosody Card rev 1.5	0
 s	10b5905414b4d100	DTA-100	1	http://www.dektec.com/Products/DTA-100/Downloads/DTA-100.pdf
 s	10b5905414b4d114	DTA-120	1	http://www.dektec.com/Products/DTA-120/Downloads/DTA-120.pdf
 s	10b5905414b4d140	DTA-140	1	http://www.dektec.com/Products/DTA-140/Downloads/DTA-140.pdf
 s	10b5905414b4d140		1	Sorry, it's under 10b5:9056
-s	10b5905416df0011	PIKA PrimeNet MM PCI	0	
-s	10b5905416df0012	PIKA PrimeNet MM cPCI 8	0	
-s	10b5905416df0013	PIKA PrimeNet MM cPCI 8 (without CAS Signaling)	0	
-s	10b5905416df0014	PIKA PrimeNet MM cPCI 4	0	
-s	10b5905416df0015	PIKA Daytona MM	0	
-s	10b5905416df0016	PIKA InLine MM	0	
-d	10b59056	Francois	0	
+s	10b5905416df0011	PIKA PrimeNet MM PCI	0
+s	10b5905416df0012	PIKA PrimeNet MM cPCI 8	0
+s	10b5905416df0013	PIKA PrimeNet MM cPCI 8 (without CAS Signaling)	0
+s	10b5905416df0014	PIKA PrimeNet MM cPCI 4	0
+s	10b5905416df0015	PIKA Daytona MM	0
+s	10b5905416df0016	PIKA InLine MM	0
+d	10b59056	Francois	0
 d	10b59056	PCI 9056 - PCI I/O Accelerator	1	http://www.plxtech.com/products/io/ http://www.dektec.com/Products/DTA-140/Downloads/DTA-140.pdf
-s	10b5905610b52979	CellinkBlade 11 - CPCI board VoATM AAL1	0	
+s	10b5905610b52979	CellinkBlade 11 - CPCI board VoATM AAL1	0
 s	10b5905614b4d140	DTA-140	1	http://www.dektec.com/Products/DTA-140/Downloads/DTA-140.pdf
-d	10b59060	9060	0	
-d	10b5906d	9060SD	0	
-s	10b5906d125c0640	Aries 16000P	0	
-d	10b5906e	9060ES	0	
-d	10b59080	9080	0	
-s	10b59080103c10eb	(Agilent) E2777B 83K Series Optical Communication Interface	0	
-s	10b59080103c10ec	(Agilent) E6978-66442 PCI CIC	0	
-s	10b5908010b51123	Sectra KK631 encryption board	0	
-s	10b5908010b59080	9080 [real subsystem ID not set]	0	
-s	10b59080129d0002	Aculab PCI Prosidy card	0	
-s	10b5908012d90002	PCI Prosody Card	0	
-s	10b5908012df4422	4422PCI ["Do-All" Telemetry Data Aquisition System]	0	
-s	10b590801517000b	ECSG-1R3ADC-PMC Clock synthesizer	0	
-d	10b59656	PCI <-> IOBus Bridge	0	
-s	10b596561517000f	ECDR-GC314-PMC Receiver	0	
-s	10b5965618850700	Tsunami FPGA PMC with Altera Stratix S40	0	
-s	10b5965618850701	Tsunami FPGA PMC with Altera Stratix S30	0	
-d	10b5bb04	B&B 3PCIOSD1A Isolated PCI Serial	0	
-d	10b5c001	CronyxOmega-PCI (8-port RS232)	0	
-v	10b6	Madge Networks	0	
-d	10b60001	Smart 16/4 PCI Ringnode	0	
-d	10b60002	Smart 16/4 PCI Ringnode Mk2	0	
-s	10b6000210b60002	Smart 16/4 PCI Ringnode Mk2	0	
-s	10b6000210b60006	16/4 CardBus Adapter	0	
-d	10b60003	Smart 16/4 PCI Ringnode Mk3	0	
-s	10b600030e11b0fd	Compaq NC4621 PCI, 4/16, WOL	0	
-s	10b6000310b60003	Smart 16/4 PCI Ringnode Mk3	0	
-s	10b6000310b60007	Presto PCI Plus Adapter	0	
-d	10b60004	Smart 16/4 PCI Ringnode Mk1	0	
-d	10b60006	16/4 Cardbus Adapter	0	
-s	10b6000610b60006	16/4 CardBus Adapter	0	
-d	10b60007	Presto PCI Adapter	0	
-s	10b6000710b60007	Presto PCI	0	
-d	10b60009	Smart 100/16/4 PCI-HS Ringnode	0	
-s	10b6000910b60009	Smart 100/16/4 PCI-HS Ringnode	0	
-d	10b6000a	Smart 100/16/4 PCI Ringnode	0	
-s	10b6000a10b6000a	Smart 100/16/4 PCI Ringnode	0	
-d	10b6000b	16/4 CardBus Adapter Mk2	0	
-s	10b6000b10b60008	16/4 CardBus Adapter Mk2	0	
-s	10b6000b10b6000b	16/4 Cardbus Adapter Mk2	0	
-d	10b6000c	RapidFire 3140V2 16/4 TR Adapter	0	
-s	10b6000c10b6000c	RapidFire 3140V2 16/4 TR Adapter	0	
-d	10b61000	Collage 25/155 ATM Client Adapter	0	
-d	10b61001	Collage 155 ATM Server Adapter	0	
-v	10b7	3Com Corporation	0	
-d	10b70001	3c985 1000BaseSX (SX/TX)	0	
-d	10b70013	AR5212 802.11abg NIC (3CRDAG675)	0	
-s	10b7001310b72031	3CRDAG675 11a/b/g Wireless PCI Adapter	0	
-d	10b70910	3C910-A01	0	
-d	10b71006	MINI PCI type 3B Data Fax Modem	0	
-d	10b71007	Mini PCI 56k Winmodem	0	
-s	10b7100710b7615b	Mini PCI 56K Modem	1	
-s	10b7100710b7615c	Mini PCI 56K Modem	0	
-d	10b710b7		1	
-d	10b71201	3c982-TXM 10/100baseTX Dual Port A [Hydra]	0	
-d	10b71202	3c982-TXM 10/100baseTX Dual Port B [Hydra]	0	
-d	10b71700	3c940 10/100/1000Base-T [Marvell]	0	
-s	10b71700104380eb	A7V600/P4P800/K8V motherboard	0	
-s	10b7170010b70010	3C940 Gigabit LOM Ethernet Adapter	0	
-s	10b7170010b70020	3C941 Gigabit LOM Ethernet Adapter	0	
-s	10b71700147b1407	KV8-MAX3 motherboard	0	
-d	10b73390	3c339 TokenLink Velocity	0	
-d	10b73590	3c359 TokenLink Velocity XL	0	
-s	10b7359010b73590	TokenLink Velocity XL Adapter (3C359/359B)	0	
-d	10b74500	3c450 HomePNA [Tornado]	0	
-d	10b75055	3c555 Laptop Hurricane	0	
-d	10b75057	3c575 Megahertz 10/100 LAN CardBus [Boomerang]	0	
-s	10b7505710b75a57	3C575 Megahertz 10/100 LAN Cardbus PC Card	0	
-d	10b75157	3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone]	0	
-s	10b7515710b75b57	3C575 Megahertz 10/100 LAN Cardbus PC Card	0	
-d	10b75257	3cCFE575CT CardBus [Cyclone]	0	
-s	10b7525710b75c57	FE575C-3Com 10/100 LAN CardBus-Fast Ethernet	0	
-d	10b75900	3c590 10BaseT [Vortex]	0	
-d	10b75920	3c592 EISA 10mbps Demon/Vortex	0	
-d	10b75950	3c595 100BaseTX [Vortex]	0	
-d	10b75951	3c595 100BaseT4 [Vortex]	0	
-d	10b75952	3c595 100Base-MII [Vortex]	0	
-d	10b75970	3c597 EISA Fast Demon/Vortex	0	
-d	10b75b57	3c595 Megahertz 10/100 LAN CardBus [Boomerang]	0	
-s	10b75b5710b75b57	3C575 Megahertz 10/100 LAN Cardbus PC Card	0	
-d	10b76000	3CRSHPW796 [OfficeConnect Wireless CardBus]	0	
-d	10b76001	3com 3CRWE154G72 [Office Connect Wireless LAN Adapter]	0	
-d	10b76055	3c556 Hurricane CardBus [Cyclone]	0	
-d	10b76056	3c556B CardBus [Tornado]	0	
-s	10b7605610b76556	10/100 Mini PCI Ethernet Adapter	0	
-d	10b76560	3cCFE656 CardBus [Cyclone]	0	
-s	10b7656010b7656a	3CCFEM656 10/100 LAN+56K Modem CardBus	0	
-d	10b76561	3cCFEM656 10/100 LAN+56K Modem CardBus	0	
-s	10b7656110b7656b	3CCFEM656 10/100 LAN+56K Modem CardBus	0	
-d	10b76562	3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone]	0	
-s	10b7656210b7656b	3CCFEM656B 10/100 LAN+56K Modem CardBus	0	
-d	10b76563	3cCFEM656B 10/100 LAN+56K Modem CardBus	0	
-s	10b7656310b7656b	3CCFEM656 10/100 LAN+56K Modem CardBus	0	
-d	10b76564	3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado]	0	
-d	10b77646	3cSOHO100-TX Hurricane	0	
-d	10b77770	3CRWE777 PCI(PLX) Wireless Adaptor [Airconnect]	0	
-d	10b77940	3c803 FDDILink UTP Controller	0	
-d	10b77980	3c804 FDDILink SAS Controller	0	
-d	10b77990	3c805 FDDILink DAS Controller	0	
-d	10b780eb	3c940B 10/100/1000Base-T	0	
-d	10b78811	Token ring	0	
-d	10b79000	3c900 10BaseT [Boomerang]	0	
-d	10b79001	3c900 10Mbps Combo [Boomerang]	0	
-d	10b79004	3c900B-TPO Etherlink XL [Cyclone]	0	
-s	10b7900410b79004	3C900B-TPO Etherlink XL TPO 10Mb	0	
-d	10b79005	3c900B-Combo Etherlink XL [Cyclone]	0	
-s	10b7900510b79005	3C900B-Combo Etherlink XL Combo	0	
-d	10b79006	3c900B-TPC Etherlink XL [Cyclone]	0	
-d	10b7900a	3c900B-FL 10base-FL [Cyclone]	0	
-d	10b79050	3c905 100BaseTX [Boomerang]	0	
-d	10b79051	3c905 100BaseT4 [Boomerang]	0	
-d	10b79054	3C905B-TX Fast Etherlink XL PCI	0	
-s	10b7905410b79054	3C905B-TX Fast Etherlink XL PCI	0	
-d	10b79055	3c905B 100BaseTX [Cyclone]	0	
-s	10b7905510280080	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280081	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280082	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280083	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280084	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280085	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280086	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280087	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280088	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280089	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280090	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280091	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280092	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280093	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280094	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280095	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280096	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280097	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280098	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510280099	3C905B Fast Etherlink XL 10/100	0	
-s	10b7905510b79055	3C905B Fast Etherlink XL 10/100	0	
-d	10b79056	3c905B-T4 Fast EtherLink XL [Cyclone]	0	
-d	10b79058	3c905B Deluxe Etherlink 10/100/BNC [Cyclone]	0	
-d	10b7905a	3c905B-FX Fast Etherlink XL FX 100baseFx [Cyclone]	0	
-d	10b79200	3c905C-TX/TX-M [Tornado]	0	
-s	10b7920010280095	3C920 Integrated Fast Ethernet Controller	0	
-s	10b7920010280097	3C920 Integrated Fast Ethernet Controller	0	
-s	10b79200102800fe	Optiplex GX240	0	
-s	10b792001028012a	3C920 Integrated Fast Ethernet Controller [Latitude C640]	0	
-s	10b7920010b71000	3C905C-TX Fast Etherlink for PC Management NIC	0	
-s	10b7920010b77000	10/100 Mini PCI Ethernet Adapter	0	
-s	10b7920010f12466	Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)	0	
-d	10b79201	3C920B-EMB Integrated Fast Ethernet Controller [Tornado]	0	
-s	10b79201104380ab	A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller	0	
-d	10b79202	3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller	0	
-d	10b79210	3C920B-EMB-WNM Integrated Fast Ethernet Controller	0	
-d	10b79300	3CSOHO100B-TX 910-A01 [tulip]	0	
-d	10b79800	3c980-TX Fast Etherlink XL Server Adapter [Cyclone]	0	
-s	10b7980010b79800	3c980-TX Fast Etherlink XL Server Adapter	0	
-d	10b79805	3c980-C 10/100baseTX NIC [Python-T]	0	
-s	10b7980510b71201	EtherLink Server 10/100 Dual Port A	0	
-s	10b7980510b71202	EtherLink Server 10/100 Dual Port B	0	
-s	10b7980510b79805	3c980 10/100baseTX NIC [Python-T]	0	
-s	10b7980510f12462	Thunder K7 S2462	0	
-d	10b79900	3C990-TX [Typhoon]	0	
-d	10b79902	3CR990-TX-95 [Typhoon 56-bit]	0	
-d	10b79903	3CR990-TX-97 [Typhoon 168-bit]	0	
-d	10b79904	3C990B-TX-M/3C990BSVR [Typhoon2]	0	
-s	10b7990410b71000	3CR990B-TX-M [Typhoon2]	0	
-s	10b7990410b72000	3CR990BSVR [Typhoon2 Server]	0	
-d	10b79905	3CR990-FX-95/97/95 [Typhon Fiber]	0	
-s	10b7990510b71101	3CR990-FX-95 [Typhoon Fiber 56-bit]	0	
-s	10b7990510b71102	3CR990-FX-97 [Typhoon Fiber 168-bit]	0	
-s	10b7990510b72101	3CR990-FX-95 Server [Typhoon Fiber 56-bit]	0	
-s	10b7990510b72102	3CR990-FX-97 Server [Typhoon Fiber 168-bit]	0	
-d	10b79908	3CR990SVR95 [Typhoon Server 56-bit]	0	
-d	10b79909	3CR990SVR97 [Typhoon Server 168-bit]	0	
-d	10b7990a	3C990SVR [Typhoon Server]	0	
-d	10b7990b	3C990SVR [Typhoon Server]	0	
-v	10b8	Standard Microsystems Corp [SMC]	0	
-d	10b80005	83c170 EPIC/100 Fast Ethernet Adapter	0	
-s	10b800051055e000	LANEPIC 10/100 [EVB171Q-PCI]	0	
-s	10b800051055e002	LANEPIC 10/100 [EVB171G-PCI]	0	
-s	10b8000510b8a011	EtherPower II 10/100	0	
-s	10b8000510b8a014	EtherPower II 10/100	0	
-s	10b8000510b8a015	EtherPower II 10/100	0	
-s	10b8000510b8a016	EtherPower II 10/100	0	
-s	10b8000510b8a017	EtherPower II 10/100	0	
-d	10b80006	83c175 EPIC/100 Fast Ethernet Adapter	0	
-s	10b800061055e100	LANEPIC Cardbus Fast Ethernet Adapter	0	
-s	10b800061055e102	LANEPIC Cardbus Fast Ethernet Adapter	0	
-s	10b800061055e300	LANEPIC Cardbus Fast Ethernet Adapter	0	
-s	10b800061055e302	LANEPIC Cardbus Fast Ethernet Adapter	0	
-s	10b8000610b8a012	LANEPIC Cardbus Fast Ethernet Adapter	0	
-s	10b8000613a28002	LANEPIC Cardbus Fast Ethernet Adapter	0	
-s	10b8000613a28006	LANEPIC Cardbus Fast Ethernet Adapter	0	
-d	10b81000	FDC 37c665	0	
-d	10b81001	FDC 37C922	0	
-d	10b82802	SMC2802W [EZ Connect g]	0	
-d	10b8a011	83C170QF	0	
-d	10b8b106	SMC34C90	0	
-v	10b9	ALi Corporation	0	
-d	10b90101	CMI8338/C3DX PCI Audio Device	0	
-d	10b90111	C-Media CMI8738/C3DX Audio Device (OEM)	0	
-s	10b9011110b90111	C-Media CMI8738/C3DX Audio Device (OEM)	0	
-d	10b90780	Multi-IO Card	0	
-d	10b90782	Multi-IO Card	0	
-d	10b91435	M1435	0	
-d	10b91445	M1445	0	
-d	10b91449	M1449	0	
-d	10b91451	M1451	0	
-d	10b91461	M1461	0	
-d	10b91489	M1489	0	
-d	10b91511	M1511 [Aladdin]	0	
-d	10b91512	M1512 [Aladdin]	0	
-d	10b91513	M1513 [Aladdin]	0	
-d	10b91521	M1521 [Aladdin III]	0	
-s	10b9152110b91521	ALI M1521 Aladdin III CPU Bridge	0	
-d	10b91523	M1523	0	
-s	10b9152310b91523	ALI M1523 ISA Bridge	0	
-d	10b91531	M1531 [Aladdin IV]	0	
-d	10b91533	M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+]	0	
-s	10b915331014053b	ThinkPad R40e (2684-HVG) PCI to ISA Bridge	0	
-s	10b9153310b91533	ALi M1533 Aladdin IV/V ISA Bridge	0	
-d	10b91541	M1541	0	
-s	10b9154110b91541	ALI M1541 Aladdin V/V+ AGP System Controller	0	
-d	10b91543	M1543	0	
-d	10b91563	M1563 HyperTransport South Bridge	0	
-d	10b91573	PCI to LPC Controller	0	
-d	10b91621	M1621	0	
-d	10b91631	ALI M1631 PCI North Bridge Aladdin Pro III	0	
-d	10b91632	M1632M Northbridge+Trident	0	
-d	10b91641	ALI M1641 PCI North Bridge Aladdin Pro IV	0	
-d	10b91644	M1644/M1644T Northbridge+Trident	0	
-d	10b91646	M1646 Northbridge+Trident	0	
-d	10b91647	M1647 Northbridge [MAGiK 1 / MobileMAGiK 1]	0	
-d	10b91651	M1651/M1651T Northbridge [Aladdin-Pro 5/5M,Aladdin-Pro 5T/5TM]	0	
-d	10b91671	M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR]	0	
-d	10b91672	M1672 Northbridge [CyberALADDiN-P4]	0	
-d	10b91681	M1681 P4 Northbridge [AGP8X,HyperTransport and SDR/DDR]	0	
-d	10b91687	M1687 K8 Northbridge [AGP8X and HyperTransport]	0	
-d	10b91689	M1689 K8 Northbridge [Super K8 Single Chip]	0	
-d	10b91695	M1695 K8 Northbridge [PCI Express and HyperTransport]	0	
-d	10b91697	M1697 HTT Host Bridge	0	
-d	10b93141	M3141	0	
-d	10b93143	M3143	0	
-d	10b93145	M3145	0	
-d	10b93147	M3147	0	
-d	10b93149	M3149	0	
-d	10b93151	M3151	0	
-d	10b93307	M3307	0	
-d	10b93309	M3309	0	
-d	10b93323	M3325 Video/Audio Decoder	0	
-d	10b95212	M4803	0	
-d	10b95215	MS4803	0	
-d	10b95217	M5217H	0	
-d	10b95219	M5219	0	
-d	10b95225	M5225	0	
-d	10b95228	M5228 ALi ATA/RAID Controller	0	
-d	10b95229	M5229 IDE	0	
-s	10b952291014050f	ThinkPad R30	0	
-s	10b952291014053d	ThinkPad R40e (2684-HVG) builtin IDE	0	
-s	10b95229103c0024	Pavilion ze4400 builtin IDE	0	
-s	10b9522910438053	A7A266 Motherboard IDE	0	
-s	10b9522918495229	ASRock 939Dual-SATA2 Motherboard IDE (PATA)	0	
-d	10b95235	M5225	0	
-d	10b95237	USB 1.1 Controller	0	
-s	10b9523710140540	ThinkPad R40e (2684-HVG) builtin USB	0	
-s	10b95237103c0024	Pavilion ze4400 builtin USB	0	
-s	10b95237104d810f	VAIO PCG-U1 USB/OHCI Revision 1.0	0	
-d	10b95239	USB 2.0 Controller	0	
-d	10b95243	M1541 PCI to AGP Controller	0	
-d	10b95246	AGP8X Controller	0	
-d	10b95247	PCI to AGP Controller	0	
-d	10b95249	M5249 HTT to PCI Bridge	0	
-d	10b9524b	PCI Express Root Port	0	
-d	10b9524c	PCI Express Root Port	0	
-d	10b9524d	PCI Express Root Port	0	
-d	10b9524e	PCI Express Root Port	0	
-d	10b95251	M5251 P1394 OHCI 1.0 Controller	0	
-d	10b95253	M5253 P1394 OHCI 1.1 Controller	0	
-d	10b95261	M5261 Ethernet Controller	0	
-d	10b95263	ULi 1689,1573 integrated ethernet.	0	
-d	10b95281	ALi M5281 Serial ATA / RAID Host Controller	0	
-d	10b95287	ULi 5287 SATA	0	
-d	10b95288	ULi M5288 SATA	0	
-d	10b95289	ULi 5289 SATA	0	
-d	10b95450	Lucent Technologies Soft Modem AMR	0	
-d	10b95451	M5451 PCI AC-Link Controller Audio Device	0	
-s	10b9545110140506	ThinkPad R30	0	
-s	10b954511014053e	ThinkPad R40e (2684-HVG) builtin Audio	0	
-s	10b95451103c0024	Pavilion ze4400 builtin Audio	0	
-s	10b9545110b95451	HP Compaq nc4010 (DY885AA#ABN)	0	
-d	10b95453	M5453 PCI AC-Link Controller Modem Device	0	
-d	10b95455	M5455 PCI AC-Link Controller Audio Device	0	
-d	10b95457	M5457 AC'97 Modem Controller	0	
-s	10b9545710140535	ThinkPad R40e (2684-HVG) builtin modem	0	
-s	10b95457103c0024	Pavilion ze4400 builtin Modem Device	0	
-d	10b95459	SmartLink SmartPCI561 56K Modem	0	
-d	10b9545a	SmartLink SmartPCI563 56K Modem	0	
-d	10b95461	High Definition Audio/AC'97 Host Controller	0	
-d	10b95471	M5471 Memory Stick Controller	0	
-d	10b95473	M5473 SD-MMC Controller	0	
-d	10b97101	M7101 Power Management Controller [PMU]	0	
-s	10b9710110140510	ThinkPad R30	0	
-s	10b971011014053c	ThinkPad R40e (2684-HVG) Power Management Controller	0	
-s	10b97101103c0024	Pavilion ze4400	0	
-v	10ba	Mitsubishi Electric Corp.	0	
-d	10ba0301	AccelGraphics AccelECLIPSE	0	
-d	10ba0304	AccelGALAXY A2100 [OEM Evans & Sutherland]	0	
-d	10ba0308	Tornado 3000 [OEM Evans & Sutherland]	0	
-d	10ba1002	VG500 [VolumePro Volume Rendering Accelerator]	0	
-v	10bb	Dapha Electronics Corporation	0	
-v	10bc	Advanced Logic Research	0	
-v	10bd	Surecom Technology	0	
-d	10bd0e34	NE-34	0	
-v	10be	Tseng Labs International Co.	0	
-v	10bf	Most Inc	0	
-v	10c0	Boca Research Inc.	0	
-v	10c1	ICM Co., Ltd.	0	
-v	10c2	Auspex Systems Inc.	0	
-v	10c3	Samsung Semiconductors, Inc.	0	
-d	10c31100	Smartether100 SC1100 LAN Adapter (i82557B)	0	
-v	10c4	Award Software International Inc.	0	
-v	10c5	Xerox Corporation	0	
-v	10c6	Rambus Inc.	0	
-v	10c7	Media Vision	0	
-v	10c8	Neomagic Corporation	0	
-d	10c80001	NM2070 [MagicGraph 128]	0	
-d	10c80002	NM2090 [MagicGraph 128V]	0	
-d	10c80003	NM2093 [MagicGraph 128ZV]	0	
-d	10c80004	NM2160 [MagicGraph 128XD]	0	
-s	10c80004101400ba	MagicGraph 128XD	0	
-s	10c8000410251007	MagicGraph 128XD	0	
-s	10c8000410280074	MagicGraph 128XD	0	
-s	10c8000410280075	MagicGraph 128XD	0	
-s	10c800041028007d	MagicGraph 128XD	0	
-s	10c800041028007e	MagicGraph 128XD	0	
-s	10c800041033802f	MagicGraph 128XD	0	
-s	10c80004104d801b	MagicGraph 128XD	0	
-s	10c80004104d802f	MagicGraph 128XD	0	
-s	10c80004104d830b	MagicGraph 128XD	0	
-s	10c8000410ba0e00	MagicGraph 128XD	0	
-s	10c8000410c80004	MagicGraph 128XD	0	
-s	10c8000410cf1029	MagicGraph 128XD	0	
-s	10c8000410f78308	MagicGraph 128XD	0	
-s	10c8000410f78309	MagicGraph 128XD	0	
-s	10c8000410f7830b	MagicGraph 128XD	0	
-s	10c8000410f7830d	MagicGraph 128XD	0	
-s	10c8000410f78312	MagicGraph 128XD	0	
-d	10c80005	NM2200 [MagicGraph 256AV]	0	
-s	10c80005101400dd	ThinkPad 570	0	
-s	10c8000510280088	Latitude CPi A	0	
-d	10c80006	NM2360 [MagicMedia 256ZX]	0	
-d	10c80016	NM2380 [MagicMedia 256XL+]	0	
-s	10c8001610c80016	MagicMedia 256XL+	0	
-d	10c80025	NM2230 [MagicGraph 256AV+]	0	
-d	10c80083	NM2093 [MagicGraph 128ZV+]	0	
-d	10c88005	NM2200 [MagicMedia 256AV Audio]	0	
-s	10c880050e11b0d1	MagicMedia 256AV Audio Device on Discovery	0	
-s	10c880050e11b126	MagicMedia 256AV Audio Device on Durango	0	
-s	10c88005101400dd	MagicMedia 256AV Audio Device on BlackTip Thinkpad	0	
-s	10c8800510251003	MagicMedia 256AV Audio Device on TravelMate 720	0	
-s	10c8800510280088	Latitude CPi A	0	
-s	10c880051028008f	MagicMedia 256AV Audio Device on Colorado Inspiron	0	
-s	10c88005103c0007	MagicMedia 256AV Audio Device on Voyager II	0	
-s	10c88005103c0008	MagicMedia 256AV Audio Device on Voyager III	0	
-s	10c88005103c000d	MagicMedia 256AV Audio Device on Omnibook 900	0	
-s	10c8800510c88005	MagicMedia 256AV Audio Device on FireAnt	0	
-s	10c88005110a8005	MagicMedia 256AV Audio Device	0	
-s	10c8800514c00004	MagicMedia 256AV Audio Device	0	
-d	10c88006	NM2360 [MagicMedia 256ZX Audio]	0	
-d	10c88016	NM2380 [MagicMedia 256XL+ Audio]	0	
-v	10c9	Dataexpert Corporation	0	
-v	10ca	Fujitsu Microelectr., Inc.	0	
-v	10cb	Omron Corporation	0	
+d	10b59060	9060	0
+d	10b5906d	9060SD	0
+s	10b5906d125c0640	Aries 16000P	0
+d	10b5906e	9060ES	0
+d	10b59080	9080	0
+s	10b59080103c10eb	(Agilent) E2777B 83K Series Optical Communication Interface	0
+s	10b59080103c10ec	(Agilent) E6978-66442 PCI CIC	0
+s	10b5908010b51123	Sectra KK631 encryption board	0
+s	10b5908010b59080	9080 [real subsystem ID not set]	0
+s	10b59080129d0002	Aculab PCI Prosidy card	0
+s	10b5908012d90002	PCI Prosody Card	0
+s	10b5908012df4422	4422PCI ["Do-All" Telemetry Data Aquisition System]	0
+s	10b590801517000b	ECSG-1R3ADC-PMC Clock synthesizer	0
+d	10b59656	PCI <-> IOBus Bridge	0
+s	10b596561517000f	ECDR-GC314-PMC Receiver	0
+s	10b5965618850700	Tsunami FPGA PMC with Altera Stratix S40	0
+s	10b5965618850701	Tsunami FPGA PMC with Altera Stratix S30	0
+d	10b5bb04	B&B 3PCIOSD1A Isolated PCI Serial	0
+d	10b5c001	CronyxOmega-PCI (8-port RS232)	0
+v	10b6	Madge Networks	0
+d	10b60001	Smart 16/4 PCI Ringnode	0
+d	10b60002	Smart 16/4 PCI Ringnode Mk2	0
+s	10b6000210b60002	Smart 16/4 PCI Ringnode Mk2	0
+s	10b6000210b60006	16/4 CardBus Adapter	0
+d	10b60003	Smart 16/4 PCI Ringnode Mk3	0
+s	10b600030e11b0fd	Compaq NC4621 PCI, 4/16, WOL	0
+s	10b6000310b60003	Smart 16/4 PCI Ringnode Mk3	0
+s	10b6000310b60007	Presto PCI Plus Adapter	0
+d	10b60004	Smart 16/4 PCI Ringnode Mk1	0
+d	10b60006	16/4 Cardbus Adapter	0
+s	10b6000610b60006	16/4 CardBus Adapter	0
+d	10b60007	Presto PCI Adapter	0
+s	10b6000710b60007	Presto PCI	0
+d	10b60009	Smart 100/16/4 PCI-HS Ringnode	0
+s	10b6000910b60009	Smart 100/16/4 PCI-HS Ringnode	0
+d	10b6000a	Smart 100/16/4 PCI Ringnode	0
+s	10b6000a10b6000a	Smart 100/16/4 PCI Ringnode	0
+d	10b6000b	16/4 CardBus Adapter Mk2	0
+s	10b6000b10b60008	16/4 CardBus Adapter Mk2	0
+s	10b6000b10b6000b	16/4 Cardbus Adapter Mk2	0
+d	10b6000c	RapidFire 3140V2 16/4 TR Adapter	0
+s	10b6000c10b6000c	RapidFire 3140V2 16/4 TR Adapter	0
+d	10b61000	Collage 25/155 ATM Client Adapter	0
+d	10b61001	Collage 155 ATM Server Adapter	0
+v	10b7	3Com Corporation	0
+d	10b70001	3c985 1000BaseSX (SX/TX)	0
+d	10b70013	AR5212 802.11abg NIC (3CRDAG675)	0
+s	10b7001310b72031	3CRDAG675 11a/b/g Wireless PCI Adapter	0
+d	10b70910	3C910-A01	0
+d	10b71006	MINI PCI type 3B Data Fax Modem	0
+d	10b71007	Mini PCI 56k Winmodem	0
+s	10b7100710b7615b	Mini PCI 56K Modem	1
+s	10b7100710b7615c	Mini PCI 56K Modem	0
+d	10b710b7		1
+d	10b71201	3c982-TXM 10/100baseTX Dual Port A [Hydra]	0
+d	10b71202	3c982-TXM 10/100baseTX Dual Port B [Hydra]	0
+d	10b71700	3c940 10/100/1000Base-T [Marvell]	0
+s	10b71700104380eb	A7V600/P4P800/K8V motherboard	0
+s	10b7170010b70010	3C940 Gigabit LOM Ethernet Adapter	0
+s	10b7170010b70020	3C941 Gigabit LOM Ethernet Adapter	0
+s	10b71700147b1407	KV8-MAX3 motherboard	0
+d	10b73390	3c339 TokenLink Velocity	0
+d	10b73590	3c359 TokenLink Velocity XL	0
+s	10b7359010b73590	TokenLink Velocity XL Adapter (3C359/359B)	0
+d	10b74500	3c450 HomePNA [Tornado]	0
+d	10b75055	3c555 Laptop Hurricane	0
+d	10b75057	3c575 Megahertz 10/100 LAN CardBus [Boomerang]	0
+s	10b7505710b75a57	3C575 Megahertz 10/100 LAN Cardbus PC Card	0
+d	10b75157	3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone]	0
+s	10b7515710b75b57	3C575 Megahertz 10/100 LAN Cardbus PC Card	0
+d	10b75257	3cCFE575CT CardBus [Cyclone]	0
+s	10b7525710b75c57	FE575C-3Com 10/100 LAN CardBus-Fast Ethernet	0
+d	10b75900	3c590 10BaseT [Vortex]	0
+d	10b75920	3c592 EISA 10mbps Demon/Vortex	0
+d	10b75950	3c595 100BaseTX [Vortex]	0
+d	10b75951	3c595 100BaseT4 [Vortex]	0
+d	10b75952	3c595 100Base-MII [Vortex]	0
+d	10b75970	3c597 EISA Fast Demon/Vortex	0
+d	10b75b57	3c595 Megahertz 10/100 LAN CardBus [Boomerang]	0
+s	10b75b5710b75b57	3C575 Megahertz 10/100 LAN Cardbus PC Card	0
+d	10b76000	3CRSHPW796 [OfficeConnect Wireless CardBus]	0
+d	10b76001	3com 3CRWE154G72 [Office Connect Wireless LAN Adapter]	0
+d	10b76055	3c556 Hurricane CardBus [Cyclone]	0
+d	10b76056	3c556B CardBus [Tornado]	0
+s	10b7605610b76556	10/100 Mini PCI Ethernet Adapter	0
+d	10b76560	3cCFE656 CardBus [Cyclone]	0
+s	10b7656010b7656a	3CCFEM656 10/100 LAN+56K Modem CardBus	0
+d	10b76561	3cCFEM656 10/100 LAN+56K Modem CardBus	0
+s	10b7656110b7656b	3CCFEM656 10/100 LAN+56K Modem CardBus	0
+d	10b76562	3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone]	0
+s	10b7656210b7656b	3CCFEM656B 10/100 LAN+56K Modem CardBus	0
+d	10b76563	3cCFEM656B 10/100 LAN+56K Modem CardBus	0
+s	10b7656310b7656b	3CCFEM656 10/100 LAN+56K Modem CardBus	0
+d	10b76564	3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado]	0
+d	10b77646	3cSOHO100-TX Hurricane	0
+d	10b77770	3CRWE777 PCI(PLX) Wireless Adaptor [Airconnect]	0
+d	10b77940	3c803 FDDILink UTP Controller	0
+d	10b77980	3c804 FDDILink SAS Controller	0
+d	10b77990	3c805 FDDILink DAS Controller	0
+d	10b780eb	3c940B 10/100/1000Base-T	0
+d	10b78811	Token ring	0
+d	10b79000	3c900 10BaseT [Boomerang]	0
+d	10b79001	3c900 10Mbps Combo [Boomerang]	0
+d	10b79004	3c900B-TPO Etherlink XL [Cyclone]	0
+s	10b7900410b79004	3C900B-TPO Etherlink XL TPO 10Mb	0
+d	10b79005	3c900B-Combo Etherlink XL [Cyclone]	0
+s	10b7900510b79005	3C900B-Combo Etherlink XL Combo	0
+d	10b79006	3c900B-TPC Etherlink XL [Cyclone]	0
+d	10b7900a	3c900B-FL 10base-FL [Cyclone]	0
+d	10b79050	3c905 100BaseTX [Boomerang]	0
+d	10b79051	3c905 100BaseT4 [Boomerang]	0
+d	10b79054	3C905B-TX Fast Etherlink XL PCI	0
+s	10b7905410b79054	3C905B-TX Fast Etherlink XL PCI	0
+d	10b79055	3c905B 100BaseTX [Cyclone]	0
+s	10b7905510280080	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280081	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280082	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280083	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280084	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280085	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280086	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280087	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280088	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280089	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280090	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280091	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280092	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280093	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280094	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280095	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280096	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280097	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280098	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510280099	3C905B Fast Etherlink XL 10/100	0
+s	10b7905510b79055	3C905B Fast Etherlink XL 10/100	0
+d	10b79056	3c905B-T4 Fast EtherLink XL [Cyclone]	0
+d	10b79058	3c905B Deluxe Etherlink 10/100/BNC [Cyclone]	0
+d	10b7905a	3c905B-FX Fast Etherlink XL FX 100baseFx [Cyclone]	0
+d	10b79200	3c905C-TX/TX-M [Tornado]	0
+s	10b7920010280095	3C920 Integrated Fast Ethernet Controller	0
+s	10b7920010280097	3C920 Integrated Fast Ethernet Controller	0
+s	10b79200102800fe	Optiplex GX240	0
+s	10b792001028012a	3C920 Integrated Fast Ethernet Controller [Latitude C640]	0
+s	10b7920010b71000	3C905C-TX Fast Etherlink for PC Management NIC	0
+s	10b7920010b77000	10/100 Mini PCI Ethernet Adapter	0
+s	10b7920010f12466	Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)	0
+d	10b79201	3C920B-EMB Integrated Fast Ethernet Controller [Tornado]	0
+s	10b79201104380ab	A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller	0
+d	10b79202	3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller	0
+d	10b79210	3C920B-EMB-WNM Integrated Fast Ethernet Controller	0
+d	10b79300	3CSOHO100B-TX 910-A01 [tulip]	0
+d	10b79800	3c980-TX Fast Etherlink XL Server Adapter [Cyclone]	0
+s	10b7980010b79800	3c980-TX Fast Etherlink XL Server Adapter	0
+d	10b79805	3c980-C 10/100baseTX NIC [Python-T]	0
+s	10b7980510b71201	EtherLink Server 10/100 Dual Port A	0
+s	10b7980510b71202	EtherLink Server 10/100 Dual Port B	0
+s	10b7980510b79805	3c980 10/100baseTX NIC [Python-T]	0
+s	10b7980510f12462	Thunder K7 S2462	0
+d	10b79900	3C990-TX [Typhoon]	0
+d	10b79902	3CR990-TX-95 [Typhoon 56-bit]	0
+d	10b79903	3CR990-TX-97 [Typhoon 168-bit]	0
+d	10b79904	3C990B-TX-M/3C990BSVR [Typhoon2]	0
+s	10b7990410b71000	3CR990B-TX-M [Typhoon2]	0
+s	10b7990410b72000	3CR990BSVR [Typhoon2 Server]	0
+d	10b79905	3CR990-FX-95/97/95 [Typhon Fiber]	0
+s	10b7990510b71101	3CR990-FX-95 [Typhoon Fiber 56-bit]	0
+s	10b7990510b71102	3CR990-FX-97 [Typhoon Fiber 168-bit]	0
+s	10b7990510b72101	3CR990-FX-95 Server [Typhoon Fiber 56-bit]	0
+s	10b7990510b72102	3CR990-FX-97 Server [Typhoon Fiber 168-bit]	0
+d	10b79908	3CR990SVR95 [Typhoon Server 56-bit]	0
+d	10b79909	3CR990SVR97 [Typhoon Server 168-bit]	0
+d	10b7990a	3C990SVR [Typhoon Server]	0
+d	10b7990b	3C990SVR [Typhoon Server]	0
+v	10b8	Standard Microsystems Corp [SMC]	0
+d	10b80005	83c170 EPIC/100 Fast Ethernet Adapter	0
+s	10b800051055e000	LANEPIC 10/100 [EVB171Q-PCI]	0
+s	10b800051055e002	LANEPIC 10/100 [EVB171G-PCI]	0
+s	10b8000510b8a011	EtherPower II 10/100	0
+s	10b8000510b8a014	EtherPower II 10/100	0
+s	10b8000510b8a015	EtherPower II 10/100	0
+s	10b8000510b8a016	EtherPower II 10/100	0
+s	10b8000510b8a017	EtherPower II 10/100	0
+d	10b80006	83c175 EPIC/100 Fast Ethernet Adapter	0
+s	10b800061055e100	LANEPIC Cardbus Fast Ethernet Adapter	0
+s	10b800061055e102	LANEPIC Cardbus Fast Ethernet Adapter	0
+s	10b800061055e300	LANEPIC Cardbus Fast Ethernet Adapter	0
+s	10b800061055e302	LANEPIC Cardbus Fast Ethernet Adapter	0
+s	10b8000610b8a012	LANEPIC Cardbus Fast Ethernet Adapter	0
+s	10b8000613a28002	LANEPIC Cardbus Fast Ethernet Adapter	0
+s	10b8000613a28006	LANEPIC Cardbus Fast Ethernet Adapter	0
+d	10b81000	FDC 37c665	0
+d	10b81001	FDC 37C922	0
+d	10b82802	SMC2802W [EZ Connect g]	0
+d	10b8a011	83C170QF	0
+d	10b8b106	SMC34C90	0
+v	10b9	ALi Corporation	0
+d	10b90101	CMI8338/C3DX PCI Audio Device	0
+d	10b90111	C-Media CMI8738/C3DX Audio Device (OEM)	0
+s	10b9011110b90111	C-Media CMI8738/C3DX Audio Device (OEM)	0
+d	10b90780	Multi-IO Card	0
+d	10b90782	Multi-IO Card	0
+d	10b91435	M1435	0
+d	10b91445	M1445	0
+d	10b91449	M1449	0
+d	10b91451	M1451	0
+d	10b91461	M1461	0
+d	10b91489	M1489	0
+d	10b91511	M1511 [Aladdin]	0
+d	10b91512	M1512 [Aladdin]	0
+d	10b91513	M1513 [Aladdin]	0
+d	10b91521	M1521 [Aladdin III]	0
+s	10b9152110b91521	ALI M1521 Aladdin III CPU Bridge	0
+d	10b91523	M1523	0
+s	10b9152310b91523	ALI M1523 ISA Bridge	0
+d	10b91531	M1531 [Aladdin IV]	0
+d	10b91533	M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+]	0
+s	10b915331014053b	ThinkPad R40e (2684-HVG) PCI to ISA Bridge	0
+s	10b9153310b91533	ALi M1533 Aladdin IV/V ISA Bridge	0
+d	10b91541	M1541	0
+s	10b9154110b91541	ALI M1541 Aladdin V/V+ AGP System Controller	0
+d	10b91543	M1543	0
+d	10b91563	M1563 HyperTransport South Bridge	0
+d	10b91573	PCI to LPC Controller	0
+d	10b91621	M1621	0
+d	10b91631	ALI M1631 PCI North Bridge Aladdin Pro III	0
+d	10b91632	M1632M Northbridge+Trident	0
+d	10b91641	ALI M1641 PCI North Bridge Aladdin Pro IV	0
+d	10b91644	M1644/M1644T Northbridge+Trident	0
+d	10b91646	M1646 Northbridge+Trident	0
+d	10b91647	M1647 Northbridge [MAGiK 1 / MobileMAGiK 1]	0
+d	10b91651	M1651/M1651T Northbridge [Aladdin-Pro 5/5M,Aladdin-Pro 5T/5TM]	0
+d	10b91671	M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR]	0
+d	10b91672	M1672 Northbridge [CyberALADDiN-P4]	0
+d	10b91681	M1681 P4 Northbridge [AGP8X,HyperTransport and SDR/DDR]	0
+d	10b91687	M1687 K8 Northbridge [AGP8X and HyperTransport]	0
+d	10b91689	M1689 K8 Northbridge [Super K8 Single Chip]	0
+d	10b91695	M1695 K8 Northbridge [PCI Express and HyperTransport]	0
+d	10b91697	M1697 HTT Host Bridge	0
+d	10b93141	M3141	0
+d	10b93143	M3143	0
+d	10b93145	M3145	0
+d	10b93147	M3147	0
+d	10b93149	M3149	0
+d	10b93151	M3151	0
+d	10b93307	M3307	0
+d	10b93309	M3309	0
+d	10b93323	M3325 Video/Audio Decoder	0
+d	10b95212	M4803	0
+d	10b95215	MS4803	0
+d	10b95217	M5217H	0
+d	10b95219	M5219	0
+d	10b95225	M5225	0
+d	10b95228	M5228 ALi ATA/RAID Controller	0
+d	10b95229	M5229 IDE	0
+s	10b952291014050f	ThinkPad R30	0
+s	10b952291014053d	ThinkPad R40e (2684-HVG) builtin IDE	0
+s	10b95229103c0024	Pavilion ze4400 builtin IDE	0
+s	10b9522910438053	A7A266 Motherboard IDE	0
+s	10b9522918495229	ASRock 939Dual-SATA2 Motherboard IDE (PATA)	0
+d	10b95235	M5225	0
+d	10b95237	USB 1.1 Controller	0
+s	10b9523710140540	ThinkPad R40e (2684-HVG) builtin USB	0
+s	10b95237103c0024	Pavilion ze4400 builtin USB	0
+s	10b95237104d810f	VAIO PCG-U1 USB/OHCI Revision 1.0	0
+d	10b95239	USB 2.0 Controller	0
+d	10b95243	M1541 PCI to AGP Controller	0
+d	10b95246	AGP8X Controller	0
+d	10b95247	PCI to AGP Controller	0
+d	10b95249	M5249 HTT to PCI Bridge	0
+d	10b9524b	PCI Express Root Port	0
+d	10b9524c	PCI Express Root Port	0
+d	10b9524d	PCI Express Root Port	0
+d	10b9524e	PCI Express Root Port	0
+d	10b95251	M5251 P1394 OHCI 1.0 Controller	0
+d	10b95253	M5253 P1394 OHCI 1.1 Controller	0
+d	10b95261	M5261 Ethernet Controller	0
+d	10b95263	ULi 1689,1573 integrated ethernet.	0
+d	10b95281	ALi M5281 Serial ATA / RAID Host Controller	0
+d	10b95287	ULi 5287 SATA	0
+d	10b95288	ULi M5288 SATA	0
+d	10b95289	ULi 5289 SATA	0
+d	10b95450	Lucent Technologies Soft Modem AMR	0
+d	10b95451	M5451 PCI AC-Link Controller Audio Device	0
+s	10b9545110140506	ThinkPad R30	0
+s	10b954511014053e	ThinkPad R40e (2684-HVG) builtin Audio	0
+s	10b95451103c0024	Pavilion ze4400 builtin Audio	0
+s	10b9545110b95451	HP Compaq nc4010 (DY885AA#ABN)	0
+d	10b95453	M5453 PCI AC-Link Controller Modem Device	0
+d	10b95455	M5455 PCI AC-Link Controller Audio Device	0
+d	10b95457	M5457 AC'97 Modem Controller	0
+s	10b9545710140535	ThinkPad R40e (2684-HVG) builtin modem	0
+s	10b95457103c0024	Pavilion ze4400 builtin Modem Device	0
+d	10b95459	SmartLink SmartPCI561 56K Modem	0
+d	10b9545a	SmartLink SmartPCI563 56K Modem	0
+d	10b95461	High Definition Audio/AC'97 Host Controller	0
+d	10b95471	M5471 Memory Stick Controller	0
+d	10b95473	M5473 SD-MMC Controller	0
+d	10b97101	M7101 Power Management Controller [PMU]	0
+s	10b9710110140510	ThinkPad R30	0
+s	10b971011014053c	ThinkPad R40e (2684-HVG) Power Management Controller	0
+s	10b97101103c0024	Pavilion ze4400	0
+v	10ba	Mitsubishi Electric Corp.	0
+d	10ba0301	AccelGraphics AccelECLIPSE	0
+d	10ba0304	AccelGALAXY A2100 [OEM Evans & Sutherland]	0
+d	10ba0308	Tornado 3000 [OEM Evans & Sutherland]	0
+d	10ba1002	VG500 [VolumePro Volume Rendering Accelerator]	0
+v	10bb	Dapha Electronics Corporation	0
+v	10bc	Advanced Logic Research	0
+v	10bd	Surecom Technology	0
+d	10bd0e34	NE-34	0
+v	10be	Tseng Labs International Co.	0
+v	10bf	Most Inc	0
+v	10c0	Boca Research Inc.	0
+v	10c1	ICM Co., Ltd.	0
+v	10c2	Auspex Systems Inc.	0
+v	10c3	Samsung Semiconductors, Inc.	0
+d	10c31100	Smartether100 SC1100 LAN Adapter (i82557B)	0
+v	10c4	Award Software International Inc.	0
+v	10c5	Xerox Corporation	0
+v	10c6	Rambus Inc.	0
+v	10c7	Media Vision	0
+v	10c8	Neomagic Corporation	0
+d	10c80001	NM2070 [MagicGraph 128]	0
+d	10c80002	NM2090 [MagicGraph 128V]	0
+d	10c80003	NM2093 [MagicGraph 128ZV]	0
+d	10c80004	NM2160 [MagicGraph 128XD]	0
+s	10c80004101400ba	MagicGraph 128XD	0
+s	10c8000410251007	MagicGraph 128XD	0
+s	10c8000410280074	MagicGraph 128XD	0
+s	10c8000410280075	MagicGraph 128XD	0
+s	10c800041028007d	MagicGraph 128XD	0
+s	10c800041028007e	MagicGraph 128XD	0
+s	10c800041033802f	MagicGraph 128XD	0
+s	10c80004104d801b	MagicGraph 128XD	0
+s	10c80004104d802f	MagicGraph 128XD	0
+s	10c80004104d830b	MagicGraph 128XD	0
+s	10c8000410ba0e00	MagicGraph 128XD	0
+s	10c8000410c80004	MagicGraph 128XD	0
+s	10c8000410cf1029	MagicGraph 128XD	0
+s	10c8000410f78308	MagicGraph 128XD	0
+s	10c8000410f78309	MagicGraph 128XD	0
+s	10c8000410f7830b	MagicGraph 128XD	0
+s	10c8000410f7830d	MagicGraph 128XD	0
+s	10c8000410f78312	MagicGraph 128XD	0
+d	10c80005	NM2200 [MagicGraph 256AV]	0
+s	10c80005101400dd	ThinkPad 570	0
+s	10c8000510280088	Latitude CPi A	0
+d	10c80006	NM2360 [MagicMedia 256ZX]	0
+d	10c80016	NM2380 [MagicMedia 256XL+]	0
+s	10c8001610c80016	MagicMedia 256XL+	0
+d	10c80025	NM2230 [MagicGraph 256AV+]	0
+d	10c80083	NM2093 [MagicGraph 128ZV+]	0
+d	10c88005	NM2200 [MagicMedia 256AV Audio]	0
+s	10c880050e11b0d1	MagicMedia 256AV Audio Device on Discovery	0
+s	10c880050e11b126	MagicMedia 256AV Audio Device on Durango	0
+s	10c88005101400dd	MagicMedia 256AV Audio Device on BlackTip Thinkpad	0
+s	10c8800510251003	MagicMedia 256AV Audio Device on TravelMate 720	0
+s	10c8800510280088	Latitude CPi A	0
+s	10c880051028008f	MagicMedia 256AV Audio Device on Colorado Inspiron	0
+s	10c88005103c0007	MagicMedia 256AV Audio Device on Voyager II	0
+s	10c88005103c0008	MagicMedia 256AV Audio Device on Voyager III	0
+s	10c88005103c000d	MagicMedia 256AV Audio Device on Omnibook 900	0
+s	10c8800510c88005	MagicMedia 256AV Audio Device on FireAnt	0
+s	10c88005110a8005	MagicMedia 256AV Audio Device	0
+s	10c8800514c00004	MagicMedia 256AV Audio Device	0
+d	10c88006	NM2360 [MagicMedia 256ZX Audio]	0
+d	10c88016	NM2380 [MagicMedia 256XL+ Audio]	0
+v	10c9	Dataexpert Corporation	0
+v	10ca	Fujitsu Microelectr., Inc.	0
+v	10cb	Omron Corporation	0
 v	10cc	Mai Logic Incorporated	0	nee Mentor ARC Inc
-d	10cc0660	Articia S Host Bridge	0	
-d	10cc0661	Articia S PCI Bridge	0	
-v	10cd	Advanced System Products, Inc	0	
-d	10cd1100	ASC1100	0	
-d	10cd1200	ASC1200 [(abp940) Fast SCSI-II]	0	
-d	10cd1300	ABP940-U / ABP960-U	0	
-s	10cd130010cd1310	ASC1300 SCSI Adapter	0	
-s	10cd130011951320	Ultra-SCSI CardBus PC Card REX CB31	0	
-d	10cd2300	ABP940-UW	0	
-d	10cd2500	ABP940-U2W	0	
-v	10ce	Radius	0	
+d	10cc0660	Articia S Host Bridge	0
+d	10cc0661	Articia S PCI Bridge	0
+v	10cd	Advanced System Products, Inc	0
+d	10cd1100	ASC1100	0
+d	10cd1200	ASC1200 [(abp940) Fast SCSI-II]	0
+d	10cd1300	ABP940-U / ABP960-U	0
+s	10cd130010cd1310	ASC1300 SCSI Adapter	0
+s	10cd130011951320	Ultra-SCSI CardBus PC Card REX CB31	0
+d	10cd2300	ABP940-UW	0
+d	10cd2500	ABP940-U2W	0
+v	10ce	Radius	0
 v	10cf	Fujitsu Limited.	0	nee Citicorp TTI
-d	10cf2001	mb86605	0	
-v	10d1	FuturePlus Systems Corp.	0	
-v	10d2	Molex Incorporated	0	
-v	10d3	Jabil Circuit Inc	0	
-v	10d4	Hualon Microelectronics	0	
-v	10d5	Autologic Inc.	0	
-v	10d6	Cetia	0	
-v	10d7	BCM Advanced Research	0	
-v	10d8	Advanced Peripherals Labs	0	
-v	10d9	Macronix, Inc. [MXIC]	0	
-d	10d90431	MX98715	0	
-d	10d90512	MX98713	0	
-d	10d90531	MX987x5	0	
-s	10d9053111861200	DFE-540TX ProFAST 10/100 Adapter	0	
-d	10d98625	MX86250	0	
-d	10d98626	Macronix MX86251 + 3Dfx Voodoo Rush	0	
-d	10d98888	MX86200	0	
-v	10da	Compaq IPG-Austin	0	
-d	10da0508	TC4048 Token Ring 4/16	0	
-d	10da3390	Tl3c3x9	0	
-v	10db	Rohm LSI Systems, Inc.	0	
-v	10dc	CERN/ECP/EDU	0	
-d	10dc0001	STAR/RD24 SCI-PCI (PMC)	0	
-d	10dc0002	TAR/RD24 SCI-PCI (PMC)	0	
-d	10dc0021	HIPPI destination	0	
-d	10dc0022	HIPPI source	0	
-d	10dc10dc	ATT2C15-3 FPGA	0	
-v	10dd	Evans & Sutherland	0	
-d	10dd0100	Lightning 1200	0	
-v	10de	nVidia Corporation	0	
-d	10de0008	NV1 [EDGE 3D]	0	
-d	10de0009	NV1 [EDGE 3D]	0	
-d	10de0010	NV2 [Mutara V08]	0	
-d	10de0020	NV4 [RIVA TNT]	0	
-s	10de002010430200	V3400 TNT	0	
-s	10de002010480c18	Erazor II SGRAM	0	
-s	10de002010480c19	Erazor II	0	
-s	10de002010480c1b	Erazor II	0	
-s	10de002010480c1c	Erazor II	0	
-s	10de002010920550	Viper V550	0	
-s	10de002010920552	Viper V550	0	
-s	10de002010924804	Viper V550	0	
-s	10de002010924808	Viper V550	0	
-s	10de002010924810	Viper V550	0	
-s	10de002010924812	Viper V550	0	
-s	10de002010924815	Viper V550	0	
-s	10de002010924820	Viper V550 with TV out	0	
-s	10de002010924822	Viper V550	0	
-s	10de002010924904	Viper V550	0	
-s	10de002010924914	Viper V550	0	
-s	10de002010928225	Viper V550	0	
-s	10de002010b4273d	Velocity 4400	0	
-s	10de002010b4273e	Velocity 4400	0	
-s	10de002010b42740	Velocity 4400	0	
-s	10de002010de0020	Riva TNT	0	
-s	10de002011021015	Graphics Blaster CT6710	0	
-s	10de002011021016	Graphics Blaster RIVA TNT	0	
-d	10de0028	NV5 [RIVA TNT2/TNT2 Pro]	0	
-s	10de002810430200	AGP-V3800 SGRAM	0	
-s	10de002810430201	AGP-V3800 SDRAM	0	
-s	10de002810430205	PCI-V3800	0	
-s	10de002810434000	AGP-V3800PRO	0	
-s	10de002810480c21	Synergy II	0	
-s	10de002810480c28	Erazor III	0	
-s	10de002810480c29	Erazor III	0	
-s	10de002810480c2a	Erazor III	0	
-s	10de002810480c2b	Erazor III	0	
-s	10de002810480c31	Erazor III Pro	0	
-s	10de002810480c32	Erazor III Pro	0	
-s	10de002810480c33	Erazor III Pro	0	
-s	10de002810480c34	Erazor III Pro	0	
-s	10de0028107d2134	WinFast 3D S320 II + TV-Out	0	
-s	10de002810924804	Viper V770	0	
-s	10de002810924a00	Viper V770	0	
-s	10de002810924a02	Viper V770 Ultra	0	
-s	10de002810925a00	RIVA TNT2/TNT2 Pro	0	
-s	10de002810926a02	Viper V770 Ultra	0	
-s	10de002810927a02	Viper V770 Ultra	0	
-s	10de002810de0005	RIVA TNT2 Pro	0	
-s	10de002810de000f	Compaq NVIDIA TNT2 Pro	0	
-s	10de002811021020	3D Blaster RIVA TNT2	0	
-s	10de002811021026	3D Blaster RIVA TNT2 Digital	0	
-s	10de002814af5810	Maxi Gamer Xentor	0	
-d	10de0029	NV5 [RIVA TNT2 Ultra]	0	
-s	10de002910430200	AGP-V3800 Deluxe	0	
-s	10de002910430201	AGP-V3800 Ultra SDRAM	0	
-s	10de002910430205	PCI-V3800 Ultra	0	
-s	10de002910480c2e	Erazor III Ultra	0	
-s	10de002910480c2f	Erazor III Ultra	0	
-s	10de002910480c30	Erazor III Ultra	0	
-s	10de002911021021	3D Blaster RIVA TNT2 Ultra	0	
-s	10de002911021029	3D Blaster RIVA TNT2 Ultra	0	
-s	10de00291102102f	3D Blaster RIVA TNT2 Ultra	0	
-s	10de002914af5820	Maxi Gamer Xentor 32	0	
-d	10de002a	NV5 [Riva TnT2]	0	
-d	10de002b	NV5 [Riva TnT2]	0	
-d	10de002c	NV6 [Vanta/Vanta LT]	0	
-s	10de002c10430200	AGP-V3800 Combat SDRAM	0	
-s	10de002c10430201	AGP-V3800 Combat	0	
-s	10de002c10480c20	TNT2 Vanta	0	
-s	10de002c10480c21	TNT2 Vanta	0	
-s	10de002c10926820	Viper V730	0	
-s	10de002c11021031	CT6938 VANTA 8MB	0	
-s	10de002c11021034	CT6894 VANTA 16MB	0	
-s	10de002c14af5008	Maxi Gamer Phoenix 2	0	
-d	10de002d	NV5M64 [RIVA TNT2 Model 64/Model 64 Pro]	0	
-s	10de002d10430200	AGP-V3800M	0	
-s	10de002d10430201	AGP-V3800M	0	
-s	10de002d10480c3a	Erazor III LT	0	
-s	10de002d10480c3b	Erazor III LT	0	
-s	10de002d10de001e	M64 AGP4x	0	
-s	10de002d11021023	CT6892 RIVA TNT2 Value	0	
-s	10de002d11021024	CT6932 RIVA TNT2 Value 32Mb	0	
-s	10de002d1102102c	CT6931 RIVA TNT2 Value [Jumper]	0	
-s	10de002d14628808	MSI-8808	0	
-s	10de002d15541041	Pixelview RIVA TNT2 M64	0	
-s	10de002d1569002d	Palit Microsystems Daytona TNT2 M64	0	
-d	10de002e	NV6 [Vanta]	0	
-d	10de002f	NV6 [Vanta]	0	
-d	10de0034	MCP04 SMBus	0	
-d	10de0035	MCP04 IDE	0	
-d	10de0036	MCP04 Serial ATA Controller	0	
-d	10de0037	MCP04 Ethernet Controller	0	
-d	10de0038	MCP04 Ethernet Controller	0	
-d	10de003a	MCP04 AC'97 Audio Controller	0	
-d	10de003b	MCP04 USB Controller	0	
-d	10de003c	MCP04 USB Controller	0	
-d	10de003d	MCP04 PCI Bridge	0	
-d	10de003e	MCP04 Serial ATA Controller	0	
-d	10de0040	NV40 [GeForce 6800 Ultra]	0	
-d	10de0041	NV40 [GeForce 6800]	0	
-s	10de00411043817b	V9999 Gamer Edition	0	
-d	10de0042	NV40.2 [GeForce 6800 LE]	0	
-d	10de0043	NV40.3	0	
+d	10cf2001	mb86605	0
+v	10d1	FuturePlus Systems Corp.	0
+v	10d2	Molex Incorporated	0
+v	10d3	Jabil Circuit Inc	0
+v	10d4	Hualon Microelectronics	0
+v	10d5	Autologic Inc.	0
+v	10d6	Cetia	0
+v	10d7	BCM Advanced Research	0
+v	10d8	Advanced Peripherals Labs	0
+v	10d9	Macronix, Inc. [MXIC]	0
+d	10d90431	MX98715	0
+d	10d90512	MX98713	0
+d	10d90531	MX987x5	0
+s	10d9053111861200	DFE-540TX ProFAST 10/100 Adapter	0
+d	10d98625	MX86250	0
+d	10d98626	Macronix MX86251 + 3Dfx Voodoo Rush	0
+d	10d98888	MX86200	0
+v	10da	Compaq IPG-Austin	0
+d	10da0508	TC4048 Token Ring 4/16	0
+d	10da3390	Tl3c3x9	0
+v	10db	Rohm LSI Systems, Inc.	0
+v	10dc	CERN/ECP/EDU	0
+d	10dc0001	STAR/RD24 SCI-PCI (PMC)	0
+d	10dc0002	TAR/RD24 SCI-PCI (PMC)	0
+d	10dc0021	HIPPI destination	0
+d	10dc0022	HIPPI source	0
+d	10dc10dc	ATT2C15-3 FPGA	0
+v	10dd	Evans & Sutherland	0
+d	10dd0100	Lightning 1200	0
+v	10de	nVidia Corporation	0
+d	10de0008	NV1 [EDGE 3D]	0
+d	10de0009	NV1 [EDGE 3D]	0
+d	10de0010	NV2 [Mutara V08]	0
+d	10de0020	NV4 [RIVA TNT]	0
+s	10de002010430200	V3400 TNT	0
+s	10de002010480c18	Erazor II SGRAM	0
+s	10de002010480c19	Erazor II	0
+s	10de002010480c1b	Erazor II	0
+s	10de002010480c1c	Erazor II	0
+s	10de002010920550	Viper V550	0
+s	10de002010920552	Viper V550	0
+s	10de002010924804	Viper V550	0
+s	10de002010924808	Viper V550	0
+s	10de002010924810	Viper V550	0
+s	10de002010924812	Viper V550	0
+s	10de002010924815	Viper V550	0
+s	10de002010924820	Viper V550 with TV out	0
+s	10de002010924822	Viper V550	0
+s	10de002010924904	Viper V550	0
+s	10de002010924914	Viper V550	0
+s	10de002010928225	Viper V550	0
+s	10de002010b4273d	Velocity 4400	0
+s	10de002010b4273e	Velocity 4400	0
+s	10de002010b42740	Velocity 4400	0
+s	10de002010de0020	Riva TNT	0
+s	10de002011021015	Graphics Blaster CT6710	0
+s	10de002011021016	Graphics Blaster RIVA TNT	0
+d	10de0028	NV5 [RIVA TNT2/TNT2 Pro]	0
+s	10de002810430200	AGP-V3800 SGRAM	0
+s	10de002810430201	AGP-V3800 SDRAM	0
+s	10de002810430205	PCI-V3800	0
+s	10de002810434000	AGP-V3800PRO	0
+s	10de002810480c21	Synergy II	0
+s	10de002810480c28	Erazor III	0
+s	10de002810480c29	Erazor III	0
+s	10de002810480c2a	Erazor III	0
+s	10de002810480c2b	Erazor III	0
+s	10de002810480c31	Erazor III Pro	0
+s	10de002810480c32	Erazor III Pro	0
+s	10de002810480c33	Erazor III Pro	0
+s	10de002810480c34	Erazor III Pro	0
+s	10de0028107d2134	WinFast 3D S320 II + TV-Out	0
+s	10de002810924804	Viper V770	0
+s	10de002810924a00	Viper V770	0
+s	10de002810924a02	Viper V770 Ultra	0
+s	10de002810925a00	RIVA TNT2/TNT2 Pro	0
+s	10de002810926a02	Viper V770 Ultra	0
+s	10de002810927a02	Viper V770 Ultra	0
+s	10de002810de0005	RIVA TNT2 Pro	0
+s	10de002810de000f	Compaq NVIDIA TNT2 Pro	0
+s	10de002811021020	3D Blaster RIVA TNT2	0
+s	10de002811021026	3D Blaster RIVA TNT2 Digital	0
+s	10de002814af5810	Maxi Gamer Xentor	0
+d	10de0029	NV5 [RIVA TNT2 Ultra]	0
+s	10de002910430200	AGP-V3800 Deluxe	0
+s	10de002910430201	AGP-V3800 Ultra SDRAM	0
+s	10de002910430205	PCI-V3800 Ultra	0
+s	10de002910480c2e	Erazor III Ultra	0
+s	10de002910480c2f	Erazor III Ultra	0
+s	10de002910480c30	Erazor III Ultra	0
+s	10de002911021021	3D Blaster RIVA TNT2 Ultra	0
+s	10de002911021029	3D Blaster RIVA TNT2 Ultra	0
+s	10de00291102102f	3D Blaster RIVA TNT2 Ultra	0
+s	10de002914af5820	Maxi Gamer Xentor 32	0
+d	10de002a	NV5 [Riva TnT2]	0
+d	10de002b	NV5 [Riva TnT2]	0
+d	10de002c	NV6 [Vanta/Vanta LT]	0
+s	10de002c10430200	AGP-V3800 Combat SDRAM	0
+s	10de002c10430201	AGP-V3800 Combat	0
+s	10de002c10480c20	TNT2 Vanta	0
+s	10de002c10480c21	TNT2 Vanta	0
+s	10de002c10926820	Viper V730	0
+s	10de002c11021031	CT6938 VANTA 8MB	0
+s	10de002c11021034	CT6894 VANTA 16MB	0
+s	10de002c14af5008	Maxi Gamer Phoenix 2	0
+d	10de002d	NV5M64 [RIVA TNT2 Model 64/Model 64 Pro]	0
+s	10de002d10430200	AGP-V3800M	0
+s	10de002d10430201	AGP-V3800M	0
+s	10de002d10480c3a	Erazor III LT	0
+s	10de002d10480c3b	Erazor III LT	0
+s	10de002d10de001e	M64 AGP4x	0
+s	10de002d11021023	CT6892 RIVA TNT2 Value	0
+s	10de002d11021024	CT6932 RIVA TNT2 Value 32Mb	0
+s	10de002d1102102c	CT6931 RIVA TNT2 Value [Jumper]	0
+s	10de002d14628808	MSI-8808	0
+s	10de002d15541041	Pixelview RIVA TNT2 M64	0
+s	10de002d1569002d	Palit Microsystems Daytona TNT2 M64	0
+d	10de002e	NV6 [Vanta]	0
+d	10de002f	NV6 [Vanta]	0
+d	10de0034	MCP04 SMBus	0
+d	10de0035	MCP04 IDE	0
+d	10de0036	MCP04 Serial ATA Controller	0
+d	10de0037	MCP04 Ethernet Controller	0
+d	10de0038	MCP04 Ethernet Controller	0
+d	10de003a	MCP04 AC'97 Audio Controller	0
+d	10de003b	MCP04 USB Controller	0
+d	10de003c	MCP04 USB Controller	0
+d	10de003d	MCP04 PCI Bridge	0
+d	10de003e	MCP04 Serial ATA Controller	0
+d	10de0040	NV40 [GeForce 6800 Ultra]	0
+d	10de0041	NV40 [GeForce 6800]	0
+s	10de00411043817b	V9999 Gamer Edition	0
+d	10de0042	NV40.2 [GeForce 6800 LE]	0
+d	10de0043	NV40.3	0
 d	10de0043	NV40.3 [GeForce 6800 XE]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0044	NV40 [GeForce 6800 XT]	0	
-d	10de0045	NV40 [GeForce 6800 GT]	0	
-d	10de0046	NV40 [GeForce 6800 GT]	0	
-d	10de0047	NV40 [GeForce 6800 GS]	0	
-s	10de004716822109	GeForce 6800 GS	0	
-d	10de0048	NV40 [GeForce 6800 XT]	0	
-d	10de0049	NV40GL	0	
-d	10de004d	NV40GL [Quadro FX 4000]	0	
-d	10de004e	NV40GL [Quadro FX 4000]	0	
-d	10de0050	CK804 ISA Bridge	0	
-s	10de00501043815a	K8N4-E Mainboard	0	
-s	10de005014580c11	GA-K8N Ultra-9 Mainboard	0	
-s	10de005014627100	MSI K8N Diamond	0	
-s	10de0050147b1c1a	KN8-Ultra Mainboard	0	
-d	10de0051	CK804 ISA Bridge	0	
-d	10de0052	CK804 SMBus	0	
-s	10de00521043815a	K8N4-E Mainboard	0	
-s	10de005214580c11	GA-K8N Ultra-9 Mainboard	0	
-s	10de005214627100	MSI K8N Diamond	0	
-s	10de0052147b1c1a	KN8-Ultra Mainboard	0	
-d	10de0053	CK804 IDE	0	
-s	10de00531043815a	K8N4-E Mainboard	0	
-s	10de005314585002	GA-K8N Ultra-9 Mainboard	0	
-s	10de005314627100	MSI K8N Diamond	0	
-s	10de0053147b1c1a	KN8-Ultra Mainboard	0	
-d	10de0054	CK804 Serial ATA Controller	0	
-s	10de00541458b003	GA-K8N Ultra-9 Mainboard	0	
-s	10de005414627100	MSI K8N Diamond	0	
-s	10de0054147b1c1a	KN8-Ultra Mainboard	0	
-d	10de0055	CK804 Serial ATA Controller	0	
-s	10de00551043815a	K8N4-E Mainboard	0	
-s	10de00551458b003	GA-K8N Ultra-9 Mainboard	0	
-s	10de0055147b1c1a	KN8-Ultra Mainboard	0	
-d	10de0056	CK804 Ethernet Controller	0	
-d	10de0057	CK804 Ethernet Controller	0	
-s	10de005710438141	K8N4-E Mainboard	0	
-s	10de00571458e000	GA-K8N Ultra-9 Mainboard	0	
-s	10de005714627100	MSI K8N Diamond	0	
-s	10de0057147b1c1a	KN8-Ultra Mainboard	0	
-d	10de0058	CK804 AC'97 Modem	0	
-d	10de0059	CK804 AC'97 Audio Controller	0	
-s	10de00591043812a	K8N4-E Mainboard	0	
-s	10de0059147b1c1a	KN8-Ultra Mainboard	0	
-d	10de005a	CK804 USB Controller	0	
-s	10de005a1043815a	K8N4-E Mainboard	0	
-s	10de005a14585004	GA-K8N Ultra-9 Mainboard	0	
-s	10de005a14627100	MSI K8N Diamond	0	
-s	10de005a147b1c1a	KN8-Ultra Mainboard	0	
-d	10de005b	CK804 USB Controller	0	
-s	10de005b1043815a	K8N4-E Mainboard	0	
-s	10de005b14585004	GA-K8N Ultra-9 Mainboard	0	
-s	10de005b14627100	MSI K8N Diamond	0	
-s	10de005b147b1c1a	KN8-Ultra Mainboard	0	
-d	10de005c	CK804 PCI Bridge	0	
-d	10de005d	CK804 PCIE Bridge	0	
-d	10de005e	CK804 Memory Controller	0	
-s	10de005e10f12891	Thunder K8SRE Mainboard	0	
-s	10de005e14585000	GA-K8N Ultra-9 Mainboard	0	
-s	10de005e14627100	MSI K8N Diamond	0	
-s	10de005e147b1c1a	KN8-Ultra Mainboard	0	
-d	10de005f	CK804 Memory Controller	0	
-d	10de0060	nForce2 ISA Bridge	0	
-s	10de0060104380ad	A7N8X Mainboard	0	
-s	10de0060a0a003ba	UK79G-1394 motherboard	0	
-d	10de0064	nForce2 SMBus (MCP)	0	
-s	10de0064a0a003bb	UK79G-1394 motherboard	0	
-d	10de0065	nForce2 IDE	0	
-s	10de0065a0a003b2	UK79G-1394 motherboard	0	
-d	10de0066	nForce2 Ethernet Controller	0	
-s	10de0066104380a7	A7N8X Mainboard onboard nForce2 Ethernet	0	
-d	10de0067	nForce2 USB Controller	0	
-s	10de006710430c11	A7N8X Mainboard	0	
-d	10de0068	nForce2 USB Controller	0	
-s	10de006810430c11	A7N8X Mainboard	0	
-s	10de0068a0a003b4	UK79G-1394 motherboard	0	
-d	10de006a	nForce2 AC97 Audio Controler (MCP)	0	
-s	10de006a10438095	nForce2 AC97 Audio Controler (MCP)	0	
-s	10de006aa0a00304	UK79G-1394 motherboard	0	
-d	10de006b	nForce Audio Processing Unit	0	
-s	10de006b10de006b	nForce2 MCP Audio Processing Unit	0	
-d	10de006c	nForce2 External PCI Bridge	0	
-d	10de006d	nForce2 PCI Bridge	0	
-d	10de006e	nForce2 FireWire (IEEE 1394) Controller	0	
-s	10de006ea0a00306	UK79G-1394 motherboard	0	
-d	10de0080	MCP2A ISA bridge	0	
-s	10de0080147b1c09	NV7 Motherboard	0	
-d	10de0084	MCP2A SMBus	0	
-s	10de0084147b1c09	NV7 Motherboard	0	
-d	10de0085	MCP2A IDE	0	
-s	10de0085147b1c09	NV7 Motherboard	0	
-d	10de0086	MCP2A Ethernet Controller	0	
-d	10de0087	MCP2A USB Controller	0	
-s	10de0087147b1c09	NV7 Motherboard	0	
-d	10de0088	MCP2A USB Controller	0	
-s	10de0088147b1c09	NV7 Motherboard	0	
-d	10de008a	MCP2S AC'97 Audio Controller	0	
-s	10de008a147b1c09	NV7 Motherboard	0	
-d	10de008b	MCP2A PCI Bridge	0	
-d	10de008c	MCP2A Ethernet Controller	0	
-d	10de008e	nForce2 Serial ATA Controller	0	
-d	10de0090	G70 [GeForce 7800 GTX]	0	
-d	10de0091	G70 [GeForce 7800 GTX]	0	
-d	10de0092	G70 [GeForce 7800 GT]	0	
-d	10de0093	G70 [GeForce 7800 GS]	0	
-d	10de0098	GeForce Go 7800	0	
-d	10de0099	GE Force Go 7800 GTX	0	
-d	10de009d	G70GL [Quadro FX4500]	0	
+d	10de0044	NV40 [GeForce 6800 XT]	0
+d	10de0045	NV40 [GeForce 6800 GT]	0
+d	10de0046	NV40 [GeForce 6800 GT]	0
+d	10de0047	NV40 [GeForce 6800 GS]	0
+s	10de004716822109	GeForce 6800 GS	0
+d	10de0048	NV40 [GeForce 6800 XT]	0
+d	10de0049	NV40GL	0
+d	10de004d	NV40GL [Quadro FX 4000]	0
+d	10de004e	NV40GL [Quadro FX 4000]	0
+d	10de0050	CK804 ISA Bridge	0
+s	10de00501043815a	K8N4-E Mainboard	0
+s	10de005014580c11	GA-K8N Ultra-9 Mainboard	0
+s	10de005014627100	MSI K8N Diamond	0
+s	10de0050147b1c1a	KN8-Ultra Mainboard	0
+d	10de0051	CK804 ISA Bridge	0
+d	10de0052	CK804 SMBus	0
+s	10de00521043815a	K8N4-E Mainboard	0
+s	10de005214580c11	GA-K8N Ultra-9 Mainboard	0
+s	10de005214627100	MSI K8N Diamond	0
+s	10de0052147b1c1a	KN8-Ultra Mainboard	0
+d	10de0053	CK804 IDE	0
+s	10de00531043815a	K8N4-E Mainboard	0
+s	10de005314585002	GA-K8N Ultra-9 Mainboard	0
+s	10de005314627100	MSI K8N Diamond	0
+s	10de0053147b1c1a	KN8-Ultra Mainboard	0
+d	10de0054	CK804 Serial ATA Controller	0
+s	10de00541458b003	GA-K8N Ultra-9 Mainboard	0
+s	10de005414627100	MSI K8N Diamond	0
+s	10de0054147b1c1a	KN8-Ultra Mainboard	0
+d	10de0055	CK804 Serial ATA Controller	0
+s	10de00551043815a	K8N4-E Mainboard	0
+s	10de00551458b003	GA-K8N Ultra-9 Mainboard	0
+s	10de0055147b1c1a	KN8-Ultra Mainboard	0
+d	10de0056	CK804 Ethernet Controller	0
+d	10de0057	CK804 Ethernet Controller	0
+s	10de005710438141	K8N4-E Mainboard	0
+s	10de00571458e000	GA-K8N Ultra-9 Mainboard	0
+s	10de005714627100	MSI K8N Diamond	0
+s	10de0057147b1c1a	KN8-Ultra Mainboard	0
+d	10de0058	CK804 AC'97 Modem	0
+d	10de0059	CK804 AC'97 Audio Controller	0
+s	10de00591043812a	K8N4-E Mainboard	0
+s	10de0059147b1c1a	KN8-Ultra Mainboard	0
+d	10de005a	CK804 USB Controller	0
+s	10de005a1043815a	K8N4-E Mainboard	0
+s	10de005a14585004	GA-K8N Ultra-9 Mainboard	0
+s	10de005a14627100	MSI K8N Diamond	0
+s	10de005a147b1c1a	KN8-Ultra Mainboard	0
+d	10de005b	CK804 USB Controller	0
+s	10de005b1043815a	K8N4-E Mainboard	0
+s	10de005b14585004	GA-K8N Ultra-9 Mainboard	0
+s	10de005b14627100	MSI K8N Diamond	0
+s	10de005b147b1c1a	KN8-Ultra Mainboard	0
+d	10de005c	CK804 PCI Bridge	0
+d	10de005d	CK804 PCIE Bridge	0
+d	10de005e	CK804 Memory Controller	0
+s	10de005e10f12891	Thunder K8SRE Mainboard	0
+s	10de005e14585000	GA-K8N Ultra-9 Mainboard	0
+s	10de005e14627100	MSI K8N Diamond	0
+s	10de005e147b1c1a	KN8-Ultra Mainboard	0
+d	10de005f	CK804 Memory Controller	0
+d	10de0060	nForce2 ISA Bridge	0
+s	10de0060104380ad	A7N8X Mainboard	0
+s	10de0060a0a003ba	UK79G-1394 motherboard	0
+d	10de0064	nForce2 SMBus (MCP)	0
+s	10de0064a0a003bb	UK79G-1394 motherboard	0
+d	10de0065	nForce2 IDE	0
+s	10de0065a0a003b2	UK79G-1394 motherboard	0
+d	10de0066	nForce2 Ethernet Controller	0
+s	10de0066104380a7	A7N8X Mainboard onboard nForce2 Ethernet	0
+d	10de0067	nForce2 USB Controller	0
+s	10de006710430c11	A7N8X Mainboard	0
+d	10de0068	nForce2 USB Controller	0
+s	10de006810430c11	A7N8X Mainboard	0
+s	10de0068a0a003b4	UK79G-1394 motherboard	0
+d	10de006a	nForce2 AC97 Audio Controler (MCP)	0
+s	10de006a10438095	nForce2 AC97 Audio Controler (MCP)	0
+s	10de006aa0a00304	UK79G-1394 motherboard	0
+d	10de006b	nForce Audio Processing Unit	0
+s	10de006b10de006b	nForce2 MCP Audio Processing Unit	0
+d	10de006c	nForce2 External PCI Bridge	0
+d	10de006d	nForce2 PCI Bridge	0
+d	10de006e	nForce2 FireWire (IEEE 1394) Controller	0
+s	10de006ea0a00306	UK79G-1394 motherboard	0
+d	10de0080	MCP2A ISA bridge	0
+s	10de0080147b1c09	NV7 Motherboard	0
+d	10de0084	MCP2A SMBus	0
+s	10de0084147b1c09	NV7 Motherboard	0
+d	10de0085	MCP2A IDE	0
+s	10de0085147b1c09	NV7 Motherboard	0
+d	10de0086	MCP2A Ethernet Controller	0
+d	10de0087	MCP2A USB Controller	0
+s	10de0087147b1c09	NV7 Motherboard	0
+d	10de0088	MCP2A USB Controller	0
+s	10de0088147b1c09	NV7 Motherboard	0
+d	10de008a	MCP2S AC'97 Audio Controller	0
+s	10de008a147b1c09	NV7 Motherboard	0
+d	10de008b	MCP2A PCI Bridge	0
+d	10de008c	MCP2A Ethernet Controller	0
+d	10de008e	nForce2 Serial ATA Controller	0
+d	10de0090	G70 [GeForce 7800 GTX]	0
+d	10de0091	G70 [GeForce 7800 GTX]	0
+d	10de0092	G70 [GeForce 7800 GT]	0
+d	10de0093	G70 [GeForce 7800 GS]	0
+d	10de0098	GeForce Go 7800	0
+d	10de0099	GE Force Go 7800 GTX	0
+d	10de009d	G70GL [Quadro FX4500]	0
 d	10de009d	G70GL [Quadro FX 4500]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de00a0	NV5 [Aladdin TNT2]	0	
-s	10de00a014af5810	Maxi Gamer Xentor	0	
-d	10de00c0	NV41 [GeForce 6800 GS]	0	
-d	10de00c1	NV41.1 [GeForce 6800]	0	
-d	10de00c2	NV41.2 [GeForce 6800 LE]	0	
-d	10de00c3	NV42 [Geforce 6800 XT]	0	
-d	10de00c8	NV41.8 [GeForce Go 6800]	0	
-d	10de00c9	NV41.9 [GeForce Go 6800 Ultra]	0	
-d	10de00cc	NV41 [Quadro FX Go1400]	0	
-d	10de00cd	NV41 [Quadro FX 3450/4000 SDI]	0	
-s	10de00cd10de029b	wx4300 Workstation	0	
-d	10de00ce	NV41GL [Quadro FX 1400]	0	
-d	10de00d0	nForce3 LPC Bridge	0	
-d	10de00d1	nForce3 Host Bridge	0	
-d	10de00d2	nForce3 AGP Bridge	0	
-d	10de00d3	CK804 Memory Controller	0	
-d	10de00d4	nForce3 SMBus	0	
-d	10de00d5	nForce3 IDE	0	
-d	10de00d6	nForce3 Ethernet	0	
-d	10de00d7	nForce3 USB 1.1	0	
-d	10de00d8	nForce3 USB 2.0	0	
-d	10de00d9	nForce3 Audio	0	
-d	10de00da	nForce3 Audio	0	
-d	10de00dd	nForce3 PCI Bridge	0	
-d	10de00df	CK8S Ethernet Controller	0	
-s	10de00df105b0c43	Winfast NF3250K8AA	0	
-s	10de00df147b1c0b	NF8 Mainboard	0	
-d	10de00e0	nForce3 250Gb LPC Bridge	0	
-s	10de00e010de0c11	Winfast NF3250K8AA	0	
-s	10de00e014627030	K8N Neo-FSR v2.0	0	
-s	10de00e0147b1c0b	NF8 Mainboard	0	
-d	10de00e1	nForce3 250Gb Host Bridge	0	
-s	10de00e114627030	K8N Neo-FSR v2.0	0	
-s	10de00e1147b1c0b	NF8 Mainboard	0	
-d	10de00e2	nForce3 250Gb AGP Host to PCI Bridge	0	
-d	10de00e3	CK8S Serial ATA Controller (v2.5)	0	
-s	10de00e3105b0c43	Winfast NF3250K8AA	0	
-s	10de00e3147b1c0b	NF8 Mainboard	0	
-d	10de00e4	nForce 250Gb PCI System Management	0	
-s	10de00e4105b0c43	Winfast NF3250K8AA	0	
-s	10de00e414627030	K8N Neo-FSR v2.0	0	
-s	10de00e4147b1c0b	NF8 Mainboard	0	
-d	10de00e5	CK8S Parallel ATA Controller (v2.5)	0	
-s	10de00e5105b0c43	Winfast NF3250K8AA	0	
-s	10de00e514627030	K8N Neo-FSR v2.0	0	
-s	10de00e5147b1c0b	NF8 Mainboard	0	
-d	10de00e6	CK8S Ethernet Controller	0	
-d	10de00e7	CK8S USB Controller	0	
-s	10de00e7105b0c43	Winfast NF3250K8AA	0	
-s	10de00e714627030	K8N Neo-FSR v2.0	0	
-s	10de00e7147b1c0b	NF8 Mainboard	0	
-d	10de00e8	nForce3 EHCI USB 2.0 Controller	0	
-s	10de00e8105b0c43	Winfast NF3250K8AA	0	
-s	10de00e814627030	K8N Neo-FSR v2.0	0	
-s	10de00e8147b1c0b	NF8 Mainboard	0	
-d	10de00ea	nForce3 250Gb AC'97 Audio Controller	0	
-s	10de00ea105b0c43	Winfast NF3250K8AA	0	
+d	10de00a0	NV5 [Aladdin TNT2]	0
+s	10de00a014af5810	Maxi Gamer Xentor	0
+d	10de00c0	NV41 [GeForce 6800 GS]	0
+d	10de00c1	NV41.1 [GeForce 6800]	0
+d	10de00c2	NV41.2 [GeForce 6800 LE]	0
+d	10de00c3	NV42 [Geforce 6800 XT]	0
+d	10de00c8	NV41.8 [GeForce Go 6800]	0
+d	10de00c9	NV41.9 [GeForce Go 6800 Ultra]	0
+d	10de00cc	NV41 [Quadro FX Go1400]	0
+d	10de00cd	NV41 [Quadro FX 3450/4000 SDI]	0
+s	10de00cd10de029b	wx4300 Workstation	0
+d	10de00ce	NV41GL [Quadro FX 1400]	0
+d	10de00d0	nForce3 LPC Bridge	0
+d	10de00d1	nForce3 Host Bridge	0
+d	10de00d2	nForce3 AGP Bridge	0
+d	10de00d3	CK804 Memory Controller	0
+d	10de00d4	nForce3 SMBus	0
+d	10de00d5	nForce3 IDE	0
+d	10de00d6	nForce3 Ethernet	0
+d	10de00d7	nForce3 USB 1.1	0
+d	10de00d8	nForce3 USB 2.0	0
+d	10de00d9	nForce3 Audio	0
+d	10de00da	nForce3 Audio	0
+d	10de00dd	nForce3 PCI Bridge	0
+d	10de00df	CK8S Ethernet Controller	0
+s	10de00df105b0c43	Winfast NF3250K8AA	0
+s	10de00df147b1c0b	NF8 Mainboard	0
+d	10de00e0	nForce3 250Gb LPC Bridge	0
+s	10de00e010de0c11	Winfast NF3250K8AA	0
+s	10de00e014627030	K8N Neo-FSR v2.0	0
+s	10de00e0147b1c0b	NF8 Mainboard	0
+d	10de00e1	nForce3 250Gb Host Bridge	0
+s	10de00e114627030	K8N Neo-FSR v2.0	0
+s	10de00e1147b1c0b	NF8 Mainboard	0
+d	10de00e2	nForce3 250Gb AGP Host to PCI Bridge	0
+d	10de00e3	CK8S Serial ATA Controller (v2.5)	0
+s	10de00e3105b0c43	Winfast NF3250K8AA	0
+s	10de00e3147b1c0b	NF8 Mainboard	0
+d	10de00e4	nForce 250Gb PCI System Management	0
+s	10de00e4105b0c43	Winfast NF3250K8AA	0
+s	10de00e414627030	K8N Neo-FSR v2.0	0
+s	10de00e4147b1c0b	NF8 Mainboard	0
+d	10de00e5	CK8S Parallel ATA Controller (v2.5)	0
+s	10de00e5105b0c43	Winfast NF3250K8AA	0
+s	10de00e514627030	K8N Neo-FSR v2.0	0
+s	10de00e5147b1c0b	NF8 Mainboard	0
+d	10de00e6	CK8S Ethernet Controller	0
+d	10de00e7	CK8S USB Controller	0
+s	10de00e7105b0c43	Winfast NF3250K8AA	0
+s	10de00e714627030	K8N Neo-FSR v2.0	0
+s	10de00e7147b1c0b	NF8 Mainboard	0
+d	10de00e8	nForce3 EHCI USB 2.0 Controller	0
+s	10de00e8105b0c43	Winfast NF3250K8AA	0
+s	10de00e814627030	K8N Neo-FSR v2.0	0
+s	10de00e8147b1c0b	NF8 Mainboard	0
+d	10de00ea	nForce3 250Gb AC'97 Audio Controller	0
+s	10de00ea105b0c43	Winfast NF3250K8AA	0
 s	10de00ea1462b010	K8N Neo-FSR v2.0	1	Realtek ALC655
-s	10de00ea147b1c0b	NF8 Mainboard	0	
-d	10de00ed	nForce3 250Gb PCI-to-PCI Bridge	0	
-d	10de00ee	CK8S Serial ATA Controller (v2.5)	0	
-d	10de00f0	NV40 [GeForce 6800/GeForce 6800 Ultra]	0	
+s	10de00ea147b1c0b	NF8 Mainboard	0
+d	10de00ed	nForce3 250Gb PCI-to-PCI Bridge	0
+d	10de00ee	CK8S Serial ATA Controller (v2.5)	0
+d	10de00f0	NV40 [GeForce 6800/GeForce 6800 Ultra]	0
 d	10de00f0	NV40 [GeForce 6800 Ultra]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de00f1	NV43 [GeForce 6600/GeForce 6600 GT]	0	
+d	10de00f1	NV43 [GeForce 6600/GeForce 6600 GT]	0
 d	10de00f1	NV43 [GeForce 6600 GT]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-s	10de00f1104381a6	N6600GT TD 128M AGP	0	
-s	10de00f114583150	GV-N66T128VP	1	
-s	10de00f116822119	GeForce 6600 GT AGP 128MB DDR3 DUAL DVI TV	0	
-d	10de00f2	NV43 [GeForce 6600/GeForce 6600 GT]	0	
+s	10de00f1104381a6	N6600GT TD 128M AGP	0
+s	10de00f114583150	GV-N66T128VP	1
+s	10de00f116822119	GeForce 6600 GT AGP 128MB DDR3 DUAL DVI TV	0
+d	10de00f2	NV43 [GeForce 6600/GeForce 6600 GT]	0
 d	10de00f2	NV43 [GeForce 6600]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-s	10de00f21682211c	GeForce 6600 256MB DDR DUAL DVI TV	0	
-d	10de00f3	NV43 [GeForce 6200]	0	
-d	10de00f4	NV43 [GeForce 6600 LE]	0	
-d	10de00f5	G70 [GeForce 7800 GS]	0	
-d	10de00f6	NV43 [GeForce 6600 GS]	0	
+s	10de00f21682211c	GeForce 6600 256MB DDR DUAL DVI TV	0
+d	10de00f3	NV43 [GeForce 6200]	0
+d	10de00f4	NV43 [GeForce 6600 LE]	0
+d	10de00f5	G70 [GeForce 7800 GS]	0
+d	10de00f6	NV43 [GeForce 6600 GS]	0
 d	10de00f6	NV43 [GeForce 6800 GS]
 \n	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_October_2006.txt
 d	10de00f6	NV43 [GeForce 6800 GS/XT]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-s	10de00f61682217e	XFX GeForce 6800 XTreme 256MB DDR3 AGP	0	
-d	10de00f8	NV45GL [Quadro FX 3400/4400]	0	
-d	10de00f9	NV40 [GeForce 6800 Ultra/GeForce 6800 GT]	0	
+s	10de00f61682217e	XFX GeForce 6800 XTreme 256MB DDR3 AGP	0
+d	10de00f8	NV45GL [Quadro FX 3400/4400]	0
+d	10de00f9	NV40 [GeForce 6800 Ultra/GeForce 6800 GT]	0
 d	10de00f9	NV40 [GeForce 6800 Series GPU]	1	http://developer.nvidia.com/attach/9529
-s	10de00f916822120	GEFORCE 6800 GT PCI-E	0	
-d	10de00fa	NV36 [GeForce PCX 5750]	0	
-d	10de00fb	NV35 [GeForce PCX 5900]	0	
-d	10de00fc	NV37GL [Quadro FX 330/GeForce PCX 5300]	0	
-d	10de00fd	NV37GL [Quadro FX 330/Quadro NVS280]	0	
+s	10de00f916822120	GEFORCE 6800 GT PCI-E	0
+d	10de00fa	NV36 [GeForce PCX 5750]	0
+d	10de00fb	NV35 [GeForce PCX 5900]	0
+d	10de00fc	NV37GL [Quadro FX 330/GeForce PCX 5300]	0
+d	10de00fd	NV37GL [Quadro FX 330/Quadro NVS280]	0
 d	10de00fd	NV37GL [Quadro PCI-E Series]	1	http://developer.nvidia.com/attach/9529
-d	10de00fe	NV38GL [Quadro FX 1300]	0	
-d	10de00ff	NV18 [GeForce PCX 4300]	0	
-d	10de0100	NV10 [GeForce 256 SDR]	0	
-s	10de010010430200	AGP-V6600 SGRAM	0	
-s	10de010010430201	AGP-V6600 SDRAM	0	
-s	10de010010434008	AGP-V6600 SGRAM	0	
-s	10de010010434009	AGP-V6600 SDRAM	0	
-s	10de010010480c41	Erazor X	0	
-s	10de010010480c43	ERAZOR X PCI	0	
-s	10de010010480c48	Synergy Force	0	
-s	10de01001102102d	CT6941 GeForce 256	0	
-s	10de010014af5022	3D Prophet SE	0	
-d	10de0101	NV10DDR [GeForce 256 DDR]	0	
-s	10de010110430202	AGP-V6800 DDR	0	
-s	10de01011043400a	AGP-V6800 DDR SGRAM	0	
-s	10de01011043400b	AGP-V6800 DDR SDRAM	0	
-s	10de010110480c42	Erazor X	0	
-s	10de0101107d2822	WinFast GeForce 256	0	
-s	10de01011102102e	CT6971 GeForce 256 DDR	0	
-s	10de010114af5021	3D Prophet DDR-DVI	0	
-d	10de0103	NV10GL [Quadro]	0	
-s	10de010310480c40	GLoria II-64	0	
-s	10de010310480c44	GLoria II	0	
-s	10de010310480c45	GLoria II	0	
-s	10de010310480c4a	GLoria II-64 Pro	0	
-s	10de010310480c4b	GLoria II-64 Pro DVII	0	
-d	10de0110	NV11 [GeForce2 MX/MX 400]	0	
-s	10de011010434015	AGP-V7100 Pro	0	
-s	10de011010434031	V7100 Pro with TV output	0	
-s	10de011010480c60	Gladiac MX	0	
-s	10de011010480c61	Gladiac 511PCI	0	
-s	10de011010480c63	Gladiac 511TV-OUT 32MB	0	
-s	10de011010480c64	Gladiac 511TV-OUT 64MB	0	
-s	10de011010480c65	Gladiac 511TWIN	0	
-s	10de011010480c66	Gladiac 311	0	
-s	10de011010de0091	Dell OEM GeForce 2 MX 400	0	
-s	10de011010de00a1	Apple OEM GeForce2 MX	0	
-s	10de011014628817	MSI GeForce2 MX400 Pro32S [MS-8817]	0	
-s	10de011014af7102	3D Prophet II MX	0	
-s	10de011014af7103	3D Prophet II MX Dual-Display	0	
-d	10de0111	NV11DDR [GeForce2 MX 100 DDR/200 DDR]	0	
+d	10de00fe	NV38GL [Quadro FX 1300]	0
+d	10de00ff	NV18 [GeForce PCX 4300]	0
+d	10de0100	NV10 [GeForce 256 SDR]	0
+s	10de010010430200	AGP-V6600 SGRAM	0
+s	10de010010430201	AGP-V6600 SDRAM	0
+s	10de010010434008	AGP-V6600 SGRAM	0
+s	10de010010434009	AGP-V6600 SDRAM	0
+s	10de010010480c41	Erazor X	0
+s	10de010010480c43	ERAZOR X PCI	0
+s	10de010010480c48	Synergy Force	0
+s	10de01001102102d	CT6941 GeForce 256	0
+s	10de010014af5022	3D Prophet SE	0
+d	10de0101	NV10DDR [GeForce 256 DDR]	0
+s	10de010110430202	AGP-V6800 DDR	0
+s	10de01011043400a	AGP-V6800 DDR SGRAM	0
+s	10de01011043400b	AGP-V6800 DDR SDRAM	0
+s	10de010110480c42	Erazor X	0
+s	10de0101107d2822	WinFast GeForce 256	0
+s	10de01011102102e	CT6971 GeForce 256 DDR	0
+s	10de010114af5021	3D Prophet DDR-DVI	0
+d	10de0103	NV10GL [Quadro]	0
+s	10de010310480c40	GLoria II-64	0
+s	10de010310480c44	GLoria II	0
+s	10de010310480c45	GLoria II	0
+s	10de010310480c4a	GLoria II-64 Pro	0
+s	10de010310480c4b	GLoria II-64 Pro DVII	0
+d	10de0110	NV11 [GeForce2 MX/MX 400]	0
+s	10de011010434015	AGP-V7100 Pro	0
+s	10de011010434031	V7100 Pro with TV output	0
+s	10de011010480c60	Gladiac MX	0
+s	10de011010480c61	Gladiac 511PCI	0
+s	10de011010480c63	Gladiac 511TV-OUT 32MB	0
+s	10de011010480c64	Gladiac 511TV-OUT 64MB	0
+s	10de011010480c65	Gladiac 511TWIN	0
+s	10de011010480c66	Gladiac 311	0
+s	10de011010de0091	Dell OEM GeForce 2 MX 400	0
+s	10de011010de00a1	Apple OEM GeForce2 MX	0
+s	10de011014628817	MSI GeForce2 MX400 Pro32S [MS-8817]	0
+s	10de011014af7102	3D Prophet II MX	0
+s	10de011014af7103	3D Prophet II MX Dual-Display	0
+d	10de0111	NV11DDR [GeForce2 MX 100 DDR/200 DDR]	0
 d	10de0111	NV11DDR [GeForce2 MX200]	1	http://developer.nvidia.com/attach/9529
-d	10de0112	NV11 [GeForce2 Go]	0	
-d	10de0113	NV11GL [Quadro2 MXR/EX/Go]	0	
-d	10de0140	NV43 [GeForce 6600 GT]	0	
-d	10de0141	NV43 [GeForce 6600]	0	
-s	10de014114583124	GV-NX66128DP Turbo Force Edition	0	
-d	10de0142	NV43 [GeForce 6600 PCIe]	0	
+d	10de0112	NV11 [GeForce2 Go]	0
+d	10de0113	NV11GL [Quadro2 MXR/EX/Go]	0
+d	10de0140	NV43 [GeForce 6600 GT]	0
+d	10de0141	NV43 [GeForce 6600]	0
+s	10de014114583124	GV-NX66128DP Turbo Force Edition	0
+d	10de0142	NV43 [GeForce 6600 PCIe]	0
 d	10de0142	NV43 [GeForce 6600 LE]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de0143	NV43 [GeForce 6600 VE]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0144	NV43 [GeForce Go 6600]	0	
-d	10de0145	NV43 [GeForce 6610 XL]	0	
-d	10de0146	NV43 [Geforce Go 6600TE/6200TE]	0	
+d	10de0144	NV43 [GeForce Go 6600]	0
+d	10de0145	NV43 [GeForce 6610 XL]	0
+d	10de0146	NV43 [Geforce Go 6600TE/6200TE]	0
 d	10de0147	GeForce 6700 XL	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0148	NV43 [GeForce Go 6600]	0	
-d	10de0149	NV43 [GeForce Go 6600 GT]	0	
-d	10de014a	Quadro NVS 440	0	
-d	10de014c	Quadro FX 550	0	
+d	10de0148	NV43 [GeForce Go 6600]	0
+d	10de0149	NV43 [GeForce Go 6600 GT]	0
+d	10de014a	Quadro NVS 440	0
+d	10de014c	Quadro FX 550	0
 d	10de014c	Quadro FX 540 MXM	1	http://developer.nvidia.com/attach/9529
-d	10de014d	NV18GL [Quadro FX 550]	0	
-d	10de014e	NV43GL [Quadro FX 540]	0	
-d	10de014f	NV43 [GeForce 6200]	0	
-d	10de0150	NV15 [GeForce2 GTS/Pro]	0	
-s	10de015010434016	V7700 AGP Video Card	0	
-s	10de015010480c50	Gladiac	0	
-s	10de015010480c52	Gladiac-64	0	
-s	10de0150107d2840	WinFast GeForce2 GTS with TV output	0	
-s	10de0150107d2842	WinFast GeForce 2 Pro	0	
-s	10de015010de002e	GeForce2 GTS	0	
-s	10de015014628831	Creative GeForce2 Pro	0	
-d	10de0151	NV15DDR [GeForce2 Ti]	0	
-s	10de01511043405f	V7700Ti	0	
-s	10de015114625506	Creative 3D Blaster Geforce2 Titanium	0	
-d	10de0152	NV15BR [GeForce2 Ultra, Bladerunner]	0	
-s	10de015210480c56	GLADIAC Ultra	0	
-d	10de0153	NV15GL [Quadro2 Pro]	0	
+d	10de014d	NV18GL [Quadro FX 550]	0
+d	10de014e	NV43GL [Quadro FX 540]	0
+d	10de014f	NV43 [GeForce 6200]	0
+d	10de0150	NV15 [GeForce2 GTS/Pro]	0
+s	10de015010434016	V7700 AGP Video Card	0
+s	10de015010480c50	Gladiac	0
+s	10de015010480c52	Gladiac-64	0
+s	10de0150107d2840	WinFast GeForce2 GTS with TV output	0
+s	10de0150107d2842	WinFast GeForce 2 Pro	0
+s	10de015010de002e	GeForce2 GTS	0
+s	10de015014628831	Creative GeForce2 Pro	0
+d	10de0151	NV15DDR [GeForce2 Ti]	0
+s	10de01511043405f	V7700Ti	0
+s	10de015114625506	Creative 3D Blaster Geforce2 Titanium	0
+d	10de0152	NV15BR [GeForce2 Ultra, Bladerunner]	0
+s	10de015210480c56	GLADIAC Ultra	0
+d	10de0153	NV15GL [Quadro2 Pro]	0
 d	10de0160	GeForce 6500	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0161	NV44 [GeForce 6200 TurboCache(TM)]	0	
-d	10de0162	NV44 [GeForce 6200 SE TurboCache (TM)]	0	
+d	10de0161	NV44 [GeForce 6200 TurboCache(TM)]	0
+d	10de0162	NV44 [GeForce 6200 SE TurboCache (TM)]	0
 d	10de0162	NV44 [GeForce 6200SE TurboCache (TM)]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0163	NV44 [GeForce 6200 LE]	0	
-d	10de0163		1	
-d	10de0164	NV44 [GeForce Go 6200]	0	
-d	10de0165	NV44 [Quadro NVS 285]	0	
-d	10de0166	NV43 [GeForce Go 6400]	0	
-d	10de0167	GeForce Go 6200 TurboCache	0	
+d	10de0163	NV44 [GeForce 6200 LE]	0
+d	10de0163		1
+d	10de0164	NV44 [GeForce Go 6200]	0
+d	10de0165	NV44 [Quadro NVS 285]	0
+d	10de0166	NV43 [GeForce Go 6400]	0
+d	10de0167	GeForce Go 6200 TurboCache	0
 d	10de0167	NV43 [GeForce Go 6200/6400]	1	http://developer.nvidia.com/attach/9529
-d	10de0168	NV43 [GeForce Go 6200 TurboCache]	0	
+d	10de0168	NV43 [GeForce Go 6200 TurboCache]	0
 d	10de0168	NV43 [GeForce Go 6200/6400]	1	http://developer.nvidia.com/attach/9529
 d	10de0169	GeForce 6250	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de016a	GeForce 7100 GS	1	new card
-d	10de0170	NV17 [GeForce4 MX 460]	0	
-d	10de0171	NV17 [GeForce4 MX 440]	0	
-s	10de017110b00002	Gainward Pro/600 TV	0	
-s	10de017110de0008	Apple OEM GeForce4 MX 440	0	
-s	10de017114628661	G4MX440-VTP	0	
-s	10de017114628730	MX440SES-T (MS-8873)	0	
-s	10de017114628852	GeForce4 MX440 PCI	0	
-s	10de0171147b8f00	Abit Siluro GeForce4MX440	0	
-d	10de0172	NV17 [GeForce4 MX 420]	0	
-d	10de0173	NV17 [GeForce4 MX 440-SE]	0	
-d	10de0174	NV17 [GeForce4 440 Go]	0	
-d	10de0175	NV17 [GeForce4 420 Go]	0	
-d	10de0176	NV17 [GeForce4 420 Go 32M]	0	
-s	10de0176103c08b0	tc1100 tablet	0	
-s	10de01764c531090	Cx9 / Vx9 mainboard	0	
-d	10de0177	NV17 [GeForce4 460 Go]	0	
-d	10de0178	NV17GL [Quadro4 550 XGL]	0	
-d	10de0179	NV17 [GeForce4 420 Go 32M]	0	
-s	10de017910de0179	GeForce4 MX (Mac)	0	
-d	10de017a	NV17GL [Quadro4 200/400 NVS]	0	
+d	10de0170	NV17 [GeForce4 MX 460]	0
+d	10de0171	NV17 [GeForce4 MX 440]	0
+s	10de017110b00002	Gainward Pro/600 TV	0
+s	10de017110de0008	Apple OEM GeForce4 MX 440	0
+s	10de017114628661	G4MX440-VTP	0
+s	10de017114628730	MX440SES-T (MS-8873)	0
+s	10de017114628852	GeForce4 MX440 PCI	0
+s	10de0171147b8f00	Abit Siluro GeForce4MX440	0
+d	10de0172	NV17 [GeForce4 MX 420]	0
+d	10de0173	NV17 [GeForce4 MX 440-SE]	0
+d	10de0174	NV17 [GeForce4 440 Go]	0
+d	10de0175	NV17 [GeForce4 420 Go]	0
+d	10de0176	NV17 [GeForce4 420 Go 32M]	0
+s	10de0176103c08b0	tc1100 tablet	0
+s	10de01764c531090	Cx9 / Vx9 mainboard	0
+d	10de0177	NV17 [GeForce4 460 Go]	0
+d	10de0178	NV17GL [Quadro4 550 XGL]	0
+d	10de0179	NV17 [GeForce4 420 Go 32M]	0
+s	10de017910de0179	GeForce4 MX (Mac)	0
+d	10de017a	NV17GL [Quadro4 200/400 NVS]	0
 d	10de017a	NV17GL [Quadro NVS]	1	http://developer.nvidia.com/attach/9529
-d	10de017b	NV17GL [Quadro4 550 XGL]	0	
-d	10de017c	NV17GL [Quadro4 500 GoGL]	0	
-d	10de017d	NV17 [GeForce4 410 Go 16M]	0	
-d	10de0181	NV18 [GeForce4 MX 440 AGP 8x]	0	
-s	10de018110438063	GeForce4 MX 440 AGP 8X	0	
-s	10de01811043806f	V9180 Magic	0	
-s	10de018114628880	MS-StarForce GeForce4 MX 440 with AGP8X	0	
-s	10de018114628900	MS-8890 GeForce 4 MX440 AGP8X	0	
-s	10de018114629350	MSI Geforce4 MX T8X with AGP8X	0	
-s	10de0181147b8f0d	Siluro GF4 MX-8X	0	
-d	10de0182	NV18 [GeForce4 MX 440SE AGP 8x]	0	
-d	10de0183	NV18 [GeForce4 MX 420 AGP 8x]	0	
+d	10de017b	NV17GL [Quadro4 550 XGL]	0
+d	10de017c	NV17GL [Quadro4 500 GoGL]	0
+d	10de017d	NV17 [GeForce4 410 Go 16M]	0
+d	10de0181	NV18 [GeForce4 MX 440 AGP 8x]	0
+s	10de018110438063	GeForce4 MX 440 AGP 8X	0
+s	10de01811043806f	V9180 Magic	0
+s	10de018114628880	MS-StarForce GeForce4 MX 440 with AGP8X	0
+s	10de018114628900	MS-8890 GeForce 4 MX440 AGP8X	0
+s	10de018114629350	MSI Geforce4 MX T8X with AGP8X	0
+s	10de0181147b8f0d	Siluro GF4 MX-8X	0
+d	10de0182	NV18 [GeForce4 MX 440SE AGP 8x]	0
+d	10de0183	NV18 [GeForce4 MX 420 AGP 8x]	0
 d	10de0184	NV18 [GeForce4 MX]	1	powermac
-d	10de0185	NV18 [GeForce4 MX 4000 AGP 8x]	0	
-d	10de0186	NV18M [GeForce4 448 Go]	0	
-d	10de0187	NV18M [GeForce4 488 Go]	0	
-d	10de0188	NV18GL [Quadro4 580 XGL]	0	
-d	10de018a	NV18GL [Quadro4 NVS AGP 8x]	0	
+d	10de0185	NV18 [GeForce4 MX 4000 AGP 8x]	0
+d	10de0186	NV18M [GeForce4 448 Go]	0
+d	10de0187	NV18M [GeForce4 488 Go]	0
+d	10de0188	NV18GL [Quadro4 580 XGL]	0
+d	10de018a	NV18GL [Quadro4 NVS AGP 8x]	0
 d	10de018a	NV18GL [Quadro NVS with AGP8X]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
 d	10de018a	NV18GL [Quadro4 NVS 280 SD AGP 8x]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de018b	NV18GL [Quadro4 380 XGL]	0	
-d	10de018c	Quadro NVS 50 PCI	0	
-d	10de018d	NV18M [GeForce4 448 Go]	0	
+d	10de018b	NV18GL [Quadro4 380 XGL]	0
+d	10de018c	Quadro NVS 50 PCI	0
+d	10de018d	NV18M [GeForce4 448 Go]	0
 d	10de0191	GeForce 8800 GTX (G80)	1	new card
-d	10de01a0	NVCrush11 [GeForce2 MX Integrated Graphics]	0	
-d	10de01a4	nForce CPU bridge	0	
-d	10de01ab	nForce 420 Memory Controller (DDR)	0	
-d	10de01ac	nForce 220/420 Memory Controller	0	
-d	10de01ad	nForce 220/420 Memory Controller	0	
-d	10de01b0	nForce Audio	0	
-d	10de01b1	nForce Audio	0	
-d	10de01b2	nForce ISA Bridge	0	
-d	10de01b4	nForce PCI System Management	0	
-d	10de01b7	nForce AGP to PCI Bridge	0	
-d	10de01b8	nForce PCI-to-PCI bridge	0	
-d	10de01bc	nForce IDE	0	
-d	10de01c1	nForce AC'97 Modem Controller	0	
-d	10de01c2	nForce USB Controller	0	
-d	10de01c3	nForce Ethernet Controller	0	
-d	10de01d1	GeForce 7300 LE	0	
-s	10de01d114620345	7300LE PCI Express Graphics Adapter	0	
+d	10de01a0	NVCrush11 [GeForce2 MX Integrated Graphics]	0
+d	10de01a4	nForce CPU bridge	0
+d	10de01ab	nForce 420 Memory Controller (DDR)	0
+d	10de01ac	nForce 220/420 Memory Controller	0
+d	10de01ad	nForce 220/420 Memory Controller	0
+d	10de01b0	nForce Audio	0
+d	10de01b1	nForce Audio	0
+d	10de01b2	nForce ISA Bridge	0
+d	10de01b4	nForce PCI System Management	0
+d	10de01b7	nForce AGP to PCI Bridge	0
+d	10de01b8	nForce PCI-to-PCI bridge	0
+d	10de01bc	nForce IDE	0
+d	10de01c1	nForce AC'97 Modem Controller	0
+d	10de01c2	nForce USB Controller	0
+d	10de01c3	nForce Ethernet Controller	0
+d	10de01d1	GeForce 7300 LE	0
+s	10de01d114620345	7300LE PCI Express Graphics Adapter	0
 d	10de01d3	GeForce 7300 SE	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de01d6	GeForce Go 7200	0	
-d	10de01d7	Quadro NVS 110M / GeForce Go 7300	0	
+d	10de01d6	GeForce Go 7200	0
+d	10de01d7	Quadro NVS 110M / GeForce Go 7300	0
 d	10de01d7	G72M [Quadro NVS 110M/GeForce Go 7300]	1	This lists both the chip name and marketing name, as asked for
 d	10de01d8	G72M [GeForce Go 7400]	1	This lists both the chip name and marketing name, as asked for
-d	10de01d8	GeForce Go 7400	0	
-d	10de01da	Quadro NVS 110M	0	
+d	10de01d8	GeForce Go 7400	0
+d	10de01da	Quadro NVS 110M	0
 d	10de01dc	Quadro FX 350M	1	Mobile version of the Quadro FX 350 graphics adapter
 d	10de01dd	GeForce 7500 LE	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de01dd	G72 [Geforce 7500 LE]	1	identified by Linux/Windows drivers
-d	10de01de	Quadro FX 350	0	
-s	10de01de10de01dc	Quadro  FX Go350M	0	
+d	10de01de	Quadro FX 350	0
+s	10de01de10de01dc	Quadro  FX Go350M	0
 d	10de01df	G71 [GeForce 7300 GS]	1	This lists both the chip name and marketing name, as asked for
-d	10de01df	GeForce 7300 GS	0	
-d	10de01e0	nForce2 AGP (different version?)	0	
-s	10de01e0147b1c09	NV7 Motherboard	0	
-d	10de01e8	nForce2 AGP	0	
-d	10de01ea	nForce2 Memory Controller 0	0	
-s	10de01eaa0a003b9	UK79G-1394 motherboard	0	
-d	10de01eb	nForce2 Memory Controller 1	0	
-s	10de01eba0a003b9	UK79G-1394 motherboard	0	
-d	10de01ec	nForce2 Memory Controller 2	0	
-s	10de01eca0a003b9	UK79G-1394 motherboard	0	
-d	10de01ed	nForce2 Memory Controller 3	0	
-s	10de01eda0a003b9	UK79G-1394 motherboard	0	
-d	10de01ee	nForce2 Memory Controller 4	0	
-s	10de01eea0a003b9	UK79G-1394 motherboard	0	
-d	10de01ef	nForce2 Memory Controller 5	0	
-s	10de01efa0a003b9	UK79G-1394 motherboard	0	
-d	10de01f0	NV18 [GeForce4 MX - nForce GPU]	0	
-s	10de01f0a0a003b5	UK79G-1394 motherboard	0	
-d	10de0200	NV20 [GeForce3]	0	
-s	10de02001043402f	AGP-V8200 DDR	0	
-s	10de020010480c70	GLADIAC 920	0	
-d	10de0201	NV20 [GeForce3 Ti 200]	0	
-d	10de0202	NV20 [GeForce3 Ti 500]	0	
-s	10de02021043405b	V8200 T5	0	
-s	10de02021545002f	Xtasy 6964	0	
-d	10de0203	NV20DCC [Quadro DCC]	0	
-d	10de0211	NV40 [GeForce 6800]	0	
-d	10de0212	NV40 [GeForce 6800 LE]	0	
-d	10de0215	NV40 [GeForce 6800 GT]	0	
-d	10de0218	NV40 [GeForce 6800 XT]	0	
-d	10de0221	NV44A [GeForce 6200]	0	
+d	10de01df	GeForce 7300 GS	0
+d	10de01e0	nForce2 AGP (different version?)	0
+s	10de01e0147b1c09	NV7 Motherboard	0
+d	10de01e8	nForce2 AGP	0
+d	10de01ea	nForce2 Memory Controller 0	0
+s	10de01eaa0a003b9	UK79G-1394 motherboard	0
+d	10de01eb	nForce2 Memory Controller 1	0
+s	10de01eba0a003b9	UK79G-1394 motherboard	0
+d	10de01ec	nForce2 Memory Controller 2	0
+s	10de01eca0a003b9	UK79G-1394 motherboard	0
+d	10de01ed	nForce2 Memory Controller 3	0
+s	10de01eda0a003b9	UK79G-1394 motherboard	0
+d	10de01ee	nForce2 Memory Controller 4	0
+s	10de01eea0a003b9	UK79G-1394 motherboard	0
+d	10de01ef	nForce2 Memory Controller 5	0
+s	10de01efa0a003b9	UK79G-1394 motherboard	0
+d	10de01f0	NV18 [GeForce4 MX - nForce GPU]	0
+s	10de01f0a0a003b5	UK79G-1394 motherboard	0
+d	10de0200	NV20 [GeForce3]	0
+s	10de02001043402f	AGP-V8200 DDR	0
+s	10de020010480c70	GLADIAC 920	0
+d	10de0201	NV20 [GeForce3 Ti 200]	0
+d	10de0202	NV20 [GeForce3 Ti 500]	0
+s	10de02021043405b	V8200 T5	0
+s	10de02021545002f	Xtasy 6964	0
+d	10de0203	NV20DCC [Quadro DCC]	0
+d	10de0211	NV40 [GeForce 6800]	0
+d	10de0212	NV40 [GeForce 6800 LE]	0
+d	10de0215	NV40 [GeForce 6800 GT]	0
+d	10de0218	NV40 [GeForce 6800 XT]	0
+d	10de0221	NV44A [GeForce 6200]	0
 d	10de0222	GeForce 6200 A-LE	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0240	C51PV [GeForce 6150]	0	
-s	10de024014627207	K8NGM2 series	0	
-d	10de0241	C51 PCI Express Bridge	0	
+d	10de0240	C51PV [GeForce 6150]	0
+s	10de024014627207	K8NGM2 series	0
+d	10de0241	C51 PCI Express Bridge	0
 d	10de0241	C51 [GeForce 6150 LE]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0242	C51G [GeForce 6100]	0	
-d	10de0243	C51 PCI Express Bridge	0	
-d	10de0244	C51 PCI Express Bridge	0	
-d	10de0244	C51 [Geforce 6150 Go]	1	
-s	10de024410de0244	C51 [Geforce 6150 Go]	1	
-d	10de0245	C51 PCI Express Bridge	0	
+d	10de0242	C51G [GeForce 6100]	0
+d	10de0243	C51 PCI Express Bridge	0
+d	10de0244	C51 PCI Express Bridge	0
+d	10de0244	C51 [Geforce 6150 Go]	1
+s	10de024410de0244	C51 [Geforce 6150 Go]	1
+d	10de0245	C51 PCI Express Bridge	0
 d	10de0245	C51 [Quadro NVS 210S/GeForce 6150LE]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de0246	C51 PCI Express Bridge	0	
-d	10de0247	C51 PCI Express Bridge	0	
-d	10de0248	C51 PCI Express Bridge	0	
-d	10de0249	C51 PCI Express Bridge	0	
-d	10de024a	C51 PCI Express Bridge	0	
-d	10de024b	C51 PCI Express Bridge	0	
-d	10de024c	C51 PCI Express Bridge	0	
-d	10de024d	C51 PCI Express Bridge	0	
-d	10de024e	C51 PCI Express Bridge	0	
-d	10de024f	C51 PCI Express Bridge	0	
-d	10de0250	NV25 [GeForce4 Ti 4600]	0	
-d	10de0251	NV25 [GeForce4 Ti 4400]	0	
-s	10de025110438023	v8440 GeForce 4 Ti4400	0	
-d	10de0252	NV25 [GeForce4 Ti]	0	
-d	10de0253	NV25 [GeForce4 Ti 4200]	0	
-s	10de0253107d2896	WinFast A250 LE TD (Dual VGA/TV-out/DVI)	0	
-s	10de0253147b8f09	Siluro (Dual VGA/TV-out/DVI)	0	
-d	10de0258	NV25GL [Quadro4 900 XGL]	0	
-d	10de0259	NV25GL [Quadro4 750 XGL]	0	
-d	10de025b	NV25GL [Quadro4 700 XGL]	0	
-d	10de0260	MCP51 LPC Bridge	0	
-s	10de026014627207	K8NGM2 series	0	
-d	10de0261	MCP51 LPC Bridge	0	
-d	10de0262	MCP51 LPC Bridge	0	
-d	10de0263	MCP51 LPC Bridge	0	
-d	10de0264	MCP51 SMBus	0	
-s	10de026414627207	K8NGM2 series	0	
-d	10de0265	MCP51 IDE	0	
-s	10de026514627207	K8NGM2 series	0	
-d	10de0266	MCP51 Serial ATA Controller	0	
-s	10de026614627207	K8NGM2 series	0	
-d	10de0267	MCP51 Serial ATA Controller	0	
-s	10de026714627207	K8NGM2 series	0	
-d	10de0268	MCP51 Ethernet Controller	0	
-d	10de0269	MCP51 Ethernet Controller	0	
-s	10de026914627207	K8NGM2 series	0	
-d	10de026a	MCP51 MCI	0	
-d	10de026b	MCP51 AC97 Audio Controller	0	
-d	10de026c	MCP51 High Definition Audio	0	
-s	10de026c14627207	K8NGM2 series	0	
-d	10de026d	MCP51 USB Controller	0	
-s	10de026d14627207	K8NGM2 series	0	
-d	10de026e	MCP51 USB Controller	0	
-s	10de026e14627207	K8NGM2 series	0	
-d	10de026f	MCP51 PCI Bridge	0	
-d	10de0270	MCP51 Host Bridge	0	
-s	10de027014627207	K8NGM2 series	0	
-d	10de0271	MCP51 PMU	0	
-d	10de0272	MCP51 Memory Controller 0	0	
-d	10de027e	C51 Memory Controller 2	0	
-s	10de027e14627207	K8NGM2 series	0	
-d	10de027f	C51 Memory Controller 3	0	
-s	10de027f14627207	K8NGM2 series	0	
-d	10de0280	NV28 [GeForce4 Ti 4800]	0	
-d	10de0281	NV28 [GeForce4 Ti 4200 AGP 8x]	0	
-d	10de0282	NV28 [GeForce4 Ti 4800 SE]	0	
-d	10de0286	NV28 [GeForce4 Ti 4200 Go AGP 8x]	0	
-d	10de0288	NV28GL [Quadro4 980 XGL]	0	
-d	10de0289	NV28GL [Quadro4 780 XGL]	0	
-d	10de028c	NV28GLM [Quadro4 700 GoGL]	0	
+d	10de0246	C51 PCI Express Bridge	0
+d	10de0247	C51 PCI Express Bridge	0
+d	10de0248	C51 PCI Express Bridge	0
+d	10de0249	C51 PCI Express Bridge	0
+d	10de024a	C51 PCI Express Bridge	0
+d	10de024b	C51 PCI Express Bridge	0
+d	10de024c	C51 PCI Express Bridge	0
+d	10de024d	C51 PCI Express Bridge	0
+d	10de024e	C51 PCI Express Bridge	0
+d	10de024f	C51 PCI Express Bridge	0
+d	10de0250	NV25 [GeForce4 Ti 4600]	0
+d	10de0251	NV25 [GeForce4 Ti 4400]	0
+s	10de025110438023	v8440 GeForce 4 Ti4400	0
+d	10de0252	NV25 [GeForce4 Ti]	0
+d	10de0253	NV25 [GeForce4 Ti 4200]	0
+s	10de0253107d2896	WinFast A250 LE TD (Dual VGA/TV-out/DVI)	0
+s	10de0253147b8f09	Siluro (Dual VGA/TV-out/DVI)	0
+d	10de0258	NV25GL [Quadro4 900 XGL]	0
+d	10de0259	NV25GL [Quadro4 750 XGL]	0
+d	10de025b	NV25GL [Quadro4 700 XGL]	0
+d	10de0260	MCP51 LPC Bridge	0
+s	10de026014627207	K8NGM2 series	0
+d	10de0261	MCP51 LPC Bridge	0
+d	10de0262	MCP51 LPC Bridge	0
+d	10de0263	MCP51 LPC Bridge	0
+d	10de0264	MCP51 SMBus	0
+s	10de026414627207	K8NGM2 series	0
+d	10de0265	MCP51 IDE	0
+s	10de026514627207	K8NGM2 series	0
+d	10de0266	MCP51 Serial ATA Controller	0
+s	10de026614627207	K8NGM2 series	0
+d	10de0267	MCP51 Serial ATA Controller	0
+s	10de026714627207	K8NGM2 series	0
+d	10de0268	MCP51 Ethernet Controller	0
+d	10de0269	MCP51 Ethernet Controller	0
+s	10de026914627207	K8NGM2 series	0
+d	10de026a	MCP51 MCI	0
+d	10de026b	MCP51 AC97 Audio Controller	0
+d	10de026c	MCP51 High Definition Audio	0
+s	10de026c14627207	K8NGM2 series	0
+d	10de026d	MCP51 USB Controller	0
+s	10de026d14627207	K8NGM2 series	0
+d	10de026e	MCP51 USB Controller	0
+s	10de026e14627207	K8NGM2 series	0
+d	10de026f	MCP51 PCI Bridge	0
+d	10de0270	MCP51 Host Bridge	0
+s	10de027014627207	K8NGM2 series	0
+d	10de0271	MCP51 PMU	0
+d	10de0272	MCP51 Memory Controller 0	0
+d	10de027e	C51 Memory Controller 2	0
+s	10de027e14627207	K8NGM2 series	0
+d	10de027f	C51 Memory Controller 3	0
+s	10de027f14627207	K8NGM2 series	0
+d	10de0280	NV28 [GeForce4 Ti 4800]	0
+d	10de0281	NV28 [GeForce4 Ti 4200 AGP 8x]	0
+d	10de0282	NV28 [GeForce4 Ti 4800 SE]	0
+d	10de0286	NV28 [GeForce4 Ti 4200 Go AGP 8x]	0
+d	10de0288	NV28GL [Quadro4 980 XGL]	0
+d	10de0289	NV28GL [Quadro4 780 XGL]	0
+d	10de028c	NV28GLM [Quadro4 700 GoGL]	0
 d	10de028c	NV28GLM [Quadro4 Go700]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
 d	10de0290	G71 [GeForce 7900 GTX]	1	This lists both the chip name and marketing name, as asked for
-d	10de0290	GeForce 7900 GTX	0	
+d	10de0290	GeForce 7900 GTX	0
 d	10de0291	G71 [GeForce 7900 GT]	1	This lists both the chip name and marketing name, as asked for
-d	10de0291	GeForce 7900 GT	0	
+d	10de0291	GeForce 7900 GT	0
 d	10de0291	G71 [GeForce 7900 GT/GTO]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
 d	10de0291	GeForce 7900 GT/GTO	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 s	10de029110de042b	NX7900GTO-T2D512E [7900 GTO]	1	This card is manufactured my MSI
 s	10de029110de042b	NX7900GTO-T2D512E [7900 GTO]	1	This card is manufactured by MSI
 d	10de0292	G71 [GeForce 7900 GS]	1	This lists both the chip name and marketing name, as asked for
-d	10de0292	GeForce 7900 GS	0	
+d	10de0292	GeForce 7900 GS	0
 d	10de0293	G71 [GeForce 7900 GX2]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
 d	10de0293	G71 [GeForce 7950 GX2]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de0294	G71 [GeForce 7950 GX2]	1	This lists both the chip name and marketing name, as asked for
 d	10de0294	G71 [GeForce 7950 GX2]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
-d	10de0295	G71 [GeForce 7950 GT]	1	
-s	10de0295107d2a68	WinFast PX7950GT TDH	1	
+d	10de0295	G71 [GeForce 7950 GT]	1
+s	10de0295107d2a68	WinFast PX7950GT TDH	1
 d	10de0297	GeForce Go 7950 GTX	1	new card
-d	10de0298	GeForce Go 7900 GS	0	
-d	10de0299	GeForce Go 7900 GTX	0	
-d	10de029a	G71 [Quadro FX 2500M]	0	
-d	10de029b	G71 [Quadro FX 1500M]	0	
-d	10de029c	Quadro FX 5500	0	
-d	10de029d	Quadro FX 3500	0	
-d	10de029e	Quadro FX 1500	0	
-d	10de029f	Quadro FX 4500 X2	0	
+d	10de0298	GeForce Go 7900 GS	0
+d	10de0299	GeForce Go 7900 GTX	0
+d	10de029a	G71 [Quadro FX 2500M]	0
+d	10de029b	G71 [Quadro FX 1500M]	0
+d	10de029c	Quadro FX 5500	0
+d	10de029d	Quadro FX 3500	0
+d	10de029e	Quadro FX 1500	0
+d	10de029f	Quadro FX 4500 X2	0
 d	10de02a0	NV2A [XGPU]	0	Xbox Graphics Processing Unit (Integrated). GeForce3 derivative (NV20 < NV2A < NV25).
 d	10de02e0	GeForce 7600 GT	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de02e1	G73 [GeForce 7600 GS]	1	This lists both the chip name and marketing name, as asked for
-d	10de02e1	GeForce 7600 GS	0	
+d	10de02e1	GeForce 7600 GS	0
 d	10de02e2	GeForce 7300 GT	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de02f0	C51 Host Bridge	0	
-s	10de02f014627207	K8NGM2 series	0	
-d	10de02f1	C51 Host Bridge	0	
-d	10de02f2	C51 Host Bridge	0	
-d	10de02f3	C51 Host Bridge	0	
-d	10de02f4	C51 Host Bridge	0	
-d	10de02f5	C51 Host Bridge	0	
-d	10de02f6	C51 Host Bridge	0	
-d	10de02f7	C51 Host Bridge	0	
-d	10de02f8	C51 Memory Controller 5	0	
-s	10de02f814627207	K8NGM2 series	0	
-d	10de02f9	C51 Memory Controller 4	0	
-s	10de02f914627207	K8NGM2 series	0	
-d	10de02fa	C51 Memory Controller 0	0	
-s	10de02fa14627207	K8NGM2 series	0	
-d	10de02fb	C51 PCI Express Bridge	0	
-d	10de02fc	C51 PCI Express Bridge	0	
-d	10de02fd	C51 PCI Express Bridge	0	
-d	10de02fe	C51 Memory Controller 1	0	
-s	10de02fe14627207	K8NGM2 series	0	
-d	10de02ff	C51 Host Bridge	0	
-s	10de02ff14627207	K8NGM2 series	0	
-d	10de0300	NV30 [GeForce FX]	0	
-d	10de0301	NV30 [GeForce FX 5800 Ultra]	0	
-d	10de0302	NV30 [GeForce FX 5800]	0	
-d	10de0308	NV30GL [Quadro FX 2000]	0	
-d	10de0309	NV30GL [Quadro FX 1000]	0	
-d	10de0311	NV31 [GeForce FX 5600 Ultra]	0	
-d	10de0312	NV31 [GeForce FX 5600]	0	
-d	10de0313	NV31	0	
-d	10de0314	NV31 [GeForce FX 5600XT]	0	
-s	10de03141043814a	V9560XT/TD	0	
-d	10de0316	NV31M	0	
-d	10de0317	NV31M Pro	0	
-d	10de031a	NV31M [GeForce FX Go5600]	0	
-d	10de031b	NV31M [GeForce FX Go5650]	0	
-d	10de031c	NVIDIA Quadro FX Go700	0	
-d	10de031d	NV31GLM	0	
-d	10de031e	NV31GLM Pro	0	
-d	10de031f	NV31GLM Pro	0	
-d	10de0320	NV34 [GeForce FX 5200]	0	
-d	10de0321	NV34 [GeForce FX 5200 Ultra]	0	
-d	10de0322	NV34 [GeForce FX 5200]	0	
-s	10de032214629171	MS-8917 (FX5200-T128)	0	
-s	10de032214629360	MS-8936 (FX5200-T128)	0	
-d	10de0323	NV34 [GeForce FX 5200LE]	0	
-d	10de0324	NV34M [GeForce FX Go5200]	0	
+d	10de02f0	C51 Host Bridge	0
+s	10de02f014627207	K8NGM2 series	0
+d	10de02f1	C51 Host Bridge	0
+d	10de02f2	C51 Host Bridge	0
+d	10de02f3	C51 Host Bridge	0
+d	10de02f4	C51 Host Bridge	0
+d	10de02f5	C51 Host Bridge	0
+d	10de02f6	C51 Host Bridge	0
+d	10de02f7	C51 Host Bridge	0
+d	10de02f8	C51 Memory Controller 5	0
+s	10de02f814627207	K8NGM2 series	0
+d	10de02f9	C51 Memory Controller 4	0
+s	10de02f914627207	K8NGM2 series	0
+d	10de02fa	C51 Memory Controller 0	0
+s	10de02fa14627207	K8NGM2 series	0
+d	10de02fb	C51 PCI Express Bridge	0
+d	10de02fc	C51 PCI Express Bridge	0
+d	10de02fd	C51 PCI Express Bridge	0
+d	10de02fe	C51 Memory Controller 1	0
+s	10de02fe14627207	K8NGM2 series	0
+d	10de02ff	C51 Host Bridge	0
+s	10de02ff14627207	K8NGM2 series	0
+d	10de0300	NV30 [GeForce FX]	0
+d	10de0301	NV30 [GeForce FX 5800 Ultra]	0
+d	10de0302	NV30 [GeForce FX 5800]	0
+d	10de0308	NV30GL [Quadro FX 2000]	0
+d	10de0309	NV30GL [Quadro FX 1000]	0
+d	10de0311	NV31 [GeForce FX 5600 Ultra]	0
+d	10de0312	NV31 [GeForce FX 5600]	0
+d	10de0313	NV31	0
+d	10de0314	NV31 [GeForce FX 5600XT]	0
+s	10de03141043814a	V9560XT/TD	0
+d	10de0316	NV31M	0
+d	10de0317	NV31M Pro	0
+d	10de031a	NV31M [GeForce FX Go5600]	0
+d	10de031b	NV31M [GeForce FX Go5650]	0
+d	10de031c	NVIDIA Quadro FX Go700	0
+d	10de031d	NV31GLM	0
+d	10de031e	NV31GLM Pro	0
+d	10de031f	NV31GLM Pro	0
+d	10de0320	NV34 [GeForce FX 5200]	0
+d	10de0321	NV34 [GeForce FX 5200 Ultra]	0
+d	10de0322	NV34 [GeForce FX 5200]	0
+s	10de032214629171	MS-8917 (FX5200-T128)	0
+s	10de032214629360	MS-8936 (FX5200-T128)	0
+d	10de0323	NV34 [GeForce FX 5200LE]	0
+d	10de0324	NV34M [GeForce FX Go5200]	0
 d	10de0324	NV34M [GeForce FX Go5200 64M]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
-s	10de032410280196	Inspiron 5160	0	
-s	10de032410718160	MIM2000	0	
-d	10de0325	NV34M [GeForce FX Go5250]	0	
-d	10de0326	NV34 [GeForce FX 5500]	0	
-d	10de0327	NV34 [GeForce FX 5100]	0	
-d	10de0328	NV34M [GeForce FX Go5200 32M/64M]	0	
-d	10de0329	NV34M [GeForce FX Go5200]	0	
-d	10de032a	NV34GL [Quadro NVS 280 PCI]	0	
+s	10de032410280196	Inspiron 5160	0
+s	10de032410718160	MIM2000	0
+d	10de0325	NV34M [GeForce FX Go5250]	0
+d	10de0326	NV34 [GeForce FX 5500]	0
+d	10de0327	NV34 [GeForce FX 5100]	0
+d	10de0328	NV34M [GeForce FX Go5200 32M/64M]	0
+d	10de0329	NV34M [GeForce FX Go5200]	0
+d	10de032a	NV34GL [Quadro NVS 280 PCI]	0
 d	10de032a	NV34GL [Quadro NVS 280 PCI]	1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
 d	10de032a	NV34GL [Quadro NVS 55/280 PCI]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
-d	10de032b	NV34GL [Quadro FX 500/600 PCI]	0	
-d	10de032c	NV34GLM [GeForce FX Go 5300]	0	
-d	10de032d	NV34 [GeForce FX Go5100]	0	
-d	10de032f	NV34GL	0	
-d	10de0330	NV35 [GeForce FX 5900 Ultra]	0	
-d	10de0331	NV35 [GeForce FX 5900]	0	
-s	10de033110438145	V9950GE	0	
-d	10de0332	NV35 [GeForce FX 5900XT]	0	
-d	10de0333	NV38 [GeForce FX 5950 Ultra]	0	
-d	10de0334	NV35 [GeForce FX 5900ZT]	0	
-d	10de0338	NV35GL [Quadro FX 3000]	0	
-d	10de033f	NV35GL [Quadro FX 700]	0	
-d	10de0341	NV36.1 [GeForce FX 5700 Ultra]	0	
-d	10de0342	NV36.2 [GeForce FX 5700]	0	
-d	10de0343	NV36 [GeForce FX 5700LE]	0	
-d	10de0344	NV36.4 [GeForce FX 5700VE]	0	
-d	10de0345	NV36.5	0	
-d	10de0347	NV36 [GeForce FX Go5700]	0	
-s	10de0347103c006a	NX9500	0	
-d	10de0348	NV36 [GeForce FX Go5700]	0	
-d	10de0349	NV36M Pro	0	
-d	10de034b	NV36MAP	0	
-d	10de034c	NV36 [Quadro FX Go1000]	0	
-d	10de034e	NV36GL [Quadro FX 1100]	0	
-d	10de034f	NV36GL	0	
-d	10de0360	MCP55 LPC Bridge	0	
-d	10de0361	MCP55 LPC Bridge	0	
-d	10de0362	MCP55 LPC Bridge	0	
-d	10de0363	MCP55 LPC Bridge	0	
-d	10de0364	MCP55 LPC Bridge	0	
-d	10de0365	MCP55 LPC Bridge	0	
-d	10de0366	MCP55 LPC Bridge	0	
-d	10de0367	MCP55 LPC Bridge	0	
-d	10de0368	MCP55 SMBus	0	
-d	10de0369	MCP55 Memory Controller	0	
-d	10de036a	MCP55 Memory Controller	0	
-d	10de036b	MCP55 SMU	0	
-d	10de036c	MCP55 USB Controller	0	
-d	10de036d	MCP55 USB Controller	0	
-d	10de036e	MCP55 IDE	0	
-d	10de0370	MCP55 PCI bridge	0	
-d	10de0371	MCP55 High Definition Audio	0	
-d	10de0372	MCP55 Ethernet	0	
-d	10de0373	MCP55 Ethernet	0	
-d	10de0374	MCP55 PCI Express bridge	0	
-d	10de0375	MCP55 PCI Express bridge	0	
-d	10de0376	MCP55 PCI Express bridge	0	
-d	10de0377	MCP55 PCI Express bridge	0	
-d	10de0378	MCP55 PCI Express bridge	0	
-d	10de037a	MCP55 Memory Controller	0	
-d	10de037e	MCP55 SATA Controller	0	
-d	10de037f	MCP55 SATA Controller	0	
+d	10de032b	NV34GL [Quadro FX 500/600 PCI]	0
+d	10de032c	NV34GLM [GeForce FX Go 5300]	0
+d	10de032d	NV34 [GeForce FX Go5100]	0
+d	10de032f	NV34GL	0
+d	10de0330	NV35 [GeForce FX 5900 Ultra]	0
+d	10de0331	NV35 [GeForce FX 5900]	0
+s	10de033110438145	V9950GE	0
+d	10de0332	NV35 [GeForce FX 5900XT]	0
+d	10de0333	NV38 [GeForce FX 5950 Ultra]	0
+d	10de0334	NV35 [GeForce FX 5900ZT]	0
+d	10de0338	NV35GL [Quadro FX 3000]	0
+d	10de033f	NV35GL [Quadro FX 700]	0
+d	10de0341	NV36.1 [GeForce FX 5700 Ultra]	0
+d	10de0342	NV36.2 [GeForce FX 5700]	0
+d	10de0343	NV36 [GeForce FX 5700LE]	0
+d	10de0344	NV36.4 [GeForce FX 5700VE]	0
+d	10de0345	NV36.5	0
+d	10de0347	NV36 [GeForce FX Go5700]	0
+s	10de0347103c006a	NX9500	0
+d	10de0348	NV36 [GeForce FX Go5700]	0
+d	10de0349	NV36M Pro	0
+d	10de034b	NV36MAP	0
+d	10de034c	NV36 [Quadro FX Go1000]	0
+d	10de034e	NV36GL [Quadro FX 1100]	0
+d	10de034f	NV36GL	0
+d	10de0360	MCP55 LPC Bridge	0
+d	10de0361	MCP55 LPC Bridge	0
+d	10de0362	MCP55 LPC Bridge	0
+d	10de0363	MCP55 LPC Bridge	0
+d	10de0364	MCP55 LPC Bridge	0
+d	10de0365	MCP55 LPC Bridge	0
+d	10de0366	MCP55 LPC Bridge	0
+d	10de0367	MCP55 LPC Bridge	0
+d	10de0368	MCP55 SMBus	0
+d	10de0369	MCP55 Memory Controller	0
+d	10de036a	MCP55 Memory Controller	0
+d	10de036b	MCP55 SMU	0
+d	10de036c	MCP55 USB Controller	0
+d	10de036d	MCP55 USB Controller	0
+d	10de036e	MCP55 IDE	0
+d	10de0370	MCP55 PCI bridge	0
+d	10de0371	MCP55 High Definition Audio	0
+d	10de0372	MCP55 Ethernet	0
+d	10de0373	MCP55 Ethernet	0
+d	10de0374	MCP55 PCI Express bridge	0
+d	10de0375	MCP55 PCI Express bridge	0
+d	10de0376	MCP55 PCI Express bridge	0
+d	10de0377	MCP55 PCI Express bridge	0
+d	10de0378	MCP55 PCI Express bridge	0
+d	10de037a	MCP55 Memory Controller	0
+d	10de037e	MCP55 SATA Controller	0
+d	10de037f	MCP55 SATA Controller	0
 d	10de0390	GeForce 7650 GS	1	new card
-d	10de0391	G70 [GeForce 7600 GT]	0	
+d	10de0391	G70 [GeForce 7600 GT]	0
 s	10de039114583427	GV-NX76T128D-RH	1	That's Gigabyte's model ID. It's a GeForce 7600GT with 128MB of GDDR3 RAM.
-d	10de0392	G70 [GeForce 7600 GS]	0	
-s	10de039214620622	NX7600GS-T2D256EH	0	
-d	10de0393	G70 [GeForce 7300 GT]	0	
+d	10de0392	G70 [GeForce 7600 GS]	0
+s	10de039214620622	NX7600GS-T2D256EH	0
+d	10de0393	G70 [GeForce 7300 GT]	0
 d	10de0394	G70 [GeForce 7600 LE]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de0395		1	http://developer.nvidia.com/attach/9529 ( Device_IDs_October_2006.txt )
 d	10de0395	G70 [GeForce 7300 GT]	1	ftp://download.nvidia.com/developer/Device_IDs/Device_IDs_August_2006.txt
 d	10de0397	GeForce Go 7700	1	new card
-d	10de0398	G70 [GeForce Go 7600]	0	
+d	10de0398	G70 [GeForce Go 7600]	0
 d	10de039b	GeForce Go 7900 SE	1	new card
 d	10de039c	Quadro FX 550M	1	new card
-d	10de039e	Quadro FX 560	0	
-d	10de03a0	C55 Host Bridge	0	
-d	10de03a1	C55 Host Bridge	0	
-d	10de03a2	C55 Host Bridge	0	
-d	10de03a3	C55 Host Bridge	0	
-d	10de03a4	C55 Host Bridge	0	
-d	10de03a5	C55 Host Bridge	0	
-d	10de03a6	C55 Host Bridge	0	
-d	10de03a7	C55 Host Bridge	0	
-d	10de03a8	C55 Memory Controller	0	
-d	10de03a9	C55 Memory Controller	0	
-d	10de03aa	C55 Memory Controller	0	
-d	10de03ab	C55 Memory Controller	0	
-d	10de03ac	C55 Memory Controller	0	
-d	10de03ad	C55 Memory Controller	0	
-d	10de03ae	C55 Memory Controller	0	
-d	10de03af	C55 Memory Controller	0	
-d	10de03b0	C55 Memory Controller	0	
-d	10de03b1	C55 Memory Controller	0	
-d	10de03b2	C55 Memory Controller	0	
-d	10de03b3	C55 Memory Controller	0	
-d	10de03b4	C55 Memory Controller	0	
-d	10de03b5	C55 Memory Controller	0	
-d	10de03b6	C55 Memory Controller	0	
-d	10de03b7	C55 PCI Express bridge	0	
-d	10de03b8	C55 PCI Express bridge	0	
-d	10de03b9	C55 PCI Express bridge	0	
-d	10de03ba	C55 Memory Controller	0	
-d	10de03bb	C55 PCI Express bridge	0	
-d	10de03d0	GeForce 6100 nForce 430	0	
-d	10de03d1	GeForce 6100 nForce 405	0	
-d	10de03d2	GeForce 6100 nForce 400	0	
-d	10de03d5	GeForce 6100 nForce 420	0	
-d	10de03e0	MCP61 LPC Bridge	0	
-d	10de03e1	MCP61 LPC Bridge	0	
-d	10de03e2	MCP61 LPC Bridge	0	
-d	10de03e3	MCP61 LPC Bridge	0	
-d	10de03e4	MCP61 High Definition Audio	0	
-d	10de03e5	MCP61 Ethernet	0	
-d	10de03e6	MCP61 Ethernet	0	
-d	10de03e7	MCP61 SATA Controller	0	
-d	10de03e8	MCP61 PCI Express bridge	0	
-d	10de03e9	MCP61 PCI Express bridge	0	
-d	10de03ea	MCP61 Memory Controller	0	
-d	10de03eb	MCP61 SMBus	0	
-d	10de03ec	MCP61 IDE	0	
-d	10de03ee	MCP61 Ethernet	0	
-d	10de03ef	MCP61 Ethernet	0	
-d	10de03f0	MCP61 High Definition Audio	0	
-d	10de03f1	MCP61 USB Controller	0	
-d	10de03f2	MCP61 USB Controller	0	
-d	10de03f3	MCP61 PCI bridge	0	
-d	10de03f4	MCP61 SMU	0	
-d	10de03f5	MCP61 Memory Controller	0	
-d	10de03f6	MCP61 SATA Controller	0	
-d	10de03f7	MCP61 SATA Controller	0	
-d	10de0440	MCP65 LPC Bridge	0	
-d	10de0441	MCP65 LPC Bridge	0	
-d	10de0442	MCP65 LPC Bridge	0	
-d	10de0443	MCP65 LPC Bridge	0	
-d	10de0444	MCP65 Memory Controller	0	
-d	10de0445	MCP65 Memory Controller	0	
-d	10de0446	MCP65 SMBus	0	
-d	10de0447	MCP65 SMU	0	
-d	10de0448	MCP65 IDE	0	
-d	10de0449	MCP65 PCI bridge	0	
-d	10de044a	MCP65 High Definition Audio	0	
-d	10de044b	MCP65 High Definition Audio	0	
-d	10de044c	MCP65 AHCI Controller	0	
-d	10de044d	MCP65 AHCI Controller	0	
-d	10de044e	MCP65 AHCI Controller	0	
-d	10de044f	MCP65 AHCI Controller	0	
-d	10de0450	MCP65 Ethernet	0	
-d	10de0451	MCP65 Ethernet	0	
-d	10de0452	MCP65 Ethernet	0	
-d	10de0453	MCP65 Ethernet	0	
-d	10de0454	MCP65 USB Controller	0	
-d	10de0455	MCP65 USB Controller	0	
-d	10de0456	MCP65 USB Controller	0	
-d	10de0457	MCP65 USB Controller	0	
-d	10de0458	MCP65 PCI Express bridge	0	
-d	10de0459	MCP65 PCI Express bridge	0	
-d	10de045a	MCP65 PCI Express bridge	0	
-d	10de045c	MCP65 SATA Controller	0	
-d	10de045d	MCP65 SATA Controller	0	
-d	10de045e	MCP65 SATA Controller	0	
-d	10de045f	MCP65 SATA Controller	0	
-d	10de1022		1	
-d	10de168c		1	
-d	10de4752		1	
-v	10df	Emulex Corporation	0	
-d	10df1ae5	LP6000 Fibre Channel Host Adapter	0	
-d	10dff085	LP850 Fibre Channel Host Adapter	0	
-d	10dff095	LP952 Fibre Channel Host Adapter	0	
-d	10dff098	LP982 Fibre Channel Host Adapter	0	
-d	10dff0a1	Thor LightPulse Fibre Channel Host Adapter	0	
-d	10dff0a5	Thor LightPulse Fibre Channel Host Adapter	0	
-d	10dff0b5	Viper LightPulse Fibre Channel Host Adapter	0	
-d	10dff0d1	Helios LightPulse Fibre Channel Host Adapter	0	
-d	10dff0d5	Helios LightPulse Fibre Channel Host Adapter	0	
-d	10dff0e1	Zephyr LightPulse Fibre Channel Host Adapter	0	
-d	10dff0e5	Zephyr LightPulse Fibre Channel Host Adapter	0	
-d	10dff0f5	Neptune LightPulse Fibre Channel Host Adapter	0	
-d	10dff700	LP7000 Fibre Channel Host Adapter	0	
-d	10dff701	LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)	0	
-d	10dff800	LP8000 Fibre Channel Host Adapter	0	
-d	10dff801	LP8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)	0	
-d	10dff900	LP9000 Fibre Channel Host Adapter	0	
-d	10dff901	LP9000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)	0	
-d	10dff980	LP9802 Fibre Channel Host Adapter	0	
-d	10dff981	LP9802 Fibre Channel Host Adapter Alternate ID	0	
-d	10dff982	LP9802 Fibre Channel Host Adapter Alternate ID	0	
-d	10dffa00	Thor-X LightPulse Fibre Channel Host Adapter	0	
-d	10dffb00	Viper LightPulse Fibre Channel Host Adapter	0	
-d	10dffc00	Thor-X LightPulse Fibre Channel Host Adapter	0	
-d	10dffc10	Helios-X LightPulse Fibre Channel Host Adapter	0	
-d	10dffc20	Zephyr-X LightPulse Fibre Channel Host Adapter	0	
-d	10dffd00	Helios-X LightPulse Fibre Channel Host Adapter	0	
-d	10dffe00	Zephyr-X LightPulse Fibre Channel Host Adapter	0	
-d	10dfff00	Neptune LightPulse Fibre Channel Host Adapter	0	
-v	10e0	Integrated Micro Solutions Inc.	0	
-d	10e05026	IMS5026/27/28	0	
-d	10e05027	IMS5027	0	
-d	10e05028	IMS5028	0	
-d	10e08849	IMS8849	0	
-d	10e08853	IMS8853	0	
-d	10e09128	IMS9128 [Twin turbo 128]	0	
-v	10e1	Tekram Technology Co.,Ltd.	0	
-d	10e10391	TRM-S1040	0	
-s	10e1039110e10391	DC-315U SCSI-3 Host Adapter	0	
-d	10e1690c	DC-690c	0	
-d	10e1dc29	DC-290	0	
-v	10e2	Aptix Corporation	0	
-v	10e3	Tundra Semiconductor Corp.	0	
-d	10e30000	CA91C042 [Universe]	0	
-d	10e30108	Tsi108 Host Bridge for Single PowerPC	0	
-d	10e30148	Tsi148 [Tempe]	0	
-d	10e30860	CA91C860 [QSpan]	0	
-d	10e30862	CA91C862A [QSpan-II]	0	
-d	10e38260	CA91L8200B [Dual PCI PowerSpan II]	0	
-d	10e38261	CA91L8260B [Single PCI PowerSpan II]	0	
-d	10e3a108	Tsi109 Host Bridge for Dual PowerPC	0	
-v	10e4	Tandem Computers	0	
-d	10e48029	Realtek 8029 Network Card	0	
-v	10e5	Micro Industries Corporation	0	
-v	10e6	Gainbery Computer Products Inc.	0	
-v	10e7	Vadem	0	
-v	10e8	Applied Micro Circuits Corp.	0	
-d	10e81072	INES GPIB-PCI (AMCC5920 based)	0	
-d	10e82011	Q-Motion Video Capture/Edit board	0	
-d	10e84750	S5930 [Matchmaker]	0	
-d	10e85920	S5920	0	
-d	10e88043	LANai4.x [Myrinet LANai interface chip]	0	
-d	10e88062	S5933_PARASTATION	0	
-d	10e8807d	S5933 [Matchmaker]	0	
-d	10e88088	Kongsberg Spacetec Format Synchronizer	0	
-d	10e88089	Kongsberg Spacetec Serial Output Board	0	
-d	10e8809c	S5933_HEPC3	0	
-d	10e880d7	PCI-9112	0	
-d	10e880d9	PCI-9118	0	
-d	10e880da	PCI-9812	0	
+d	10de039e	Quadro FX 560	0
+d	10de03a0	C55 Host Bridge	0
+d	10de03a1	C55 Host Bridge	0
+d	10de03a2	C55 Host Bridge	0
+d	10de03a3	C55 Host Bridge	0
+d	10de03a4	C55 Host Bridge	0
+d	10de03a5	C55 Host Bridge	0
+d	10de03a6	C55 Host Bridge	0
+d	10de03a7	C55 Host Bridge	0
+d	10de03a8	C55 Memory Controller	0
+d	10de03a9	C55 Memory Controller	0
+d	10de03aa	C55 Memory Controller	0
+d	10de03ab	C55 Memory Controller	0
+d	10de03ac	C55 Memory Controller	0
+d	10de03ad	C55 Memory Controller	0
+d	10de03ae	C55 Memory Controller	0
+d	10de03af	C55 Memory Controller	0
+d	10de03b0	C55 Memory Controller	0
+d	10de03b1	C55 Memory Controller	0
+d	10de03b2	C55 Memory Controller	0
+d	10de03b3	C55 Memory Controller	0
+d	10de03b4	C55 Memory Controller	0
+d	10de03b5	C55 Memory Controller	0
+d	10de03b6	C55 Memory Controller	0
+d	10de03b7	C55 PCI Express bridge	0
+d	10de03b8	C55 PCI Express bridge	0
+d	10de03b9	C55 PCI Express bridge	0
+d	10de03ba	C55 Memory Controller	0
+d	10de03bb	C55 PCI Express bridge	0
+d	10de03d0	GeForce 6100 nForce 430	0
+d	10de03d1	GeForce 6100 nForce 405	0
+d	10de03d2	GeForce 6100 nForce 400	0
+d	10de03d5	GeForce 6100 nForce 420	0
+d	10de03e0	MCP61 LPC Bridge	0
+d	10de03e1	MCP61 LPC Bridge	0
+d	10de03e2	MCP61 LPC Bridge	0
+d	10de03e3	MCP61 LPC Bridge	0
+d	10de03e4	MCP61 High Definition Audio	0
+d	10de03e5	MCP61 Ethernet	0
+d	10de03e6	MCP61 Ethernet	0
+d	10de03e7	MCP61 SATA Controller	0
+d	10de03e8	MCP61 PCI Express bridge	0
+d	10de03e9	MCP61 PCI Express bridge	0
+d	10de03ea	MCP61 Memory Controller	0
+d	10de03eb	MCP61 SMBus	0
+d	10de03ec	MCP61 IDE	0
+d	10de03ee	MCP61 Ethernet	0
+d	10de03ef	MCP61 Ethernet	0
+d	10de03f0	MCP61 High Definition Audio	0
+d	10de03f1	MCP61 USB Controller	0
+d	10de03f2	MCP61 USB Controller	0
+d	10de03f3	MCP61 PCI bridge	0
+d	10de03f4	MCP61 SMU	0
+d	10de03f5	MCP61 Memory Controller	0
+d	10de03f6	MCP61 SATA Controller	0
+d	10de03f7	MCP61 SATA Controller	0
+d	10de0440	MCP65 LPC Bridge	0
+d	10de0441	MCP65 LPC Bridge	0
+d	10de0442	MCP65 LPC Bridge	0
+d	10de0443	MCP65 LPC Bridge	0
+d	10de0444	MCP65 Memory Controller	0
+d	10de0445	MCP65 Memory Controller	0
+d	10de0446	MCP65 SMBus	0
+d	10de0447	MCP65 SMU	0
+d	10de0448	MCP65 IDE	0
+d	10de0449	MCP65 PCI bridge	0
+d	10de044a	MCP65 High Definition Audio	0
+d	10de044b	MCP65 High Definition Audio	0
+d	10de044c	MCP65 AHCI Controller	0
+d	10de044d	MCP65 AHCI Controller	0
+d	10de044e	MCP65 AHCI Controller	0
+d	10de044f	MCP65 AHCI Controller	0
+d	10de0450	MCP65 Ethernet	0
+d	10de0451	MCP65 Ethernet	0
+d	10de0452	MCP65 Ethernet	0
+d	10de0453	MCP65 Ethernet	0
+d	10de0454	MCP65 USB Controller	0
+d	10de0455	MCP65 USB Controller	0
+d	10de0456	MCP65 USB Controller	0
+d	10de0457	MCP65 USB Controller	0
+d	10de0458	MCP65 PCI Express bridge	0
+d	10de0459	MCP65 PCI Express bridge	0
+d	10de045a	MCP65 PCI Express bridge	0
+d	10de045c	MCP65 SATA Controller	0
+d	10de045d	MCP65 SATA Controller	0
+d	10de045e	MCP65 SATA Controller	0
+d	10de045f	MCP65 SATA Controller	0
+d	10de1022		1
+d	10de168c		1
+d	10de4752		1
+v	10df	Emulex Corporation	0
+d	10df1ae5	LP6000 Fibre Channel Host Adapter	0
+d	10dff085	LP850 Fibre Channel Host Adapter	0
+d	10dff095	LP952 Fibre Channel Host Adapter	0
+d	10dff098	LP982 Fibre Channel Host Adapter	0
+d	10dff0a1	Thor LightPulse Fibre Channel Host Adapter	0
+d	10dff0a5	Thor LightPulse Fibre Channel Host Adapter	0
+d	10dff0b5	Viper LightPulse Fibre Channel Host Adapter	0
+d	10dff0d1	Helios LightPulse Fibre Channel Host Adapter	0
+d	10dff0d5	Helios LightPulse Fibre Channel Host Adapter	0
+d	10dff0e1	Zephyr LightPulse Fibre Channel Host Adapter	0
+d	10dff0e5	Zephyr LightPulse Fibre Channel Host Adapter	0
+d	10dff0f5	Neptune LightPulse Fibre Channel Host Adapter	0
+d	10dff700	LP7000 Fibre Channel Host Adapter	0
+d	10dff701	LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)	0
+d	10dff800	LP8000 Fibre Channel Host Adapter	0
+d	10dff801	LP8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)	0
+d	10dff900	LP9000 Fibre Channel Host Adapter	0
+d	10dff901	LP9000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)	0
+d	10dff980	LP9802 Fibre Channel Host Adapter	0
+d	10dff981	LP9802 Fibre Channel Host Adapter Alternate ID	0
+d	10dff982	LP9802 Fibre Channel Host Adapter Alternate ID	0
+d	10dffa00	Thor-X LightPulse Fibre Channel Host Adapter	0
+d	10dffb00	Viper LightPulse Fibre Channel Host Adapter	0
+d	10dffc00	Thor-X LightPulse Fibre Channel Host Adapter	0
+d	10dffc10	Helios-X LightPulse Fibre Channel Host Adapter	0
+d	10dffc20	Zephyr-X LightPulse Fibre Channel Host Adapter	0
+d	10dffd00	Helios-X LightPulse Fibre Channel Host Adapter	0
+d	10dffe00	Zephyr-X LightPulse Fibre Channel Host Adapter	0
+d	10dfff00	Neptune LightPulse Fibre Channel Host Adapter	0
+v	10e0	Integrated Micro Solutions Inc.	0
+d	10e05026	IMS5026/27/28	0
+d	10e05027	IMS5027	0
+d	10e05028	IMS5028	0
+d	10e08849	IMS8849	0
+d	10e08853	IMS8853	0
+d	10e09128	IMS9128 [Twin turbo 128]	0
+v	10e1	Tekram Technology Co.,Ltd.	0
+d	10e10391	TRM-S1040	0
+s	10e1039110e10391	DC-315U SCSI-3 Host Adapter	0
+d	10e1690c	DC-690c	0
+d	10e1dc29	DC-290	0
+v	10e2	Aptix Corporation	0
+v	10e3	Tundra Semiconductor Corp.	0
+d	10e30000	CA91C042 [Universe]	0
+d	10e30108	Tsi108 Host Bridge for Single PowerPC	0
+d	10e30148	Tsi148 [Tempe]	0
+d	10e30860	CA91C860 [QSpan]	0
+d	10e30862	CA91C862A [QSpan-II]	0
+d	10e38260	CA91L8200B [Dual PCI PowerSpan II]	0
+d	10e38261	CA91L8260B [Single PCI PowerSpan II]	0
+d	10e3a108	Tsi109 Host Bridge for Dual PowerPC	0
+v	10e4	Tandem Computers	0
+d	10e48029	Realtek 8029 Network Card	0
+v	10e5	Micro Industries Corporation	0
+v	10e6	Gainbery Computer Products Inc.	0
+v	10e7	Vadem	0
+v	10e8	Applied Micro Circuits Corp.	0
+d	10e81072	INES GPIB-PCI (AMCC5920 based)	0
+d	10e82011	Q-Motion Video Capture/Edit board	0
+d	10e84750	S5930 [Matchmaker]	0
+d	10e85920	S5920	0
+d	10e88043	LANai4.x [Myrinet LANai interface chip]	0
+d	10e88062	S5933_PARASTATION	0
+d	10e8807d	S5933 [Matchmaker]	0
+d	10e88088	Kongsberg Spacetec Format Synchronizer	0
+d	10e88089	Kongsberg Spacetec Serial Output Board	0
+d	10e8809c	S5933_HEPC3	0
+d	10e880d7	PCI-9112	0
+d	10e880d9	PCI-9118	0
+d	10e880da	PCI-9812	0
 d	10e880fc	APCI1500	1	Signal processing controller by ADDI-DATA - 16 dig. inputs and 16 dig. outputs (all opt. isolated)
-d	10e8811a	PCI-IEEE1355-DS-DE Interface	0	
-d	10e8814c	Fastcom ESCC-PCI (Commtech, Inc.)	0	
-d	10e88170	S5933 [Matchmaker] (Chipset Development Tool)	0	
-d	10e881e6	Multimedia video controller	0	
+d	10e8811a	PCI-IEEE1355-DS-DE Interface	0
+d	10e8814c	Fastcom ESCC-PCI (Commtech, Inc.)	0
+d	10e88170	S5933 [Matchmaker] (Chipset Development Tool)	0
+d	10e881e6	Multimedia video controller	0
 d	10e8828d	APCI3001	1	Signal processing controller by ADDI-DATA - upto 16 analog inputs
-d	10e88291	Fastcom 232/8-PCI (Commtech, Inc.)	0	
-d	10e882c4	Fastcom 422/4-PCI (Commtech, Inc.)	0	
-d	10e882c5	Fastcom 422/2-PCI (Commtech, Inc.)	0	
-d	10e882c6	Fastcom IG422/1-PCI (Commtech, Inc.)	0	
-d	10e882c7	Fastcom IG232/2-PCI (Commtech, Inc.)	0	
-d	10e882ca	Fastcom 232/4-PCI (Commtech, Inc.)	0	
-d	10e882db	AJA HDNTV HD SDI Framestore	0	
-d	10e882e2	Fastcom DIO24H-PCI (Commtech, Inc.)	0	
+d	10e88291	Fastcom 232/8-PCI (Commtech, Inc.)	0
+d	10e882c4	Fastcom 422/4-PCI (Commtech, Inc.)	0
+d	10e882c5	Fastcom 422/2-PCI (Commtech, Inc.)	0
+d	10e882c6	Fastcom IG422/1-PCI (Commtech, Inc.)	0
+d	10e882c7	Fastcom IG232/2-PCI (Commtech, Inc.)	0
+d	10e882ca	Fastcom 232/4-PCI (Commtech, Inc.)	0
+d	10e882db	AJA HDNTV HD SDI Framestore	0
+d	10e882e2	Fastcom DIO24H-PCI (Commtech, Inc.)	0
 d	10e88406	PCIcanx/PCIcan CAN interface [Kvaser AB]	1	CAN interface, 1, 2 or 4 channels
 d	10e88407	PCIcan II CAN interface (A1021, PCB-07, PCB-08) [Kvaser AB]	1	CAN interface
-d	10e88851	S5933 on Innes Corp FM Radio Capture card	0	
-v	10e9	Alps Electric Co., Ltd.	0	
-v	10ea	Intergraphics Systems	0	
-d	10ea1680	IGA-1680	0	
-d	10ea1682	IGA-1682	0	
-d	10ea1683	IGA-1683	0	
-d	10ea2000	CyberPro 2000	0	
-d	10ea2010	CyberPro 2000A	0	
-d	10ea5000	CyberPro 5000	0	
-d	10ea5050	CyberPro 5050	0	
-d	10ea5202	CyberPro 5202	0	
+d	10e88851	S5933 on Innes Corp FM Radio Capture card	0
+v	10e9	Alps Electric Co., Ltd.	0
+v	10ea	Intergraphics Systems	0
+d	10ea1680	IGA-1680	0
+d	10ea1682	IGA-1682	0
+d	10ea1683	IGA-1683	0
+d	10ea2000	CyberPro 2000	0
+d	10ea2010	CyberPro 2000A	0
+d	10ea5000	CyberPro 5000	0
+d	10ea5050	CyberPro 5050	0
+d	10ea5202	CyberPro 5202	0
 d	10ea5252	CyberPro5252	0	CyberPro5202 Audio Function
-v	10eb	Artists Graphics	0	
-d	10eb0101	3GA	0	
-d	10eb8111	Twist3 Frame Grabber	0	
-v	10ec	Realtek Semiconductor Co., Ltd.	0	
-d	10ec0139	Zonet Zen3200	0	
+v	10eb	Artists Graphics	0
+d	10eb0101	3GA	0
+d	10eb8111	Twist3 Frame Grabber	0
+v	10ec	Realtek Semiconductor Co., Ltd.	0
+d	10ec0139	Zonet Zen3200	0
 d	10ec0260	High Definition Audio	1	Realtek 260
 d	10ec0261	High Definition Audio	1	Realtek 261
 d	10ec0280	High Definition Audio	1	Realtek 280
@@ -5038,8005 +5038,8005 @@ d	10ec0861	High Definition Audio	1	Realt
 d	10ec0861	High Definition Audio	1	Realtek 861
 d	10ec0862	High Definition Audio	1	Realtek 862
 d	10ec0880	High Definition Audio	1	Realtek 880
-d	10ec0883	High Definition Audio	0	
+d	10ec0883	High Definition Audio	0
 d	10ec0883	High Definition Audio	1	Realtek 883
-s	10ec088310251605	TravelMate 5600 series	0	
+s	10ec088310251605	TravelMate 5600 series	0
 d	10ec0888	High Definition Audio	1	Realtek 888
-d	10ec8029	RTL-8029(AS)	0	
-s	10ec802910b82011	EZ-Card (SMC1208)	0	
-s	10ec802910ec8029	RTL-8029(AS)	0	
-s	10ec802911131208	EN1208	0	
-s	10ec802911860300	DE-528	0	
-s	10ec802912592400	AT-2400	0	
-d	10ec8129	RTL-8129	0	
-s	10ec812910ec8129	RT8129 Fast Ethernet Adapter	0	
-d	10ec8136	RTL8101E PCI Express Fast Ethernet controller	0	
-d	10ec8138	RT8139 (B/C) Cardbus Fast Ethernet Adapter	0	
-s	10ec813810ec8138	RT8139 (B/C) Fast Ethernet Adapter	0	
-d	10ec8139	RTL-8139/8139C/8139C+	0	
-s	10ec81390357000a	TTP-Monitoring Card V2.0	0	
-s	10ec81391025005a	TravelMate 290	0	
-s	10ec813910258920	ALN-325	0	
-s	10ec813910258921	ALN-325	0	
-s	10ec8139103c006a	NX9500	0	
-s	10ec813910438109	P5P800-MX Mainboard	0	
-s	10ec813910718160	MIM2000	0	
-s	10ec813910bd0320	EP-320X-R	0	
-s	10ec813910ec8139	RT8139	0	
-s	10ec813910f78338	Panasonic CF-Y5 laptop	1	
-s	10ec81391113ec01	FNC-0107TX	0	
-s	10ec813911861300	DFE-538TX	0	
-s	10ec813911861320	SN5200	0	
-s	10ec813911868139	DRN-32TX	0	
-s	10ec813911f68139	FN22-3(A) LinxPRO Ethernet Adapter	0	
-s	10ec813912592500	AT-2500TX	0	
-s	10ec813912592503	AT-2500TX/ACPI	0	
-s	10ec81391429d010	ND010	0	
-s	10ec813914329130	EN-9130TX	0	
-s	10ec813914368139	RT8139	0	
-s	10ec8139144dc00c	P30 notebook	1	
-s	10ec8139144dc00c	P30/P35 notebook	1	
-s	10ec81391458e000	GA-7VM400M/7VT600 Motherboard	0	
-s	10ec81391462788c	865PE Neo2-V Mainboard	0	
-s	10ec8139146c1439	FE-1439TX	0	
-s	10ec813914896001	GF100TXRII	0	
-s	10ec813914896002	GF100TXRA	0	
-s	10ec8139149c139a	LFE-8139ATX	0	
-s	10ec8139149c8139	LFE-8139TX	0	
-s	10ec813914cb0200	LNR-100 Family 10/100 Base-TX Ethernet	0	
-s	10ec813916959001	Onboard RTL8101L 10/100 MBit	0	
-s	10ec813917995000	F5D5000 PCI Card/Desktop Network PCI Card	0	
-s	10ec813919048139	RTL8139D Fast Ethernet Adapter	0	
-s	10ec813926460001	EtheRx	0	
-s	10ec81398e2e7000	KF-230TX	0	
-s	10ec81398e2e7100	KF-230TX/2	0	
-s	10ec8139a0a00007	ALN-325C	0	
-d	10ec8167	RTL-8169SC Gigabit Ethernet	0	
-s	10ec81671462235c	P965 Neo MS-7235 mainboard	1	
-d	10ec8168	RTL8111/8168B PCI Express Gigabit Ethernet controller	0	
-d	10ec8169	RTL-8169 Gigabit Ethernet	0	
-s	10ec816910250079	Aspire 5024WLMi	0	
-s	10ec81691259c107	CG-LAPCIGT	0	
-s	10ec81691371434e	ProG-2000L	0	
-s	10ec81691458e000	GA-8I915ME-G Mainboard	0	
+d	10ec8029	RTL-8029(AS)	0
+s	10ec802910b82011	EZ-Card (SMC1208)	0
+s	10ec802910ec8029	RTL-8029(AS)	0
+s	10ec802911131208	EN1208	0
+s	10ec802911860300	DE-528	0
+s	10ec802912592400	AT-2400	0
+d	10ec8129	RTL-8129	0
+s	10ec812910ec8129	RT8129 Fast Ethernet Adapter	0
+d	10ec8136	RTL8101E PCI Express Fast Ethernet controller	0
+d	10ec8138	RT8139 (B/C) Cardbus Fast Ethernet Adapter	0
+s	10ec813810ec8138	RT8139 (B/C) Fast Ethernet Adapter	0
+d	10ec8139	RTL-8139/8139C/8139C+	0
+s	10ec81390357000a	TTP-Monitoring Card V2.0	0
+s	10ec81391025005a	TravelMate 290	0
+s	10ec813910258920	ALN-325	0
+s	10ec813910258921	ALN-325	0
+s	10ec8139103c006a	NX9500	0
+s	10ec813910438109	P5P800-MX Mainboard	0
+s	10ec813910718160	MIM2000	0
+s	10ec813910bd0320	EP-320X-R	0
+s	10ec813910ec8139	RT8139	0
+s	10ec813910f78338	Panasonic CF-Y5 laptop	1
+s	10ec81391113ec01	FNC-0107TX	0
+s	10ec813911861300	DFE-538TX	0
+s	10ec813911861320	SN5200	0
+s	10ec813911868139	DRN-32TX	0
+s	10ec813911f68139	FN22-3(A) LinxPRO Ethernet Adapter	0
+s	10ec813912592500	AT-2500TX	0
+s	10ec813912592503	AT-2500TX/ACPI	0
+s	10ec81391429d010	ND010	0
+s	10ec813914329130	EN-9130TX	0
+s	10ec813914368139	RT8139	0
+s	10ec8139144dc00c	P30 notebook	1
+s	10ec8139144dc00c	P30/P35 notebook	1
+s	10ec81391458e000	GA-7VM400M/7VT600 Motherboard	0
+s	10ec81391462788c	865PE Neo2-V Mainboard	0
+s	10ec8139146c1439	FE-1439TX	0
+s	10ec813914896001	GF100TXRII	0
+s	10ec813914896002	GF100TXRA	0
+s	10ec8139149c139a	LFE-8139ATX	0
+s	10ec8139149c8139	LFE-8139TX	0
+s	10ec813914cb0200	LNR-100 Family 10/100 Base-TX Ethernet	0
+s	10ec813916959001	Onboard RTL8101L 10/100 MBit	0
+s	10ec813917995000	F5D5000 PCI Card/Desktop Network PCI Card	0
+s	10ec813919048139	RTL8139D Fast Ethernet Adapter	0
+s	10ec813926460001	EtheRx	0
+s	10ec81398e2e7000	KF-230TX	0
+s	10ec81398e2e7100	KF-230TX/2	0
+s	10ec8139a0a00007	ALN-325C	0
+d	10ec8167	RTL-8169SC Gigabit Ethernet	0
+s	10ec81671462235c	P965 Neo MS-7235 mainboard	1
+d	10ec8168	RTL8111/8168B PCI Express Gigabit Ethernet controller	0
+d	10ec8169	RTL-8169 Gigabit Ethernet	0
+s	10ec816910250079	Aspire 5024WLMi	0
+s	10ec81691259c107	CG-LAPCIGT	0
+s	10ec81691371434e	ProG-2000L	0
+s	10ec81691458e000	GA-8I915ME-G Mainboard	0
 s	10ec81691462030c	K8N Neo-FSR v2.0	1	Gigabit Lan
-s	10ec81691462702c	K8T NEO 2 motherboard	0	
-d	10ec8180	RTL8180L 802.11b MAC	0	
-d	10ec8185	RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller	0	
-d	10ec8197	SmartLAN56 56K Modem	0	
-v	10ed	Ascii Corporation	0	
-d	10ed7310	V7310	0	
-v	10ee	Xilinx Corporation	0	
-d	10ee0205	Wildcard TE205P	0	
-d	10ee0210	Wildcard TE210P	0	
-d	10ee0314	Wildcard TE405P/TE410P (1st Gen)	0	
-d	10ee0405	Wildcard TE405P (2nd Gen)	0	
-d	10ee0410	Wildcard TE410P (2nd Gen)	0	
-d	10ee3fc0	RME Digi96	0	
-d	10ee3fc1	RME Digi96/8	0	
-d	10ee3fc2	RME Digi96/8 Pro	0	
-d	10ee3fc3	RME Digi96/8 Pad	0	
-d	10ee3fc4	RME Digi9652 (Hammerfall)	0	
-d	10ee3fc5	RME Hammerfall DSP	0	
-d	10ee3fc6	RME Hammerfall DSP MADI	0	
-d	10ee8381	Ellips Santos Frame Grabber	0	
-d	10eed154	Copley Controls CAN card (PCI-CAN-02)	0	
-v	10ef	Racore Computer Products, Inc.	0	
-d	10ef8154	M815x Token Ring Adapter	0	
-v	10f0	Peritek Corporation	0	
-v	10f1	Tyan Computer	0	
-d	10f12865	Tyan Thunder K8E S2865	0	
-v	10f2	Achme Computer, Inc.	0	
-v	10f3	Alaris, Inc.	0	
-v	10f4	S-MOS Systems, Inc.	0	
-v	10f5	NKK Corporation	0	
-d	10f5a001	NDR4000 [NR4600 Bridge]	0	
-v	10f6	Creative Electronic Systems SA	0	
-v	10f7	Matsushita Electric Industrial Co., Ltd.	0	
-v	10f8	Altos India Ltd	0	
-v	10f9	PC Direct	0	
-v	10fa	Truevision	0	
-d	10fa000c	TARGA 1000	0	
-v	10fb	Thesys Gesellschaft fuer Mikroelektronik mbH	0	
-d	10fb186f	TH 6255	0	
-v	10fc	I-O Data Device, Inc.	0	
+s	10ec81691462702c	K8T NEO 2 motherboard	0
+d	10ec8180	RTL8180L 802.11b MAC	0
+d	10ec8185	RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller	0
+d	10ec8197	SmartLAN56 56K Modem	0
+v	10ed	Ascii Corporation	0
+d	10ed7310	V7310	0
+v	10ee	Xilinx Corporation	0
+d	10ee0205	Wildcard TE205P	0
+d	10ee0210	Wildcard TE210P	0
+d	10ee0314	Wildcard TE405P/TE410P (1st Gen)	0
+d	10ee0405	Wildcard TE405P (2nd Gen)	0
+d	10ee0410	Wildcard TE410P (2nd Gen)	0
+d	10ee3fc0	RME Digi96	0
+d	10ee3fc1	RME Digi96/8	0
+d	10ee3fc2	RME Digi96/8 Pro	0
+d	10ee3fc3	RME Digi96/8 Pad	0
+d	10ee3fc4	RME Digi9652 (Hammerfall)	0
+d	10ee3fc5	RME Hammerfall DSP	0
+d	10ee3fc6	RME Hammerfall DSP MADI	0
+d	10ee8381	Ellips Santos Frame Grabber	0
+d	10eed154	Copley Controls CAN card (PCI-CAN-02)	0
+v	10ef	Racore Computer Products, Inc.	0
+d	10ef8154	M815x Token Ring Adapter	0
+v	10f0	Peritek Corporation	0
+v	10f1	Tyan Computer	0
+d	10f12865	Tyan Thunder K8E S2865	0
+v	10f2	Achme Computer, Inc.	0
+v	10f3	Alaris, Inc.	0
+v	10f4	S-MOS Systems, Inc.	0
+v	10f5	NKK Corporation	0
+d	10f5a001	NDR4000 [NR4600 Bridge]	0
+v	10f6	Creative Electronic Systems SA	0
+v	10f7	Matsushita Electric Industrial Co., Ltd.	0
+v	10f8	Altos India Ltd	0
+v	10f9	PC Direct	0
+v	10fa	Truevision	0
+d	10fa000c	TARGA 1000	0
+v	10fb	Thesys Gesellschaft fuer Mikroelektronik mbH	0
+d	10fb186f	TH 6255	0
+v	10fc	I-O Data Device, Inc.	0
 d	10fc0003	Cardbus IDE Controller	0	What's in the cardbus end of a Sony ACR-A01 card, comes with newer Vaio CD-RW drives
-d	10fc0005	Cardbus SCSI CBSC II	0	
-v	10fd	Soyo Computer, Inc	0	
-v	10fe	Fast Multimedia AG	0	
-v	10ff	NCube	0	
-v	1100	Jazz Multimedia	0	
-v	1101	Initio Corporation	0	
-d	11011060	INI-A100U2W	0	
-d	11011622	INI-1623 PCI SATA-II Controller	0	
-d	11019100	INI-9100/9100W	0	
-d	11019400	INI-940	0	
-d	11019401	INI-950	0	
-d	11019500	360P	0	
-d	11019502	Initio INI-9100UW Ultra Wide SCSI Controller INIC-950P chip	0	
-v	1102	Creative Labs	0	
-d	11020002	SB Live! EMU10k1	0	
-s	1102000211020020	CT4850 SBLive! Value	0	
-s	1102000211020021	CT4620 SBLive!	0	
-s	110200021102002f	SBLive! mainboard implementation	0	
-s	110200021102100a	SB Live! 5.1 Digital OEM [SB0220]	0	
-s	1102000211024001	E-mu APS	0	
-s	1102000211028022	CT4780 SBLive! Value	0	
-s	1102000211028023	CT4790 SoundBlaster PCI512	0	
-s	1102000211028024	CT4760 SBLive!	0	
-s	1102000211028025	SBLive! Mainboard Implementation	0	
-s	1102000211028026	CT4830 SBLive! Value	0	
-s	1102000211028027	CT4832 SBLive! Value	0	
-s	1102000211028028	CT4760 SBLive! OEM version	0	
-s	1102000211028031	CT4831 SBLive! Value	0	
-s	1102000211028040	CT4760 SBLive!	0	
-s	1102000211028051	CT4850 SBLive! Value	0	
-s	1102000211028061	SBLive! Player 5.1	0	
-s	1102000211028064	SBLive! 5.1 Model SB0100	0	
-s	1102000211028065	SBLive! 5.1 Digital Model SB0220	0	
-s	1102000211028067	SBLive! 5.1 eMicro 28028	0	
-d	11020004	SB Audigy	0	
-s	1102000411020051	SB0090 Audigy Player	0	
-s	1102000411020053	SB0090 Audigy Player/OEM	0	
-s	1102000411020058	SB0090 Audigy Player/OEM	0	
-s	1102000411021002	SB Audigy2 ZS	1	
-s	1102000411021007	SB0240 Audigy 2 Platinum 6.1	0	
-s	1102000411022002	SB Audigy 2 ZS (SB0350)	0	
+d	10fc0005	Cardbus SCSI CBSC II	0
+v	10fd	Soyo Computer, Inc	0
+v	10fe	Fast Multimedia AG	0
+v	10ff	NCube	0
+v	1100	Jazz Multimedia	0
+v	1101	Initio Corporation	0
+d	11011060	INI-A100U2W	0
+d	11011622	INI-1623 PCI SATA-II Controller	0
+d	11019100	INI-9100/9100W	0
+d	11019400	INI-940	0
+d	11019401	INI-950	0
+d	11019500	360P	0
+d	11019502	Initio INI-9100UW Ultra Wide SCSI Controller INIC-950P chip	0
+v	1102	Creative Labs	0
+d	11020002	SB Live! EMU10k1	0
+s	1102000211020020	CT4850 SBLive! Value	0
+s	1102000211020021	CT4620 SBLive!	0
+s	110200021102002f	SBLive! mainboard implementation	0
+s	110200021102100a	SB Live! 5.1 Digital OEM [SB0220]	0
+s	1102000211024001	E-mu APS	0
+s	1102000211028022	CT4780 SBLive! Value	0
+s	1102000211028023	CT4790 SoundBlaster PCI512	0
+s	1102000211028024	CT4760 SBLive!	0
+s	1102000211028025	SBLive! Mainboard Implementation	0
+s	1102000211028026	CT4830 SBLive! Value	0
+s	1102000211028027	CT4832 SBLive! Value	0
+s	1102000211028028	CT4760 SBLive! OEM version	0
+s	1102000211028031	CT4831 SBLive! Value	0
+s	1102000211028040	CT4760 SBLive!	0
+s	1102000211028051	CT4850 SBLive! Value	0
+s	1102000211028061	SBLive! Player 5.1	0
+s	1102000211028064	SBLive! 5.1 Model SB0100	0
+s	1102000211028065	SBLive! 5.1 Digital Model SB0220	0
+s	1102000211028067	SBLive! 5.1 eMicro 28028	0
+d	11020004	SB Audigy	0
+s	1102000411020051	SB0090 Audigy Player	0
+s	1102000411020053	SB0090 Audigy Player/OEM	0
+s	1102000411020058	SB0090 Audigy Player/OEM	0
+s	1102000411021002	SB Audigy2 ZS	1
+s	1102000411021007	SB0240 Audigy 2 Platinum 6.1	0
+s	1102000411022002	SB Audigy 2 ZS (SB0350)	0
 s	1102000411024001	E-MU 1212M	1	http://www.emu.com/products/product.asp?category=505&subcategory=491&product=9872
 s	1102000411024001	E-MU 1010	1	Forget 1212m, the main PCI board of the Creative Professionnal/E-MU DAS family is the 1010
-d	11020005	SB X-Fi	0	
-s	1102000511020021	X-Fi Platinum	0	
-s	1102000511021003	X-Fi XtremeMusic	0	
-d	11020006	[SB Live! Value] EMU10k1X	0	
-d	11020007	SB Audigy LS	0	
-s	1102000711020007	SBLive! 24bit	0	
-s	1102000711021001	SB0310 Audigy LS	0	
-s	1102000711021002	SB0312 Audigy LS	0	
-s	1102000711021006	SB0410 SBLive! 24-bit	0	
-s	1102000714621009	K8N Diamond	0	
-d	11020008	SB0400 Audigy2 Value	0	
-s	1102000811020008	EMU0404 Digital Audio System	0	
-d	11024001	SB Audigy FireWire Port	0	
-s	1102400111020010	SB Audigy FireWire Port	0	
-d	11027002	SB Live! Game Port	0	
-s	1102700211020020	Gameport Joystick	0	
-d	11027003	SB Audigy Game Port	0	
-s	1102700311020040	SB Audigy MIDI/Game Port	0	
-d	11027004	[SB Live! Value] Input device controller	0	
-d	11027005	SB Audigy LS Game Port	0	
-s	1102700511021001	SB0310 Audigy LS MIDI/Game port	0	
-s	1102700511021002	SB0312 Audigy LS MIDI/Game port	0	
-d	11028064	SB0100 [SBLive! 5.1 OEM]	0	
-d	11028938	Ectiva EV1938	0	
-s	11028938103380e5	SlimTower-Jim (NEC)	0	
-s	1102893810717150	Mitac 7150	0	
-s	11028938110a5938	Siemens Scenic Mobile 510PIII	0	
-s	1102893813bd100c	Ceres-C (Sharp, Intel BX)	0	
-s	1102893813bd100d	Sharp, Intel Banister	0	
-s	1102893813bd100e	TwinHead P09S/P09S3 (Sharp)	0	
-s	1102893813bdf6f1	Marlin (Sharp)	0	
-s	1102893814ff0e70	P88TE (TWINHEAD INTERNATIONAL Corp)	0	
-s	1102893814ffc401	Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)	0	
-s	11028938156db400	G400 - Geo (AlphaTop (Taiwan))	0	
-s	11028938156db550	G560  (AlphaTop (Taiwan))	0	
-s	11028938156db560	G560  (AlphaTop (Taiwan))	0	
-s	11028938156db700	G700/U700  (AlphaTop (Taiwan))	0	
-s	11028938156db795	G795  (AlphaTop (Taiwan))	0	
-s	11028938156db797	G797  (AlphaTop (Taiwan))	0	
-v	1103	Triones Technologies, Inc.	0	
-d	11030003	HPT343/345/346/363	0	
-d	11030004	HPT366/368/370/370A/372/372N	0	
-s	1103000411030001	HPT370A	0	
-s	1103000411030003	HPT343 / HPT345 / HPT363 UDMA33	1	
-s	1103000411030004	HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)	0	
-s	1103000411030005	HPT370 UDMA100	0	
-s	1103000411030006	HPT302/302N	1	
-s	1103000411030006	HPT302	1	
-d	11030005	HPT372A/372N	0	
-d	11030006	HPT302/302N	0	
-d	11030007	HPT371/371N	0	
-d	11030008	HPT374	0	
-d	11030009	HPT372N	0	
-v	1104	RasterOps Corp.	0	
-v	1105	Sigma Designs, Inc.	0	
-d	11051105	REALmagic Xcard MPEG 1/2/3/4 DVD Decoder	0	
-d	11058300	REALmagic Hollywood Plus DVD Decoder	0	
-d	11058400	EM840x REALmagic DVD/MPEG-2 Audio/Video Decoder	0	
-d	11058401	EM8401 REALmagic DVD/MPEG-2 A/V Decoder	0	
-d	11058470	EM8470 REALmagic DVD/MPEG-4 A/V Decoder	0	
-d	11058471	EM8471 REALmagic DVD/MPEG-4 A/V Decoder	0	
-d	11058475	EM8475 REALmagic DVD/MPEG-4 A/V Decoder	0	
-s	1105847511050001	REALmagic X-Card	0	
-d	11058476	EM8476 REALmagic DVD/MPEG-4 A/V Decoder	0	
-s	11058476127d0000	CineView II	0	
-d	11058485	EM8485 REALmagic DVD/MPEG-4 A/V Decoder	0	
-d	11058486	EM8486 REALmagic DVD/MPEG-4 A/V Decoder	0	
-v	1106	VIA Technologies, Inc.	0	
-d	11060102	Embedded VIA Ethernet Controller	0	
-d	11060130	VT6305 1394.A Controller	0	
+d	11020005	SB X-Fi	0
+s	1102000511020021	X-Fi Platinum	0
+s	1102000511021003	X-Fi XtremeMusic	0
+d	11020006	[SB Live! Value] EMU10k1X	0
+d	11020007	SB Audigy LS	0
+s	1102000711020007	SBLive! 24bit	0
+s	1102000711021001	SB0310 Audigy LS	0
+s	1102000711021002	SB0312 Audigy LS	0
+s	1102000711021006	SB0410 SBLive! 24-bit	0
+s	1102000714621009	K8N Diamond	0
+d	11020008	SB0400 Audigy2 Value	0
+s	1102000811020008	EMU0404 Digital Audio System	0
+d	11024001	SB Audigy FireWire Port	0
+s	1102400111020010	SB Audigy FireWire Port	0
+d	11027002	SB Live! Game Port	0
+s	1102700211020020	Gameport Joystick	0
+d	11027003	SB Audigy Game Port	0
+s	1102700311020040	SB Audigy MIDI/Game Port	0
+d	11027004	[SB Live! Value] Input device controller	0
+d	11027005	SB Audigy LS Game Port	0
+s	1102700511021001	SB0310 Audigy LS MIDI/Game port	0
+s	1102700511021002	SB0312 Audigy LS MIDI/Game port	0
+d	11028064	SB0100 [SBLive! 5.1 OEM]	0
+d	11028938	Ectiva EV1938	0
+s	11028938103380e5	SlimTower-Jim (NEC)	0
+s	1102893810717150	Mitac 7150	0
+s	11028938110a5938	Siemens Scenic Mobile 510PIII	0
+s	1102893813bd100c	Ceres-C (Sharp, Intel BX)	0
+s	1102893813bd100d	Sharp, Intel Banister	0
+s	1102893813bd100e	TwinHead P09S/P09S3 (Sharp)	0
+s	1102893813bdf6f1	Marlin (Sharp)	0
+s	1102893814ff0e70	P88TE (TWINHEAD INTERNATIONAL Corp)	0
+s	1102893814ffc401	Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)	0
+s	11028938156db400	G400 - Geo (AlphaTop (Taiwan))	0
+s	11028938156db550	G560  (AlphaTop (Taiwan))	0
+s	11028938156db560	G560  (AlphaTop (Taiwan))	0
+s	11028938156db700	G700/U700  (AlphaTop (Taiwan))	0
+s	11028938156db795	G795  (AlphaTop (Taiwan))	0
+s	11028938156db797	G797  (AlphaTop (Taiwan))	0
+v	1103	Triones Technologies, Inc.	0
+d	11030003	HPT343/345/346/363	0
+d	11030004	HPT366/368/370/370A/372/372N	0
+s	1103000411030001	HPT370A	0
+s	1103000411030003	HPT343 / HPT345 / HPT363 UDMA33	1
+s	1103000411030004	HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)	0
+s	1103000411030005	HPT370 UDMA100	0
+s	1103000411030006	HPT302/302N	1
+s	1103000411030006	HPT302	1
+d	11030005	HPT372A/372N	0
+d	11030006	HPT302/302N	0
+d	11030007	HPT371/371N	0
+d	11030008	HPT374	0
+d	11030009	HPT372N	0
+v	1104	RasterOps Corp.	0
+v	1105	Sigma Designs, Inc.	0
+d	11051105	REALmagic Xcard MPEG 1/2/3/4 DVD Decoder	0
+d	11058300	REALmagic Hollywood Plus DVD Decoder	0
+d	11058400	EM840x REALmagic DVD/MPEG-2 Audio/Video Decoder	0
+d	11058401	EM8401 REALmagic DVD/MPEG-2 A/V Decoder	0
+d	11058470	EM8470 REALmagic DVD/MPEG-4 A/V Decoder	0
+d	11058471	EM8471 REALmagic DVD/MPEG-4 A/V Decoder	0
+d	11058475	EM8475 REALmagic DVD/MPEG-4 A/V Decoder	0
+s	1105847511050001	REALmagic X-Card	0
+d	11058476	EM8476 REALmagic DVD/MPEG-4 A/V Decoder	0
+s	11058476127d0000	CineView II	0
+d	11058485	EM8485 REALmagic DVD/MPEG-4 A/V Decoder	0
+d	11058486	EM8486 REALmagic DVD/MPEG-4 A/V Decoder	0
+v	1106	VIA Technologies, Inc.	0
+d	11060102	Embedded VIA Ethernet Controller	0
+d	11060130	VT6305 1394.A Controller	0
 d	11060204	K8M800 Host Bridge	0	Wrong ID found on Jetway K8M8MS
-d	11060208	PT890 Host Bridge	0	
-d	11060238	K8T890 Host Bridge	0	
-d	11060258	PT880 Host Bridge	0	
-d	11060259	CN400/PM880 Host Bridge	0	
-d	11060269	KT880 Host Bridge	0	
-d	11060282	K8T800Pro Host Bridge	0	
-s	11060282104380a3	A8V Deluxe	0	
-d	11060290	K8M890 Host Bridge	0	
-d	11060293	PM896 Host Bridge	0	
-d	11060296	P4M800 Host Bridge	0	
-d	11060305	VT8363/8365 [KT133/KM133]	0	
-s	1106030510190987	K7VZA Mainboard	0	
-s	1106030510438033	A7V Mainboard	0	
-s	110603051043803e	A7V-E Mainboard	0	
-s	1106030510438042	A7V133/A7V133-C Mainboard	0	
-s	11060305147ba401	KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard	0	
-d	11060308	PT894 Host Bridge	0	
-d	11060314	CN700/VN800/P4M800CE/Pro Host Bridge	0	
-d	11060324	CX700 Host Bridge	0	
-d	11060327	P4M890 Host Bridge	0	
-d	11060336	K8M890CE Host Bridge	0	
-d	11060340	PT900 Host Bridge	0	
-d	11060351	VT3351 Host Bridge	0	
-d	11060364	P4M900 Host Bridge	0	
-d	11060391	VT8371 [KX133]	0	
-d	11060501	VT8501 [Apollo MVP4]	0	
-d	11060505	VT82C505	0	
+d	11060208	PT890 Host Bridge	0
+d	11060238	K8T890 Host Bridge	0
+d	11060258	PT880 Host Bridge	0
+d	11060259	CN400/PM880 Host Bridge	0
+d	11060269	KT880 Host Bridge	0
+d	11060282	K8T800Pro Host Bridge	0
+s	11060282104380a3	A8V Deluxe	0
+d	11060290	K8M890 Host Bridge	0
+d	11060293	PM896 Host Bridge	0
+d	11060296	P4M800 Host Bridge	0
+d	11060305	VT8363/8365 [KT133/KM133]	0
+s	1106030510190987	K7VZA Mainboard	0
+s	1106030510438033	A7V Mainboard	0
+s	110603051043803e	A7V-E Mainboard	0
+s	1106030510438042	A7V133/A7V133-C Mainboard	0
+s	11060305147ba401	KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard	0
+d	11060308	PT894 Host Bridge	0
+d	11060314	CN700/VN800/P4M800CE/Pro Host Bridge	0
+d	11060324	CX700 Host Bridge	0
+d	11060327	P4M890 Host Bridge	0
+d	11060336	K8M890CE Host Bridge	0
+d	11060340	PT900 Host Bridge	0
+d	11060351	VT3351 Host Bridge	0
+d	11060364	P4M900 Host Bridge	0
+d	11060391	VT8371 [KX133]	0
+d	11060501	VT8501 [Apollo MVP4]	0
+d	11060505	VT82C505	0
 d	11060561	VT82C576MV	0	Shares chip with :0576. The VT82C576M has :1571 instead of :0561.
-d	11060571	VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE	0	
-s	1106057110190985	P6VXA Motherboard	0	
-s	1106057110190a81	L7VTA v1.0 Motherboard (KT400-8235)	0	
-s	1106057110438052	VT8233A Bus Master ATA100/66/33 IDE	0	
-s	110605711043808c	A7V8X / A7V333 motherboard	0	
-s	11060571104380a1	A7V8X-X motherboard rev. 1.01	0	
-s	11060571104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0	
-s	1106057111060571	VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE	0	
-s	1106057111790001	Magnia Z310	0	
-s	110605711297f641	FX41 motherboard	0	
-s	1106057114585002	GA-7VAX Mainboard	0	
-s	1106057114627020	K8T NEO 2 motherboard	0	
-s	11060571147b1407	KV8-MAX3 motherboard	0	
-s	1106057118490571	K7VT2/K7VT6 motherboard	0	
-d	11060576	VT82C576 3V [Apollo Master]	0	
-d	11060585	VT82C585VP [Apollo VP1/VPX]	0	
-d	11060586	VT82C586/A/B PCI-to-ISA [Apollo VP]	0	
-s	1106058611060000	MVP3 ISA Bridge	0	
-d	11060591	VT8237A SATA 2-Port Controller	0	
-d	11060595	VT82C595 [Apollo VP2]	0	
-d	11060596	VT82C596 ISA [Mobile South]	0	
-s	1106059611060000	VT82C596/A/B PCI to ISA Bridge	0	
-s	1106059614580596	VT82C596/A/B PCI to ISA Bridge	0	
-d	11060597	VT82C597 [Apollo VP3]	0	
-d	11060598	VT82C598 [Apollo MVP3]	0	
-d	11060601	VT8601 [Apollo ProMedia]	0	
-d	11060605	VT8605 [ProSavage PM133]	0	
-s	110606051043802c	CUV4X mainboard	0	
-d	11060680	VT82C680 [Apollo P6]	0	
-d	11060686	VT82C686 [Apollo Super South]	0	
-s	1106068610190985	P6VXA Motherboard	0	
-s	110606861043802c	CUV4X mainboard	0	
-s	1106068610438033	A7V Mainboard	0	
-s	110606861043803e	A7V-E Mainboard	0	
-s	1106068610438040	A7M266 Mainboard	0	
-s	1106068610438042	A7V133/A7V133-C Mainboard	0	
-s	1106068611060000	VT82C686/A PCI to ISA Bridge	0	
-s	1106068611060686	VT82C686/A PCI to ISA Bridge	0	
-s	1106068611790001	Magnia Z310	0	
-s	11060686147ba702	KG7-Lite Mainboard	0	
-d	11060691	VT82C693A/694x [Apollo PRO133x]	0	
-s	1106069110190985	P6VXA Motherboard	0	
-s	1106069111790001	Magnia Z310	0	
-s	1106069114580691	VT82C691 Apollo Pro System Controller	0	
-d	11060693	VT82C693 [Apollo Pro Plus]	0	
-d	11060698	VT82C693A [Apollo Pro133 AGP]	0	
-d	11060926	VT82C926 [Amazon]	0	
-d	11061000	VT82C570MV	0	
-d	11061106	VT82C570MV	0	
-d	11061106		1	
-d	11061204	K8M800 Host Bridge	0	
-d	11061208	PT890 Host Bridge	0	
-d	11061238	K8T890 Host Bridge	0	
-d	11061258	PT880 Host Bridge	0	
-d	11061259	CN400/PM880 Host Bridge	0	
-d	11061269	KT880 Host Bridge	0	
-d	11061282	K8T800Pro Host Bridge	0	
-d	11061290	K8M890 Host Bridge	0	
-d	11061293	PM896 Host Bridge	0	
-d	11061296	P4M800 Host Bridge	0	
-d	11061308	PT894 Host Bridge	0	
-d	11061314	CN700/VN800/P4M800CE/Pro Host Bridge	0	
-d	11061324	CX700 Host Bridge	0	
-d	11061327	P4M890 Host Bridge	0	
-d	11061336	K8M890CE Host Bridge	0	
-d	11061340	PT900 Host Bridge	0	
-d	11061351	VT3351 Host Bridge	0	
-d	11061364	P4M900 Host Bridge	0	
-d	11061571	VT82C576M/VT82C586	0	
-d	11061595	VT82C595/97 [Apollo VP2/97]	0	
-d	11062204	K8M800 Host Bridge	0	
-d	11062208	PT890 Host Bridge	0	
-d	11062238	K8T890 Host Bridge	0	
-d	11062258	PT880 Host Bridge	0	
-d	11062259	CN400/PM880 Host Bridge	0	
-d	11062269	KT880 Host Bridge	0	
-d	11062282	K8T800Pro Host Bridge	0	
-d	11062290	K8M890 Host Bridge	0	
-d	11062293	PM896 Host Bridge	0	
-d	11062296	P4M800 Host Bridge	0	
-d	11062308	PT894 Host Bridge	0	
-d	11062314	CN700/VN800/P4M800CE/Pro Host Bridge	0	
-d	11062324	CX700 Host Bridge	0	
-d	11062327	P4M890 Host Bridge	0	
-d	11062336	K8M890CE Host Bridge	0	
-d	11062340	PT900 Host Bridge	0	
-d	11062351	VT3351 Host Bridge	0	
-d	11062364	P4M900 Host Bridge	0	
-d	1106287a	VT8251 PCI to PCI Bridge	0	
-d	1106287b	VT8251 Host Bridge	0	
-d	1106287c	VT8251 PCIE Root Port	0	
-d	1106287d	VT8251 PCIE Root Port	0	
-d	1106287e	VT8251 Ultra VLINK Controller	0	
-d	11063022	CLE266	0	
-d	11063038	VT82xxxxx UHCI USB 1.1 Controller	0	
-d	11063038		1	
-s	1106303809251234	USB Controller	0	
-s	1106303810190985	P6VXA Motherboard	0	
-s	1106303810190a81	L7VTA v1.0 Motherboard (KT400-8235)	0	
-s	1106303810438080	A7V333 motherboard	0	
-s	110630381043808c	VT6202 USB2.0 4 port controller	0	
-s	11063038104380a1	A7V8X-X motherboard	0	
-s	11063038104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0	
-s	1106303811790001	Magnia Z310	0	
-s	1106303814585004	GA-7VAX Mainboard	0	
-s	1106303814627020	K8T NEO 2 motherboard	0	
-s	11063038147b1407	KV8-MAX3 motherboard	0	
-s	11063038182d201d	CN-029 USB2.0 4 port PCI Card	0	
-s	1106303818493038	K7VT6	0	
-d	11063040	VT82C586B ACPI	0	
-d	11063043	VT86C100A [Rhine]	0	
-s	1106304310bd0000	VT86C100A Fast Ethernet Adapter	0	
-s	1106304311060100	VT86C100A Fast Ethernet Adapter	0	
-s	1106304311861400	DFE-530TX rev A	0	
-d	11063044	IEEE 1394 Host Controller	0	
+d	11060571	VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE	0
+s	1106057110190985	P6VXA Motherboard	0
+s	1106057110190a81	L7VTA v1.0 Motherboard (KT400-8235)	0
+s	1106057110438052	VT8233A Bus Master ATA100/66/33 IDE	0
+s	110605711043808c	A7V8X / A7V333 motherboard	0
+s	11060571104380a1	A7V8X-X motherboard rev. 1.01	0
+s	11060571104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0
+s	1106057111060571	VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE	0
+s	1106057111790001	Magnia Z310	0
+s	110605711297f641	FX41 motherboard	0
+s	1106057114585002	GA-7VAX Mainboard	0
+s	1106057114627020	K8T NEO 2 motherboard	0
+s	11060571147b1407	KV8-MAX3 motherboard	0
+s	1106057118490571	K7VT2/K7VT6 motherboard	0
+d	11060576	VT82C576 3V [Apollo Master]	0
+d	11060585	VT82C585VP [Apollo VP1/VPX]	0
+d	11060586	VT82C586/A/B PCI-to-ISA [Apollo VP]	0
+s	1106058611060000	MVP3 ISA Bridge	0
+d	11060591	VT8237A SATA 2-Port Controller	0
+d	11060595	VT82C595 [Apollo VP2]	0
+d	11060596	VT82C596 ISA [Mobile South]	0
+s	1106059611060000	VT82C596/A/B PCI to ISA Bridge	0
+s	1106059614580596	VT82C596/A/B PCI to ISA Bridge	0
+d	11060597	VT82C597 [Apollo VP3]	0
+d	11060598	VT82C598 [Apollo MVP3]	0
+d	11060601	VT8601 [Apollo ProMedia]	0
+d	11060605	VT8605 [ProSavage PM133]	0
+s	110606051043802c	CUV4X mainboard	0
+d	11060680	VT82C680 [Apollo P6]	0
+d	11060686	VT82C686 [Apollo Super South]	0
+s	1106068610190985	P6VXA Motherboard	0
+s	110606861043802c	CUV4X mainboard	0
+s	1106068610438033	A7V Mainboard	0
+s	110606861043803e	A7V-E Mainboard	0
+s	1106068610438040	A7M266 Mainboard	0
+s	1106068610438042	A7V133/A7V133-C Mainboard	0
+s	1106068611060000	VT82C686/A PCI to ISA Bridge	0
+s	1106068611060686	VT82C686/A PCI to ISA Bridge	0
+s	1106068611790001	Magnia Z310	0
+s	11060686147ba702	KG7-Lite Mainboard	0
+d	11060691	VT82C693A/694x [Apollo PRO133x]	0
+s	1106069110190985	P6VXA Motherboard	0
+s	1106069111790001	Magnia Z310	0
+s	1106069114580691	VT82C691 Apollo Pro System Controller	0
+d	11060693	VT82C693 [Apollo Pro Plus]	0
+d	11060698	VT82C693A [Apollo Pro133 AGP]	0
+d	11060926	VT82C926 [Amazon]	0
+d	11061000	VT82C570MV	0
+d	11061106	VT82C570MV	0
+d	11061106		1
+d	11061204	K8M800 Host Bridge	0
+d	11061208	PT890 Host Bridge	0
+d	11061238	K8T890 Host Bridge	0
+d	11061258	PT880 Host Bridge	0
+d	11061259	CN400/PM880 Host Bridge	0
+d	11061269	KT880 Host Bridge	0
+d	11061282	K8T800Pro Host Bridge	0
+d	11061290	K8M890 Host Bridge	0
+d	11061293	PM896 Host Bridge	0
+d	11061296	P4M800 Host Bridge	0
+d	11061308	PT894 Host Bridge	0
+d	11061314	CN700/VN800/P4M800CE/Pro Host Bridge	0
+d	11061324	CX700 Host Bridge	0
+d	11061327	P4M890 Host Bridge	0
+d	11061336	K8M890CE Host Bridge	0
+d	11061340	PT900 Host Bridge	0
+d	11061351	VT3351 Host Bridge	0
+d	11061364	P4M900 Host Bridge	0
+d	11061571	VT82C576M/VT82C586	0
+d	11061595	VT82C595/97 [Apollo VP2/97]	0
+d	11062204	K8M800 Host Bridge	0
+d	11062208	PT890 Host Bridge	0
+d	11062238	K8T890 Host Bridge	0
+d	11062258	PT880 Host Bridge	0
+d	11062259	CN400/PM880 Host Bridge	0
+d	11062269	KT880 Host Bridge	0
+d	11062282	K8T800Pro Host Bridge	0
+d	11062290	K8M890 Host Bridge	0
+d	11062293	PM896 Host Bridge	0
+d	11062296	P4M800 Host Bridge	0
+d	11062308	PT894 Host Bridge	0
+d	11062314	CN700/VN800/P4M800CE/Pro Host Bridge	0
+d	11062324	CX700 Host Bridge	0
+d	11062327	P4M890 Host Bridge	0
+d	11062336	K8M890CE Host Bridge	0
+d	11062340	PT900 Host Bridge	0
+d	11062351	VT3351 Host Bridge	0
+d	11062364	P4M900 Host Bridge	0
+d	1106287a	VT8251 PCI to PCI Bridge	0
+d	1106287b	VT8251 Host Bridge	0
+d	1106287c	VT8251 PCIE Root Port	0
+d	1106287d	VT8251 PCIE Root Port	0
+d	1106287e	VT8251 Ultra VLINK Controller	0
+d	11063022	CLE266	0
+d	11063038	VT82xxxxx UHCI USB 1.1 Controller	0
+d	11063038		1
+s	1106303809251234	USB Controller	0
+s	1106303810190985	P6VXA Motherboard	0
+s	1106303810190a81	L7VTA v1.0 Motherboard (KT400-8235)	0
+s	1106303810438080	A7V333 motherboard	0
+s	110630381043808c	VT6202 USB2.0 4 port controller	0
+s	11063038104380a1	A7V8X-X motherboard	0
+s	11063038104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0
+s	1106303811790001	Magnia Z310	0
+s	1106303814585004	GA-7VAX Mainboard	0
+s	1106303814627020	K8T NEO 2 motherboard	0
+s	11063038147b1407	KV8-MAX3 motherboard	0
+s	11063038182d201d	CN-029 USB2.0 4 port PCI Card	0
+s	1106303818493038	K7VT6	0
+d	11063040	VT82C586B ACPI	0
+d	11063043	VT86C100A [Rhine]	0
+s	1106304310bd0000	VT86C100A Fast Ethernet Adapter	0
+s	1106304311060100	VT86C100A Fast Ethernet Adapter	0
+s	1106304311861400	DFE-530TX rev A	0
+d	11063044	IEEE 1394 Host Controller	0
 s	1106304400100001	IEEE 1394 4port DCST 1394-3+1B	1	by Digitus
-s	110630441025005a	TravelMate 290	0	
-s	110630441043808a	A8V Deluxe	0	
-s	1106304414581000	GA-7VT600-1394 Motherboard	0	
-s	110630441462207d	K8NGM2 series motherboard	0	
-s	110630441462702d	K8T NEO 2 motherboard	0	
-s	110630441462971d	MS-6917	0	
-d	11063050	VT82C596 Power Management	0	
-d	11063051	VT82C596 Power Management	0	
-d	11063053	VT6105M [Rhine-III]	0	
-d	11063057	VT82C686 [Apollo Super ACPI]	0	
-s	1106305710190985	P6VXA Motherboard	0	
-s	1106305710190987	K7VZA Motherboard	0	
-s	1106305710438033	A7V Mainboard	0	
-s	110630571043803e	A7V-E Mainboard	0	
-s	1106305710438040	A7M266 Mainboard	0	
-s	1106305710438042	A7V133/A7V133-C Mainboard	0	
-s	1106305711790001	Magnia Z310	0	
-d	11063058	VT82C686 AC97 Audio Controller	0	
-s	110630580e110097	SoundMax Digital Integrated Audio	0	
-s	110630580e11b194	Soundmax integrated digital audio	0	
-s	1106305810190985	P6VXA Motherboard	0	
-s	1106305810190987	K7VZA Motherboard	0	
-s	1106305810431106	A7V133/A7V133-C Mainboard	0	
-s	1106305811064511	Onboard Audio on EP7KXA	0	
-s	1106305814587600	Onboard Audio	0	
-s	1106305814623091	MS-6309 Onboard Audio	0	
-s	1106305814623300	MS-6330 Onboard Audio	0	
-s	1106305815dd7609	Onboard Audio	0	
-d	11063059	VT8233/A/8235/8237 AC97 Audio Controller	0	
-s	1106305910190a81	L7VTA v1.0 Motherboard (KT400-8235)	0	
-s	1106305910438095	A7V8X Motherboard (Realtek ALC650 codec)	0	
-s	11063059104380a1	A7V8X-X Motherboard	0	
-s	11063059104380b0	A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])	0	
-s	110630591043812a	A8V Deluxe motherboard (Realtek ALC850 codec)	0	
-s	1106305911063059	L7VMM2 Motherboard	0	
-s	1106305911064161	K7VT2 motherboard	0	
-s	1106305911064170	PCPartner P4M800-8237R Motherboard	0	
-s	1106305911064552	Soyo KT-600 Dragon Plus (Realtek ALC 650)	0	
-s	110630591297c160	FX41 motherboard (Realtek ALC650 codec)	0	
-s	110630591413147b	KV8 Pro motherboard onboard audio	1	
-s	110630591458a002	GA-7VAX Onboard Audio (Realtek ALC650)	0	
-s	1106305914620080	K8T NEO 2 motherboard	0	
-s	1106305914623800	KT266 onboard audio	0	
-s	11063059147b1407	KV8-MAX3 motherboard	0	
-s	1106305918490850	ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)	1	
-s	1106305918499761	K7VT6 motherboard	0	
-s	1106305940054710	MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)	0	
+s	110630441025005a	TravelMate 290	0
+s	110630441043808a	A8V Deluxe	0
+s	1106304414581000	GA-7VT600-1394 Motherboard	0
+s	110630441462207d	K8NGM2 series motherboard	0
+s	110630441462702d	K8T NEO 2 motherboard	0
+s	110630441462971d	MS-6917	0
+d	11063050	VT82C596 Power Management	0
+d	11063051	VT82C596 Power Management	0
+d	11063053	VT6105M [Rhine-III]	0
+d	11063057	VT82C686 [Apollo Super ACPI]	0
+s	1106305710190985	P6VXA Motherboard	0
+s	1106305710190987	K7VZA Motherboard	0
+s	1106305710438033	A7V Mainboard	0
+s	110630571043803e	A7V-E Mainboard	0
+s	1106305710438040	A7M266 Mainboard	0
+s	1106305710438042	A7V133/A7V133-C Mainboard	0
+s	1106305711790001	Magnia Z310	0
+d	11063058	VT82C686 AC97 Audio Controller	0
+s	110630580e110097	SoundMax Digital Integrated Audio	0
+s	110630580e11b194	Soundmax integrated digital audio	0
+s	1106305810190985	P6VXA Motherboard	0
+s	1106305810190987	K7VZA Motherboard	0
+s	1106305810431106	A7V133/A7V133-C Mainboard	0
+s	1106305811064511	Onboard Audio on EP7KXA	0
+s	1106305814587600	Onboard Audio	0
+s	1106305814623091	MS-6309 Onboard Audio	0
+s	1106305814623300	MS-6330 Onboard Audio	0
+s	1106305815dd7609	Onboard Audio	0
+d	11063059	VT8233/A/8235/8237 AC97 Audio Controller	0
+s	1106305910190a81	L7VTA v1.0 Motherboard (KT400-8235)	0
+s	1106305910438095	A7V8X Motherboard (Realtek ALC650 codec)	0
+s	11063059104380a1	A7V8X-X Motherboard	0
+s	11063059104380b0	A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])	0
+s	110630591043812a	A8V Deluxe motherboard (Realtek ALC850 codec)	0
+s	1106305911063059	L7VMM2 Motherboard	0
+s	1106305911064161	K7VT2 motherboard	0
+s	1106305911064170	PCPartner P4M800-8237R Motherboard	0
+s	1106305911064552	Soyo KT-600 Dragon Plus (Realtek ALC 650)	0
+s	110630591297c160	FX41 motherboard (Realtek ALC650 codec)	0
+s	110630591413147b	KV8 Pro motherboard onboard audio	1
+s	110630591458a002	GA-7VAX Onboard Audio (Realtek ALC650)	0
+s	1106305914620080	K8T NEO 2 motherboard	0
+s	1106305914623800	KT266 onboard audio	0
+s	11063059147b1407	KV8-MAX3 motherboard	0
+s	1106305918490850	ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)	1
+s	1106305918499761	K7VT6 motherboard	0
+s	1106305940054710	MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)	0
 s	1106305940054710	evasion77	1	PROB
-s	11063059a0a001b6	AK77-8XN onboard audio	0	
-d	11063065	VT6102 [Rhine-II]	0	
-s	11063065104380a1	A7V8X-X Motherboard	0	
-s	1106306511060102	VT6102 [Rhine II] Embeded Ethernet Controller on VT8235	0	
-s	1106306511861400	DFE-530TX rev A	0	
-s	1106306511861401	DFE-530TX rev B	0	
-s	1106306513b91421	LD-10/100AL PCI Fast Ethernet Adapter (rev.B)	0	
-s	11063065147b1c09	NV7 Motherboard	0	
-s	1106306516953005	VT6103	0	
-s	110630651695300c	Realtek ALC655 sound chip	0	
-s	1106306518493065	K7VT6 motherboard	0	
+s	11063059a0a001b6	AK77-8XN onboard audio	0
+d	11063065	VT6102 [Rhine-II]	0
+s	11063065104380a1	A7V8X-X Motherboard	0
+s	1106306511060102	VT6102 [Rhine II] Embeded Ethernet Controller on VT8235	0
+s	1106306511861400	DFE-530TX rev A	0
+s	1106306511861401	DFE-530TX rev B	0
+s	1106306513b91421	LD-10/100AL PCI Fast Ethernet Adapter (rev.B)	0
+s	11063065147b1c09	NV7 Motherboard	0
+s	1106306516953005	VT6103	0
+s	110630651695300c	Realtek ALC655 sound chip	0
+s	1106306518493065	K7VT6 motherboard	0
 d	11063068	AC'97 Modem Controller	0	This hosts more than just the Intel 537 codec, it also hosts PCtel (SIL33) and SmartLink (SIL34) codecs
-s	110630681462309e	MS-6309 Saturn Motherboard	0	
-d	11063074	VT8233 PCI to ISA Bridge	0	
-s	1106307410438052	VT8233A	0	
-d	11063091	VT8633 [Apollo Pro266]	0	
-d	11063099	VT8366/A/7 [Apollo KT266/A/333]	0	
-s	1106309910438064	A7V266-E Mainboard	0	
-s	110630991043807f	A7V333 Mainboard	0	
-s	1106309918493099	K7VT2 motherboard	0	
-d	11063101	VT8653 Host Bridge	0	
-d	11063102	VT8662 Host Bridge	0	
-d	11063103	VT8615 Host Bridge	0	
-d	11063104	USB 2.0	0	
-s	1106310410190a81	L7VTA v1.0 Motherboard (KT400-8235)	0	
-s	110631041043808c	A7V8X motherboard	0	
-s	11063104104380a1	A7V8X-X motherboard rev 1.01	0	
-s	11063104104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0	
-s	110631041297f641	FX41 motherboard	0	
-s	1106310414585004	GA-7VAX Mainboard	0	
-s	1106310414627020	K8T NEO 2 motherboard	0	
-s	11063104147b1407	KV8-MAX3 motherboard	0	
-s	11063104182d201d	CN-029 USB 2.0 4 port PCI Card	0	
-s	1106310418493104	K7VT6 motherboard	0	
-d	11063106	VT6105 [Rhine-III]	0	
-s	1106310611861403	DFE-530TX rev C	0	
-d	11063108	S3 Unichrome Pro VGA Adapter	0	
-d	11063109	VT8233C PCI to ISA Bridge	0	
-d	11063112	VT8361 [KLE133] Host Bridge	0	
-d	11063113	VPX/VPX2 PCI to PCI Bridge Controller	0	
-d	11063116	VT8375 [KM266/KL266] Host Bridge	0	
-s	110631161297f641	FX41 motherboard	0	
-d	11063118	S3 Unichrome Pro VGA Adapter	0	
-d	11063119	VT6120/VT6121/VT6122 Gigabit Ethernet Adapter	0	
-d	11063122	VT8623 [Apollo CLE266] integrated CastleRock graphics	0	
-d	11063123	VT8623 [Apollo CLE266]	0	
-d	11063128	VT8753 [P4X266 AGP]	0	
-d	11063133	VT3133 Host Bridge	0	
-d	11063147	VT8233A ISA Bridge	0	
-s	110631471043808c	A7V333 motherboard	0	
-d	11063148	P4M266 Host Bridge	0	
-d	11063149	VIA VT6420 SATA RAID Controller	0	
-s	11063149104380ed	A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard	0	
-s	110631491458b003	GA-7VM400AM(F) Motherboard	0	
-s	1106314914627020	K8T Neo 2 Motherboard	0	
-s	11063149147b1407	KV8-MAX3 motherboard	0	
-s	11063149147b1408	KV7	0	
-s	1106314918493149	K7VT6 motherboard	0	
-d	11063156	P/KN266 Host Bridge	0	
-d	11063164	VT6410 ATA133 RAID controller	0	
-s	11063164104380f4	P4P800 Mainboard Deluxe ATX	0	
-s	1106316414627028	915P/G Neo2	0	
-d	11063168	VT8374 P4X400 Host Controller/AGP Bridge	0	
-d	11063177	VT8235 ISA Bridge	0	
-s	1106317710190a81	L7VTA v1.0 Motherboard (KT400-8235)	0	
-s	110631771043808c	A7V8X motherboard	0	
-s	11063177104380a1	A7V8X-X motherboard	0	
-s	110631771297f641	FX41 motherboard	0	
-s	1106317714585001	GA-7VAX Mainboard	0	
-s	1106317718493177	K7VT2 motherboard	0	
-d	11063178	ProSavageDDR P4N333 Host Bridge	0	
-d	11063188	VT8385 [K8T800 AGP] Host Bridge	0	
-s	11063188104380a3	K8V Deluxe/K8V-X motherboard	0	
-s	11063188147b1407	KV8-MAX3 motherboard	0	
-d	11063189	VT8377 [KT400/KT600 AGP] Host Bridge	0	
-s	110631891043807f	A7V8X motherboard	0	
-s	1106318914585000	GA-7VAX Mainboard	0	
-s	1106318918493189	K7VT6 motherboard	0	
-d	11063204	K8M800 Host Bridge	0	
-d	11063205	VT8378 [KM400/A] Chipset Host Bridge	0	
-s	1106320514585000	GA-7VM400M Motherboard	0	
-d	11063208	PT890 Host Bridge	0	
-d	11063213	VPX/VPX2 PCI to PCI Bridge Controller	0	
-d	11063218	K8T800M Host Bridge	0	
-d	11063227	VT8237 ISA bridge [KT600/K8T800/K8T890 South]	0	
-s	11063227104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0	
-s	1106322711063227	DFI KT600-AL Motherboard	0	
-s	1106322714585001	GA-7VT600 Motherboard	0	
-s	11063227147b1407	KV8-MAX3 motherboard	0	
-s	1106322718493227	K7VT4 motherboard	0	
-d	11063238	K8T890 Host Bridge	0	
-d	11063249	VT6421 IDE RAID Controller	0	
-d	1106324a	CX700 PCI to PCI Bridge	0	
-d	1106324b	CX700 Host Bridge	0	
-d	1106324e	CX700 Internal Module Bus	0	
-d	11063258	PT880 Host Bridge	0	
-d	11063259	CN400/PM880 Host Bridge	0	
-d	11063269	KT880 Host Bridge	0	
-d	11063282	K8T800Pro Host Bridge	0	
-d	11063287	VT8251 PCI to ISA Bridge	0	
-d	11063288	VIA High Definition Audio Controller	0	
-d	11063290	K8M890 Host Bridge	0	
-d	11063296	P4M800 Host Bridge	0	
-d	11063324	CX700 Host Bridge	0	
-d	11063327	P4M890 Host Bridge	0	
-d	11063336	K8M890CE Host Bridge	0	
-d	11063337	VT8237A PCI to ISA Bridge	0	
-d	11063340	PT900 Host Bridge	0	
-d	11063344	UniChrome Pro IGP	0	
-d	11063349	VT8251 AHCI/SATA 4-Port Controller	0	
-d	11063351	VT3351 Host Bridge	0	
-d	11063364	P4M900 Host Bridge	0	
-d	1106337a	VT8237A PCI to PCI Bridge	0	
-d	1106337b	VT8237A Host Bridge	0	
-d	11064149	VIA VT6420 (ATA133) Controller	0	
-d	11064204	K8M800 Host Bridge	0	
-d	11064208	PT890 Host Bridge	0	
-d	11064238	K8T890 Host Bridge	0	
-d	11064258	PT880 Host Bridge	0	
-d	11064259	CN400/PM880 Host Bridge	0	
-d	11064269	KT880 Host Bridge	0	
-d	11064282	K8T800Pro Host Bridge	0	
-d	11064290	K8M890 Host Bridge	0	
-d	11064293	PM896 Host Bridge	0	
-d	11064296	P4M800 Host Bridge	0	
-d	11064308	PT894 Host Bridge	0	
-d	11064314	CN700/VN800/P4M800CE/Pro Host Bridge	0	
-d	11064324	CX700 Host Bridge	0	
-d	11064327	P4M890 Host Bridge	0	
-d	11064336	K8M890CE Host Bridge	0	
-d	11064340	PT900 Host Bridge	0	
-d	11064351	VT3351 Host Bridge	0	
-d	11064364	P4M900 Host Bridge	0	
-d	11065030	VT82C596 ACPI [Apollo PRO]	0	
-d	11065208	PT890 I/O APIC Interrupt Controller	0	
-d	11065238	K8T890 I/O APIC Interrupt Controller	0	
-d	11065290	K8M890 I/O APIC Interrupt Controller	0	
-d	11065308	PT894 I/O APIC Interrupt Controller	0	
-d	11065327	P4M890 I/O APIC Interrupt Controller	0	
-d	11065336	K8M890CE I/O APIC Interrupt Controller	0	
-d	11065340	PT900 I/O APIC Interrupt Controller	0	
-d	11065351	VT3351 I/O APIC Interrupt Controller	0	
-d	11065364	P4M900 I/O APIC Interrupt Controller	0	
-d	11066100	VT85C100A [Rhine II]	0	
-d	11066327	P4M890 Security Device	0	
-d	11067204	K8M800 Host Bridge	0	
-d	11067205	VT8378 [S3 UniChrome] Integrated Video	0	
-s	110672051458d000	Gigabyte GA-7VM400(A)M(F) Motherboard	0	
-d	11067208	PT890 Host Bridge	0	
-d	11067238	K8T890 Host Bridge	0	
-d	11067258	PT880 Host Bridge	0	
-d	11067259	CN400/PM880 Host Bridge	0	
-d	11067269	KT880 Host Bridge	0	
-d	11067282	K8T800Pro Host Bridge	0	
-d	11067290	K8M890 Host Bridge	0	
-d	11067293	PM896 Host Bridge	0	
-d	11067296	P4M800 Host Bridge	0	
-d	11067308	PT894 Host Bridge	0	
-d	11067314	CN700/VN800/P4M800CE/Pro Host Bridge	0	
-d	11067324	CX700 Host Bridge	0	
-d	11067327	P4M890 Host Bridge	0	
-d	11067336	K8M890CE Host Bridge	0	
-d	11067340	PT900 Host Bridge	0	
-d	11067351	VT3351 Host Bridge	0	
-d	11067364	P4M900 Host Bridge	0	
-d	11068231	VT8231 [PCI-to-ISA Bridge]	0	
-d	11068235	VT8235 ACPI	0	
-d	11068305	VT8363/8365 [KT133/KM133 AGP]	0	
-d	11068324	CX700 PCI to ISA Bridge	0	
-d	11068391	VT8371 [KX133 AGP]	0	
-d	11068501	VT8501 [Apollo MVP4 AGP]	0	
-d	11068596	VT82C596 [Apollo PRO AGP]	0	
-d	11068597	VT82C597 [Apollo VP3 AGP]	0	
-d	11068598	VT82C598/694x [Apollo MVP3/Pro133x AGP]	0	
-s	1106859810190985	P6VXA Motherboard	0	
-d	11068601	VT8601 [Apollo ProMedia AGP]	0	
-d	11068605	VT8605 [PM133 AGP]	0	
-d	11068691	VT82C691 [Apollo Pro]	0	
-d	11068693	VT82C693 [Apollo Pro Plus] PCI Bridge	0	
-d	1106a208	PT890 PCI to PCI Bridge Controller	0	
-d	1106a238	K8T890 PCI to PCI Bridge Controller	0	
-d	1106a327	P4M890 PCI to PCI Bridge Controller	0	
-d	1106a364	P4M900 PCI to PCI Bridge Controller	0	
-d	1106b091	VT8633 [Apollo Pro266 AGP]	0	
-d	1106b099	VT8366/A/7 [Apollo KT266/A/333 AGP]	0	
-d	1106b101	VT8653 AGP Bridge	0	
-d	1106b102	VT8362 AGP Bridge	0	
-d	1106b103	VT8615 AGP Bridge	0	
-d	1106b112	VT8361 [KLE133] AGP Bridge	0	
-d	1106b113	VPX/VPX2 I/O APIC Interrupt Controller	0	
-d	1106b115	VT8363/8365 [KT133/KM133] PCI Bridge	0	
-d	1106b168	VT8235 PCI Bridge	0	
-d	1106b188	VT8237 PCI bridge [K8T800/K8T890 South]	0	
-s	1106b188147b1407	KV8-MAX3 motherboard	0	
-d	1106b198	VT8237 PCI Bridge	0	
-d	1106b213	VPX/VPX2 I/O APIC Interrupt Controller	0	
-d	1106b999	[K8T890 North / VT8237 South] PCI Bridge	0	
-d	1106c208	PT890 PCI to PCI Bridge Controller	0	
-d	1106c238	K8T890 PCI to PCI Bridge Controller	0	
-d	1106c327	P4M890 PCI to PCI Bridge Controller	0	
-d	1106c340	PT900 PCI to PCI Bridge Controller	0	
-d	1106c364	P4M900 PCI to PCI Bridge Controller	0	
-d	1106d104	VT8237 Integrated Fast Ethernet Controller	0	
-d	1106d208	PT890 PCI to PCI Bridge Controller	0	
-d	1106d213	VPX/VPX2 PCI to PCI Bridge Controller	0	
-d	1106d238	K8T890 PCI to PCI Bridge Controller	0	
-d	1106d340	PT900 PCI to PCI Bridge Controller	0	
-d	1106e208	PT890 PCI to PCI Bridge Controller	0	
-d	1106e238	K8T890 PCI to PCI Bridge Controller	0	
-d	1106e340	PT900 PCI to PCI Bridge Controller	0	
-d	1106f208	PT890 PCI to PCI Bridge Controller	0	
-d	1106f238	K8T890 PCI to PCI Bridge Controller	0	
-d	1106f340	PT900 PCI to PCI Bridge Controller	0	
-v	1107	Stratus Computers	0	
-d	11070576	VIA VT82C570MV [Apollo] (Wrong vendor ID!)	0	
-v	1108	Proteon, Inc.	0	
-d	11080100	p1690plus_AA	0	
-d	11080101	p1690plus_AB	0	
-d	11080105	P1690Plus	0	
-d	11080108	P1690Plus	0	
-d	11080138	P1690Plus	0	
-d	11080139	P1690Plus	0	
-d	1108013c	P1690Plus	0	
-d	1108013d	P1690Plus	0	
-v	1109	Cogent Data Technologies, Inc.	0	
-d	11091400	EM110TX [EX110TX]	0	
-v	110a	Siemens Nixdorf AG	0	
-d	110a0002	Pirahna 2-port	0	
-d	110a0005	Tulip controller, power management, switch extender	0	
-d	110a0006	FSC PINC (I/O-APIC)	0	
-d	110a0015	FSC Multiprocessor Interrupt Controller	0	
-d	110a001d	FSC Copernicus Management Controller	0	
-d	110a007b	FSC Remote Service Controller, mailbox device	0	
-d	110a007c	FSC Remote Service Controller, shared memory device	0	
-d	110a007d	FSC Remote Service Controller, SMIC device	0	
-d	110a2101	HST SAPHIR V Primary PCI (ISDN/PMx)	0	
+s	110630681462309e	MS-6309 Saturn Motherboard	0
+d	11063074	VT8233 PCI to ISA Bridge	0
+s	1106307410438052	VT8233A	0
+d	11063091	VT8633 [Apollo Pro266]	0
+d	11063099	VT8366/A/7 [Apollo KT266/A/333]	0
+s	1106309910438064	A7V266-E Mainboard	0
+s	110630991043807f	A7V333 Mainboard	0
+s	1106309918493099	K7VT2 motherboard	0
+d	11063101	VT8653 Host Bridge	0
+d	11063102	VT8662 Host Bridge	0
+d	11063103	VT8615 Host Bridge	0
+d	11063104	USB 2.0	0
+s	1106310410190a81	L7VTA v1.0 Motherboard (KT400-8235)	0
+s	110631041043808c	A7V8X motherboard	0
+s	11063104104380a1	A7V8X-X motherboard rev 1.01	0
+s	11063104104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0
+s	110631041297f641	FX41 motherboard	0
+s	1106310414585004	GA-7VAX Mainboard	0
+s	1106310414627020	K8T NEO 2 motherboard	0
+s	11063104147b1407	KV8-MAX3 motherboard	0
+s	11063104182d201d	CN-029 USB 2.0 4 port PCI Card	0
+s	1106310418493104	K7VT6 motherboard	0
+d	11063106	VT6105 [Rhine-III]	0
+s	1106310611861403	DFE-530TX rev C	0
+d	11063108	S3 Unichrome Pro VGA Adapter	0
+d	11063109	VT8233C PCI to ISA Bridge	0
+d	11063112	VT8361 [KLE133] Host Bridge	0
+d	11063113	VPX/VPX2 PCI to PCI Bridge Controller	0
+d	11063116	VT8375 [KM266/KL266] Host Bridge	0
+s	110631161297f641	FX41 motherboard	0
+d	11063118	S3 Unichrome Pro VGA Adapter	0
+d	11063119	VT6120/VT6121/VT6122 Gigabit Ethernet Adapter	0
+d	11063122	VT8623 [Apollo CLE266] integrated CastleRock graphics	0
+d	11063123	VT8623 [Apollo CLE266]	0
+d	11063128	VT8753 [P4X266 AGP]	0
+d	11063133	VT3133 Host Bridge	0
+d	11063147	VT8233A ISA Bridge	0
+s	110631471043808c	A7V333 motherboard	0
+d	11063148	P4M266 Host Bridge	0
+d	11063149	VIA VT6420 SATA RAID Controller	0
+s	11063149104380ed	A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard	0
+s	110631491458b003	GA-7VM400AM(F) Motherboard	0
+s	1106314914627020	K8T Neo 2 Motherboard	0
+s	11063149147b1407	KV8-MAX3 motherboard	0
+s	11063149147b1408	KV7	0
+s	1106314918493149	K7VT6 motherboard	0
+d	11063156	P/KN266 Host Bridge	0
+d	11063164	VT6410 ATA133 RAID controller	0
+s	11063164104380f4	P4P800 Mainboard Deluxe ATX	0
+s	1106316414627028	915P/G Neo2	0
+d	11063168	VT8374 P4X400 Host Controller/AGP Bridge	0
+d	11063177	VT8235 ISA Bridge	0
+s	1106317710190a81	L7VTA v1.0 Motherboard (KT400-8235)	0
+s	110631771043808c	A7V8X motherboard	0
+s	11063177104380a1	A7V8X-X motherboard	0
+s	110631771297f641	FX41 motherboard	0
+s	1106317714585001	GA-7VAX Mainboard	0
+s	1106317718493177	K7VT2 motherboard	0
+d	11063178	ProSavageDDR P4N333 Host Bridge	0
+d	11063188	VT8385 [K8T800 AGP] Host Bridge	0
+s	11063188104380a3	K8V Deluxe/K8V-X motherboard	0
+s	11063188147b1407	KV8-MAX3 motherboard	0
+d	11063189	VT8377 [KT400/KT600 AGP] Host Bridge	0
+s	110631891043807f	A7V8X motherboard	0
+s	1106318914585000	GA-7VAX Mainboard	0
+s	1106318918493189	K7VT6 motherboard	0
+d	11063204	K8M800 Host Bridge	0
+d	11063205	VT8378 [KM400/A] Chipset Host Bridge	0
+s	1106320514585000	GA-7VM400M Motherboard	0
+d	11063208	PT890 Host Bridge	0
+d	11063213	VPX/VPX2 PCI to PCI Bridge Controller	0
+d	11063218	K8T800M Host Bridge	0
+d	11063227	VT8237 ISA bridge [KT600/K8T800/K8T890 South]	0
+s	11063227104380ed	A7V600/K8V-X/A8V Deluxe motherboard	0
+s	1106322711063227	DFI KT600-AL Motherboard	0
+s	1106322714585001	GA-7VT600 Motherboard	0
+s	11063227147b1407	KV8-MAX3 motherboard	0
+s	1106322718493227	K7VT4 motherboard	0
+d	11063238	K8T890 Host Bridge	0
+d	11063249	VT6421 IDE RAID Controller	0
+d	1106324a	CX700 PCI to PCI Bridge	0
+d	1106324b	CX700 Host Bridge	0
+d	1106324e	CX700 Internal Module Bus	0
+d	11063258	PT880 Host Bridge	0
+d	11063259	CN400/PM880 Host Bridge	0
+d	11063269	KT880 Host Bridge	0
+d	11063282	K8T800Pro Host Bridge	0
+d	11063287	VT8251 PCI to ISA Bridge	0
+d	11063288	VIA High Definition Audio Controller	0
+d	11063290	K8M890 Host Bridge	0
+d	11063296	P4M800 Host Bridge	0
+d	11063324	CX700 Host Bridge	0
+d	11063327	P4M890 Host Bridge	0
+d	11063336	K8M890CE Host Bridge	0
+d	11063337	VT8237A PCI to ISA Bridge	0
+d	11063340	PT900 Host Bridge	0
+d	11063344	UniChrome Pro IGP	0
+d	11063349	VT8251 AHCI/SATA 4-Port Controller	0
+d	11063351	VT3351 Host Bridge	0
+d	11063364	P4M900 Host Bridge	0
+d	1106337a	VT8237A PCI to PCI Bridge	0
+d	1106337b	VT8237A Host Bridge	0
+d	11064149	VIA VT6420 (ATA133) Controller	0
+d	11064204	K8M800 Host Bridge	0
+d	11064208	PT890 Host Bridge	0
+d	11064238	K8T890 Host Bridge	0
+d	11064258	PT880 Host Bridge	0
+d	11064259	CN400/PM880 Host Bridge	0
+d	11064269	KT880 Host Bridge	0
+d	11064282	K8T800Pro Host Bridge	0
+d	11064290	K8M890 Host Bridge	0
+d	11064293	PM896 Host Bridge	0
+d	11064296	P4M800 Host Bridge	0
+d	11064308	PT894 Host Bridge	0
+d	11064314	CN700/VN800/P4M800CE/Pro Host Bridge	0
+d	11064324	CX700 Host Bridge	0
+d	11064327	P4M890 Host Bridge	0
+d	11064336	K8M890CE Host Bridge	0
+d	11064340	PT900 Host Bridge	0
+d	11064351	VT3351 Host Bridge	0
+d	11064364	P4M900 Host Bridge	0
+d	11065030	VT82C596 ACPI [Apollo PRO]	0
+d	11065208	PT890 I/O APIC Interrupt Controller	0
+d	11065238	K8T890 I/O APIC Interrupt Controller	0
+d	11065290	K8M890 I/O APIC Interrupt Controller	0
+d	11065308	PT894 I/O APIC Interrupt Controller	0
+d	11065327	P4M890 I/O APIC Interrupt Controller	0
+d	11065336	K8M890CE I/O APIC Interrupt Controller	0
+d	11065340	PT900 I/O APIC Interrupt Controller	0
+d	11065351	VT3351 I/O APIC Interrupt Controller	0
+d	11065364	P4M900 I/O APIC Interrupt Controller	0
+d	11066100	VT85C100A [Rhine II]	0
+d	11066327	P4M890 Security Device	0
+d	11067204	K8M800 Host Bridge	0
+d	11067205	VT8378 [S3 UniChrome] Integrated Video	0
+s	110672051458d000	Gigabyte GA-7VM400(A)M(F) Motherboard	0
+d	11067208	PT890 Host Bridge	0
+d	11067238	K8T890 Host Bridge	0
+d	11067258	PT880 Host Bridge	0
+d	11067259	CN400/PM880 Host Bridge	0
+d	11067269	KT880 Host Bridge	0
+d	11067282	K8T800Pro Host Bridge	0
+d	11067290	K8M890 Host Bridge	0
+d	11067293	PM896 Host Bridge	0
+d	11067296	P4M800 Host Bridge	0
+d	11067308	PT894 Host Bridge	0
+d	11067314	CN700/VN800/P4M800CE/Pro Host Bridge	0
+d	11067324	CX700 Host Bridge	0
+d	11067327	P4M890 Host Bridge	0
+d	11067336	K8M890CE Host Bridge	0
+d	11067340	PT900 Host Bridge	0
+d	11067351	VT3351 Host Bridge	0
+d	11067364	P4M900 Host Bridge	0
+d	11068231	VT8231 [PCI-to-ISA Bridge]	0
+d	11068235	VT8235 ACPI	0
+d	11068305	VT8363/8365 [KT133/KM133 AGP]	0
+d	11068324	CX700 PCI to ISA Bridge	0
+d	11068391	VT8371 [KX133 AGP]	0
+d	11068501	VT8501 [Apollo MVP4 AGP]	0
+d	11068596	VT82C596 [Apollo PRO AGP]	0
+d	11068597	VT82C597 [Apollo VP3 AGP]	0
+d	11068598	VT82C598/694x [Apollo MVP3/Pro133x AGP]	0
+s	1106859810190985	P6VXA Motherboard	0
+d	11068601	VT8601 [Apollo ProMedia AGP]	0
+d	11068605	VT8605 [PM133 AGP]	0
+d	11068691	VT82C691 [Apollo Pro]	0
+d	11068693	VT82C693 [Apollo Pro Plus] PCI Bridge	0
+d	1106a208	PT890 PCI to PCI Bridge Controller	0
+d	1106a238	K8T890 PCI to PCI Bridge Controller	0
+d	1106a327	P4M890 PCI to PCI Bridge Controller	0
+d	1106a364	P4M900 PCI to PCI Bridge Controller	0
+d	1106b091	VT8633 [Apollo Pro266 AGP]	0
+d	1106b099	VT8366/A/7 [Apollo KT266/A/333 AGP]	0
+d	1106b101	VT8653 AGP Bridge	0
+d	1106b102	VT8362 AGP Bridge	0
+d	1106b103	VT8615 AGP Bridge	0
+d	1106b112	VT8361 [KLE133] AGP Bridge	0
+d	1106b113	VPX/VPX2 I/O APIC Interrupt Controller	0
+d	1106b115	VT8363/8365 [KT133/KM133] PCI Bridge	0
+d	1106b168	VT8235 PCI Bridge	0
+d	1106b188	VT8237 PCI bridge [K8T800/K8T890 South]	0
+s	1106b188147b1407	KV8-MAX3 motherboard	0
+d	1106b198	VT8237 PCI Bridge	0
+d	1106b213	VPX/VPX2 I/O APIC Interrupt Controller	0
+d	1106b999	[K8T890 North / VT8237 South] PCI Bridge	0
+d	1106c208	PT890 PCI to PCI Bridge Controller	0
+d	1106c238	K8T890 PCI to PCI Bridge Controller	0
+d	1106c327	P4M890 PCI to PCI Bridge Controller	0
+d	1106c340	PT900 PCI to PCI Bridge Controller	0
+d	1106c364	P4M900 PCI to PCI Bridge Controller	0
+d	1106d104	VT8237 Integrated Fast Ethernet Controller	0
+d	1106d208	PT890 PCI to PCI Bridge Controller	0
+d	1106d213	VPX/VPX2 PCI to PCI Bridge Controller	0
+d	1106d238	K8T890 PCI to PCI Bridge Controller	0
+d	1106d340	PT900 PCI to PCI Bridge Controller	0
+d	1106e208	PT890 PCI to PCI Bridge Controller	0
+d	1106e238	K8T890 PCI to PCI Bridge Controller	0
+d	1106e340	PT900 PCI to PCI Bridge Controller	0
+d	1106f208	PT890 PCI to PCI Bridge Controller	0
+d	1106f238	K8T890 PCI to PCI Bridge Controller	0
+d	1106f340	PT900 PCI to PCI Bridge Controller	0
+v	1107	Stratus Computers	0
+d	11070576	VIA VT82C570MV [Apollo] (Wrong vendor ID!)	0
+v	1108	Proteon, Inc.	0
+d	11080100	p1690plus_AA	0
+d	11080101	p1690plus_AB	0
+d	11080105	P1690Plus	0
+d	11080108	P1690Plus	0
+d	11080138	P1690Plus	0
+d	11080139	P1690Plus	0
+d	1108013c	P1690Plus	0
+d	1108013d	P1690Plus	0
+v	1109	Cogent Data Technologies, Inc.	0
+d	11091400	EM110TX [EX110TX]	0
+v	110a	Siemens Nixdorf AG	0
+d	110a0002	Pirahna 2-port	0
+d	110a0005	Tulip controller, power management, switch extender	0
+d	110a0006	FSC PINC (I/O-APIC)	0
+d	110a0015	FSC Multiprocessor Interrupt Controller	0
+d	110a001d	FSC Copernicus Management Controller	0
+d	110a007b	FSC Remote Service Controller, mailbox device	0
+d	110a007c	FSC Remote Service Controller, shared memory device	0
+d	110a007d	FSC Remote Service Controller, SMIC device	0
+d	110a2101	HST SAPHIR V Primary PCI (ISDN/PMx)	0
 d	110a2102	DSCC4 PEB/PEF 20534 DMA Supported Serial Communication Controller with 4 Channels	0	Superfastcom-PCI (Commtech, Inc.) or DSCC4 WAN Adapter
-d	110a2104	Eicon Diva 2.02 compatible passive ISDN card	0	
-d	110a3142	SIMATIC NET CP 5613A1 (Profibus Adapter)	0	
-d	110a4021	SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter)	0	
-d	110a4029	SIMATIC NET CP 5613A2 (Profibus Adapter)	0	
-d	110a4942	FPGA I-Bus Tracer for MBD	0	
-d	110a6120	SZB6120	0	
-v	110b	Chromatic Research Inc.	0	
-d	110b0001	Mpact Media Processor	0	
-d	110b0004	Mpact 2	0	
-v	110c	Mini-Max Technology, Inc.	0	
-v	110d	Znyx Advanced Systems	0	
-v	110e	CPU Technology	0	
-v	110f	Ross Technology	0	
-v	1110	Powerhouse Systems	0	
-d	11106037	Firepower Powerized SMP I/O ASIC	0	
-d	11106073	Firepower Powerized SMP I/O ASIC	0	
-v	1111	Santa Cruz Operation	0	
+d	110a2104	Eicon Diva 2.02 compatible passive ISDN card	0
+d	110a3142	SIMATIC NET CP 5613A1 (Profibus Adapter)	0
+d	110a4021	SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter)	0
+d	110a4029	SIMATIC NET CP 5613A2 (Profibus Adapter)	0
+d	110a4942	FPGA I-Bus Tracer for MBD	0
+d	110a6120	SZB6120	0
+v	110b	Chromatic Research Inc.	0
+d	110b0001	Mpact Media Processor	0
+d	110b0004	Mpact 2	0
+v	110c	Mini-Max Technology, Inc.	0
+v	110d	Znyx Advanced Systems	0
+v	110e	CPU Technology	0
+v	110f	Ross Technology	0
+v	1110	Powerhouse Systems	0
+d	11106037	Firepower Powerized SMP I/O ASIC	0
+d	11106073	Firepower Powerized SMP I/O ASIC	0
+v	1111	Santa Cruz Operation	0
 v	1112	Osicom Technologies Inc	0	Also claimed to be RNS or Rockwell International, current PCISIG records list Osicom
-d	11122200	FDDI Adapter	0	
-d	11122300	Fast Ethernet Adapter	0	
-d	11122340	4 Port Fast Ethernet Adapter	0	
-d	11122400	ATM Adapter	0	
-v	1113	Accton Technology Corporation	0	
-d	11131211	SMC2-1211TX	0	
-s	11131211103c1207	EN-1207D Fast Ethernet Adapter	0	
-s	1113121111131211	EN-1207D Fast Ethernet Adapter	0	
-d	11131216	EN-1216 Ethernet Adapter	0	
-s	1113121611132242	EN2242 10/100 Ethernet Mini-PCI Card	0	
-s	11131216111a1020	SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]	0	
-d	11131217	EN-1217 Ethernet Adapter	0	
-d	11135105	10Mbps Network card	0	
-d	11139211	EN-1207D Fast Ethernet Adapter	0	
-s	1113921111139211	EN-1207D Fast Ethernet Adapter	0	
-d	11139511	21x4x DEC-Tulip compatible Fast Ethernet	0	
-d	1113d301	CPWNA100 (Philips wireless PCMCIA)	0	
-d	1113ec02	SMC 1244TX v3	0	
-v	1114	Atmel Corporation	0	
-d	11140506	at76c506 802.11b Wireless Network Adaptor	0	
-v	1115	3D Labs	0	
-v	1116	Data Translation	0	
-d	11160022	DT3001	0	
-d	11160023	DT3002	0	
-d	11160024	DT3003	0	
-d	11160025	DT3004	0	
-d	11160026	DT3005	0	
-d	11160027	DT3001-PGL	0	
-d	11160028	DT3003-PGL	0	
-v	1117	Datacube, Inc	0	
-d	11179500	Max-1C SVGA card	0	
-d	11179501	Max-1C image processing	0	
-v	1118	Berg Electronics	0	
-v	1119	ICP Vortex Computersysteme GmbH	0	
-d	11190000	GDT 6000/6020/6050	0	
-d	11190001	GDT 6000B/6010	0	
-d	11190002	GDT 6110/6510	0	
-d	11190003	GDT 6120/6520	0	
-d	11190004	GDT 6530	0	
-d	11190005	GDT 6550	0	
-d	11190006	GDT 6117/6517	0	
-d	11190007	GDT 6127/6527	0	
-d	11190008	GDT 6537	0	
-d	11190009	GDT 6557/6557-ECC	0	
-d	1119000a	GDT 6115/6515	0	
-d	1119000b	GDT 6125/6525	0	
-d	1119000c	GDT 6535	0	
-d	1119000d	GDT 6555	0	
-d	11190010	GDT 6115/6515	0	
-d	11190011	GDT 6125/6525	0	
-d	11190012	GDT 6535	0	
-d	11190013	GDT 6555/6555-ECC	0	
-d	11190100	GDT 6117RP/6517RP	0	
-d	11190101	GDT 6127RP/6527RP	0	
-d	11190102	GDT 6537RP	0	
-d	11190103	GDT 6557RP	0	
-d	11190104	GDT 6111RP/6511RP	0	
-d	11190105	GDT 6121RP/6521RP	0	
-d	11190110	GDT 6117RD/6517RD	0	
-d	11190111	GDT 6127RD/6527RD	0	
-d	11190112	GDT 6537RD	0	
-d	11190113	GDT 6557RD	0	
-d	11190114	GDT 6111RD/6511RD	0	
-d	11190115	GDT 6121RD/6521RD	0	
-d	11190118	GDT 6118RD/6518RD/6618RD	0	
-d	11190119	GDT 6128RD/6528RD/6628RD	0	
-d	1119011a	GDT 6538RD/6638RD	0	
-d	1119011b	GDT 6558RD/6658RD	0	
-d	11190120	GDT 6117RP2/6517RP2	0	
-d	11190121	GDT 6127RP2/6527RP2	0	
-d	11190122	GDT 6537RP2	0	
-d	11190123	GDT 6557RP2	0	
-d	11190124	GDT 6111RP2/6511RP2	0	
-d	11190125	GDT 6121RP2/6521RP2	0	
-d	11190136	GDT 6113RS/6513RS	0	
-d	11190137	GDT 6123RS/6523RS	0	
-d	11190138	GDT 6118RS/6518RS/6618RS	0	
-d	11190139	GDT 6128RS/6528RS/6628RS	0	
-d	1119013a	GDT 6538RS/6638RS	0	
-d	1119013b	GDT 6558RS/6658RS	0	
-d	1119013c	GDT 6533RS/6633RS	0	
-d	1119013d	GDT 6543RS/6643RS	0	
-d	1119013e	GDT 6553RS/6653RS	0	
-d	1119013f	GDT 6563RS/6663RS	0	
-d	11190166	GDT 7113RN/7513RN/7613RN	0	
-d	11190167	GDT 7123RN/7523RN/7623RN	0	
-d	11190168	GDT 7118RN/7518RN/7518RN	0	
-d	11190169	GDT 7128RN/7528RN/7628RN	0	
-d	1119016a	GDT 7538RN/7638RN	0	
-d	1119016b	GDT 7558RN/7658RN	0	
-d	1119016c	GDT 7533RN/7633RN	0	
-d	1119016d	GDT 7543RN/7643RN	0	
-d	1119016e	GDT 7553RN/7653RN	0	
-d	1119016f	GDT 7563RN/7663RN	0	
-d	111901d6	GDT 4x13RZ	0	
-d	111901d7	GDT 4x23RZ	0	
-d	111901f6	GDT 8x13RZ	0	
-d	111901f7	GDT 8x23RZ	0	
-d	111901fc	GDT 8x33RZ	0	
-d	111901fd	GDT 8x43RZ	0	
-d	111901fe	GDT 8x53RZ	0	
-d	111901ff	GDT 8x63RZ	0	
-d	11190210	GDT 6519RD/6619RD	0	
-d	11190211	GDT 6529RD/6629RD	0	
-d	11190260	GDT 7519RN/7619RN	0	
-d	11190261	GDT 7529RN/7629RN	0	
-d	111902ff	GDT MAXRP	0	
-d	11190300	GDT NEWRX	0	
-v	111a	Efficient Networks, Inc	0	
-d	111a0000	155P-MF1 (FPGA)	0	
-d	111a0002	155P-MF1 (ASIC)	0	
-d	111a0003	ENI-25P ATM	0	
-s	111a0003111a0000	ENI-25p Miniport ATM Adapter	0	
-d	111a0005	SpeedStream (LANAI)	0	
-s	111a0005111a0001	ENI-3010 ATM	0	
-s	111a0005111a0009	ENI-3060 ADSL (VPI=0)	0	
-s	111a0005111a0101	ENI-3010 ATM	0	
-s	111a0005111a0109	ENI-3060CO ADSL (VPI=0)	0	
-s	111a0005111a0809	ENI-3060 ADSL (VPI=0 or 8)	0	
-s	111a0005111a0909	ENI-3060CO ADSL (VPI=0 or 8)	0	
-s	111a0005111a0a09	ENI-3060 ADSL (VPI=<0..15>)	0	
-d	111a0007	SpeedStream ADSL	0	
-s	111a0007111a1001	ENI-3061 ADSL [ASIC]	0	
-d	111a1203	SpeedStream 1023 Wireless PCI Adapter	0	
-v	111b	Teledyne Electronic Systems	0	
-v	111c	Tricord Systems Inc.	0	
-d	111c0001	Powerbis Bridge	0	
-v	111d	Integrated Device Technology, Inc.	0	
-d	111d0001	IDT77201/77211 155Mbps ATM SAR Controller [NICStAR]	0	
-d	111d0003	IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller	0	
-d	111d0004	IDT77V252 155Mbps ATM MICRO ABR SAR Controller	0	
-d	111d0005	IDT77V222 155Mbps ATM MICRO ABR SAR Controller	0	
-v	111e	Eldec	0	
-v	111f	Precision Digital Images	0	
-d	111f4a47	Precision MX Video engine interface	0	
-d	111f5243	Frame capture bus interface	0	
-v	1120	EMC Corporation	0	
-v	1121	Zilog	0	
-v	1122	Multi-tech Systems, Inc.	0	
-v	1123	Excellent Design, Inc.	0	
-v	1124	Leutron Vision AG	0	
-d	11242581	Picport Monochrome	0	
-v	1125	Eurocore	0	
-v	1126	Vigra	0	
-v	1127	FORE Systems Inc	0	
-d	11270200	ForeRunner PCA-200 ATM	0	
-d	11270210	PCA-200PC	0	
-d	11270250	ATM	0	
-d	11270300	ForeRunner PCA-200EPC ATM	0	
-d	11270310	ATM	0	
-d	11270400	ForeRunnerHE ATM Adapter	0	
-s	1127040011270400	ForeRunnerHE ATM	0	
-v	1129	Firmworks	0	
-v	112a	Hermes Electronics Company, Ltd.	0	
-v	112b	Linotype - Hell AG	0	
-v	112c	Zenith Data Systems	0	
-v	112d	Ravicad	0	
-v	112e	Infomedia Microelectronics Inc.	0	
-v	112f	Imaging Technology Inc	0	
-d	112f0000	MVC IC-PCI	0	
-d	112f0001	MVC IM-PCI Video frame grabber/processor	0	
-d	112f0008	PC-CamLink PCI framegrabber	0	
-v	1130	Computervision	0	
-v	1131	Philips Semiconductors	0	
-d	11311561	USB 1.1 Host Controller	0	
-s	113115611775c200	C2K onboard USB 1.1 host controller	1	
-d	11311562	USB 2.0 Host Controller	0	
-s	113115621775c200	C2K onboard USB 2.0 host controller	1	
-d	11313400	SmartPCI56(UCB1500) 56K Modem	0	
-d	11315400	TriMedia TM1000/1100	0	
-d	11315402	TriMedia TM-1300	0	
-s	1131540212440f00	Fritz!Card DSL	0	
-d	11315405	TriMedia TM1500	0	
-d	11315406	TriMedia TM1700	0	
-d	11317130	SAA7130 Video Broadcast Decoder	0	
-s	11317130102b48d0	Matrox CronosPlus	0	
-s	113171301048226b	ELSA EX-VISION 300TV	0	
-s	1131713011312001	10MOONS PCI TV CAPTURE CARD	0	
-s	1131713011312005	Techcom (India) TV Tuner Card (SSD-TV-670)	0	
-s	113171301461050c	Nagase Sangyo TransGear 3000TV	0	
-s	11317130146110ff	AVerMedia DVD EZMaker	0	
-s	1131713014612108	AverMedia AverTV/305	0	
-s	1131713014612115	AverMedia AverTV Studio 305	0	
-s	11317130153b1152	Terratec Cinergy 200 TV	0	
-s	11317130185bc100	Compro VideoMate TV PVR/FM	0	
-s	11317130185bc901	Videomate DVB-T200	0	
-s	1131713051680138	LifeView FlyVIDEO2000	0	
-d	11317133	SAA7133/SAA7135 Video Broadcast Decoder	0	
-s	1131713300004091	Beholder BeholdTV 409 FM	0	
-s	1131713310194cb5	Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)	0	
-s	1131713310430210	FlyTV mini Asus Digimatrix	0	
-s	1131713310434843	ASUS TV-FM 7133	0	
-s	1131713310434845	TV-FM 7135	0	
-s	1131713310434862	P7131 Dual	0	
-s	1131713311312001	Proteus Pro [philips reference design]	0	
-s	1131713311312018	Tiger reference design	0	
-s	1131713311314ee9	MonsterTV Mobile	0	
-s	1131713311bd002b	PCTV Stereo	0	
-s	1131713311bd002e	PCTV 110i (saa7133)	0	
-s	1131713312ab0800	PURPLE TV	0	
-s	1131713314210335	Instant TV DVB-T Cardbus	0	
-s	1131713314211370	Instant TV (saa7135)	0	
-s	1131713314357330	VFG7330	0	
-s	1131713314357350	VFG7350	0	
-s	1131713314611044	AVerTVHD MCE A180	0	
-s	113171331461f31f	Avermedia AVerTV GO 007 FM	0	
-s	1131713314626231	TV at Anywhere plus	0	
-s	1131713314890214	LifeView FlyTV Platinum FM	0	
-s	1131713314c01212	LifeView FlyTV Platinum Mini2	0	
-s	11317133153b1160	Cinergy 250 PCI TV	0	
-s	11317133153b1162	Terratec Cinergy 400 mobile	0	
+d	11122200	FDDI Adapter	0
+d	11122300	Fast Ethernet Adapter	0
+d	11122340	4 Port Fast Ethernet Adapter	0
+d	11122400	ATM Adapter	0
+v	1113	Accton Technology Corporation	0
+d	11131211	SMC2-1211TX	0
+s	11131211103c1207	EN-1207D Fast Ethernet Adapter	0
+s	1113121111131211	EN-1207D Fast Ethernet Adapter	0
+d	11131216	EN-1216 Ethernet Adapter	0
+s	1113121611132242	EN2242 10/100 Ethernet Mini-PCI Card	0
+s	11131216111a1020	SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]	0
+d	11131217	EN-1217 Ethernet Adapter	0
+d	11135105	10Mbps Network card	0
+d	11139211	EN-1207D Fast Ethernet Adapter	0
+s	1113921111139211	EN-1207D Fast Ethernet Adapter	0
+d	11139511	21x4x DEC-Tulip compatible Fast Ethernet	0
+d	1113d301	CPWNA100 (Philips wireless PCMCIA)	0
+d	1113ec02	SMC 1244TX v3	0
+v	1114	Atmel Corporation	0
+d	11140506	at76c506 802.11b Wireless Network Adaptor	0
+v	1115	3D Labs	0
+v	1116	Data Translation	0
+d	11160022	DT3001	0
+d	11160023	DT3002	0
+d	11160024	DT3003	0
+d	11160025	DT3004	0
+d	11160026	DT3005	0
+d	11160027	DT3001-PGL	0
+d	11160028	DT3003-PGL	0
+v	1117	Datacube, Inc	0
+d	11179500	Max-1C SVGA card	0
+d	11179501	Max-1C image processing	0
+v	1118	Berg Electronics	0
+v	1119	ICP Vortex Computersysteme GmbH	0
+d	11190000	GDT 6000/6020/6050	0
+d	11190001	GDT 6000B/6010	0
+d	11190002	GDT 6110/6510	0
+d	11190003	GDT 6120/6520	0
+d	11190004	GDT 6530	0
+d	11190005	GDT 6550	0
+d	11190006	GDT 6117/6517	0
+d	11190007	GDT 6127/6527	0
+d	11190008	GDT 6537	0
+d	11190009	GDT 6557/6557-ECC	0
+d	1119000a	GDT 6115/6515	0
+d	1119000b	GDT 6125/6525	0
+d	1119000c	GDT 6535	0
+d	1119000d	GDT 6555	0
+d	11190010	GDT 6115/6515	0
+d	11190011	GDT 6125/6525	0
+d	11190012	GDT 6535	0
+d	11190013	GDT 6555/6555-ECC	0
+d	11190100	GDT 6117RP/6517RP	0
+d	11190101	GDT 6127RP/6527RP	0
+d	11190102	GDT 6537RP	0
+d	11190103	GDT 6557RP	0
+d	11190104	GDT 6111RP/6511RP	0
+d	11190105	GDT 6121RP/6521RP	0
+d	11190110	GDT 6117RD/6517RD	0
+d	11190111	GDT 6127RD/6527RD	0
+d	11190112	GDT 6537RD	0
+d	11190113	GDT 6557RD	0
+d	11190114	GDT 6111RD/6511RD	0
+d	11190115	GDT 6121RD/6521RD	0
+d	11190118	GDT 6118RD/6518RD/6618RD	0
+d	11190119	GDT 6128RD/6528RD/6628RD	0
+d	1119011a	GDT 6538RD/6638RD	0
+d	1119011b	GDT 6558RD/6658RD	0
+d	11190120	GDT 6117RP2/6517RP2	0
+d	11190121	GDT 6127RP2/6527RP2	0
+d	11190122	GDT 6537RP2	0
+d	11190123	GDT 6557RP2	0
+d	11190124	GDT 6111RP2/6511RP2	0
+d	11190125	GDT 6121RP2/6521RP2	0
+d	11190136	GDT 6113RS/6513RS	0
+d	11190137	GDT 6123RS/6523RS	0
+d	11190138	GDT 6118RS/6518RS/6618RS	0
+d	11190139	GDT 6128RS/6528RS/6628RS	0
+d	1119013a	GDT 6538RS/6638RS	0
+d	1119013b	GDT 6558RS/6658RS	0
+d	1119013c	GDT 6533RS/6633RS	0
+d	1119013d	GDT 6543RS/6643RS	0
+d	1119013e	GDT 6553RS/6653RS	0
+d	1119013f	GDT 6563RS/6663RS	0
+d	11190166	GDT 7113RN/7513RN/7613RN	0
+d	11190167	GDT 7123RN/7523RN/7623RN	0
+d	11190168	GDT 7118RN/7518RN/7518RN	0
+d	11190169	GDT 7128RN/7528RN/7628RN	0
+d	1119016a	GDT 7538RN/7638RN	0
+d	1119016b	GDT 7558RN/7658RN	0
+d	1119016c	GDT 7533RN/7633RN	0
+d	1119016d	GDT 7543RN/7643RN	0
+d	1119016e	GDT 7553RN/7653RN	0
+d	1119016f	GDT 7563RN/7663RN	0
+d	111901d6	GDT 4x13RZ	0
+d	111901d7	GDT 4x23RZ	0
+d	111901f6	GDT 8x13RZ	0
+d	111901f7	GDT 8x23RZ	0
+d	111901fc	GDT 8x33RZ	0
+d	111901fd	GDT 8x43RZ	0
+d	111901fe	GDT 8x53RZ	0
+d	111901ff	GDT 8x63RZ	0
+d	11190210	GDT 6519RD/6619RD	0
+d	11190211	GDT 6529RD/6629RD	0
+d	11190260	GDT 7519RN/7619RN	0
+d	11190261	GDT 7529RN/7629RN	0
+d	111902ff	GDT MAXRP	0
+d	11190300	GDT NEWRX	0
+v	111a	Efficient Networks, Inc	0
+d	111a0000	155P-MF1 (FPGA)	0
+d	111a0002	155P-MF1 (ASIC)	0
+d	111a0003	ENI-25P ATM	0
+s	111a0003111a0000	ENI-25p Miniport ATM Adapter	0
+d	111a0005	SpeedStream (LANAI)	0
+s	111a0005111a0001	ENI-3010 ATM	0
+s	111a0005111a0009	ENI-3060 ADSL (VPI=0)	0
+s	111a0005111a0101	ENI-3010 ATM	0
+s	111a0005111a0109	ENI-3060CO ADSL (VPI=0)	0
+s	111a0005111a0809	ENI-3060 ADSL (VPI=0 or 8)	0
+s	111a0005111a0909	ENI-3060CO ADSL (VPI=0 or 8)	0
+s	111a0005111a0a09	ENI-3060 ADSL (VPI=<0..15>)	0
+d	111a0007	SpeedStream ADSL	0
+s	111a0007111a1001	ENI-3061 ADSL [ASIC]	0
+d	111a1203	SpeedStream 1023 Wireless PCI Adapter	0
+v	111b	Teledyne Electronic Systems	0
+v	111c	Tricord Systems Inc.	0
+d	111c0001	Powerbis Bridge	0
+v	111d	Integrated Device Technology, Inc.	0
+d	111d0001	IDT77201/77211 155Mbps ATM SAR Controller [NICStAR]	0
+d	111d0003	IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller	0
+d	111d0004	IDT77V252 155Mbps ATM MICRO ABR SAR Controller	0
+d	111d0005	IDT77V222 155Mbps ATM MICRO ABR SAR Controller	0
+v	111e	Eldec	0
+v	111f	Precision Digital Images	0
+d	111f4a47	Precision MX Video engine interface	0
+d	111f5243	Frame capture bus interface	0
+v	1120	EMC Corporation	0
+v	1121	Zilog	0
+v	1122	Multi-tech Systems, Inc.	0
+v	1123	Excellent Design, Inc.	0
+v	1124	Leutron Vision AG	0
+d	11242581	Picport Monochrome	0
+v	1125	Eurocore	0
+v	1126	Vigra	0
+v	1127	FORE Systems Inc	0
+d	11270200	ForeRunner PCA-200 ATM	0
+d	11270210	PCA-200PC	0
+d	11270250	ATM	0
+d	11270300	ForeRunner PCA-200EPC ATM	0
+d	11270310	ATM	0
+d	11270400	ForeRunnerHE ATM Adapter	0
+s	1127040011270400	ForeRunnerHE ATM	0
+v	1129	Firmworks	0
+v	112a	Hermes Electronics Company, Ltd.	0
+v	112b	Linotype - Hell AG	0
+v	112c	Zenith Data Systems	0
+v	112d	Ravicad	0
+v	112e	Infomedia Microelectronics Inc.	0
+v	112f	Imaging Technology Inc	0
+d	112f0000	MVC IC-PCI	0
+d	112f0001	MVC IM-PCI Video frame grabber/processor	0
+d	112f0008	PC-CamLink PCI framegrabber	0
+v	1130	Computervision	0
+v	1131	Philips Semiconductors	0
+d	11311561	USB 1.1 Host Controller	0
+s	113115611775c200	C2K onboard USB 1.1 host controller	1
+d	11311562	USB 2.0 Host Controller	0
+s	113115621775c200	C2K onboard USB 2.0 host controller	1
+d	11313400	SmartPCI56(UCB1500) 56K Modem	0
+d	11315400	TriMedia TM1000/1100	0
+d	11315402	TriMedia TM-1300	0
+s	1131540212440f00	Fritz!Card DSL	0
+d	11315405	TriMedia TM1500	0
+d	11315406	TriMedia TM1700	0
+d	11317130	SAA7130 Video Broadcast Decoder	0
+s	11317130102b48d0	Matrox CronosPlus	0
+s	113171301048226b	ELSA EX-VISION 300TV	0
+s	1131713011312001	10MOONS PCI TV CAPTURE CARD	0
+s	1131713011312005	Techcom (India) TV Tuner Card (SSD-TV-670)	0
+s	113171301461050c	Nagase Sangyo TransGear 3000TV	0
+s	11317130146110ff	AVerMedia DVD EZMaker	0
+s	1131713014612108	AverMedia AverTV/305	0
+s	1131713014612115	AverMedia AverTV Studio 305	0
+s	11317130153b1152	Terratec Cinergy 200 TV	0
+s	11317130185bc100	Compro VideoMate TV PVR/FM	0
+s	11317130185bc901	Videomate DVB-T200	0
+s	1131713051680138	LifeView FlyVIDEO2000	0
+d	11317133	SAA7133/SAA7135 Video Broadcast Decoder	0
+s	1131713300004091	Beholder BeholdTV 409 FM	0
+s	1131713310194cb5	Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)	0
+s	1131713310430210	FlyTV mini Asus Digimatrix	0
+s	1131713310434843	ASUS TV-FM 7133	0
+s	1131713310434845	TV-FM 7135	0
+s	1131713310434862	P7131 Dual	0
+s	1131713311312001	Proteus Pro [philips reference design]	0
+s	1131713311312018	Tiger reference design	0
+s	1131713311314ee9	MonsterTV Mobile	0
+s	1131713311bd002b	PCTV Stereo	0
+s	1131713311bd002e	PCTV 110i (saa7133)	0
+s	1131713312ab0800	PURPLE TV	0
+s	1131713314210335	Instant TV DVB-T Cardbus	0
+s	1131713314211370	Instant TV (saa7135)	0
+s	1131713314357330	VFG7330	0
+s	1131713314357350	VFG7350	0
+s	1131713314611044	AVerTVHD MCE A180	0
+s	113171331461f31f	Avermedia AVerTV GO 007 FM	0
+s	1131713314626231	TV at Anywhere plus	0
+s	1131713314890214	LifeView FlyTV Platinum FM	0
+s	1131713314c01212	LifeView FlyTV Platinum Mini2	0
+s	11317133153b1160	Cinergy 250 PCI TV	0
+s	11317133153b1162	Terratec Cinergy 400 mobile	0
 s	1131713317de7350	ATSC 110 Digital / Analog HDTV Tuner	1	http://www.kworldcomputer.com/product/digital/001/atsc_110.htm
-s	11317133185bc100	VideoMate TV	0	
-s	1131713351680306	LifeView FlyDVB-T DUO	0	
-s	1131713351680319	LifeView FlyDVB Trio	0	
-s	1131713351680502	LifeView FlyDVB-T Duo CardBus	0	
-s	1131713351680520	LifeView FlyDVB Trio CardBus	0	
-s	1131713351681502	LifeView FlyTV CardBus	0	
-s	1131713351682502	LifeView FlyDVB-T CardBus	0	
-s	1131713351682520	LifeView FlyDVB-S Duo CardBus	0	
-s	1131713351683502	LifeView FlyDVB-T Hybrid CardBus	0	
-s	1131713351683520	LifeView FlyDVB Trio N CardBus	0	
-d	11317134	SAA7134/SAA7135HL Video Broadcast Decoder	0	
-s	1131713410194cb4	Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)	0	
-s	1131713410430210	Digimatrix TV	0	
-s	1131713410434840	ASUS TV-FM 7134	0	
-s	1131713410434842	TV-FM 7134	0	
-s	1131713411312004	EUROPA V3 reference design	0	
-s	1131713411314e85	SKNet Monster TV	0	
-s	1131713411316752	EMPRESS	0	
-s	1131713411bd002b	PCTV Stereo	0	
-s	1131713411bd002d	PCTV 300i DVB-T + PAL	0	
-s	1131713414612c00	AverTV Hybrid+FM PCI	0	
-s	1131713414619715	AVerTV Studio 307	0	
-s	113171341461a70a	Avermedia AVerTV 307	0	
-s	113171341461a70b	AverMedia M156 / Medion 2819	0	
-s	113171341461d6ee	Cardbus TV/Radio (E500)	0	
-s	113171341471b7e9	AVerTV Cardbus plus	0	
-s	11317134153b1142	Terratec Cinergy 400 TV	0	
-s	11317134153b1143	Terratec Cinergy 600 TV	0	
-s	11317134153b1158	Terratec Cinergy 600 TV MK3	0	
-s	1131713415409524	ProVideo PV952	0	
-s	1131713416be0003	Medion 7134	0	
-s	11317134185bc200	Compro VideoMate Gold+ Pal	0	
-s	11317134185bc900	Videomate DVB-T300	0	
-s	113171341894a006	KNC One TV-Station DVR	0	
-s	113171341894fe01	KNC One TV-Station RDS / Typhoon TV Tuner RDS	0	
-d	11317145	SAA7145	0	
-d	11317146	SAA7146	0	
-s	11317146110a0000	Fujitsu/Siemens DVB-C card rev1.5	0	
-s	11317146110affff	Fujitsu/Siemens DVB-C card rev1.5	0	
-s	1131714611314f56	KNC1 DVB-S Budget	0	
-s	1131714611314f60	Fujitsu-Siemens Activy DVB-S Budget Rev AL	0	
-s	1131714611314f61	Activy DVB-S Budget Rev GR	0	
-s	1131714611315f61	Activy DVB-T Budget	0	
-s	11317146114b2003	DVRaptor Video Edit/Capture Card	0	
-s	1131714611bd0006	DV500 Overlay	0	
-s	1131714611bd000a	DV500 Overlay	0	
-s	1131714611bd000f	DV500 Overlay	0	
-s	1131714613c20000	Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5	0	
-s	1131714613c20001	Technotrend/Hauppauge DVB card rev1.3 or rev1.6	0	
-s	1131714613c20002	Technotrend/Hauppauge DVB card rev2.1	0	
-s	1131714613c20003	Technotrend/Hauppauge DVB card rev2.1	0	
-s	1131714613c20004	Technotrend/Hauppauge DVB card rev2.1	0	
-s	1131714613c20006	Technotrend/Hauppauge DVB card rev1.3 or rev1.6	0	
-s	1131714613c20008	Technotrend/Hauppauge DVB-T	0	
-s	1131714613c2000a	Octal/Technotrend DVB-C for iTV	0	
-s	1131714613c21003	Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card	0	
-s	1131714613c21004	Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card	0	
-s	1131714613c21005	Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card	0	
-s	1131714613c2100c	Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card	0	
-s	1131714613c2100f	Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card	0	
-s	1131714613c21011	Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card	0	
-s	1131714613c21012	TechnoTrend Budget DVB T-1500	1	
-s	1131714613c21013	SATELCO Multimedia DVB	0	
-s	1131714613c21016	WinTV-NOVA-SE DVB card	0	
-s	1131714613c21018	TechnoTrend Budget DVB S-1401	1	
+s	11317133185bc100	VideoMate TV	0
+s	1131713351680306	LifeView FlyDVB-T DUO	0
+s	1131713351680319	LifeView FlyDVB Trio	0
+s	1131713351680502	LifeView FlyDVB-T Duo CardBus	0
+s	1131713351680520	LifeView FlyDVB Trio CardBus	0
+s	1131713351681502	LifeView FlyTV CardBus	0
+s	1131713351682502	LifeView FlyDVB-T CardBus	0
+s	1131713351682520	LifeView FlyDVB-S Duo CardBus	0
+s	1131713351683502	LifeView FlyDVB-T Hybrid CardBus	0
+s	1131713351683520	LifeView FlyDVB Trio N CardBus	0
+d	11317134	SAA7134/SAA7135HL Video Broadcast Decoder	0
+s	1131713410194cb4	Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)	0
+s	1131713410430210	Digimatrix TV	0
+s	1131713410434840	ASUS TV-FM 7134	0
+s	1131713410434842	TV-FM 7134	0
+s	1131713411312004	EUROPA V3 reference design	0
+s	1131713411314e85	SKNet Monster TV	0
+s	1131713411316752	EMPRESS	0
+s	1131713411bd002b	PCTV Stereo	0
+s	1131713411bd002d	PCTV 300i DVB-T + PAL	0
+s	1131713414612c00	AverTV Hybrid+FM PCI	0
+s	1131713414619715	AVerTV Studio 307	0
+s	113171341461a70a	Avermedia AVerTV 307	0
+s	113171341461a70b	AverMedia M156 / Medion 2819	0
+s	113171341461d6ee	Cardbus TV/Radio (E500)	0
+s	113171341471b7e9	AVerTV Cardbus plus	0
+s	11317134153b1142	Terratec Cinergy 400 TV	0
+s	11317134153b1143	Terratec Cinergy 600 TV	0
+s	11317134153b1158	Terratec Cinergy 600 TV MK3	0
+s	1131713415409524	ProVideo PV952	0
+s	1131713416be0003	Medion 7134	0
+s	11317134185bc200	Compro VideoMate Gold+ Pal	0
+s	11317134185bc900	Videomate DVB-T300	0
+s	113171341894a006	KNC One TV-Station DVR	0
+s	113171341894fe01	KNC One TV-Station RDS / Typhoon TV Tuner RDS	0
+d	11317145	SAA7145	0
+d	11317146	SAA7146	0
+s	11317146110a0000	Fujitsu/Siemens DVB-C card rev1.5	0
+s	11317146110affff	Fujitsu/Siemens DVB-C card rev1.5	0
+s	1131714611314f56	KNC1 DVB-S Budget	0
+s	1131714611314f60	Fujitsu-Siemens Activy DVB-S Budget Rev AL	0
+s	1131714611314f61	Activy DVB-S Budget Rev GR	0
+s	1131714611315f61	Activy DVB-T Budget	0
+s	11317146114b2003	DVRaptor Video Edit/Capture Card	0
+s	1131714611bd0006	DV500 Overlay	0
+s	1131714611bd000a	DV500 Overlay	0
+s	1131714611bd000f	DV500 Overlay	0
+s	1131714613c20000	Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5	0
+s	1131714613c20001	Technotrend/Hauppauge DVB card rev1.3 or rev1.6	0
+s	1131714613c20002	Technotrend/Hauppauge DVB card rev2.1	0
+s	1131714613c20003	Technotrend/Hauppauge DVB card rev2.1	0
+s	1131714613c20004	Technotrend/Hauppauge DVB card rev2.1	0
+s	1131714613c20006	Technotrend/Hauppauge DVB card rev1.3 or rev1.6	0
+s	1131714613c20008	Technotrend/Hauppauge DVB-T	0
+s	1131714613c2000a	Octal/Technotrend DVB-C for iTV	0
+s	1131714613c21003	Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card	0
+s	1131714613c21004	Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card	0
+s	1131714613c21005	Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card	0
+s	1131714613c2100c	Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card	0
+s	1131714613c2100f	Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card	0
+s	1131714613c21011	Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card	0
+s	1131714613c21012	TechnoTrend Budget DVB T-1500	1
+s	1131714613c21013	SATELCO Multimedia DVB	0
+s	1131714613c21016	WinTV-NOVA-SE DVB card	0
+s	1131714613c21018	TechnoTrend Budget DVB S-1401	1
 s	1131714613c21019	TT-budget S2-3200	1	the onboard chip are: Philips SAA7146AH, STB0899 (Multistandard advance demodulator digital TV satellite STB), LNBP21 (SUPPLY AN
 s	1131714613c21019	TT-budget S2-3200	1	the onboard chip are: Phuilips SAA7146AH, STB0899 (Multistandard advance demodulator digital TV satellite STB), LNBP21 (SUPPLY A
-s	1131714613c21102	Technotrend/Hauppauge DVB card rev2.1	0	
-s	11317146153b1156	Terratec Cynergy 1200C	0	
-d	11319730	SAA9730 Integrated Multimedia and Peripheral Controller	0	
-s	1131973011310000	Integrated Multimedia and Peripheral Controller	0	
-v	1132	Mitel Corp.	0	
-v	1133	Eicon Networks Corporation	0	
-d	11337901	EiconCard S90	0	
-d	11337902	EiconCard S90	0	
-d	11337911	EiconCard S91	0	
-d	11337912	EiconCard S91	0	
-d	11337941	EiconCard S94	0	
-d	11337942	EiconCard S94	0	
-d	11337943	EiconCard S94	0	
-d	11337944	EiconCard S94	0	
-d	1133b921	EiconCard P92	0	
-d	1133b922	EiconCard P92	0	
-d	1133b923	EiconCard P92	0	
-d	1133e001	Diva Pro 2.0 S/T	0	
-d	1133e002	Diva 2.0 S/T PCI	0	
-d	1133e003	Diva Pro 2.0 U	0	
-d	1133e004	Diva 2.0 U PCI	0	
-d	1133e005	Diva 2.01 S/T PCI	0	
-d	1133e006	Diva CT S/T PCI	0	
-d	1133e007	Diva CT U PCI	0	
-d	1133e008	Diva CT Lite S/T PCI	0	
-d	1133e009	Diva CT Lite U PCI	0	
-d	1133e00a	Diva ISDN+V.90 PCI	0	
-d	1133e00b	Diva 2.02 PCI S/T	0	
-d	1133e00c	Diva 2.02 PCI U	0	
-d	1133e00d	Diva ISDN Pro 3.0 PCI	0	
-d	1133e00e	Diva ISDN+CT S/T PCI Rev 2	0	
-d	1133e010	Diva Server BRI-2M PCI	0	
-s	1133e010110a0021	Fujitsu Siemens ISDN S0	0	
-d	1133e011	Diva Server BRI S/T Rev 2	0	
-d	1133e012	Diva Server 4BRI-8M PCI	0	
-d	1133e013	Diva Server 4BRI Rev 2	0	
-s	1133e01311331300	Diva Server V-4BRI-8	0	
-s	1133e0131133e013	Diva Server 4BRI-8M 2.0 PCI	0	
-d	1133e014	Diva Server PRI-30M PCI	0	
-d	1133e015	DIVA Server PRI Rev 2	0	
-s	1133e0151133e015	Diva Server PRI 2.0 PCI	0	
-d	1133e016	Diva Server Voice 4BRI PCI	0	
-d	1133e017	Diva Server Voice 4BRI Rev 2	0	
-s	1133e0171133e017	Diva Server Voice 4BRI-8M 2.0 PCI	0	
-d	1133e018	Diva Server BRI-2M 2.0 PCI	0	
-s	1133e01811331800	Diva Server V-BRI-2	0	
-s	1133e0181133e018	Diva Server BRI-2M 2.0 PCI	0	
-d	1133e019	Diva Server Voice PRI Rev 2	0	
-s	1133e0191133e019	Diva Server Voice PRI 2.0 PCI	0	
-d	1133e01a	Diva Server 2FX	0	
-d	1133e01b	Diva Server Voice BRI-2M 2.0 PCI	0	
-s	1133e01b1133e01b	Diva Server Voice BRI-2M 2.0 PCI	0	
-d	1133e01c	Diva Server PRI Rev 3	0	
-s	1133e01c11331c01	Diva Server PRI/E1/T1-8	0	
-s	1133e01c11331c02	Diva Server PRI/T1-24	0	
-s	1133e01c11331c03	Diva Server PRI/E1-30	0	
-s	1133e01c11331c04	Diva Server PRI/E1/T1	0	
-s	1133e01c11331c05	Diva Server V-PRI/T1-24	0	
-s	1133e01c11331c06	Diva Server V-PRI/E1-30	0	
-s	1133e01c11331c07	Diva Server PRI/E1/T1-8 Cornet NQ	0	
-s	1133e01c11331c08	Diva Server PRI/T1-24 Cornet NQ	0	
-s	1133e01c11331c09	Diva Server PRI/E1-30 Cornet NQ	0	
-s	1133e01c11331c0a	Diva Server PRI/E1/T1 Cornet NQ	0	
-s	1133e01c11331c0b	Diva Server V-PRI/T1-24 Cornet NQ	0	
-s	1133e01c11331c0c	Diva Server V-PRI/E1-30 Cornet NQ	0	
-d	1133e01e	Diva Server 2PRI	0	
-d	1133e020	Diva Server 4PRI	0	
-d	1133e022	Diva Server Analog-2P	0	
-d	1133e024	Diva Server Analog-4P	0	
-s	1133e02411332400	Diva Server V-Analog-4P	0	
-s	1133e0241133e024	Diva Server Analog-4P	0	
-d	1133e028	Diva Server Analog-8P	0	
-s	1133e02811332800	Diva Server V-Analog-8P	0	
-s	1133e0281133e028	Diva Server Analog-8P	0	
-d	1133e02a	Diva Server IPM-300	0	
-d	1133e02c	Diva Server IPM-600	0	
-v	1134	Mercury Computer Systems	0	
-d	11340001	Raceway Bridge	0	
-d	11340002	Dual PCI to RapidIO Bridge	0	
-v	1135	Fuji Xerox Co Ltd	0	
-d	11350001	Printer controller	0	
-v	1136	Momentum Data Systems	0	
-v	1137	Cisco Systems Inc	0	
-v	1138	Ziatech Corporation	0	
-d	11388905	8905 [STD 32 Bridge]	0	
-v	1139	Dynamic Pictures, Inc	0	
-d	11390001	VGA Compatable 3D Graphics	0	
-v	113a	FWB Inc	0	
-v	113b	Network Computing Devices	0	
-v	113c	Cyclone Microsystems, Inc.	0	
-d	113c0000	PCI-9060 i960 Bridge	0	
-d	113c0001	PCI-SDK [PCI i960 Evaluation Platform]	0	
-d	113c0911	PCI-911 [i960Jx-based Intelligent I/O Controller]	0	
-d	113c0912	PCI-912 [i960CF-based Intelligent I/O Controller]	0	
-d	113c0913	PCI-913	0	
-d	113c0914	PCI-914 [I/O Controller w/ secondary PCI bus]	0	
-v	113d	Leading Edge Products Inc	0	
-v	113e	Sanyo Electric Co - Computer Engineering Dept	0	
-v	113f	Equinox Systems, Inc.	0	
-d	113f0808	SST-64P Adapter	0	
-d	113f1010	SST-128P Adapter	0	
-d	113f80c0	SST-16P DB Adapter	0	
-d	113f80c4	SST-16P RJ Adapter	0	
-d	113f80c8	SST-16P Adapter	0	
-d	113f8888	SST-4P Adapter	0	
-d	113f9090	SST-8P Adapter	0	
-v	1140	Intervoice Inc	0	
-v	1141	Crest Microsystem Inc	0	
-v	1142	Alliance Semiconductor Corporation	0	
-d	11423210	AP6410	0	
-d	11426422	ProVideo 6422	0	
-d	11426424	ProVideo 6424	0	
-d	11426425	ProMotion AT25	0	
-d	1142643d	ProMotion AT3D	0	
-v	1143	NetPower, Inc	0	
-v	1144	Cincinnati Milacron	0	
-d	11440001	Noservo controller	0	
-v	1145	Workbit Corporation	0	
-d	11458007	NinjaSCSI-32 Workbit	0	
-d	1145f007	NinjaSCSI-32 KME	0	
-d	1145f010	NinjaSCSI-32 Workbit	0	
-d	1145f012	NinjaSCSI-32 Logitec	0	
-d	1145f013	NinjaSCSI-32 Logitec	0	
-d	1145f015	NinjaSCSI-32 Melco	0	
-d	1145f020	NinjaSCSI-32 Sony PCGA-DVD51	0	
-v	1146	Force Computers	0	
-v	1147	Interface Corp	0	
+s	1131714613c21102	Technotrend/Hauppauge DVB card rev2.1	0
+s	11317146153b1156	Terratec Cynergy 1200C	0
+d	11319730	SAA9730 Integrated Multimedia and Peripheral Controller	0
+s	1131973011310000	Integrated Multimedia and Peripheral Controller	0
+v	1132	Mitel Corp.	0
+v	1133	Eicon Networks Corporation	0
+d	11337901	EiconCard S90	0
+d	11337902	EiconCard S90	0
+d	11337911	EiconCard S91	0
+d	11337912	EiconCard S91	0
+d	11337941	EiconCard S94	0
+d	11337942	EiconCard S94	0
+d	11337943	EiconCard S94	0
+d	11337944	EiconCard S94	0
+d	1133b921	EiconCard P92	0
+d	1133b922	EiconCard P92	0
+d	1133b923	EiconCard P92	0
+d	1133e001	Diva Pro 2.0 S/T	0
+d	1133e002	Diva 2.0 S/T PCI	0
+d	1133e003	Diva Pro 2.0 U	0
+d	1133e004	Diva 2.0 U PCI	0
+d	1133e005	Diva 2.01 S/T PCI	0
+d	1133e006	Diva CT S/T PCI	0
+d	1133e007	Diva CT U PCI	0
+d	1133e008	Diva CT Lite S/T PCI	0
+d	1133e009	Diva CT Lite U PCI	0
+d	1133e00a	Diva ISDN+V.90 PCI	0
+d	1133e00b	Diva 2.02 PCI S/T	0
+d	1133e00c	Diva 2.02 PCI U	0
+d	1133e00d	Diva ISDN Pro 3.0 PCI	0
+d	1133e00e	Diva ISDN+CT S/T PCI Rev 2	0
+d	1133e010	Diva Server BRI-2M PCI	0
+s	1133e010110a0021	Fujitsu Siemens ISDN S0	0
+d	1133e011	Diva Server BRI S/T Rev 2	0
+d	1133e012	Diva Server 4BRI-8M PCI	0
+d	1133e013	Diva Server 4BRI Rev 2	0
+s	1133e01311331300	Diva Server V-4BRI-8	0
+s	1133e0131133e013	Diva Server 4BRI-8M 2.0 PCI	0
+d	1133e014	Diva Server PRI-30M PCI	0
+d	1133e015	DIVA Server PRI Rev 2	0
+s	1133e0151133e015	Diva Server PRI 2.0 PCI	0
+d	1133e016	Diva Server Voice 4BRI PCI	0
+d	1133e017	Diva Server Voice 4BRI Rev 2	0
+s	1133e0171133e017	Diva Server Voice 4BRI-8M 2.0 PCI	0
+d	1133e018	Diva Server BRI-2M 2.0 PCI	0
+s	1133e01811331800	Diva Server V-BRI-2	0
+s	1133e0181133e018	Diva Server BRI-2M 2.0 PCI	0
+d	1133e019	Diva Server Voice PRI Rev 2	0
+s	1133e0191133e019	Diva Server Voice PRI 2.0 PCI	0
+d	1133e01a	Diva Server 2FX	0
+d	1133e01b	Diva Server Voice BRI-2M 2.0 PCI	0
+s	1133e01b1133e01b	Diva Server Voice BRI-2M 2.0 PCI	0
+d	1133e01c	Diva Server PRI Rev 3	0
+s	1133e01c11331c01	Diva Server PRI/E1/T1-8	0
+s	1133e01c11331c02	Diva Server PRI/T1-24	0
+s	1133e01c11331c03	Diva Server PRI/E1-30	0
+s	1133e01c11331c04	Diva Server PRI/E1/T1	0
+s	1133e01c11331c05	Diva Server V-PRI/T1-24	0
+s	1133e01c11331c06	Diva Server V-PRI/E1-30	0
+s	1133e01c11331c07	Diva Server PRI/E1/T1-8 Cornet NQ	0
+s	1133e01c11331c08	Diva Server PRI/T1-24 Cornet NQ	0
+s	1133e01c11331c09	Diva Server PRI/E1-30 Cornet NQ	0
+s	1133e01c11331c0a	Diva Server PRI/E1/T1 Cornet NQ	0
+s	1133e01c11331c0b	Diva Server V-PRI/T1-24 Cornet NQ	0
+s	1133e01c11331c0c	Diva Server V-PRI/E1-30 Cornet NQ	0
+d	1133e01e	Diva Server 2PRI	0
+d	1133e020	Diva Server 4PRI	0
+d	1133e022	Diva Server Analog-2P	0
+d	1133e024	Diva Server Analog-4P	0
+s	1133e02411332400	Diva Server V-Analog-4P	0
+s	1133e0241133e024	Diva Server Analog-4P	0
+d	1133e028	Diva Server Analog-8P	0
+s	1133e02811332800	Diva Server V-Analog-8P	0
+s	1133e0281133e028	Diva Server Analog-8P	0
+d	1133e02a	Diva Server IPM-300	0
+d	1133e02c	Diva Server IPM-600	0
+v	1134	Mercury Computer Systems	0
+d	11340001	Raceway Bridge	0
+d	11340002	Dual PCI to RapidIO Bridge	0
+v	1135	Fuji Xerox Co Ltd	0
+d	11350001	Printer controller	0
+v	1136	Momentum Data Systems	0
+v	1137	Cisco Systems Inc	0
+v	1138	Ziatech Corporation	0
+d	11388905	8905 [STD 32 Bridge]	0
+v	1139	Dynamic Pictures, Inc	0
+d	11390001	VGA Compatable 3D Graphics	0
+v	113a	FWB Inc	0
+v	113b	Network Computing Devices	0
+v	113c	Cyclone Microsystems, Inc.	0
+d	113c0000	PCI-9060 i960 Bridge	0
+d	113c0001	PCI-SDK [PCI i960 Evaluation Platform]	0
+d	113c0911	PCI-911 [i960Jx-based Intelligent I/O Controller]	0
+d	113c0912	PCI-912 [i960CF-based Intelligent I/O Controller]	0
+d	113c0913	PCI-913	0
+d	113c0914	PCI-914 [I/O Controller w/ secondary PCI bus]	0
+v	113d	Leading Edge Products Inc	0
+v	113e	Sanyo Electric Co - Computer Engineering Dept	0
+v	113f	Equinox Systems, Inc.	0
+d	113f0808	SST-64P Adapter	0
+d	113f1010	SST-128P Adapter	0
+d	113f80c0	SST-16P DB Adapter	0
+d	113f80c4	SST-16P RJ Adapter	0
+d	113f80c8	SST-16P Adapter	0
+d	113f8888	SST-4P Adapter	0
+d	113f9090	SST-8P Adapter	0
+v	1140	Intervoice Inc	0
+v	1141	Crest Microsystem Inc	0
+v	1142	Alliance Semiconductor Corporation	0
+d	11423210	AP6410	0
+d	11426422	ProVideo 6422	0
+d	11426424	ProVideo 6424	0
+d	11426425	ProMotion AT25	0
+d	1142643d	ProMotion AT3D	0
+v	1143	NetPower, Inc	0
+v	1144	Cincinnati Milacron	0
+d	11440001	Noservo controller	0
+v	1145	Workbit Corporation	0
+d	11458007	NinjaSCSI-32 Workbit	0
+d	1145f007	NinjaSCSI-32 KME	0
+d	1145f010	NinjaSCSI-32 Workbit	0
+d	1145f012	NinjaSCSI-32 Logitec	0
+d	1145f013	NinjaSCSI-32 Logitec	0
+d	1145f015	NinjaSCSI-32 Melco	0
+d	1145f020	NinjaSCSI-32 Sony PCGA-DVD51	0
+v	1146	Force Computers	0
+v	1147	Interface Corp	0
 v	1148	SysKonnect	0	Nee Schneider & Koch
-d	11484000	FDDI Adapter	0	
-s	114840000e11b03b	Netelligent 100 FDDI DAS Fibre SC	0	
-s	114840000e11b03c	Netelligent 100 FDDI SAS Fibre SC	0	
-s	114840000e11b03d	Netelligent 100 FDDI DAS UTP	0	
-s	114840000e11b03e	Netelligent 100 FDDI SAS UTP	0	
-s	114840000e11b03f	Netelligent 100 FDDI SAS Fibre MIC	0	
-s	1148400011485521	FDDI SK-5521 (SK-NET FDDI-UP)	0	
-s	1148400011485522	FDDI SK-5522 (SK-NET FDDI-UP DAS)	0	
-s	1148400011485541	FDDI SK-5541 (SK-NET FDDI-FP)	0	
-s	1148400011485543	FDDI SK-5543 (SK-NET FDDI-LP)	0	
-s	1148400011485544	FDDI SK-5544 (SK-NET FDDI-LP DAS)	0	
-s	1148400011485821	FDDI SK-5821 (SK-NET FDDI-UP64)	0	
-s	1148400011485822	FDDI SK-5822 (SK-NET FDDI-UP64 DAS)	0	
-s	1148400011485841	FDDI SK-5841 (SK-NET FDDI-FP64)	0	
-s	1148400011485843	FDDI SK-5843 (SK-NET FDDI-LP64)	0	
-s	1148400011485844	FDDI SK-5844 (SK-NET FDDI-LP64 DAS)	0	
-d	11484200	Token Ring adapter	0	
-d	11484300	SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)	0	
-s	1148430011489821	SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)	0	
-s	1148430011489822	SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)	0	
-s	1148430011489841	SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)	0	
-s	1148430011489842	SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)	0	
-s	1148430011489843	SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)	0	
-s	1148430011489844	SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)	0	
-s	1148430011489861	SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)	0	
-s	1148430011489862	SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)	0	
-s	1148430011489871	SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)	0	
-s	1148430011489872	SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)	0	
-s	1148430012592970	AT-2970SX Gigabit Ethernet Adapter	0	
-s	1148430012592971	AT-2970LX Gigabit Ethernet Adapter	0	
-s	1148430012592972	AT-2970TX Gigabit Ethernet Adapter	0	
-s	1148430012592973	AT-2971SX Gigabit Ethernet Adapter	0	
-s	1148430012592974	AT-2971T Gigabit Ethernet Adapter	0	
-s	1148430012592975	AT-2970SX/2SC Gigabit Ethernet Adapter	0	
-s	1148430012592976	AT-2970LX/2SC Gigabit Ethernet Adapter	0	
-s	1148430012592977	AT-2970TX/2TX Gigabit Ethernet Adapter	0	
-d	11484320	SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC	0	
-s	1148432011480121	Marvell RDK-8001 Adapter	0	
-s	1148432011480221	Marvell RDK-8002 Adapter	0	
-s	1148432011480321	Marvell RDK-8003 Adapter	0	
-s	1148432011480421	Marvell RDK-8004 Adapter	0	
-s	1148432011480621	Marvell RDK-8006 Adapter	0	
-s	1148432011480721	Marvell RDK-8007 Adapter	0	
-s	1148432011480821	Marvell RDK-8008 Adapter	0	
-s	1148432011480921	Marvell RDK-8009 Adapter	0	
-s	1148432011481121	Marvell RDK-8011 Adapter	0	
-s	1148432011481221	Marvell RDK-8012 Adapter	0	
-s	1148432011483221	SK-9521 V2.0 10/100/1000Base-T Adapter	0	
-s	1148432011485021	SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter	0	
-s	1148432011485041	SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter	0	
-s	1148432011485043	SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter	0	
-s	1148432011485051	SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter	0	
-s	1148432011485061	SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter	0	
-s	1148432011485071	SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter	0	
-s	1148432011489521	SK-9521 10/100/1000Base-T Adapter	0	
-d	11484400	SK-9Dxx Gigabit Ethernet Adapter	0	
-d	11484500	SK-9Mxx Gigabit Ethernet Adapter	0	
-d	11489000	SK-9S21 10/100/1000Base-T Server Adapter, PCI-X, Copper RJ-45	0	
-d	11489843	[Fujitsu] Gigabit Ethernet	0	
-d	11489e00	SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45	0	
-s	11489e0011482100	SK-9E21 Server Adapter	0	
-s	11489e00114821d0	SK-9E21D 10/100/1000Base-T Adapter	0	
-s	11489e0011482200	SK-9E22 Server Adapter	0	
-s	11489e0011488100	SK-9E81 Server Adapter	0	
-s	11489e0011488200	SK-9E82 Server Adapter	0	
-s	11489e0011489100	SK-9E91 Server Adapter	0	
-s	11489e0011489200	SK-9E92 Server Adapter	0	
-v	1149	Win System Corporation	0	
-v	114a	VMIC	0	
-d	114a5579	VMIPCI-5579 (Reflective Memory Card)	0	
-d	114a5587	VMIPCI-5587 (Reflective Memory Card)	0	
-d	114a6504	VMIC PCI 7755 FPGA	0	
-d	114a7587	VMIVME-7587	0	
-v	114b	Canopus Co., Ltd	0	
-v	114c	Annabooks	0	
-v	114d	IC Corporation	0	
-v	114e	Nikon Systems Inc	0	
-v	114f	Digi International	0	
-d	114f0002	AccelePort EPC	0	
-d	114f0003	RightSwitch SE-6	0	
-d	114f0004	AccelePort Xem	0	
-d	114f0005	AccelePort Xr	0	
-d	114f0006	AccelePort Xr,C/X	0	
-d	114f0009	AccelePort Xr/J	0	
-d	114f000a	AccelePort EPC/J	0	
-d	114f000c	DataFirePRIme T1 (1-port)	0	
-d	114f000d	SyncPort 2-Port (x.25/FR)	0	
-d	114f0011	AccelePort 8r EIA-232 (IBM)	0	
-d	114f0012	AccelePort 8r EIA-422	0	
-d	114f0013	AccelePort Xr	1	
-d	114f0014	AccelePort 8r EIA-422	0	
-d	114f0015	AccelePort Xem	0	
-d	114f0016	AccelePort EPC/X	0	
-d	114f0017	AccelePort C/X	0	
-d	114f001a	DataFirePRIme E1 (1-port)	0	
-d	114f001b	AccelePort C/X (IBM)	0	
-d	114f001d	DataFire RAS T1/E1/PRI	0	
-s	114f001d114f0050	DataFire RAS E1 Adapter	0	
-s	114f001d114f0051	DataFire RAS Dual E1 Adapter	0	
-s	114f001d114f0052	DataFire RAS T1 Adapter	0	
-s	114f001d114f0053	DataFire RAS Dual T1 Adapter	0	
-d	114f0023	AccelePort RAS	0	
-d	114f0024	DataFire RAS B4 ST/U	0	
-s	114f0024114f0030	DataFire RAS BRI U Adapter	0	
-s	114f0024114f0031	DataFire RAS BRI S/T Adapter	0	
-d	114f0026	AccelePort 4r 920	0	
-d	114f0027	AccelePort Xr 920	0	
-d	114f0028	ClassicBoard 4	0	
-d	114f0029	ClassicBoard 8	0	
-d	114f0034	AccelePort 2r 920	0	
-d	114f0035	DataFire DSP T1/E1/PRI cPCI	0	
-d	114f0040	AccelePort Xp	0	
-d	114f0042	AccelePort 2p	0	
-d	114f0043	AccelePort 4p	0	
-d	114f0044	AccelePort 8p	0	
-d	114f0045	AccelePort 16p	0	
-d	114f004e	AccelePort 32p	0	
-d	114f0070	Datafire Micro V IOM2 (Europe)	0	
-d	114f0071	Datafire Micro V (Europe)	0	
-d	114f0072	Datafire Micro V IOM2 (North America)	0	
-d	114f0073	Datafire Micro V (North America)	0	
-d	114f00b0	Digi Neo 4	0	
-d	114f00b1	Digi Neo 8	0	
-d	114f00c8	Digi Neo 2 DB9	0	
-d	114f00c9	Digi Neo 2 DB9 PRI	0	
-d	114f00ca	Digi Neo 2 RJ45	0	
-d	114f00cb	Digi Neo 2 RJ45 PRI	0	
-d	114f00d0	ClassicBoard 4 422	0	
-d	114f00d1	ClassicBoard 8 422	0	
-d	114f6001	Avanstar	0	
-v	1150	Thinking Machines Corp	0	
-v	1151	JAE Electronics Inc.	0	
-v	1152	Megatek	0	
-v	1153	Land Win Electronic Corp	0	
-v	1154	Melco Inc	0	
-v	1155	Pine Technology Ltd	0	
-v	1156	Periscope Engineering	0	
-v	1157	Avsys Corporation	0	
-v	1158	Voarx R & D Inc	0	
-d	11583011	Tokenet/vg 1001/10m anylan	0	
-d	11589050	Lanfleet/Truevalue	0	
-d	11589051	Lanfleet/Truevalue	0	
-v	1159	Mutech Corp	0	
-d	11590001	MV-1000	0	
-v	115a	Harlequin Ltd	0	
-v	115b	Parallax Graphics	0	
-v	115c	Photron Ltd.	0	
-v	115d	Xircom	0	
-d	115d0003	Cardbus Ethernet 10/100	0	
-s	115d000310140181	10/100 EtherJet Cardbus Adapter	0	
-s	115d000310141181	10/100 EtherJet Cardbus Adapter	0	
-s	115d000310148181	10/100 EtherJet Cardbus Adapter	0	
-s	115d000310149181	10/100 EtherJet Cardbus Adapter	0	
-s	115d0003115d0181	Cardbus Ethernet 10/100	0	
-s	115d0003115d0182	RealPort2 CardBus Ethernet 10/100 (R2BE-100)	0	
-s	115d0003115d1181	Cardbus Ethernet 10/100	0	
-s	115d000311790181	Cardbus Ethernet 10/100	0	
-s	115d000380868181	EtherExpress PRO/100 Mobile CardBus 32 Adapter	0	
-s	115d000380869181	EtherExpress PRO/100 Mobile CardBus 32 Adapter	0	
-d	115d0005	Cardbus Ethernet 10/100	0	
-s	115d000510140182	10/100 EtherJet Cardbus Adapter	0	
-s	115d000510141182	10/100 EtherJet Cardbus Adapter	0	
-s	115d0005115d0182	Cardbus Ethernet 10/100	0	
-s	115d0005115d1182	Cardbus Ethernet 10/100	0	
-d	115d0007	Cardbus Ethernet 10/100	0	
-s	115d000710140182	10/100 EtherJet Cardbus Adapter	0	
-s	115d000710141182	10/100 EtherJet Cardbus Adapter	0	
-s	115d0007115d0182	Cardbus Ethernet 10/100	0	
-s	115d0007115d1182	Cardbus Ethernet 10/100	0	
-d	115d000b	Cardbus Ethernet 10/100	0	
-s	115d000b10140183	10/100 EtherJet Cardbus Adapter	0	
-s	115d000b115d0183	Cardbus Ethernet 10/100	0	
-d	115d000c	Mini-PCI V.90 56k Modem	0	
-d	115d000f	Cardbus Ethernet 10/100	0	
-s	115d000f10140183	10/100 EtherJet Cardbus Adapter	0	
-s	115d000f115d0183	Cardbus Ethernet 10/100	0	
-d	115d00d4	Mini-PCI K56Flex Modem	0	
-d	115d0101	Cardbus 56k modem	0	
-s	115d0101115d1081	Cardbus 56k Modem	0	
-d	115d0103	Cardbus Ethernet + 56k Modem	0	
-s	115d010310149181	Cardbus 56k Modem	0	
-s	115d010311151181	Cardbus Ethernet 100 + 56k Modem	0	
-s	115d0103115d1181	CBEM56G-100 Ethernet + 56k Modem	0	
-s	115d010380869181	PRO/100 LAN + Modem56 CardBus	0	
-v	115e	Peer Protocols Inc	0	
-v	115f	Maxtor Corporation	0	
-v	1160	Megasoft Inc	0	
-v	1161	PFU Limited	0	
-v	1162	OA Laboratory Co Ltd	0	
-v	1163	Rendition	0	
-d	11630001	Verite 1000	0	
-d	11632000	Verite V2000/V2100/V2200	0	
-s	1163200010922000	Stealth II S220	0	
-v	1164	Advanced Peripherals Technologies	0	
-v	1165	Imagraph Corporation	0	
-d	11650001	Motion TPEG Recorder/Player with audio	0	
+d	11484000	FDDI Adapter	0
+s	114840000e11b03b	Netelligent 100 FDDI DAS Fibre SC	0
+s	114840000e11b03c	Netelligent 100 FDDI SAS Fibre SC	0
+s	114840000e11b03d	Netelligent 100 FDDI DAS UTP	0
+s	114840000e11b03e	Netelligent 100 FDDI SAS UTP	0
+s	114840000e11b03f	Netelligent 100 FDDI SAS Fibre MIC	0
+s	1148400011485521	FDDI SK-5521 (SK-NET FDDI-UP)	0
+s	1148400011485522	FDDI SK-5522 (SK-NET FDDI-UP DAS)	0
+s	1148400011485541	FDDI SK-5541 (SK-NET FDDI-FP)	0
+s	1148400011485543	FDDI SK-5543 (SK-NET FDDI-LP)	0
+s	1148400011485544	FDDI SK-5544 (SK-NET FDDI-LP DAS)	0
+s	1148400011485821	FDDI SK-5821 (SK-NET FDDI-UP64)	0
+s	1148400011485822	FDDI SK-5822 (SK-NET FDDI-UP64 DAS)	0
+s	1148400011485841	FDDI SK-5841 (SK-NET FDDI-FP64)	0
+s	1148400011485843	FDDI SK-5843 (SK-NET FDDI-LP64)	0
+s	1148400011485844	FDDI SK-5844 (SK-NET FDDI-LP64 DAS)	0
+d	11484200	Token Ring adapter	0
+d	11484300	SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)	0
+s	1148430011489821	SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)	0
+s	1148430011489822	SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)	0
+s	1148430011489841	SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)	0
+s	1148430011489842	SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)	0
+s	1148430011489843	SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)	0
+s	1148430011489844	SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)	0
+s	1148430011489861	SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)	0
+s	1148430011489862	SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)	0
+s	1148430011489871	SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)	0
+s	1148430011489872	SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)	0
+s	1148430012592970	AT-2970SX Gigabit Ethernet Adapter	0
+s	1148430012592971	AT-2970LX Gigabit Ethernet Adapter	0
+s	1148430012592972	AT-2970TX Gigabit Ethernet Adapter	0
+s	1148430012592973	AT-2971SX Gigabit Ethernet Adapter	0
+s	1148430012592974	AT-2971T Gigabit Ethernet Adapter	0
+s	1148430012592975	AT-2970SX/2SC Gigabit Ethernet Adapter	0
+s	1148430012592976	AT-2970LX/2SC Gigabit Ethernet Adapter	0
+s	1148430012592977	AT-2970TX/2TX Gigabit Ethernet Adapter	0
+d	11484320	SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC	0
+s	1148432011480121	Marvell RDK-8001 Adapter	0
+s	1148432011480221	Marvell RDK-8002 Adapter	0
+s	1148432011480321	Marvell RDK-8003 Adapter	0
+s	1148432011480421	Marvell RDK-8004 Adapter	0
+s	1148432011480621	Marvell RDK-8006 Adapter	0
+s	1148432011480721	Marvell RDK-8007 Adapter	0
+s	1148432011480821	Marvell RDK-8008 Adapter	0
+s	1148432011480921	Marvell RDK-8009 Adapter	0
+s	1148432011481121	Marvell RDK-8011 Adapter	0
+s	1148432011481221	Marvell RDK-8012 Adapter	0
+s	1148432011483221	SK-9521 V2.0 10/100/1000Base-T Adapter	0
+s	1148432011485021	SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter	0
+s	1148432011485041	SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter	0
+s	1148432011485043	SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter	0
+s	1148432011485051	SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter	0
+s	1148432011485061	SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter	0
+s	1148432011485071	SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter	0
+s	1148432011489521	SK-9521 10/100/1000Base-T Adapter	0
+d	11484400	SK-9Dxx Gigabit Ethernet Adapter	0
+d	11484500	SK-9Mxx Gigabit Ethernet Adapter	0
+d	11489000	SK-9S21 10/100/1000Base-T Server Adapter, PCI-X, Copper RJ-45	0
+d	11489843	[Fujitsu] Gigabit Ethernet	0
+d	11489e00	SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45	0
+s	11489e0011482100	SK-9E21 Server Adapter	0
+s	11489e00114821d0	SK-9E21D 10/100/1000Base-T Adapter	0
+s	11489e0011482200	SK-9E22 Server Adapter	0
+s	11489e0011488100	SK-9E81 Server Adapter	0
+s	11489e0011488200	SK-9E82 Server Adapter	0
+s	11489e0011489100	SK-9E91 Server Adapter	0
+s	11489e0011489200	SK-9E92 Server Adapter	0
+v	1149	Win System Corporation	0
+v	114a	VMIC	0
+d	114a5579	VMIPCI-5579 (Reflective Memory Card)	0
+d	114a5587	VMIPCI-5587 (Reflective Memory Card)	0
+d	114a6504	VMIC PCI 7755 FPGA	0
+d	114a7587	VMIVME-7587	0
+v	114b	Canopus Co., Ltd	0
+v	114c	Annabooks	0
+v	114d	IC Corporation	0
+v	114e	Nikon Systems Inc	0
+v	114f	Digi International	0
+d	114f0002	AccelePort EPC	0
+d	114f0003	RightSwitch SE-6	0
+d	114f0004	AccelePort Xem	0
+d	114f0005	AccelePort Xr	0
+d	114f0006	AccelePort Xr,C/X	0
+d	114f0009	AccelePort Xr/J	0
+d	114f000a	AccelePort EPC/J	0
+d	114f000c	DataFirePRIme T1 (1-port)	0
+d	114f000d	SyncPort 2-Port (x.25/FR)	0
+d	114f0011	AccelePort 8r EIA-232 (IBM)	0
+d	114f0012	AccelePort 8r EIA-422	0
+d	114f0013	AccelePort Xr	1
+d	114f0014	AccelePort 8r EIA-422	0
+d	114f0015	AccelePort Xem	0
+d	114f0016	AccelePort EPC/X	0
+d	114f0017	AccelePort C/X	0
+d	114f001a	DataFirePRIme E1 (1-port)	0
+d	114f001b	AccelePort C/X (IBM)	0
+d	114f001d	DataFire RAS T1/E1/PRI	0
+s	114f001d114f0050	DataFire RAS E1 Adapter	0
+s	114f001d114f0051	DataFire RAS Dual E1 Adapter	0
+s	114f001d114f0052	DataFire RAS T1 Adapter	0
+s	114f001d114f0053	DataFire RAS Dual T1 Adapter	0
+d	114f0023	AccelePort RAS	0
+d	114f0024	DataFire RAS B4 ST/U	0
+s	114f0024114f0030	DataFire RAS BRI U Adapter	0
+s	114f0024114f0031	DataFire RAS BRI S/T Adapter	0
+d	114f0026	AccelePort 4r 920	0
+d	114f0027	AccelePort Xr 920	0
+d	114f0028	ClassicBoard 4	0
+d	114f0029	ClassicBoard 8	0
+d	114f0034	AccelePort 2r 920	0
+d	114f0035	DataFire DSP T1/E1/PRI cPCI	0
+d	114f0040	AccelePort Xp	0
+d	114f0042	AccelePort 2p	0
+d	114f0043	AccelePort 4p	0
+d	114f0044	AccelePort 8p	0
+d	114f0045	AccelePort 16p	0
+d	114f004e	AccelePort 32p	0
+d	114f0070	Datafire Micro V IOM2 (Europe)	0
+d	114f0071	Datafire Micro V (Europe)	0
+d	114f0072	Datafire Micro V IOM2 (North America)	0
+d	114f0073	Datafire Micro V (North America)	0
+d	114f00b0	Digi Neo 4	0
+d	114f00b1	Digi Neo 8	0
+d	114f00c8	Digi Neo 2 DB9	0
+d	114f00c9	Digi Neo 2 DB9 PRI	0
+d	114f00ca	Digi Neo 2 RJ45	0
+d	114f00cb	Digi Neo 2 RJ45 PRI	0
+d	114f00d0	ClassicBoard 4 422	0
+d	114f00d1	ClassicBoard 8 422	0
+d	114f6001	Avanstar	0
+v	1150	Thinking Machines Corp	0
+v	1151	JAE Electronics Inc.	0
+v	1152	Megatek	0
+v	1153	Land Win Electronic Corp	0
+v	1154	Melco Inc	0
+v	1155	Pine Technology Ltd	0
+v	1156	Periscope Engineering	0
+v	1157	Avsys Corporation	0
+v	1158	Voarx R & D Inc	0
+d	11583011	Tokenet/vg 1001/10m anylan	0
+d	11589050	Lanfleet/Truevalue	0
+d	11589051	Lanfleet/Truevalue	0
+v	1159	Mutech Corp	0
+d	11590001	MV-1000	0
+v	115a	Harlequin Ltd	0
+v	115b	Parallax Graphics	0
+v	115c	Photron Ltd.	0
+v	115d	Xircom	0
+d	115d0003	Cardbus Ethernet 10/100	0
+s	115d000310140181	10/100 EtherJet Cardbus Adapter	0
+s	115d000310141181	10/100 EtherJet Cardbus Adapter	0
+s	115d000310148181	10/100 EtherJet Cardbus Adapter	0
+s	115d000310149181	10/100 EtherJet Cardbus Adapter	0
+s	115d0003115d0181	Cardbus Ethernet 10/100	0
+s	115d0003115d0182	RealPort2 CardBus Ethernet 10/100 (R2BE-100)	0
+s	115d0003115d1181	Cardbus Ethernet 10/100	0
+s	115d000311790181	Cardbus Ethernet 10/100	0
+s	115d000380868181	EtherExpress PRO/100 Mobile CardBus 32 Adapter	0
+s	115d000380869181	EtherExpress PRO/100 Mobile CardBus 32 Adapter	0
+d	115d0005	Cardbus Ethernet 10/100	0
+s	115d000510140182	10/100 EtherJet Cardbus Adapter	0
+s	115d000510141182	10/100 EtherJet Cardbus Adapter	0
+s	115d0005115d0182	Cardbus Ethernet 10/100	0
+s	115d0005115d1182	Cardbus Ethernet 10/100	0
+d	115d0007	Cardbus Ethernet 10/100	0
+s	115d000710140182	10/100 EtherJet Cardbus Adapter	0
+s	115d000710141182	10/100 EtherJet Cardbus Adapter	0
+s	115d0007115d0182	Cardbus Ethernet 10/100	0
+s	115d0007115d1182	Cardbus Ethernet 10/100	0
+d	115d000b	Cardbus Ethernet 10/100	0
+s	115d000b10140183	10/100 EtherJet Cardbus Adapter	0
+s	115d000b115d0183	Cardbus Ethernet 10/100	0
+d	115d000c	Mini-PCI V.90 56k Modem	0
+d	115d000f	Cardbus Ethernet 10/100	0
+s	115d000f10140183	10/100 EtherJet Cardbus Adapter	0
+s	115d000f115d0183	Cardbus Ethernet 10/100	0
+d	115d00d4	Mini-PCI K56Flex Modem	0
+d	115d0101	Cardbus 56k modem	0
+s	115d0101115d1081	Cardbus 56k Modem	0
+d	115d0103	Cardbus Ethernet + 56k Modem	0
+s	115d010310149181	Cardbus 56k Modem	0
+s	115d010311151181	Cardbus Ethernet 100 + 56k Modem	0
+s	115d0103115d1181	CBEM56G-100 Ethernet + 56k Modem	0
+s	115d010380869181	PRO/100 LAN + Modem56 CardBus	0
+v	115e	Peer Protocols Inc	0
+v	115f	Maxtor Corporation	0
+v	1160	Megasoft Inc	0
+v	1161	PFU Limited	0
+v	1162	OA Laboratory Co Ltd	0
+v	1163	Rendition	0
+d	11630001	Verite 1000	0
+d	11632000	Verite V2000/V2100/V2200	0
+s	1163200010922000	Stealth II S220	0
+v	1164	Advanced Peripherals Technologies	0
+v	1165	Imagraph Corporation	0
+d	11650001	Motion TPEG Recorder/Player with audio	0
 v	1166	Broadcom	0	nee ServerWorks
-d	11660000	CMIC-LE	0	
-d	11660005	CNB20-LE Host Bridge	0	
-d	11660006	CNB20HE Host Bridge	0	
-d	11660007	CNB20-LE Host Bridge	0	
-d	11660008	CNB20HE Host Bridge	0	
-d	11660009	CNB20LE Host Bridge	0	
-d	11660010	CIOB30	0	
-d	11660011	CMIC-HE	0	
-d	11660012	CMIC-WS Host Bridge (GC-LE chipset)	0	
-d	11660013	CNB20-HE Host Bridge	0	
-d	11660014	CMIC-LE Host Bridge (GC-LE chipset)	0	
-d	11660015	CMIC-GC Host Bridge	0	
-d	11660016	CMIC-GC Host Bridge	0	
-d	11660017	GCNB-LE Host Bridge	0	
-d	11660036	HT1000 PCI/PCI-X bridge	0	
-d	11660101	CIOB-X2 PCI-X I/O Bridge	0	
-d	11660103	EPB PCI-Express to PCI-X Bridge	0	
-d	11660104	HT1000 PCI/PCI-X bridge	0	
-d	11660110	CIOB-E I/O Bridge with Gigabit Ethernet	0	
-d	11660130	HT2000 PCI-X bridge	0	
-d	11660132	HT2000 PCI-Express bridge	0	
-s	1166013211660132	HT2000 PCI-Express bridge	0	
-d	11660140	HT2100 PCI-Express Bridge	0	
-d	11660141	HT2100 PCI-Express Bridge	0	
-d	11660142	HT2100 PCI-Express Bridge	0	
-d	11660200	OSB4 South Bridge	0	
-d	11660201	CSB5 South Bridge	0	
-s	116602014c531080	CT8 mainboard	0	
-d	11660203	CSB6 South Bridge	0	
-s	1166020317341012	Primergy RX300	0	
-d	11660205	HT1000 Legacy South Bridge	0	
-d	11660211	OSB4 IDE Controller	0	
-d	11660212	CSB5 IDE Controller	0	
-s	116602124c531080	CT8 mainboard	0	
-d	11660213	CSB6 RAID/IDE Controller	0	
-s	1166021310284134	PowerEdge 600SC	0	
-s	116602131028c134	Poweredge SC600	0	
-s	1166021317341012	Primergy RX300	0	
-d	11660214	HT1000 Legacy IDE controller	0	
-d	11660217	CSB6 IDE Controller	0	
-s	1166021710284134	Poweredge SC600	0	
-d	11660220	OSB4/CSB5 OHCI USB Controller	0	
-s	116602204c531080	CT8 mainboard	0	
-d	11660221	CSB6 OHCI USB Controller	0	
-s	1166022117341012	Primergy RX300	0	
-d	11660223	HT1000 USB Controller	0	
-d	11660225	CSB5 LPC bridge	0	
-d	11660227	GCLE-2 Host Bridge	0	
-s	1166022717341012	Primergy RX300	0	
-d	11660230	CSB5 LPC bridge	0	
-s	116602304c531080	CT8 mainboard	0	
-d	11660234	HT1000 LPC Bridge	0	
-d	11660240	K2 SATA	0	
-d	11660241	RAIDCore RC4000	0	
-d	11660242	RAIDCore BC4000	0	
-d	1166024a	BCM5785 (HT1000) SATA Native SATA Mode	0	
+d	11660000	CMIC-LE	0
+d	11660005	CNB20-LE Host Bridge	0
+d	11660006	CNB20HE Host Bridge	0
+d	11660007	CNB20-LE Host Bridge	0
+d	11660008	CNB20HE Host Bridge	0
+d	11660009	CNB20LE Host Bridge	0
+d	11660010	CIOB30	0
+d	11660011	CMIC-HE	0
+d	11660012	CMIC-WS Host Bridge (GC-LE chipset)	0
+d	11660013	CNB20-HE Host Bridge	0
+d	11660014	CMIC-LE Host Bridge (GC-LE chipset)	0
+d	11660015	CMIC-GC Host Bridge	0
+d	11660016	CMIC-GC Host Bridge	0
+d	11660017	GCNB-LE Host Bridge	0
+d	11660036	HT1000 PCI/PCI-X bridge	0
+d	11660101	CIOB-X2 PCI-X I/O Bridge	0
+d	11660103	EPB PCI-Express to PCI-X Bridge	0
+d	11660104	HT1000 PCI/PCI-X bridge	0
+d	11660110	CIOB-E I/O Bridge with Gigabit Ethernet	0
+d	11660130	HT2000 PCI-X bridge	0
+d	11660132	HT2000 PCI-Express bridge	0
+s	1166013211660132	HT2000 PCI-Express bridge	0
+d	11660140	HT2100 PCI-Express Bridge	0
+d	11660141	HT2100 PCI-Express Bridge	0
+d	11660142	HT2100 PCI-Express Bridge	0
+d	11660200	OSB4 South Bridge	0
+d	11660201	CSB5 South Bridge	0
+s	116602014c531080	CT8 mainboard	0
+d	11660203	CSB6 South Bridge	0
+s	1166020317341012	Primergy RX300	0
+d	11660205	HT1000 Legacy South Bridge	0
+d	11660211	OSB4 IDE Controller	0
+d	11660212	CSB5 IDE Controller	0
+s	116602124c531080	CT8 mainboard	0
+d	11660213	CSB6 RAID/IDE Controller	0
+s	1166021310284134	PowerEdge 600SC	0
+s	116602131028c134	Poweredge SC600	0
+s	1166021317341012	Primergy RX300	0
+d	11660214	HT1000 Legacy IDE controller	0
+d	11660217	CSB6 IDE Controller	0
+s	1166021710284134	Poweredge SC600	0
+d	11660220	OSB4/CSB5 OHCI USB Controller	0
+s	116602204c531080	CT8 mainboard	0
+d	11660221	CSB6 OHCI USB Controller	0
+s	1166022117341012	Primergy RX300	0
+d	11660223	HT1000 USB Controller	0
+d	11660225	CSB5 LPC bridge	0
+d	11660227	GCLE-2 Host Bridge	0
+s	1166022717341012	Primergy RX300	0
+d	11660230	CSB5 LPC bridge	0
+s	116602304c531080	CT8 mainboard	0
+d	11660234	HT1000 LPC Bridge	0
+d	11660240	K2 SATA	0
+d	11660241	RAIDCore RC4000	0
+d	11660242	RAIDCore BC4000	0
+d	1166024a	BCM5785 (HT1000) SATA Native SATA Mode	0
 d	1166024b	BCM5785 (HT1000) PATA/IDE Mode	0	The device starts as 024a, and changes to 024b if set to PATA mode in BIOS
-v	1167	Mutoh Industries Inc	0	
-v	1168	Thine Electronics Inc	0	
-v	1169	Centre for Development of Advanced Computing	0	
-v	116a	Polaris Communications	0	
-d	116a6100	Bus/Tag Channel	0	
-d	116a6800	Escon Channel	0	
-d	116a7100	Bus/Tag Channel	0	
-d	116a7800	Escon Channel	0	
-v	116b	Connectware Inc	0	
-v	116c	Intelligent Resources Integrated Systems	0	
-v	116d	Martin-Marietta	0	
-v	116e	Electronics for Imaging	0	
-v	116f	Workstation Technology	0	
-v	1170	Inventec Corporation	0	
-v	1171	Loughborough Sound Images Plc	0	
-v	1172	Altera Corporation	0	
-v	1173	Adobe Systems, Inc	0	
-v	1174	Bridgeport Machines	0	
-v	1175	Mitron Computer Inc.	0	
-v	1176	SBE Incorporated	0	
-v	1177	Silicon Engineering	0	
-v	1178	Alfa, Inc.	0	
-d	1178afa1	Fast Ethernet Adapter	0	
-v	1179	Toshiba America Info Systems	0	
-v	1179		1	
-d	11790102	Extended IDE Controller	0	
-d	11790103	EX-IDE Type-B	0	
-d	11790404	DVD Decoder card	0	
-d	11790406	Tecra Video Capture device	0	
-d	11790407	DVD Decoder card (Version 2)	0	
-d	11790601	CPU to PCI bridge	0	
-s	1179060111790001	Satellite Pro	0	
-d	11790603	ToPIC95 PCI to CardBus Bridge for Notebooks	0	
-d	1179060a	ToPIC95	0	
-s	1179060a11790001	Satellite Pro	0	
-d	1179060f	ToPIC97	0	
-d	11790617	ToPIC100 PCI to Cardbus Bridge with ZV Support	0	
-d	11790618	CPU to PCI and PCI to ISA bridge	0	
+v	1167	Mutoh Industries Inc	0
+v	1168	Thine Electronics Inc	0
+v	1169	Centre for Development of Advanced Computing	0
+v	116a	Polaris Communications	0
+d	116a6100	Bus/Tag Channel	0
+d	116a6800	Escon Channel	0
+d	116a7100	Bus/Tag Channel	0
+d	116a7800	Escon Channel	0
+v	116b	Connectware Inc	0
+v	116c	Intelligent Resources Integrated Systems	0
+v	116d	Martin-Marietta	0
+v	116e	Electronics for Imaging	0
+v	116f	Workstation Technology	0
+v	1170	Inventec Corporation	0
+v	1171	Loughborough Sound Images Plc	0
+v	1172	Altera Corporation	0
+v	1173	Adobe Systems, Inc	0
+v	1174	Bridgeport Machines	0
+v	1175	Mitron Computer Inc.	0
+v	1176	SBE Incorporated	0
+v	1177	Silicon Engineering	0
+v	1178	Alfa, Inc.	0
+d	1178afa1	Fast Ethernet Adapter	0
+v	1179	Toshiba America Info Systems	0
+v	1179		1
+d	11790102	Extended IDE Controller	0
+d	11790103	EX-IDE Type-B	0
+d	11790404	DVD Decoder card	0
+d	11790406	Tecra Video Capture device	0
+d	11790407	DVD Decoder card (Version 2)	0
+d	11790601	CPU to PCI bridge	0
+s	1179060111790001	Satellite Pro	0
+d	11790603	ToPIC95 PCI to CardBus Bridge for Notebooks	0
+d	1179060a	ToPIC95	0
+s	1179060a11790001	Satellite Pro	0
+d	1179060f	ToPIC97	0
+d	11790617	ToPIC100 PCI to Cardbus Bridge with ZV Support	0
+d	11790618	CPU to PCI and PCI to ISA bridge	0
 d	11790701	FIR Port	0	Claimed to be Lucent DSP1645 [Mars], but that's apparently incorrect. Does anyone know the correct ID?
-d	11790804	TC6371AF SmartMedia Controller	0	
-d	11790805	SD TypA Controller	0	
-d	11790d01	FIR Port Type-DO	0	
-s	11790d0111790001	FIR Port Type-DO	0	
-v	117a	A-Trend Technology	0	
-v	117b	L G Electronics, Inc.	0	
-v	117c	Atto Technology	0	
-d	117c0030	Ultra320 SCSI Host Adapter	0	
-s	117c0030117c8013	ExpressPCI UL4D	0	
-s	117c0030117c8014	ExpressPCI UL4S	0	
-v	117d	Becton & Dickinson	0	
-v	117e	T/R Systems	0	
-v	117f	Integrated Circuit Systems	0	
-v	1180	Ricoh Co Ltd	0	
-d	11800465	RL5c465	0	
-d	11800466	RL5c466	0	
-d	11800475	RL5c475	0	
-s	11800475144dc006	vpr Matrix 170B4 CardBus bridge	0	
-d	11800476	RL5c476 II	0	
-s	1180047610140185	ThinkPad A/T/X Series	0	
-s	1180047610280188	Inspiron 6000 laptop	0	
-s	1180047610431967	V6800V	0	
-s	1180047610431987	Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )	0	
-s	11800476104d80df	Vaio PCG-FX403	0	
-s	11800476104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	11800476104d814e	VAIO GRZ390Z	1	
-s	1180047610f78338	Panasonic CF-Y5 laptop	1	
-s	11800476144dc00c	P35 notebook	0	
-s	1180047614ef0220	PCD-RP-220S	0	
-s	1180047617aa201c	Thinkpad X60s	0	
-d	11800477	RL5c477	0	
-d	11800478	RL5c478	0	
-s	1180047810140184	ThinkPad A30p (2653-64G)	0	
-d	11800511	R5C511	0	
-d	11800522	R5C522 IEEE 1394 Controller	0	
-s	11800522101401cf	ThinkPad A30p (2653-64G)	0	
-s	1180052210431967	V6800V	0	
-d	11800551	R5C551 IEEE 1394 Controller	0	
-s	11800551144dc006	vpr Matrix 170B4	0	
-d	11800552	R5C552 IEEE 1394 Controller	0	
-s	1180055210140511	ThinkPad A/T/X Series	0	
-s	1180055210280188	Inspiron 6000 laptop	0	
-s	11800552144dc00c	P35 notebook	0	
-s	1180055217aa201e	Thinkpad X60s	0	
-d	11800554	R5C554	0	
-d	11800575	R5C575 SD Bus Host Adapter	0	
-d	11800576	R5C576 SD Bus Host Adapter	0	
-d	11800592	R5C592 Memory Stick Bus Host Adapter	0	
-s	1180059210431967	V6800V	0	
-s	11800592144dc018	X20 IV	0	
-d	11800811	R5C811	0	
-d	11800822	R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter	0	
-s	1180082210140556	Thinkpad X40	0	
-s	1180082210140598	Thinkpad Z60m	0	
-s	1180082210280188	Inspiron 6000 laptop	0	
-s	11800822102801a2	Inspiron 9200	0	
-s	1180082210431967	ASUS V6800V	0	
-s	1180082210f78338	Panasonic CF-Y5 laptop	1	
-s	11800822144dc018	X20 IV	0	
-s	1180082217aa201d	Thinkpad X60s	0	
+d	11790804	TC6371AF SmartMedia Controller	0
+d	11790805	SD TypA Controller	0
+d	11790d01	FIR Port Type-DO	0
+s	11790d0111790001	FIR Port Type-DO	0
+v	117a	A-Trend Technology	0
+v	117b	L G Electronics, Inc.	0
+v	117c	Atto Technology	0
+d	117c0030	Ultra320 SCSI Host Adapter	0
+s	117c0030117c8013	ExpressPCI UL4D	0
+s	117c0030117c8014	ExpressPCI UL4S	0
+v	117d	Becton & Dickinson	0
+v	117e	T/R Systems	0
+v	117f	Integrated Circuit Systems	0
+v	1180	Ricoh Co Ltd	0
+d	11800465	RL5c465	0
+d	11800466	RL5c466	0
+d	11800475	RL5c475	0
+s	11800475144dc006	vpr Matrix 170B4 CardBus bridge	0
+d	11800476	RL5c476 II	0
+s	1180047610140185	ThinkPad A/T/X Series	0
+s	1180047610280188	Inspiron 6000 laptop	0
+s	1180047610431967	V6800V	0
+s	1180047610431987	Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )	0
+s	11800476104d80df	Vaio PCG-FX403	0
+s	11800476104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	11800476104d814e	VAIO GRZ390Z	1
+s	1180047610f78338	Panasonic CF-Y5 laptop	1
+s	11800476144dc00c	P35 notebook	0
+s	1180047614ef0220	PCD-RP-220S	0
+s	1180047617aa201c	Thinkpad X60s	0
+d	11800477	RL5c477	0
+d	11800478	RL5c478	0
+s	1180047810140184	ThinkPad A30p (2653-64G)	0
+d	11800511	R5C511	0
+d	11800522	R5C522 IEEE 1394 Controller	0
+s	11800522101401cf	ThinkPad A30p (2653-64G)	0
+s	1180052210431967	V6800V	0
+d	11800551	R5C551 IEEE 1394 Controller	0
+s	11800551144dc006	vpr Matrix 170B4	0
+d	11800552	R5C552 IEEE 1394 Controller	0
+s	1180055210140511	ThinkPad A/T/X Series	0
+s	1180055210280188	Inspiron 6000 laptop	0
+s	11800552144dc00c	P35 notebook	0
+s	1180055217aa201e	Thinkpad X60s	0
+d	11800554	R5C554	0
+d	11800575	R5C575 SD Bus Host Adapter	0
+d	11800576	R5C576 SD Bus Host Adapter	0
+d	11800592	R5C592 Memory Stick Bus Host Adapter	0
+s	1180059210431967	V6800V	0
+s	11800592144dc018	X20 IV	0
+d	11800811	R5C811	0
+d	11800822	R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter	0
+s	1180082210140556	Thinkpad X40	0
+s	1180082210140598	Thinkpad Z60m	0
+s	1180082210280188	Inspiron 6000 laptop	0
+s	11800822102801a2	Inspiron 9200	0
+s	1180082210431967	ASUS V6800V	0
+s	1180082210f78338	Panasonic CF-Y5 laptop	1
+s	11800822144dc018	X20 IV	0
+s	1180082217aa201d	Thinkpad X60s	0
 d	11800832	R5C832 IEEE 1394 Controller	1	0832 Seems to be the 1394-part of this chip -> http://www.ricoh.com/LSI/product_pcif/pcc/5c832/index.html
-d	11800841	R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394	0	
-d	11800852	xD-Picture Card Controller	0	
-s	1180085210431967	V6800V	0	
-v	1181	Telmatics International	0	
-v	1183	Fujikura Ltd	0	
-v	1184	Forks Inc	0	
-v	1185	Dataworld International Ltd	0	
-v	1186	D-Link System Inc	0	
-d	11860100	DC21041	0	
-d	11861002	DL10050 Sundance Ethernet	0	
-s	1186100211861002	DFE-550TX	0	
-s	1186100211861012	DFE-580TX	0	
-d	11861025	AirPlus Xtreme G DWL-G650 Adapter	0	
-d	11861026	AirXpert DWL-AG650 Wireless Cardbus Adapter	0	
-d	11861043	AirXpert DWL-AG650 Wireless Cardbus Adapter	0	
-d	11861300	RTL8139 Ethernet	0	
-s	1186130011861300	DFE-538TX 10/100 Ethernet Adapter	0	
-s	1186130011861301	DFE-530TX+ 10/100 Ethernet Adapter	0	
-s	1186130011861303	DFE-528TX 10/100 Fast Ethernet PCI Adapter	0	
-d	11861340	DFE-690TXD CardBus PC Card	0	
-d	11861405	DFE-520TX Fast Ethernet PCI Adapter	0	
-d	11861541	DFE-680TXD CardBus PC Card	0	
-d	11861561	DRP-32TXD Cardbus PC Card	0	
-d	11862027	AirPlus Xtreme G DWL-G520 Adapter	0	
-d	11863203	AirPlus Xtreme G DWL-G520 Adapter	0	
-d	11863300	DWL-510 2.4GHz Wireless PCI Adapter	0	
-d	11863a03	AirPro DWL-A650 Wireless Cardbus Adapter(rev.B)	0	
-d	11863a04	AirPro DWL-AB650 Multimode Wireless Cardbus Adapter	0	
-d	11863a05	AirPro DWL-AB520 Multimode Wireless PCI Adapter	0	
-d	11863a07	AirXpert DWL-AG650 Wireless Cardbus Adapter	0	
-d	11863a08	AirXpert DWL-AG520 Wireless PCI Adapter	0	
-d	11863a10	AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B)	0	
-d	11863a11	AirXpert DWL-AG520 Wireless PCI Adapter(rev.B)	0	
-d	11863a12	AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)	0	
-d	11863a13	AirPlus DWL-G520 Wireless PCI Adapter(rev.B)	0	
-d	11863a14	AirPremier DWL-AG530 Wireless PCI Adapter	0	
-d	11863a63	AirXpert DWL-AG660 Wireless Cardbus Adapter	0	
-d	11864000	DL2000-based Gigabit Ethernet	0	
-d	11864300	DGE-528T Gigabit Ethernet Adapter	0	
+d	11800841	R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394	0
+d	11800852	xD-Picture Card Controller	0
+s	1180085210431967	V6800V	0
+v	1181	Telmatics International	0
+v	1183	Fujikura Ltd	0
+v	1184	Forks Inc	0
+v	1185	Dataworld International Ltd	0
+v	1186	D-Link System Inc	0
+d	11860100	DC21041	0
+d	11861002	DL10050 Sundance Ethernet	0
+s	1186100211861002	DFE-550TX	0
+s	1186100211861012	DFE-580TX	0
+d	11861025	AirPlus Xtreme G DWL-G650 Adapter	0
+d	11861026	AirXpert DWL-AG650 Wireless Cardbus Adapter	0
+d	11861043	AirXpert DWL-AG650 Wireless Cardbus Adapter	0
+d	11861300	RTL8139 Ethernet	0
+s	1186130011861300	DFE-538TX 10/100 Ethernet Adapter	0
+s	1186130011861301	DFE-530TX+ 10/100 Ethernet Adapter	0
+s	1186130011861303	DFE-528TX 10/100 Fast Ethernet PCI Adapter	0
+d	11861340	DFE-690TXD CardBus PC Card	0
+d	11861405	DFE-520TX Fast Ethernet PCI Adapter	0
+d	11861541	DFE-680TXD CardBus PC Card	0
+d	11861561	DRP-32TXD Cardbus PC Card	0
+d	11862027	AirPlus Xtreme G DWL-G520 Adapter	0
+d	11863203	AirPlus Xtreme G DWL-G520 Adapter	0
+d	11863300	DWL-510 2.4GHz Wireless PCI Adapter	0
+d	11863a03	AirPro DWL-A650 Wireless Cardbus Adapter(rev.B)	0
+d	11863a04	AirPro DWL-AB650 Multimode Wireless Cardbus Adapter	0
+d	11863a05	AirPro DWL-AB520 Multimode Wireless PCI Adapter	0
+d	11863a07	AirXpert DWL-AG650 Wireless Cardbus Adapter	0
+d	11863a08	AirXpert DWL-AG520 Wireless PCI Adapter	0
+d	11863a10	AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B)	0
+d	11863a11	AirXpert DWL-AG520 Wireless PCI Adapter(rev.B)	0
+d	11863a12	AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)	0
+d	11863a13	AirPlus DWL-G520 Wireless PCI Adapter(rev.B)	0
+d	11863a14	AirPremier DWL-AG530 Wireless PCI Adapter	0
+d	11863a63	AirXpert DWL-AG660 Wireless Cardbus Adapter	0
+d	11864000	DL2000-based Gigabit Ethernet	0
+d	11864300	DGE-528T Gigabit Ethernet Adapter	0
 d	11864800	DGE-530T Gigabit Ethernet Adapter (rev 11)	0	There are at least 3 revisions of this adapter; 4800 is board revision A1 as far as I can tell, revision B1 is 4c00.
-d	11864b01	DGE-530T Gigabit Ethernet Adapter (rev 11)	0	
-d	11864c00	Gigabit Ethernet Adapter	0	
-s	11864c0011864c00	DGE-530T Gigabit Ethernet Adapter	0	
-d	11868400	D-Link DWL-650+ CardBus PC Card	0	
-v	1187	Advanced Technology Laboratories, Inc.	0	
-v	1188	Shima Seiki Manufacturing Ltd.	0	
-v	1189	Matsushita Electronics Co Ltd	0	
-v	118a	Hilevel Technology	0	
-v	118b	Hypertec Pty Limited	0	
-v	118c	Corollary, Inc	0	
-d	118c0014	PCIB [C-bus II to PCI bus host bridge chip]	0	
-d	118c1117	Intel 8-way XEON Profusion Chipset [Cache Coherency Filter]	0	
-v	118d	BitFlow Inc	0	
-d	118d0001	Raptor-PCI framegrabber	0	
-d	118d0012	Model 12 Road Runner Frame Grabber	0	
-d	118d0014	Model 14 Road Runner Frame Grabber	0	
-d	118d0024	Model 24 Road Runner Frame Grabber	0	
-d	118d0044	Model 44 Road Runner Frame Grabber	0	
-d	118d0112	Model 12 Road Runner Frame Grabber	0	
-d	118d0114	Model 14 Road Runner Frame Grabber	0	
-d	118d0124	Model 24 Road Runner Frame Grabber	0	
-d	118d0144	Model 44 Road Runner Frame Grabber	0	
-d	118d0212	Model 12 Road Runner Frame Grabber	0	
-d	118d0214	Model 14 Road Runner Frame Grabber	0	
-d	118d0224	Model 24 Road Runner Frame Grabber	0	
-d	118d0244	Model 44 Road Runner Frame Grabber	0	
-d	118d0312	Model 12 Road Runner Frame Grabber	0	
-d	118d0314	Model 14 Road Runner Frame Grabber	0	
-d	118d0324	Model 24 Road Runner Frame Grabber	0	
-d	118d0344	Model 44 Road Runner Frame Grabber	0	
-v	118e	Hermstedt GmbH	0	
-v	118f	Green Logic	0	
-v	1190	Tripace	0	
-d	1190c731	TP-910/920/940 PCI Ultra(Wide) SCSI Adapter	0	
-v	1191	Artop Electronic Corp	0	
-d	11910003	SCSI Cache Host Adapter	0	
-d	11910004	ATP8400	0	
-d	11910005	ATP850UF	0	
-d	11910006	ATP860 NO-BIOS	0	
-d	11910007	ATP860	0	
-d	11910008	ATP865 NO-ROM	0	
-d	11910009	ATP865	0	
-d	11918002	AEC6710 SCSI-2 Host Adapter	0	
-d	11918010	AEC6712UW SCSI	0	
-d	11918020	AEC6712U SCSI	0	
-d	11918030	AEC6712S SCSI	0	
-d	11918040	AEC6712D SCSI	0	
-d	11918050	AEC6712SUW SCSI	0	
-d	11918060	AEC6712 SCSI	0	
-d	11918080	AEC67160 SCSI	0	
-d	11918081	AEC67160S SCSI	0	
-d	1191808a	AEC67162 2-ch. LVD SCSI	0	
-v	1192	Densan Company Ltd	0	
-v	1193	Zeitnet Inc.	0	
-d	11930001	1221	0	
-d	11930002	1225	0	
-v	1194	Toucan Technology	0	
-v	1195	Ratoc System Inc	0	
-v	1196	Hytec Electronics Ltd	0	
-v	1197	Gage Applied Sciences, Inc.	0	
-d	1197010c	CompuScope 82G 8bit 2GS/s Analog Input Card	0	
-v	1198	Lambda Systems Inc	0	
-v	1199	Attachmate Corporation	0	
-v	119a	Mind Share, Inc.	0	
-v	119b	Omega Micro Inc.	0	
-d	119b1221	82C092G	0	
-v	119c	Information Technology Inst.	0	
-v	119d	Bug, Inc. Sapporo Japan	0	
-v	119e	Fujitsu Microelectronics Ltd.	0	
-d	119e0001	FireStream 155	0	
-d	119e0003	FireStream 50	0	
-v	119f	Bull HN Information Systems	0	
-v	11a0	Convex Computer Corporation	0	
-v	11a1	Hamamatsu Photonics K.K.	0	
-v	11a2	Sierra Research and Technology	0	
-v	11a3	Deuretzbacher GmbH & Co. Eng. KG	0	
-v	11a4	Barco Graphics NV	0	
-v	11a5	Microunity Systems Eng. Inc	0	
-v	11a6	Pure Data Ltd.	0	
-v	11a7	Power Computing Corp.	0	
-v	11a8	Systech Corp.	0	
-v	11a9	InnoSys Inc.	0	
-d	11a94240	AMCC S933Q Intelligent Serial Card	0	
-v	11aa	Actel	0	
+d	11864b01	DGE-530T Gigabit Ethernet Adapter (rev 11)	0
+d	11864c00	Gigabit Ethernet Adapter	0
+s	11864c0011864c00	DGE-530T Gigabit Ethernet Adapter	0
+d	11868400	D-Link DWL-650+ CardBus PC Card	0
+v	1187	Advanced Technology Laboratories, Inc.	0
+v	1188	Shima Seiki Manufacturing Ltd.	0
+v	1189	Matsushita Electronics Co Ltd	0
+v	118a	Hilevel Technology	0
+v	118b	Hypertec Pty Limited	0
+v	118c	Corollary, Inc	0
+d	118c0014	PCIB [C-bus II to PCI bus host bridge chip]	0
+d	118c1117	Intel 8-way XEON Profusion Chipset [Cache Coherency Filter]	0
+v	118d	BitFlow Inc	0
+d	118d0001	Raptor-PCI framegrabber	0
+d	118d0012	Model 12 Road Runner Frame Grabber	0
+d	118d0014	Model 14 Road Runner Frame Grabber	0
+d	118d0024	Model 24 Road Runner Frame Grabber	0
+d	118d0044	Model 44 Road Runner Frame Grabber	0
+d	118d0112	Model 12 Road Runner Frame Grabber	0
+d	118d0114	Model 14 Road Runner Frame Grabber	0
+d	118d0124	Model 24 Road Runner Frame Grabber	0
+d	118d0144	Model 44 Road Runner Frame Grabber	0
+d	118d0212	Model 12 Road Runner Frame Grabber	0
+d	118d0214	Model 14 Road Runner Frame Grabber	0
+d	118d0224	Model 24 Road Runner Frame Grabber	0
+d	118d0244	Model 44 Road Runner Frame Grabber	0
+d	118d0312	Model 12 Road Runner Frame Grabber	0
+d	118d0314	Model 14 Road Runner Frame Grabber	0
+d	118d0324	Model 24 Road Runner Frame Grabber	0
+d	118d0344	Model 44 Road Runner Frame Grabber	0
+v	118e	Hermstedt GmbH	0
+v	118f	Green Logic	0
+v	1190	Tripace	0
+d	1190c731	TP-910/920/940 PCI Ultra(Wide) SCSI Adapter	0
+v	1191	Artop Electronic Corp	0
+d	11910003	SCSI Cache Host Adapter	0
+d	11910004	ATP8400	0
+d	11910005	ATP850UF	0
+d	11910006	ATP860 NO-BIOS	0
+d	11910007	ATP860	0
+d	11910008	ATP865 NO-ROM	0
+d	11910009	ATP865	0
+d	11918002	AEC6710 SCSI-2 Host Adapter	0
+d	11918010	AEC6712UW SCSI	0
+d	11918020	AEC6712U SCSI	0
+d	11918030	AEC6712S SCSI	0
+d	11918040	AEC6712D SCSI	0
+d	11918050	AEC6712SUW SCSI	0
+d	11918060	AEC6712 SCSI	0
+d	11918080	AEC67160 SCSI	0
+d	11918081	AEC67160S SCSI	0
+d	1191808a	AEC67162 2-ch. LVD SCSI	0
+v	1192	Densan Company Ltd	0
+v	1193	Zeitnet Inc.	0
+d	11930001	1221	0
+d	11930002	1225	0
+v	1194	Toucan Technology	0
+v	1195	Ratoc System Inc	0
+v	1196	Hytec Electronics Ltd	0
+v	1197	Gage Applied Sciences, Inc.	0
+d	1197010c	CompuScope 82G 8bit 2GS/s Analog Input Card	0
+v	1198	Lambda Systems Inc	0
+v	1199	Attachmate Corporation	0
+v	119a	Mind Share, Inc.	0
+v	119b	Omega Micro Inc.	0
+d	119b1221	82C092G	0
+v	119c	Information Technology Inst.	0
+v	119d	Bug, Inc. Sapporo Japan	0
+v	119e	Fujitsu Microelectronics Ltd.	0
+d	119e0001	FireStream 155	0
+d	119e0003	FireStream 50	0
+v	119f	Bull HN Information Systems	0
+v	11a0	Convex Computer Corporation	0
+v	11a1	Hamamatsu Photonics K.K.	0
+v	11a2	Sierra Research and Technology	0
+v	11a3	Deuretzbacher GmbH & Co. Eng. KG	0
+v	11a4	Barco Graphics NV	0
+v	11a5	Microunity Systems Eng. Inc	0
+v	11a6	Pure Data Ltd.	0
+v	11a7	Power Computing Corp.	0
+v	11a8	Systech Corp.	0
+v	11a9	InnoSys Inc.	0
+d	11a94240	AMCC S933Q Intelligent Serial Card	0
+v	11aa	Actel	0
 v	11ab	Marvell Technology Group Ltd.	0	Nee Galileo Technology, Inc.
-d	11ab0146	GT-64010/64010A System Controller	0	
+d	11ab0146	GT-64010/64010A System Controller	0
 d	11ab11ab	Marvell Technology Group Ltd.	1	MV88SE614x SATA II PCI-E controller
 d	11ab11ab	11ab:614x Marvell Technology Group , MV88SE614x SATA II PCI-E controller	1	MV88SE614x SATA II PCI-E controller
-d	11ab138f	W8300 802.11 Adapter (rev 07)	0	
-d	11ab1fa6	Marvell W8300 802.11 Adapter	0	
-d	11ab1fa7	88W8310 and 88W8000G [Libertas] 802.11g client chipset	0	
-d	11ab1faa	88w8335 [Libertas] 802.11b/g Wireless	0	
-s	11ab1faa13854e00	WG511 v2 54MBit/ Wireless PC-Card	0	
+d	11ab138f	W8300 802.11 Adapter (rev 07)	0
+d	11ab1fa6	Marvell W8300 802.11 Adapter	0
+d	11ab1fa7	88W8310 and 88W8000G [Libertas] 802.11g client chipset	0
+d	11ab1faa	88w8335 [Libertas] 802.11b/g Wireless	0
+s	11ab1faa13854e00	WG511 v2 54MBit/ Wireless PC-Card	0
 d	11ab2a01	88w8335 [Libertas] 802.11b/g Wireless	1	Found on ASUS WiFi-TV Card
-d	11ab4320	88E8001 Gigabit Ethernet Controller	0	
+d	11ab4320	88E8001 Gigabit Ethernet Controller	0
 d	11ab4320	Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller	1	Found on ASUS P5WD2 Premium
-s	11ab432010190f38	Marvell 88E8001 Gigabit Ethernet Controller (ECS)	0	
-s	11ab432010198001	Marvell 88E8001 Gigabit Ethernet Controller (ECS)	0	
-s	11ab43201043173c	Marvell 88E8001 Gigabit Ethernet Controller (Asus)	0	
-s	11ab43201043811a	Marvell 88E8001 Gigabit Ethernet Controller (Asus)	0	
-s	11ab4320105b0c19	Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)	0	
-s	11ab432010b8b452	EZ Card 1000 (SMC9452TXV.2)	0	
-s	11ab432011ab0121	Marvell RDK-8001	0	
-s	11ab432011ab0321	Marvell RDK-8003	0	
-s	11ab432011ab1021	Marvell RDK-8010	0	
-s	11ab432011ab4320	Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)	0	
-s	11ab432011ab5021	Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)	0	
-s	11ab432011ab9521	Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)	0	
-s	11ab43201458e000	Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)	0	
-s	11ab4320147b1406	Marvell 88E8001 Gigabit Ethernet Controller (Abit)	0	
-s	11ab432015d40047	Marvell 88E8001 Gigabit Ethernet Controller (Iwill)	0	
-s	11ab432016959025	Marvell 88E8001 Gigabit Ethernet Controller (Epox)	0	
-s	11ab432017f21c03	Marvell 88E8001 Gigabit Ethernet Controller (Albatron)	0	
-s	11ab4320270f2803	Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)	0	
-d	11ab4340	88E8021 PCI-X IPMI Gigabit Ethernet Controller	0	
-d	11ab4341	88E8022 PCI-X IPMI Gigabit Ethernet Controller	0	
-d	11ab4342	88E8061 PCI-E IPMI Gigabit Ethernet Controller	0	
-d	11ab4343	88E8062 PCI-E IPMI Gigabit Ethernet Controller	0	
-d	11ab4344	88E8021 PCI-X IPMI Gigabit Ethernet Controller	0	
-d	11ab4345	88E8022 PCI-X IPMI Gigabit Ethernet Controller	0	
-d	11ab4346	88E8061 PCI-E IPMI Gigabit Ethernet Controller	0	
-d	11ab4347	88E8062 PCI-E IPMI Gigabit Ethernet Controller	0	
-s	11ab43474c5310d0	Telum ASLP10 PrAMC Gigabit Ethernet	1	
-d	11ab4350	88E8035 PCI-E Fast Ethernet Controller	0	
-s	11ab435011790001	Marvell 88E8035 Fast Ethernet Controller (Toshiba)	0	
-s	11ab435011ab3521	Marvell RDK-8035	0	
-s	11ab43501854000d	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab43501854000e	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab43501854000f	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540011	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540012	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540016	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540017	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540018	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540019	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab43501854001c	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab43501854001e	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-s	11ab435018540020	Marvell 88E8035 Fast Ethernet Controller (LGE)	0	
-d	11ab4351	88E8036 PCI-E Fast Ethernet Controller	0	
-s	11ab4351107b4009	Marvell 88E8036 Fast Ethernet Controller (Wistron)	0	
-s	11ab435110f78338	Marvell 88E8036 Fast Ethernet Controller (Panasonic)	0	
-s	11ab435111790001	Marvell 88E8036 Fast Ethernet Controller (Toshiba)	0	
-s	11ab43511179ff00	Marvell 88E8036 Fast Ethernet Controller (Compal)	0	
-s	11ab43511179ff10	Marvell 88E8036 Fast Ethernet Controller (Inventec)	0	
-s	11ab435111ab3621	Marvell RDK-8036	0	
-s	11ab435113d1ac12	Abocom EFE3K - 10/100 Ethernet Expresscard	0	
-s	11ab4351161f203d	Marvell 88E8036 Fast Ethernet Controller (Arima)	0	
-s	11ab43511854000d	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab43511854000e	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab43511854000f	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540011	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540012	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540016	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540017	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540018	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540019	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab43511854001c	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab43511854001e	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-s	11ab435118540020	Marvell 88E8036 Fast Ethernet Controller (LGE)	0	
-d	11ab4352	88E8038 PCI-E Fast Ethernet Controller	0	
-d	11ab4360	88E8052 PCI-E ASF Gigabit Ethernet Controller	0	
-s	11ab436010438134	Marvell 88E8052 Gigabit Ethernet Controller (Asus)	0	
-s	11ab4360107b4009	Marvell 88E8052 Gigabit Ethernet Controller (Wistron)	0	
-s	11ab436011ab5221	Marvell RDK-8052	0	
-s	11ab43601458e000	Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)	0	
-s	11ab43601462052c	Marvell 88E8052 Gigabit Ethernet Controller (MSI)	0	
-s	11ab436018498052	Marvell 88E8052 Gigabit Ethernet Controller (ASRock)	0	
-s	11ab4360a0a00509	Marvell 88E8052 Gigabit Ethernet Controller (Aopen)	0	
-d	11ab4361	88E8050 PCI-E ASF Gigabit Ethernet Controller	0	
-s	11ab4361107b3015	Marvell 88E8050 Gigabit Ethernet Controller (Gateway)	0	
+s	11ab432010190f38	Marvell 88E8001 Gigabit Ethernet Controller (ECS)	0
+s	11ab432010198001	Marvell 88E8001 Gigabit Ethernet Controller (ECS)	0
+s	11ab43201043173c	Marvell 88E8001 Gigabit Ethernet Controller (Asus)	0
+s	11ab43201043811a	Marvell 88E8001 Gigabit Ethernet Controller (Asus)	0
+s	11ab4320105b0c19	Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)	0
+s	11ab432010b8b452	EZ Card 1000 (SMC9452TXV.2)	0
+s	11ab432011ab0121	Marvell RDK-8001	0
+s	11ab432011ab0321	Marvell RDK-8003	0
+s	11ab432011ab1021	Marvell RDK-8010	0
+s	11ab432011ab4320	Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)	0
+s	11ab432011ab5021	Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)	0
+s	11ab432011ab9521	Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)	0
+s	11ab43201458e000	Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)	0
+s	11ab4320147b1406	Marvell 88E8001 Gigabit Ethernet Controller (Abit)	0
+s	11ab432015d40047	Marvell 88E8001 Gigabit Ethernet Controller (Iwill)	0
+s	11ab432016959025	Marvell 88E8001 Gigabit Ethernet Controller (Epox)	0
+s	11ab432017f21c03	Marvell 88E8001 Gigabit Ethernet Controller (Albatron)	0
+s	11ab4320270f2803	Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)	0
+d	11ab4340	88E8021 PCI-X IPMI Gigabit Ethernet Controller	0
+d	11ab4341	88E8022 PCI-X IPMI Gigabit Ethernet Controller	0
+d	11ab4342	88E8061 PCI-E IPMI Gigabit Ethernet Controller	0
+d	11ab4343	88E8062 PCI-E IPMI Gigabit Ethernet Controller	0
+d	11ab4344	88E8021 PCI-X IPMI Gigabit Ethernet Controller	0
+d	11ab4345	88E8022 PCI-X IPMI Gigabit Ethernet Controller	0
+d	11ab4346	88E8061 PCI-E IPMI Gigabit Ethernet Controller	0
+d	11ab4347	88E8062 PCI-E IPMI Gigabit Ethernet Controller	0
+s	11ab43474c5310d0	Telum ASLP10 PrAMC Gigabit Ethernet	1
+d	11ab4350	88E8035 PCI-E Fast Ethernet Controller	0
+s	11ab435011790001	Marvell 88E8035 Fast Ethernet Controller (Toshiba)	0
+s	11ab435011ab3521	Marvell RDK-8035	0
+s	11ab43501854000d	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab43501854000e	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab43501854000f	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540011	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540012	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540016	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540017	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540018	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540019	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab43501854001c	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab43501854001e	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+s	11ab435018540020	Marvell 88E8035 Fast Ethernet Controller (LGE)	0
+d	11ab4351	88E8036 PCI-E Fast Ethernet Controller	0
+s	11ab4351107b4009	Marvell 88E8036 Fast Ethernet Controller (Wistron)	0
+s	11ab435110f78338	Marvell 88E8036 Fast Ethernet Controller (Panasonic)	0
+s	11ab435111790001	Marvell 88E8036 Fast Ethernet Controller (Toshiba)	0
+s	11ab43511179ff00	Marvell 88E8036 Fast Ethernet Controller (Compal)	0
+s	11ab43511179ff10	Marvell 88E8036 Fast Ethernet Controller (Inventec)	0
+s	11ab435111ab3621	Marvell RDK-8036	0
+s	11ab435113d1ac12	Abocom EFE3K - 10/100 Ethernet Expresscard	0
+s	11ab4351161f203d	Marvell 88E8036 Fast Ethernet Controller (Arima)	0
+s	11ab43511854000d	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab43511854000e	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab43511854000f	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540011	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540012	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540016	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540017	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540018	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540019	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab43511854001c	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab43511854001e	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+s	11ab435118540020	Marvell 88E8036 Fast Ethernet Controller (LGE)	0
+d	11ab4352	88E8038 PCI-E Fast Ethernet Controller	0
+d	11ab4360	88E8052 PCI-E ASF Gigabit Ethernet Controller	0
+s	11ab436010438134	Marvell 88E8052 Gigabit Ethernet Controller (Asus)	0
+s	11ab4360107b4009	Marvell 88E8052 Gigabit Ethernet Controller (Wistron)	0
+s	11ab436011ab5221	Marvell RDK-8052	0
+s	11ab43601458e000	Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)	0
+s	11ab43601462052c	Marvell 88E8052 Gigabit Ethernet Controller (MSI)	0
+s	11ab436018498052	Marvell 88E8052 Gigabit Ethernet Controller (ASRock)	0
+s	11ab4360a0a00509	Marvell 88E8052 Gigabit Ethernet Controller (Aopen)	0
+d	11ab4361	88E8050 PCI-E ASF Gigabit Ethernet Controller	0
+s	11ab4361107b3015	Marvell 88E8050 Gigabit Ethernet Controller (Gateway)	0
 s	11ab436111ab4361	Marvell 88E8050 Gigabit Ethernet Controller (Intel)	1	Found on mainboard SE7520BD2V2
-s	11ab436111ab5021	Marvell 88E8050 Gigabit Ethernet Controller (Intel)	0	
-s	11ab436180863063	D925XCVLK mainboard	0	
-s	11ab436180863439	Marvell 88E8050 Gigabit Ethernet Controller (Intel)	0	
-d	11ab4362	88E8053 PCI-E Gigabit Ethernet Controller	0	
-s	11ab4362103c2a0d	Marvell 88E8053 Gigabit Ethernet Controller (Asus)	0	
-s	11ab436210438142	Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)	0	
-s	11ab4362109f3197	Marvell 88E8053 Gigabit Ethernet Controller (Trigem)	0	
-s	11ab436210f78338	Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)	0	
-s	11ab436210fda430	Marvell 88E8053 Gigabit Ethernet Controller (SOYO)	0	
-s	11ab436211790001	Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)	0	
-s	11ab43621179ff00	Marvell 88E8053 Gigabit Ethernet Controller (Compal)	0	
-s	11ab43621179ff10	Marvell 88E8053 Gigabit Ethernet Controller (Inventec)	0	
-s	11ab436211ab5321	Marvell RDK-8053	0	
-s	11ab43621297c240	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0	
-s	11ab43621297c241	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0	
-s	11ab43621297c242	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0	
-s	11ab43621297c243	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0	
-s	11ab43621297c244	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0	
-s	11ab436213d1ac11	EGE5K - Giga Ethernet Expresscard	0	
-s	11ab43621458e000	Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)	0	
-s	11ab43621462058c	Marvell 88E8053 Gigabit Ethernet Controller (MSI)	0	
-s	11ab436214c00012	Marvell 88E8053 Gigabit Ethernet Controller (Compal)	0	
-s	11ab4362155804a0	Marvell 88E8053 Gigabit Ethernet Controller (Clevo)	0	
-s	11ab436215bd1003	Marvell 88E8053 Gigabit Ethernet Controller (DFI)	0	
-s	11ab4362161f203c	Marvell 88E8053 Gigabit Ethernet Controller (Arima)	0	
-s	11ab4362161f203d	Marvell 88E8053 Gigabit Ethernet Controller (Arima)	0	
-s	11ab436216959029	Marvell 88E8053 Gigabit Ethernet Controller (Epox)	0	
-s	11ab436217f22c08	Marvell 88E8053 Gigabit Ethernet Controller (Albatron)	0	
-s	11ab436217ff0585	Marvell 88E8053 Gigabit Ethernet Controller (Quanta)	0	
-s	11ab436218498053	Marvell 88E8053 Gigabit Ethernet Controller (ASRock)	0	
-s	11ab43621854000b	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab43621854000c	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab436218540010	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab436218540013	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab436218540014	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab436218540015	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab43621854001a	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab43621854001b	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab43621854001d	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab43621854001f	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab436218540021	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab436218540022	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0	
-s	11ab4362270f2801	Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)	0	
-s	11ab4362a0a00506	Marvell 88E8053 Gigabit Ethernet Controller (Aopen)	0	
-d	11ab4363	88E8055 PCI-E Gigabit Ethernet Controller	0	
+s	11ab436111ab5021	Marvell 88E8050 Gigabit Ethernet Controller (Intel)	0
+s	11ab436180863063	D925XCVLK mainboard	0
+s	11ab436180863439	Marvell 88E8050 Gigabit Ethernet Controller (Intel)	0
+d	11ab4362	88E8053 PCI-E Gigabit Ethernet Controller	0
+s	11ab4362103c2a0d	Marvell 88E8053 Gigabit Ethernet Controller (Asus)	0
+s	11ab436210438142	Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)	0
+s	11ab4362109f3197	Marvell 88E8053 Gigabit Ethernet Controller (Trigem)	0
+s	11ab436210f78338	Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)	0
+s	11ab436210fda430	Marvell 88E8053 Gigabit Ethernet Controller (SOYO)	0
+s	11ab436211790001	Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)	0
+s	11ab43621179ff00	Marvell 88E8053 Gigabit Ethernet Controller (Compal)	0
+s	11ab43621179ff10	Marvell 88E8053 Gigabit Ethernet Controller (Inventec)	0
+s	11ab436211ab5321	Marvell RDK-8053	0
+s	11ab43621297c240	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0
+s	11ab43621297c241	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0
+s	11ab43621297c242	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0
+s	11ab43621297c243	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0
+s	11ab43621297c244	Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)	0
+s	11ab436213d1ac11	EGE5K - Giga Ethernet Expresscard	0
+s	11ab43621458e000	Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)	0
+s	11ab43621462058c	Marvell 88E8053 Gigabit Ethernet Controller (MSI)	0
+s	11ab436214c00012	Marvell 88E8053 Gigabit Ethernet Controller (Compal)	0
+s	11ab4362155804a0	Marvell 88E8053 Gigabit Ethernet Controller (Clevo)	0
+s	11ab436215bd1003	Marvell 88E8053 Gigabit Ethernet Controller (DFI)	0
+s	11ab4362161f203c	Marvell 88E8053 Gigabit Ethernet Controller (Arima)	0
+s	11ab4362161f203d	Marvell 88E8053 Gigabit Ethernet Controller (Arima)	0
+s	11ab436216959029	Marvell 88E8053 Gigabit Ethernet Controller (Epox)	0
+s	11ab436217f22c08	Marvell 88E8053 Gigabit Ethernet Controller (Albatron)	0
+s	11ab436217ff0585	Marvell 88E8053 Gigabit Ethernet Controller (Quanta)	0
+s	11ab436218498053	Marvell 88E8053 Gigabit Ethernet Controller (ASRock)	0
+s	11ab43621854000b	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab43621854000c	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab436218540010	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab436218540013	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab436218540014	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab436218540015	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab43621854001a	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab43621854001b	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab43621854001d	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab43621854001f	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab436218540021	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab436218540022	Marvell 88E8053 Gigabit Ethernet Controller (LGE)	0
+s	11ab4362270f2801	Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)	0
+s	11ab4362a0a00506	Marvell 88E8053 Gigabit Ethernet Controller (Aopen)	0
+d	11ab4363	88E8055 PCI-E Gigabit Ethernet Controller	0
 d	11ab4364	88E8056 PCI-E Gigabit Ethernet Controller	1	On Asus Mainboard P5B Deluxe Wifi
-d	11ab4611	GT-64115 System Controller	0	
-d	11ab4620	GT-64120/64120A/64121A System Controller	0	
-d	11ab4801	GT-48001	0	
-d	11ab5005	Belkin F5D5005 Gigabit Desktop Network PCI Card	0	
-d	11ab5040	MV88SX5040 4-port SATA I PCI-X Controller	0	
-d	11ab5041	MV88SX5041 4-port SATA I PCI-X Controller	0	
-d	11ab5080	MV88SX5080 8-port SATA I PCI-X Controller	0	
-d	11ab5081	MV88SX5081 8-port SATA I PCI-X Controller	0	
-d	11ab6041	MV88SX6041 4-port SATA II PCI-X Controller	0	
-d	11ab6081	MV88SX6081 8-port SATA II PCI-X Controller	0	
-d	11ab6101	Marvell RAID 614x	1	
-d	11ab6141	MV88SE614x SATA II PCI-E controller	1	
-d	11ab6450	MV64560 System Controller	1	
-d	11ab6460	MV64360/64361/64362 System Controller	0	
-d	11ab6480	MV64460/64461/64462 System Controller	0	
-s	11ab64801775c200	C2K CompactPCI single board computer	1	
-d	11ab6485	MV64460/64461/64462 System Controller, Revision B	0	
-d	11abf003	GT-64010 Primary Image Piranha Image Generator	0	
-v	11ac	Canon Information Systems Research Aust.	0	
-v	11ad	Lite-On Communications Inc	0	
-d	11ad0002	LNE100TX	0	
-s	11ad000211ad0002	LNE100TX	0	
-s	11ad000211ad0003	LNE100TX	0	
-s	11ad000211adf003	LNE100TX	0	
-s	11ad000211adffff	LNE100TX	0	
-s	11ad00021385f004	FA310TX	0	
-d	11adc115	LNE100TX [Linksys EtherFast 10/100]	0	
-s	11adc11511adc001	LNE100TX [ver 2.0]	0	
-v	11ae	Aztech System Ltd	0	
-v	11af	Avid Technology Inc.	0	
-d	11af0001	Cinema	0	
-d	11afee40	Digidesign Audiomedia III	0	
-v	11b0	V3 Semiconductor Inc.	0	
-d	11b00002	V300PSC	0	
-d	11b00292	V292PBC [Am29030/40 Bridge]	0	
-d	11b00960	V96xPBC	0	
-d	11b0c960	V96DPC	0	
-v	11b1	Apricot Computers	0	
-v	11b2	Eastman Kodak	0	
-v	11b3	Barr Systems Inc.	0	
-v	11b4	Leitch Technology International	0	
-v	11b5	Radstone Technology Plc	0	
-v	11b6	United Video Corp	0	
-v	11b7	Motorola	0	
-v	11b8	XPoint Technologies, Inc	0	
-d	11b80001	Quad PeerMaster	0	
-v	11b9	Pathlight Technology Inc.	0	
-d	11b9c0ed	SSA Controller	0	
-v	11ba	Videotron Corp	0	
-v	11bb	Pyramid Technology	0	
-v	11bc	Network Peripherals Inc	0	
-d	11bc0001	NP-PCI	0	
-v	11bd	Pinnacle Systems Inc.	0	
-d	11bd002e	PCTV 40i	0	
-d	11bdbede	AV/DV Studio Capture Card	0	
-v	11be	International Microcircuits Inc	0	
-v	11bf	Astrodesign, Inc.	0	
-v	11c0	Hewlett Packard	0	
+d	11ab4611	GT-64115 System Controller	0
+d	11ab4620	GT-64120/64120A/64121A System Controller	0
+d	11ab4801	GT-48001	0
+d	11ab5005	Belkin F5D5005 Gigabit Desktop Network PCI Card	0
+d	11ab5040	MV88SX5040 4-port SATA I PCI-X Controller	0
+d	11ab5041	MV88SX5041 4-port SATA I PCI-X Controller	0
+d	11ab5080	MV88SX5080 8-port SATA I PCI-X Controller	0
+d	11ab5081	MV88SX5081 8-port SATA I PCI-X Controller	0
+d	11ab6041	MV88SX6041 4-port SATA II PCI-X Controller	0
+d	11ab6081	MV88SX6081 8-port SATA II PCI-X Controller	0
+d	11ab6101	Marvell RAID 614x	1
+d	11ab6141	MV88SE614x SATA II PCI-E controller	1
+d	11ab6450	MV64560 System Controller	1
+d	11ab6460	MV64360/64361/64362 System Controller	0
+d	11ab6480	MV64460/64461/64462 System Controller	0
+s	11ab64801775c200	C2K CompactPCI single board computer	1
+d	11ab6485	MV64460/64461/64462 System Controller, Revision B	0
+d	11abf003	GT-64010 Primary Image Piranha Image Generator	0
+v	11ac	Canon Information Systems Research Aust.	0
+v	11ad	Lite-On Communications Inc	0
+d	11ad0002	LNE100TX	0
+s	11ad000211ad0002	LNE100TX	0
+s	11ad000211ad0003	LNE100TX	0
+s	11ad000211adf003	LNE100TX	0
+s	11ad000211adffff	LNE100TX	0
+s	11ad00021385f004	FA310TX	0
+d	11adc115	LNE100TX [Linksys EtherFast 10/100]	0
+s	11adc11511adc001	LNE100TX [ver 2.0]	0
+v	11ae	Aztech System Ltd	0
+v	11af	Avid Technology Inc.	0
+d	11af0001	Cinema	0
+d	11afee40	Digidesign Audiomedia III	0
+v	11b0	V3 Semiconductor Inc.	0
+d	11b00002	V300PSC	0
+d	11b00292	V292PBC [Am29030/40 Bridge]	0
+d	11b00960	V96xPBC	0
+d	11b0c960	V96DPC	0
+v	11b1	Apricot Computers	0
+v	11b2	Eastman Kodak	0
+v	11b3	Barr Systems Inc.	0
+v	11b4	Leitch Technology International	0
+v	11b5	Radstone Technology Plc	0
+v	11b6	United Video Corp	0
+v	11b7	Motorola	0
+v	11b8	XPoint Technologies, Inc	0
+d	11b80001	Quad PeerMaster	0
+v	11b9	Pathlight Technology Inc.	0
+d	11b9c0ed	SSA Controller	0
+v	11ba	Videotron Corp	0
+v	11bb	Pyramid Technology	0
+v	11bc	Network Peripherals Inc	0
+d	11bc0001	NP-PCI	0
+v	11bd	Pinnacle Systems Inc.	0
+d	11bd002e	PCTV 40i	0
+d	11bdbede	AV/DV Studio Capture Card	0
+v	11be	International Microcircuits Inc	0
+v	11bf	Astrodesign, Inc.	0
+v	11c0	Hewlett Packard	0
 v	11c1	Agere Systems	0	Nee Lucent Microelectronics
-d	11c10440	56k WinModem	0	
-s	11c1044010338015	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044010338047	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c104401033804f	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044010cf102c	LB LT Modem V.90 56k	0	
-s	11c1044010cf104a	BIBLO LT Modem 56k	0	
-s	11c1044010cf105f	LB2 LT Modem V.90 56k	0	
-s	11c1044011790001	Internal V.90 Modem	0	
-s	11c1044011c10440	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c10440122d4101	MDP7800-U Modem	0	
-s	11c10440122d4102	MDP7800SP-U Modem	0	
-s	11c1044013e00040	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044013e00440	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044013e00441	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044013e00450	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044013e0f100	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044013e0f101	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c10440144d2101	LT56PV Modem	0	
-s	11c10440149f0440	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-d	11c10441	56k WinModem	0	
-s	11c104411033804d	LT WinModem 56k Data+Fax	0	
-s	11c1044110338065	LT WinModem 56k Data+Fax	0	
-s	11c1044110920440	Supra 56i	0	
-s	11c1044111790001	Internal V.90 Modem	0	
-s	11c1044111c10440	LT WinModem 56k Data+Fax	0	
-s	11c1044111c10441	LT WinModem 56k Data+Fax	0	
-s	11c10441122d4100	MDP7800-U Modem	0	
-s	11c1044113e00040	LT WinModem 56k Data+Fax	0	
-s	11c1044113e00100	LT WinModem 56k Data+Fax	0	
-s	11c1044113e00410	LT WinModem 56k Data+Fax	0	
-s	11c1044113e00420	TelePath Internet 56k WinModem	0	
-s	11c1044113e00440	LT WinModem 56k Data+Fax	0	
-s	11c1044113e00443	LT WinModem 56k Data+Fax	0	
-s	11c1044113e0f102	LT WinModem 56k Data+Fax	0	
-s	11c1044114169804	CommWave 56k Modem	0	
-s	11c10441141d0440	LT WinModem 56k Data+Fax	0	
-s	11c10441144f0441	Lucent 56k V.90 DF Modem	0	
-s	11c10441144f0449	Lucent 56k V.90 DF Modem	0	
-s	11c10441144f110d	Lucent Win Modem	0	
-s	11c1044114680441	Presario 56k V.90 DF Modem	0	
-s	11c1044116680440	Lucent Win Modem	0	
-d	11c10442	56k WinModem	0	
-s	11c1044211c10440	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044211c10442	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044213e00412	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044213e00442	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044213fc2471	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c10442144d2104	LT56PT Modem	0	
-s	11c10442144f1104	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c10442149f0440	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044216680440	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-d	11c10443	LT WinModem	0	
-d	11c10444	LT WinModem	0	
-d	11c10445	LT WinModem	0	
-s	11c1044580862203	PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)	0	
-s	11c1044580862204	PRO/100+ MiniPCI on Armada E500	0	
-d	11c10446	LT WinModem	0	
-d	11c10447	LT WinModem	0	
-d	11c10448	WinModem 56k	0	
-s	11c1044810140131	Lucent Win Modem	0	
-s	11c1044810338066	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
-s	11c1044813e00030	56k Voice Modem	0	
-s	11c1044813e00040	LT WinModem 56k Data+Fax+Voice+Dsvd	0	
+d	11c10440	56k WinModem	0
+s	11c1044010338015	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044010338047	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c104401033804f	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044010cf102c	LB LT Modem V.90 56k	0
+s	11c1044010cf104a	BIBLO LT Modem 56k	0
+s	11c1044010cf105f	LB2 LT Modem V.90 56k	0
+s	11c1044011790001	Internal V.90 Modem	0
+s	11c1044011c10440	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c10440122d4101	MDP7800-U Modem	0
+s	11c10440122d4102	MDP7800SP-U Modem	0
+s	11c1044013e00040	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044013e00440	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044013e00441	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044013e00450	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044013e0f100	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044013e0f101	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c10440144d2101	LT56PV Modem	0
+s	11c10440149f0440	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+d	11c10441	56k WinModem	0
+s	11c104411033804d	LT WinModem 56k Data+Fax	0
+s	11c1044110338065	LT WinModem 56k Data+Fax	0
+s	11c1044110920440	Supra 56i	0
+s	11c1044111790001	Internal V.90 Modem	0
+s	11c1044111c10440	LT WinModem 56k Data+Fax	0
+s	11c1044111c10441	LT WinModem 56k Data+Fax	0
+s	11c10441122d4100	MDP7800-U Modem	0
+s	11c1044113e00040	LT WinModem 56k Data+Fax	0
+s	11c1044113e00100	LT WinModem 56k Data+Fax	0
+s	11c1044113e00410	LT WinModem 56k Data+Fax	0
+s	11c1044113e00420	TelePath Internet 56k WinModem	0
+s	11c1044113e00440	LT WinModem 56k Data+Fax	0
+s	11c1044113e00443	LT WinModem 56k Data+Fax	0
+s	11c1044113e0f102	LT WinModem 56k Data+Fax	0
+s	11c1044114169804	CommWave 56k Modem	0
+s	11c10441141d0440	LT WinModem 56k Data+Fax	0
+s	11c10441144f0441	Lucent 56k V.90 DF Modem	0
+s	11c10441144f0449	Lucent 56k V.90 DF Modem	0
+s	11c10441144f110d	Lucent Win Modem	0
+s	11c1044114680441	Presario 56k V.90 DF Modem	0
+s	11c1044116680440	Lucent Win Modem	0
+d	11c10442	56k WinModem	0
+s	11c1044211c10440	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044211c10442	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044213e00412	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044213e00442	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044213fc2471	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c10442144d2104	LT56PT Modem	0
+s	11c10442144f1104	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c10442149f0440	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044216680440	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+d	11c10443	LT WinModem	0
+d	11c10444	LT WinModem	0
+d	11c10445	LT WinModem	0
+s	11c1044580862203	PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)	0
+s	11c1044580862204	PRO/100+ MiniPCI on Armada E500	0
+d	11c10446	LT WinModem	0
+d	11c10447	LT WinModem	0
+d	11c10448	WinModem 56k	0
+s	11c1044810140131	Lucent Win Modem	0
+s	11c1044810338066	LT WinModem 56k Data+Fax+Voice+Dsvd	0
+s	11c1044813e00030	56k Voice Modem	0
+s	11c1044813e00040	LT WinModem 56k Data+Fax+Voice+Dsvd	0
 s	11c1044816682400	LT WinModem 56k (MiniPCI Ethernet+Modem)	0	Actiontech eth+modem card as used by Dell &c.
-d	11c10449	WinModem 56k	0	
-s	11c104490e11b14d	56k V.90 Modem	0	
-s	11c1044913e00020	LT WinModem 56k Data+Fax	0	
-s	11c1044913e00041	TelePath Internet 56k WinModem	0	
-s	11c1044914360440	Lucent Win Modem	0	
-s	11c10449144f0449	Lucent 56k V.90 DFi Modem	0	
-s	11c1044914680410	IBM ThinkPad T23 (2647-4MG)	0	
-s	11c1044914680440	Lucent Win Modem	0	
-s	11c1044914680449	Presario 56k V.90 DFi Modem	0	
-d	11c1044a	F-1156IV WinModem (V90, 56KFlex)	0	
-s	11c1044a10cf1072	LB Global LT Modem	0	
-s	11c1044a13e00012	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044a13e00042	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-s	11c1044a144f1005	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0	
-d	11c1044b	LT WinModem	0	
-d	11c1044c	LT WinModem	0	
-d	11c1044d	LT WinModem	0	
-d	11c1044e	LT WinModem	0	
-d	11c1044f	V90 WildWire Modem	0	
-d	11c10450	LT WinModem	0	
-s	11c10450103380a8	Versa Note Vxi	0	
-s	11c10450144f4005	Magnia SG20	0	
-s	11c1045014680450	Evo N600c	0	
-s	11c104504005144f	LifeBook C Series	0	
-d	11c10451	LT WinModem	0	
-d	11c10452	LT WinModem	0	
-d	11c10453	LT WinModem	0	
-d	11c10454	LT WinModem	0	
-d	11c10455	LT WinModem	0	
-d	11c10456	LT WinModem	0	
-d	11c10457	LT WinModem	0	
-d	11c10458	LT WinModem	0	
-d	11c10459	LT WinModem	0	
-d	11c1045a	LT WinModem	0	
-d	11c1045c	LT WinModem	0	
-d	11c10461	V90 WildWire Modem	0	
-d	11c10462	V90 WildWire Modem	0	
-d	11c10480	Venus Modem (V90, 56KFlex)	0	
-d	11c1048c	V.92 56K WinModem	0	
+d	11c10449	WinModem 56k	0
+s	11c104490e11b14d	56k V.90 Modem	0
+s	11c1044913e00020	LT WinModem 56k Data+Fax	0
+s	11c1044913e00041	TelePath Internet 56k WinModem	0
+s	11c1044914360440	Lucent Win Modem	0
+s	11c10449144f0449	Lucent 56k V.90 DFi Modem	0
+s	11c1044914680410	IBM ThinkPad T23 (2647-4MG)	0
+s	11c1044914680440	Lucent Win Modem	0
+s	11c1044914680449	Presario 56k V.90 DFi Modem	0
+d	11c1044a	F-1156IV WinModem (V90, 56KFlex)	0
+s	11c1044a10cf1072	LB Global LT Modem	0
+s	11c1044a13e00012	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044a13e00042	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+s	11c1044a144f1005	LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd	0
+d	11c1044b	LT WinModem	0
+d	11c1044c	LT WinModem	0
+d	11c1044d	LT WinModem	0
+d	11c1044e	LT WinModem	0
+d	11c1044f	V90 WildWire Modem	0
+d	11c10450	LT WinModem	0
+s	11c10450103380a8	Versa Note Vxi	0
+s	11c10450144f4005	Magnia SG20	0
+s	11c1045014680450	Evo N600c	0
+s	11c104504005144f	LifeBook C Series	0
+d	11c10451	LT WinModem	0
+d	11c10452	LT WinModem	0
+d	11c10453	LT WinModem	0
+d	11c10454	LT WinModem	0
+d	11c10455	LT WinModem	0
+d	11c10456	LT WinModem	0
+d	11c10457	LT WinModem	0
+d	11c10458	LT WinModem	0
+d	11c10459	LT WinModem	0
+d	11c1045a	LT WinModem	0
+d	11c1045c	LT WinModem	0
+d	11c10461	V90 WildWire Modem	0
+d	11c10462	V90 WildWire Modem	0
+d	11c10480	Venus Modem (V90, 56KFlex)	0
+d	11c1048c	V.92 56K WinModem	0
 d	11c1048f	V.92 56k WinModem	0	InPorte Home Internal 56k Modem/fax/answering machine/SMS Features
-d	11c11040	HDA softmodem	1	
+d	11c11040	HDA softmodem	1
 d	11c12600	StarPro26XX family (SP2601, SP2603, SP2612) DSP	1	Multichannel Signal Processor for Gateway applications
-d	11c15801	USB	0	
-d	11c15802	USS-312 USB Controller	0	
-d	11c15803	USS-344S USB Controller	0	
-d	11c15811	FW323	0	
-s	11c158118086524c	D865PERL mainboard	0	
-s	11c15811dead0800	FireWire Host Bus Adapter	0	
-d	11c18110	T8110 H.100/H.110 TDM switch	0	
-s	11c1811012d9000c	E1/T1 PMXc cPCI carrier card	0	
-d	11c1ab10	WL60010 Wireless LAN MAC	0	
-d	11c1ab11	WL60040 Multimode Wireles LAN MAC	0	
-s	11c1ab1111c1ab12	WaveLAN 11abg Cardbus card (Model 1102)	0	
-s	11c1ab1111c1ab13	WaveLAN 11abg MiniPCI card (Model 0512)	0	
-s	11c1ab1111c1ab15	WaveLAN 11abg Cardbus card (Model 1106)	0	
-s	11c1ab1111c1ab16	WaveLAN 11abg MiniPCI card (Model 0516)	0	
-d	11c1ab20	ORiNOCO PCI Adapter	0	
-d	11c1ab21	Agere Wireless PCI Adapter	0	
-d	11c1ab30	Hermes2 Mini-PCI WaveLAN a/b/g	0	
-s	11c1ab3014cd2012	Hermes2 Mini-PCI WaveLAN a/b/g	0	
-d	11c1ed00	ET-131x PCI-E Ethernet Controller	0	
-d	11c1ed01	ET-131x PCI-E Ethernet Controller	0	
-v	11c2	Sand Microelectronics	0	
-v	11c3	NEC Corporation	0	
-v	11c4	Document Technologies, Inc	0	
-v	11c5	Shiva Corporation	0	
-v	11c6	Dainippon Screen Mfg. Co. Ltd	0	
-v	11c7	D.C.M. Data Systems	0	
-v	11c8	Dolphin Interconnect Solutions AS	0	
-d	11c80658	PSB32 SCI-Adapter D31x	0	
-d	11c8d665	PSB64 SCI-Adapter D32x	0	
-d	11c8d667	PSB66 SCI-Adapter D33x	0	
-v	11c9	Magma	0	
-d	11c90010	16-line serial port w/- DMA	0	
-d	11c90011	4-line serial port w/- DMA	0	
-v	11ca	LSI Systems, Inc	0	
-v	11cb	Specialix Research Ltd.	0	
-d	11cb2000	PCI_9050	0	
-s	11cb200011cb0200	SX	0	
-s	11cb200011cbb008	I/O8+	0	
-d	11cb4000	SUPI_1	0	
-d	11cb8000	T225	0	
-v	11cc	Michels & Kleberhoff Computer GmbH	0	
-v	11cd	HAL Computer Systems, Inc.	0	
-v	11ce	Netaccess	0	
-v	11cf	Pioneer Electronic Corporation	0	
-v	11d0	Lockheed Martin Federal Systems-Manassas	0	
-v	11d1	Auravision	0	
-d	11d101f7	VxP524	0	
-v	11d2	Intercom Inc.	0	
-v	11d3	Trancell Systems Inc	0	
-v	11d4	Analog Devices	0	
+d	11c15801	USB	0
+d	11c15802	USS-312 USB Controller	0
+d	11c15803	USS-344S USB Controller	0
+d	11c15811	FW323	0
+s	11c158118086524c	D865PERL mainboard	0
+s	11c15811dead0800	FireWire Host Bus Adapter	0
+d	11c18110	T8110 H.100/H.110 TDM switch	0
+s	11c1811012d9000c	E1/T1 PMXc cPCI carrier card	0
+d	11c1ab10	WL60010 Wireless LAN MAC	0
+d	11c1ab11	WL60040 Multimode Wireles LAN MAC	0
+s	11c1ab1111c1ab12	WaveLAN 11abg Cardbus card (Model 1102)	0
+s	11c1ab1111c1ab13	WaveLAN 11abg MiniPCI card (Model 0512)	0
+s	11c1ab1111c1ab15	WaveLAN 11abg Cardbus card (Model 1106)	0
+s	11c1ab1111c1ab16	WaveLAN 11abg MiniPCI card (Model 0516)	0
+d	11c1ab20	ORiNOCO PCI Adapter	0
+d	11c1ab21	Agere Wireless PCI Adapter	0
+d	11c1ab30	Hermes2 Mini-PCI WaveLAN a/b/g	0
+s	11c1ab3014cd2012	Hermes2 Mini-PCI WaveLAN a/b/g	0
+d	11c1ed00	ET-131x PCI-E Ethernet Controller	0
+d	11c1ed01	ET-131x PCI-E Ethernet Controller	0
+v	11c2	Sand Microelectronics	0
+v	11c3	NEC Corporation	0
+v	11c4	Document Technologies, Inc	0
+v	11c5	Shiva Corporation	0
+v	11c6	Dainippon Screen Mfg. Co. Ltd	0
+v	11c7	D.C.M. Data Systems	0
+v	11c8	Dolphin Interconnect Solutions AS	0
+d	11c80658	PSB32 SCI-Adapter D31x	0
+d	11c8d665	PSB64 SCI-Adapter D32x	0
+d	11c8d667	PSB66 SCI-Adapter D33x	0
+v	11c9	Magma	0
+d	11c90010	16-line serial port w/- DMA	0
+d	11c90011	4-line serial port w/- DMA	0
+v	11ca	LSI Systems, Inc	0
+v	11cb	Specialix Research Ltd.	0
+d	11cb2000	PCI_9050	0
+s	11cb200011cb0200	SX	0
+s	11cb200011cbb008	I/O8+	0
+d	11cb4000	SUPI_1	0
+d	11cb8000	T225	0
+v	11cc	Michels & Kleberhoff Computer GmbH	0
+v	11cd	HAL Computer Systems, Inc.	0
+v	11ce	Netaccess	0
+v	11cf	Pioneer Electronic Corporation	0
+v	11d0	Lockheed Martin Federal Systems-Manassas	0
+v	11d1	Auravision	0
+d	11d101f7	VxP524	0
+v	11d2	Intercom Inc.	0
+v	11d3	Trancell Systems Inc	0
+v	11d4	Analog Devices	0
 v	11d4	Analog Devices	1	device id 1981 AD1981HD sound chip
 d	11d40078	High Definition Audio	1	AD1986
-d	11d41535	Blackfin BF535 processor	0	
-d	11d41805	SM56 PCI modem	0	
-d	11d41889	AD1889 sound chip	0	
-d	11d41981	AD1981HD sound chip	1	
+d	11d41535	Blackfin BF535 processor	0
+d	11d41805	SM56 PCI modem	0
+d	11d41889	AD1889 sound chip	0
+d	11d41981	AD1981HD sound chip	1
 d	11d41983	High Definition Audio	1	AD1983
-d	11d41986	AD1986A sound chip	0	
-d	11d45340	AD1881 sound chip	0	
-v	11d5	Ikon Corporation	0	
-d	11d50115	10115	0	
-d	11d50117	10117	0	
-v	11d6	Tekelec Telecom	0	
-v	11d7	Trenton Technology, Inc.	0	
-v	11d8	Image Technologies Development	0	
-v	11d9	TEC Corporation	0	
-v	11da	Novell	0	
-v	11db	Sega Enterprises Ltd	0	
-v	11dc	Questra Corporation	0	
-v	11dd	Crosfield Electronics Limited	0	
-v	11de	Zoran Corporation	0	
-d	11de6057	ZR36057PQC Video cutting chipset	0	
-s	11de605710317efe	DC10 Plus	0	
-s	11de60571031fc00	MiroVIDEO DC50, Motion JPEG Capture/CODEC Board	0	
-s	11de605712f88a02	Tekram Video Kit	0	
-s	11de605713ca4231	JPEG/TV Card	0	
-d	11de6120	ZR36120	0	
-s	11de61201328f001	Cinemaster C DVD Decoder	0	
-s	11de612013c20000	MediaFocus Satellite TV Card	0	
-s	11de61201de19fff	Video Kit C210	0	
-v	11df	New Wave PDG	0	
-v	11e0	Cray Communications A/S	0	
-v	11e1	GEC Plessey Semi Inc.	0	
-v	11e2	Samsung Information Systems America	0	
-v	11e3	Quicklogic Corporation	0	
-d	11e30001	COM-ON-AIR Dosch&Amand DECT	0	
-d	11e35030	PC Watchdog	0	
-v	11e4	Second Wave Inc	0	
-v	11e5	IIX Consulting	0	
-v	11e6	Mitsui-Zosen System Research	0	
-v	11e7	Toshiba America, Elec. Company	0	
-v	11e8	Digital Processing Systems Inc.	0	
-v	11e9	Highwater Designs Ltd.	0	
-v	11ea	Elsag Bailey	0	
-v	11eb	Formation Inc.	0	
-v	11ec	Coreco Inc	0	
-v	11ed	Mediamatics	0	
-v	11ee	Dome Imaging Systems Inc	0	
-v	11ef	Nicolet Technologies B.V.	0	
-v	11f0	Compu-Shack	0	
-d	11f04231	FDDI	0	
-d	11f04232	FASTline UTP Quattro	0	
-d	11f04233	FASTline FO	0	
-d	11f04234	FASTline UTP	0	
-d	11f04235	FASTline-II UTP	0	
-d	11f04236	FASTline-II FO	0	
-d	11f04731	GIGAline	0	
-v	11f1	Symbios Logic Inc	0	
-v	11f2	Picture Tel Japan K.K.	0	
-v	11f3	Keithley Metrabyte	0	
-v	11f4	Kinetic Systems Corporation	0	
-d	11f42915	CAMAC controller	0	
-v	11f5	Computing Devices International	0	
-v	11f6	Compex	0	
-d	11f60112	ENet100VG4	0	
-d	11f60113	FreedomLine 100	0	
-d	11f61401	ReadyLink 2000	0	
-d	11f62011	RL100-ATX 10/100	0	
-s	11f6201111f62011	RL100-ATX	0	
-d	11f62201	ReadyLink 100TX (Winbond W89C840)	0	
-s	11f6220111f62011	ReadyLink 100TX	0	
-d	11f69881	RL100TX Fast Ethernet	0	
-v	11f7	Scientific Atlanta	0	
-v	11f8	PMC-Sierra Inc.	0	
-d	11f87375	PM7375 [LASAR-155 ATM SAR]	0	
-v	11f9	I-Cube Inc	0	
-v	11fa	Kasan Electronics Company, Ltd.	0	
-v	11fb	Datel Inc	0	
-v	11fc	Silicon Magic	0	
-v	11fd	High Street Consultants	0	
-v	11fe	Comtrol Corporation	0	
-d	11fe0001	RocketPort 32 port w/external I/F	0	
-d	11fe0002	RocketPort 8 port w/external I/F	0	
-d	11fe0003	RocketPort 16 port w/external I/F	0	
-d	11fe0004	RocketPort 4 port w/quad cable	0	
-d	11fe0005	RocketPort 8 port w/octa cable	0	
-d	11fe0006	RocketPort 8 port w/RJ11 connectors	0	
-d	11fe0007	RocketPort 4 port w/RJ11 connectors	0	
-d	11fe0008	RocketPort 8 port w/ DB78 SNI (Siemens) connector	0	
-d	11fe0009	RocketPort 16 port w/ DB78 SNI (Siemens) connector	0	
-d	11fe000a	RocketPort Plus 4 port	0	
-d	11fe000b	RocketPort Plus 8 port	0	
-d	11fe000c	RocketModem 6 port	0	
-d	11fe000d	RocketModem 4-port	0	
-d	11fe000e	RocketPort Plus 2 port RS232	0	
-d	11fe000f	RocketPort Plus 2 port RS422	0	
-d	11fe0801	RocketPort UPCI 32 port w/external I/F	0	
-d	11fe0802	RocketPort UPCI 8 port w/external I/F	0	
-d	11fe0803	RocketPort UPCI 16 port w/external I/F	0	
-d	11fe0805	RocketPort UPCI 8 port w/octa cable	0	
-d	11fe080c	RocketModem III 8 port	0	
-d	11fe080d	RocketModem III 4 port	0	
-d	11fe0812	RocketPort UPCI Plus 8 port RS422	0	
-d	11fe0903	RocketPort Compact PCI 16 port w/external I/F	0	
-d	11fe8015	RocketPort 4-port UART 16954	0	
-v	11ff	Scion Corporation	0	
-d	11ff0003	AG-5	0	
-v	1200	CSS Corporation	0	
-v	1201	Vista Controls Corp	0	
-v	1202	Network General Corp.	0	
-d	12024300	Gigabit Ethernet Adapter	0	
-s	1202430012029841	SK-9841 LX	0	
-s	1202430012029842	SK-9841 LX dual link	0	
-s	1202430012029843	SK-9843 SX	0	
-s	1202430012029844	SK-9843 SX dual link	0	
-v	1203	Bayer Corporation, Agfa Division	0	
-v	1204	Lattice Semiconductor Corporation	0	
-v	1205	Array Corporation	0	
-v	1206	Amdahl Corporation	0	
-v	1208	Parsytec GmbH	0	
-d	12084853	HS-Link Device	0	
-v	1209	SCI Systems Inc	0	
-v	120a	Synaptel	0	
-v	120b	Adaptive Solutions	0	
-v	120c	Technical Corp.	0	
-v	120d	Compression Labs, Inc.	0	
-v	120e	Cyclades Corporation	0	
-d	120e0100	Cyclom-Y below first megabyte	0	
-d	120e0101	Cyclom-Y above first megabyte	0	
-d	120e0102	Cyclom-4Y below first megabyte	0	
-d	120e0103	Cyclom-4Y above first megabyte	0	
-d	120e0104	Cyclom-8Y below first megabyte	0	
-d	120e0105	Cyclom-8Y above first megabyte	0	
-d	120e0200	Cyclades-Z below first megabyte	0	
-d	120e0201	Cyclades-Z above first megabyte	0	
-d	120e0300	PC300/RSV or /X21 (2 ports)	0	
-d	120e0301	PC300/RSV or /X21 (1 port)	0	
-d	120e0310	PC300/TE (2 ports)	0	
-d	120e0311	PC300/TE (1 port)	0	
-d	120e0320	PC300/TE-M (2 ports)	0	
-d	120e0321	PC300/TE-M (1 port)	0	
-d	120e0400	PC400	0	
-v	120f	Essential Communications	0	
-d	120f0001	Roadrunner serial HIPPI	0	
-v	1210	Hyperparallel Technologies	0	
-v	1211	Braintech Inc	0	
-v	1212	Kingston Technology Corp.	0	
-v	1213	Applied Intelligent Systems, Inc.	0	
-v	1214	Performance Technologies, Inc.	0	
-v	1215	Interware Co., Ltd	0	
-v	1216	Purup Prepress A/S	0	
-v	1217	O2 Micro, Inc.	0	
-d	121700f7	Firewire (IEEE 1394)	0	
-d	12176729	OZ6729	0	
-d	1217673a	OZ6730	0	
-d	12176832	OZ6832/6833 CardBus Controller	0	
-d	12176836	OZ6836/6860 CardBus Controller	0	
-d	12176872	OZ6812 CardBus Controller	0	
-d	12176925	OZ6922 CardBus Controller	0	
-d	12176933	OZ6933/711E1 CardBus/SmartCardBus Controller	0	
-s	1217693310251016	Travelmate 612 TX	0	
-d	12176972	OZ601/6912/711E0 CardBus/SmartCardBus Controller	0	
-s	121769721014020c	ThinkPad R30	0	
-s	1217697211790001	Magnia Z310	0	
-d	12177110	OZ711Mx 4-in-1 MemoryCardBus Accelerator	0	
-s	12177110103c088c	NC8000 laptop	0	
-s	12177110103c0890	NC6000 laptop	0	
-s	121771101734106c	Amilo A1645	0	
-d	12177112	OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller	0	
-d	12177113	OZ711EC1 SmartCardBus Controller	0	
-d	12177114	OZ711M1/MC1 4-in-1 MemoryCardBus Controller	0	
-d	12177120	Integrated MMC/SD Controller	0	
-d	12177130	Integrated MS/xD Controller	0	
-d	12177134	OZ711MP1/MS1 MemoryCardBus Controller	0	
-d	12177135	Cardbus bridge	0	
-d	121771e2	OZ711E2 SmartCardBus Controller	0	
-d	12177212	OZ711M2 4-in-1 MemoryCardBus Controller	0	
-d	12177213	OZ6933E CardBus Controller	0	
-d	12177223	OZ711M3/MC3 4-in-1 MemoryCardBus Controller	0	
-s	12177223103c088c	NC8000 laptop	0	
-s	12177223103c0890	NC6000 laptop	0	
-s	1217722310cf11c4	Lifebook P5020D Laptop	1	
-d	12177233	OZ711MP3/MS3 4-in-1 MemoryCardBus Controller	0	
-v	1218	Hybricon Corp.	0	
-v	1219	First Virtual Corporation	0	
-v	121a	3Dfx Interactive, Inc.	0	
-d	121a0001	Voodoo	0	
-d	121a0002	Voodoo 2	0	
-d	121a0003	Voodoo Banshee	0	
-s	121a000310920003	Monster Fusion	0	
-s	121a000310924000	Monster Fusion	0	
-s	121a000310924002	Monster Fusion	0	
-s	121a000310924801	Monster Fusion AGP	0	
-s	121a000310924803	Monster Fusion AGP	0	
-s	121a000310928030	Monster Fusion	0	
-s	121a000310928035	Monster Fusion AGP	0	
-s	121a000310b00001	Dragon 4000	0	
-s	121a000311021018	3D Blaster Banshee VE	0	
-s	121a0003121a0001	Voodoo Banshee AGP	0	
-s	121a0003121a0003	Voodoo Banshee AGP SGRAM	0	
-s	121a0003121a0004	Voodoo Banshee	0	
-s	121a0003139c0016	Raven	0	
-s	121a0003139c0017	Raven	0	
-s	121a000314af0002	Maxi Gamer Phoenix	0	
-d	121a0004	Voodoo Banshee [Velocity 100]	0	
-d	121a0005	Voodoo 3	0	
-s	121a0005121a0004	Voodoo3 AGP	0	
-s	121a0005121a0030	Voodoo3 AGP	0	
-s	121a0005121a0031	Voodoo3 AGP	0	
-s	121a0005121a0034	Voodoo3 AGP	0	
-s	121a0005121a0036	Voodoo3 2000 PCI	0	
-s	121a0005121a0037	Voodoo3 AGP	0	
-s	121a0005121a0038	Voodoo3 AGP	0	
-s	121a0005121a003a	Voodoo3 AGP	0	
-s	121a0005121a0044	Voodoo3	0	
-s	121a0005121a004b	Velocity 100	0	
-s	121a0005121a004c	Velocity 200	0	
-s	121a0005121a004d	Voodoo3 AGP	0	
-s	121a0005121a004e	Voodoo3 AGP	0	
-s	121a0005121a0051	Voodoo3 AGP	0	
-s	121a0005121a0052	Voodoo3 AGP	0	
-s	121a0005121a0057	Voodoo3 3000 PCI	0	
-s	121a0005121a0060	Voodoo3 3500 TV (NTSC)	0	
-s	121a0005121a0061	Voodoo3 3500 TV (PAL)	0	
-s	121a0005121a0062	Voodoo3 3500 TV (SECAM)	0	
-d	121a0009	Voodoo 4 / Voodoo 5	0	
-s	121a0009121a0003	Voodoo5 PCI 5500	0	
-s	121a0009121a0009	Voodoo5 AGP 5500/6000	0	
-d	121a0057	Voodoo 3/3000 [Avenger]	0	
-v	121b	Advanced Telecommunications Modules	0	
-v	121c	Nippon Texaco., Ltd	0	
-v	121d	Lippert Automationstechnik GmbH	0	
-v	121e	CSPI	0	
-d	121e0201	Myrinet 2000 Scalable Cluster Interconnect	0	
-v	121f	Arcus Technology, Inc.	0	
-v	1220	Ariel Corporation	0	
-d	12201220	AMCC 5933 TMS320C80 DSP/Imaging board	0	
-v	1221	Contec Co., Ltd	0	
-v	1222	Ancor Communications, Inc.	0	
-v	1223	Artesyn Communication Products	0	
-d	12230003	PM/Link	0	
-d	12230004	PM/T1	0	
-d	12230005	PM/E1	0	
-d	12230008	PM/SLS	0	
-d	12230009	BajaSpan Resource Target	0	
-d	1223000a	BajaSpan Section 0	0	
-d	1223000b	BajaSpan Section 1	0	
-d	1223000c	BajaSpan Section 2	0	
-d	1223000d	BajaSpan Section 3	0	
-d	1223000e	PM/PPC	0	
-v	1224	Interactive Images	0	
-v	1225	Power I/O, Inc.	0	
-v	1227	Tech-Source	0	
-d	12270006	Raptor GFX 8P	0	
-d	12270023	Raptor GFX [1100T]	0	
-v	1228	Norsk Elektro Optikk A/S	0	
-v	1229	Data Kinesis Inc.	0	
-v	122a	Integrated Telecom	0	
-v	122b	LG Industrial Systems Co., Ltd	0	
-v	122c	Sican GmbH	0	
-v	122d	Aztech System Ltd	0	
-d	122d1206	368DSP	0	
-d	122d1400	Trident PCI288-Q3DII (NX)	0	
-d	122d50dc	3328 Audio	0	
-s	122d50dc122d0001	3328 Audio	0	
-d	122d80da	3328 Audio	0	
-s	122d80da122d0001	3328 Audio	0	
-v	122e	Xyratex	0	
-v	122f	Andrew Corporation	0	
-v	1230	Fishcamp Engineering	0	
-v	1231	Woodward McCoach, Inc.	0	
-v	1232	GPT Limited	0	
-v	1233	Bus-Tech, Inc.	0	
+d	11d41986	AD1986A sound chip	0
+d	11d45340	AD1881 sound chip	0
+v	11d5	Ikon Corporation	0
+d	11d50115	10115	0
+d	11d50117	10117	0
+v	11d6	Tekelec Telecom	0
+v	11d7	Trenton Technology, Inc.	0
+v	11d8	Image Technologies Development	0
+v	11d9	TEC Corporation	0
+v	11da	Novell	0
+v	11db	Sega Enterprises Ltd	0
+v	11dc	Questra Corporation	0
+v	11dd	Crosfield Electronics Limited	0
+v	11de	Zoran Corporation	0
+d	11de6057	ZR36057PQC Video cutting chipset	0
+s	11de605710317efe	DC10 Plus	0
+s	11de60571031fc00	MiroVIDEO DC50, Motion JPEG Capture/CODEC Board	0
+s	11de605712f88a02	Tekram Video Kit	0
+s	11de605713ca4231	JPEG/TV Card	0
+d	11de6120	ZR36120	0
+s	11de61201328f001	Cinemaster C DVD Decoder	0
+s	11de612013c20000	MediaFocus Satellite TV Card	0
+s	11de61201de19fff	Video Kit C210	0
+v	11df	New Wave PDG	0
+v	11e0	Cray Communications A/S	0
+v	11e1	GEC Plessey Semi Inc.	0
+v	11e2	Samsung Information Systems America	0
+v	11e3	Quicklogic Corporation	0
+d	11e30001	COM-ON-AIR Dosch&Amand DECT	0
+d	11e35030	PC Watchdog	0
+v	11e4	Second Wave Inc	0
+v	11e5	IIX Consulting	0
+v	11e6	Mitsui-Zosen System Research	0
+v	11e7	Toshiba America, Elec. Company	0
+v	11e8	Digital Processing Systems Inc.	0
+v	11e9	Highwater Designs Ltd.	0
+v	11ea	Elsag Bailey	0
+v	11eb	Formation Inc.	0
+v	11ec	Coreco Inc	0
+v	11ed	Mediamatics	0
+v	11ee	Dome Imaging Systems Inc	0
+v	11ef	Nicolet Technologies B.V.	0
+v	11f0	Compu-Shack	0
+d	11f04231	FDDI	0
+d	11f04232	FASTline UTP Quattro	0
+d	11f04233	FASTline FO	0
+d	11f04234	FASTline UTP	0
+d	11f04235	FASTline-II UTP	0
+d	11f04236	FASTline-II FO	0
+d	11f04731	GIGAline	0
+v	11f1	Symbios Logic Inc	0
+v	11f2	Picture Tel Japan K.K.	0
+v	11f3	Keithley Metrabyte	0
+v	11f4	Kinetic Systems Corporation	0
+d	11f42915	CAMAC controller	0
+v	11f5	Computing Devices International	0
+v	11f6	Compex	0
+d	11f60112	ENet100VG4	0
+d	11f60113	FreedomLine 100	0
+d	11f61401	ReadyLink 2000	0
+d	11f62011	RL100-ATX 10/100	0
+s	11f6201111f62011	RL100-ATX	0
+d	11f62201	ReadyLink 100TX (Winbond W89C840)	0
+s	11f6220111f62011	ReadyLink 100TX	0
+d	11f69881	RL100TX Fast Ethernet	0
+v	11f7	Scientific Atlanta	0
+v	11f8	PMC-Sierra Inc.	0
+d	11f87375	PM7375 [LASAR-155 ATM SAR]	0
+v	11f9	I-Cube Inc	0
+v	11fa	Kasan Electronics Company, Ltd.	0
+v	11fb	Datel Inc	0
+v	11fc	Silicon Magic	0
+v	11fd	High Street Consultants	0
+v	11fe	Comtrol Corporation	0
+d	11fe0001	RocketPort 32 port w/external I/F	0
+d	11fe0002	RocketPort 8 port w/external I/F	0
+d	11fe0003	RocketPort 16 port w/external I/F	0
+d	11fe0004	RocketPort 4 port w/quad cable	0
+d	11fe0005	RocketPort 8 port w/octa cable	0
+d	11fe0006	RocketPort 8 port w/RJ11 connectors	0
+d	11fe0007	RocketPort 4 port w/RJ11 connectors	0
+d	11fe0008	RocketPort 8 port w/ DB78 SNI (Siemens) connector	0
+d	11fe0009	RocketPort 16 port w/ DB78 SNI (Siemens) connector	0
+d	11fe000a	RocketPort Plus 4 port	0
+d	11fe000b	RocketPort Plus 8 port	0
+d	11fe000c	RocketModem 6 port	0
+d	11fe000d	RocketModem 4-port	0
+d	11fe000e	RocketPort Plus 2 port RS232	0
+d	11fe000f	RocketPort Plus 2 port RS422	0
+d	11fe0801	RocketPort UPCI 32 port w/external I/F	0
+d	11fe0802	RocketPort UPCI 8 port w/external I/F	0
+d	11fe0803	RocketPort UPCI 16 port w/external I/F	0
+d	11fe0805	RocketPort UPCI 8 port w/octa cable	0
+d	11fe080c	RocketModem III 8 port	0
+d	11fe080d	RocketModem III 4 port	0
+d	11fe0812	RocketPort UPCI Plus 8 port RS422	0
+d	11fe0903	RocketPort Compact PCI 16 port w/external I/F	0
+d	11fe8015	RocketPort 4-port UART 16954	0
+v	11ff	Scion Corporation	0
+d	11ff0003	AG-5	0
+v	1200	CSS Corporation	0
+v	1201	Vista Controls Corp	0
+v	1202	Network General Corp.	0
+d	12024300	Gigabit Ethernet Adapter	0
+s	1202430012029841	SK-9841 LX	0
+s	1202430012029842	SK-9841 LX dual link	0
+s	1202430012029843	SK-9843 SX	0
+s	1202430012029844	SK-9843 SX dual link	0
+v	1203	Bayer Corporation, Agfa Division	0
+v	1204	Lattice Semiconductor Corporation	0
+v	1205	Array Corporation	0
+v	1206	Amdahl Corporation	0
+v	1208	Parsytec GmbH	0
+d	12084853	HS-Link Device	0
+v	1209	SCI Systems Inc	0
+v	120a	Synaptel	0
+v	120b	Adaptive Solutions	0
+v	120c	Technical Corp.	0
+v	120d	Compression Labs, Inc.	0
+v	120e	Cyclades Corporation	0
+d	120e0100	Cyclom-Y below first megabyte	0
+d	120e0101	Cyclom-Y above first megabyte	0
+d	120e0102	Cyclom-4Y below first megabyte	0
+d	120e0103	Cyclom-4Y above first megabyte	0
+d	120e0104	Cyclom-8Y below first megabyte	0
+d	120e0105	Cyclom-8Y above first megabyte	0
+d	120e0200	Cyclades-Z below first megabyte	0
+d	120e0201	Cyclades-Z above first megabyte	0
+d	120e0300	PC300/RSV or /X21 (2 ports)	0
+d	120e0301	PC300/RSV or /X21 (1 port)	0
+d	120e0310	PC300/TE (2 ports)	0
+d	120e0311	PC300/TE (1 port)	0
+d	120e0320	PC300/TE-M (2 ports)	0
+d	120e0321	PC300/TE-M (1 port)	0
+d	120e0400	PC400	0
+v	120f	Essential Communications	0
+d	120f0001	Roadrunner serial HIPPI	0
+v	1210	Hyperparallel Technologies	0
+v	1211	Braintech Inc	0
+v	1212	Kingston Technology Corp.	0
+v	1213	Applied Intelligent Systems, Inc.	0
+v	1214	Performance Technologies, Inc.	0
+v	1215	Interware Co., Ltd	0
+v	1216	Purup Prepress A/S	0
+v	1217	O2 Micro, Inc.	0
+d	121700f7	Firewire (IEEE 1394)	0
+d	12176729	OZ6729	0
+d	1217673a	OZ6730	0
+d	12176832	OZ6832/6833 CardBus Controller	0
+d	12176836	OZ6836/6860 CardBus Controller	0
+d	12176872	OZ6812 CardBus Controller	0
+d	12176925	OZ6922 CardBus Controller	0
+d	12176933	OZ6933/711E1 CardBus/SmartCardBus Controller	0
+s	1217693310251016	Travelmate 612 TX	0
+d	12176972	OZ601/6912/711E0 CardBus/SmartCardBus Controller	0
+s	121769721014020c	ThinkPad R30	0
+s	1217697211790001	Magnia Z310	0
+d	12177110	OZ711Mx 4-in-1 MemoryCardBus Accelerator	0
+s	12177110103c088c	NC8000 laptop	0
+s	12177110103c0890	NC6000 laptop	0
+s	121771101734106c	Amilo A1645	0
+d	12177112	OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller	0
+d	12177113	OZ711EC1 SmartCardBus Controller	0
+d	12177114	OZ711M1/MC1 4-in-1 MemoryCardBus Controller	0
+d	12177120	Integrated MMC/SD Controller	0
+d	12177130	Integrated MS/xD Controller	0
+d	12177134	OZ711MP1/MS1 MemoryCardBus Controller	0
+d	12177135	Cardbus bridge	0
+d	121771e2	OZ711E2 SmartCardBus Controller	0
+d	12177212	OZ711M2 4-in-1 MemoryCardBus Controller	0
+d	12177213	OZ6933E CardBus Controller	0
+d	12177223	OZ711M3/MC3 4-in-1 MemoryCardBus Controller	0
+s	12177223103c088c	NC8000 laptop	0
+s	12177223103c0890	NC6000 laptop	0
+s	1217722310cf11c4	Lifebook P5020D Laptop	1
+d	12177233	OZ711MP3/MS3 4-in-1 MemoryCardBus Controller	0
+v	1218	Hybricon Corp.	0
+v	1219	First Virtual Corporation	0
+v	121a	3Dfx Interactive, Inc.	0
+d	121a0001	Voodoo	0
+d	121a0002	Voodoo 2	0
+d	121a0003	Voodoo Banshee	0
+s	121a000310920003	Monster Fusion	0
+s	121a000310924000	Monster Fusion	0
+s	121a000310924002	Monster Fusion	0
+s	121a000310924801	Monster Fusion AGP	0
+s	121a000310924803	Monster Fusion AGP	0
+s	121a000310928030	Monster Fusion	0
+s	121a000310928035	Monster Fusion AGP	0
+s	121a000310b00001	Dragon 4000	0
+s	121a000311021018	3D Blaster Banshee VE	0
+s	121a0003121a0001	Voodoo Banshee AGP	0
+s	121a0003121a0003	Voodoo Banshee AGP SGRAM	0
+s	121a0003121a0004	Voodoo Banshee	0
+s	121a0003139c0016	Raven	0
+s	121a0003139c0017	Raven	0
+s	121a000314af0002	Maxi Gamer Phoenix	0
+d	121a0004	Voodoo Banshee [Velocity 100]	0
+d	121a0005	Voodoo 3	0
+s	121a0005121a0004	Voodoo3 AGP	0
+s	121a0005121a0030	Voodoo3 AGP	0
+s	121a0005121a0031	Voodoo3 AGP	0
+s	121a0005121a0034	Voodoo3 AGP	0
+s	121a0005121a0036	Voodoo3 2000 PCI	0
+s	121a0005121a0037	Voodoo3 AGP	0
+s	121a0005121a0038	Voodoo3 AGP	0
+s	121a0005121a003a	Voodoo3 AGP	0
+s	121a0005121a0044	Voodoo3	0
+s	121a0005121a004b	Velocity 100	0
+s	121a0005121a004c	Velocity 200	0
+s	121a0005121a004d	Voodoo3 AGP	0
+s	121a0005121a004e	Voodoo3 AGP	0
+s	121a0005121a0051	Voodoo3 AGP	0
+s	121a0005121a0052	Voodoo3 AGP	0
+s	121a0005121a0057	Voodoo3 3000 PCI	0
+s	121a0005121a0060	Voodoo3 3500 TV (NTSC)	0
+s	121a0005121a0061	Voodoo3 3500 TV (PAL)	0
+s	121a0005121a0062	Voodoo3 3500 TV (SECAM)	0
+d	121a0009	Voodoo 4 / Voodoo 5	0
+s	121a0009121a0003	Voodoo5 PCI 5500	0
+s	121a0009121a0009	Voodoo5 AGP 5500/6000	0
+d	121a0057	Voodoo 3/3000 [Avenger]	0
+v	121b	Advanced Telecommunications Modules	0
+v	121c	Nippon Texaco., Ltd	0
+v	121d	Lippert Automationstechnik GmbH	0
+v	121e	CSPI	0
+d	121e0201	Myrinet 2000 Scalable Cluster Interconnect	0
+v	121f	Arcus Technology, Inc.	0
+v	1220	Ariel Corporation	0
+d	12201220	AMCC 5933 TMS320C80 DSP/Imaging board	0
+v	1221	Contec Co., Ltd	0
+v	1222	Ancor Communications, Inc.	0
+v	1223	Artesyn Communication Products	0
+d	12230003	PM/Link	0
+d	12230004	PM/T1	0
+d	12230005	PM/E1	0
+d	12230008	PM/SLS	0
+d	12230009	BajaSpan Resource Target	0
+d	1223000a	BajaSpan Section 0	0
+d	1223000b	BajaSpan Section 1	0
+d	1223000c	BajaSpan Section 2	0
+d	1223000d	BajaSpan Section 3	0
+d	1223000e	PM/PPC	0
+v	1224	Interactive Images	0
+v	1225	Power I/O, Inc.	0
+v	1227	Tech-Source	0
+d	12270006	Raptor GFX 8P	0
+d	12270023	Raptor GFX [1100T]	0
+v	1228	Norsk Elektro Optikk A/S	0
+v	1229	Data Kinesis Inc.	0
+v	122a	Integrated Telecom	0
+v	122b	LG Industrial Systems Co., Ltd	0
+v	122c	Sican GmbH	0
+v	122d	Aztech System Ltd	0
+d	122d1206	368DSP	0
+d	122d1400	Trident PCI288-Q3DII (NX)	0
+d	122d50dc	3328 Audio	0
+s	122d50dc122d0001	3328 Audio	0
+d	122d80da	3328 Audio	0
+s	122d80da122d0001	3328 Audio	0
+v	122e	Xyratex	0
+v	122f	Andrew Corporation	0
+v	1230	Fishcamp Engineering	0
+v	1231	Woodward McCoach, Inc.	0
+v	1232	GPT Limited	0
+v	1233	Bus-Tech, Inc.	0
 v	1234	Technical Corp.	0	Also Bochs uses this for virtual VGA...
-v	1235	Risq Modular Systems, Inc.	0	
-v	1236	Sigma Designs Corporation	0	
-d	12360000	RealMagic64/GX	0	
-d	12366401	REALmagic 64/GX (SD 6425)	0	
-v	1237	Alta Technology Corporation	0	
-v	1238	Adtran	0	
-v	1239	3DO Company	0	
-v	123a	Visicom Laboratories, Inc.	0	
-v	123b	Seeq Technology, Inc.	0	
-v	123c	Century Systems, Inc.	0	
-v	123d	Engineering Design Team, Inc.	0	
-d	123d0000	EasyConnect 8/32	0	
-d	123d0002	EasyConnect 8/64	0	
-d	123d0003	EasyIO	0	
-v	123e	Simutech, Inc.	0	
-v	123f	C-Cube Microsystems	0	
-d	123f00e4	MPEG	0	
-d	123f8120	E4?	0	
-s	123f812011bd0006	DV500 E4	0	
-s	123f812011bd000a	DV500 E4	0	
-s	123f812011bd000f	DV500 E4	0	
-s	123f812018090016	Emuzed MAUI-III PCI PVR FM TV	0	
-d	123f8888	Cinemaster C 3.0 DVD Decoder	0	
-s	123f888810020001	Cinemaster C 3.0 DVD Decoder	0	
-s	123f888810020002	Cinemaster C 3.0 DVD Decoder	0	
-s	123f888813280001	Cinemaster C 3.0 DVD Decoder	0	
-v	1240	Marathon Technologies Corp.	0	
-v	1241	DSC Communications	0	
+v	1235	Risq Modular Systems, Inc.	0
+v	1236	Sigma Designs Corporation	0
+d	12360000	RealMagic64/GX	0
+d	12366401	REALmagic 64/GX (SD 6425)	0
+v	1237	Alta Technology Corporation	0
+v	1238	Adtran	0
+v	1239	3DO Company	0
+v	123a	Visicom Laboratories, Inc.	0
+v	123b	Seeq Technology, Inc.	0
+v	123c	Century Systems, Inc.	0
+v	123d	Engineering Design Team, Inc.	0
+d	123d0000	EasyConnect 8/32	0
+d	123d0002	EasyConnect 8/64	0
+d	123d0003	EasyIO	0
+v	123e	Simutech, Inc.	0
+v	123f	C-Cube Microsystems	0
+d	123f00e4	MPEG	0
+d	123f8120	E4?	0
+s	123f812011bd0006	DV500 E4	0
+s	123f812011bd000a	DV500 E4	0
+s	123f812011bd000f	DV500 E4	0
+s	123f812018090016	Emuzed MAUI-III PCI PVR FM TV	0
+d	123f8888	Cinemaster C 3.0 DVD Decoder	0
+s	123f888810020001	Cinemaster C 3.0 DVD Decoder	0
+s	123f888810020002	Cinemaster C 3.0 DVD Decoder	0
+s	123f888813280001	Cinemaster C 3.0 DVD Decoder	0
+v	1240	Marathon Technologies Corp.	0
+v	1241	DSC Communications	0
 v	1242	JNI Corporation	0	Formerly Jaycor Networks, Inc.
-d	12421560	JNIC-1560 PCI-X Fibre Channel Controller	0	
-s	1242156012426562	FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter	0	
-s	124215601242656a	FCX-6562 PCI-X Fibre Channel Adapter	0	
-d	12424643	FCI-1063 Fibre Channel Adapter	0	
-d	12426562	FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter	0	
-d	1242656a	FCX-6562 PCI-X Fibre Channel Adapter	0	
-v	1243	Delphax	0	
-v	1244	AVM Audiovisuelles MKTG & Computer System GmbH	0	
-d	12440700	B1 ISDN	0	
-d	12440800	C4 ISDN	0	
-d	12440a00	A1 ISDN [Fritz]	0	
-s	12440a0012440a00	FRITZ!Card ISDN Controller	0	
-d	12440e00	Fritz!PCI v2.0 ISDN	0	
-d	12441100	C2 ISDN	0	
-d	12441200	T1 ISDN	0	
-d	12442700	Fritz!Card DSL SL	0	
-d	12442900	Fritz!Card DSL v2.0	0	
-v	1245	A.P.D., S.A.	0	
-v	1246	Dipix Technologies, Inc.	0	
-v	1247	Xylon Research, Inc.	0	
-v	1248	Central Data Corporation	0	
-v	1249	Samsung Electronics Co., Ltd.	0	
-v	124a	AEG Electrocom GmbH	0	
-v	124b	SBS/Greenspring Modular I/O	0	
-d	124b0040	PCI-40A or cPCI-200 Quad IndustryPack carrier	0	
-s	124b0040124b9080	PCI9080 Bridge	0	
-v	124c	Solitron Technologies, Inc.	0	
-v	124d	Stallion Technologies, Inc.	0	
-d	124d0000	EasyConnection 8/32	0	
-d	124d0002	EasyConnection 8/64	0	
-d	124d0003	EasyIO	0	
-d	124d0004	EasyConnection/RA	0	
-v	124e	Cylink	0	
-v	124f	Infortrend Technology, Inc.	0	
-d	124f0041	IFT-2000 Series RAID Controller	0	
-v	1250	Hitachi Microcomputer System Ltd	0	
-v	1251	VLSI Solutions Oy	0	
-v	1253	Guzik Technical Enterprises	0	
-v	1254	Linear Systems Ltd.	0	
-v	1255	Optibase Ltd	0	
-d	12551110	MPEG Forge	0	
-d	12551210	MPEG Fusion	0	
-d	12552110	VideoPlex	0	
-d	12552120	VideoPlex CC	0	
-d	12552130	VideoQuest	0	
-v	1256	Perceptive Solutions, Inc.	0	
-d	12564201	PCI-2220I	0	
-d	12564401	PCI-2240I	0	
-d	12565201	PCI-2000	0	
-v	1257	Vertex Networks, Inc.	0	
-v	1258	Gilbarco, Inc.	0	
-v	1259	Allied Telesyn International	0	
-d	12592560	AT-2560 Fast Ethernet Adapter (i82557B)	0	
-d	1259a117	RTL81xx Fast Ethernet	0	
-d	1259a11e	RTL81xx Fast Ethernet	0	
-d	1259a120	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-v	125a	ABB Power Systems	0	
-v	125b	Asix Electronics Corporation	0	
-d	125b1400	ALFA GFC2204 Fast Ethernet	0	
-s	125b140011861100	AX8814X Based PCI Fast Ethernet Adapter	0	
-v	125c	Aurora Technologies, Inc.	0	
-d	125c0101	Saturn 4520P	0	
-d	125c0640	Aries 16000P	0	
-v	125d	ESS Technology	0	
-d	125d0000	ES336H Fax Modem (Early Model)	0	
-d	125d1948	Solo?	0	
-d	125d1968	ES1968 Maestro 2	0	
-s	125d196810280085	ES1968 Maestro-2 PCI	0	
-s	125d196810338051	ES1968 Maestro-2 Audiodrive	0	
-d	125d1969	ES1969 Solo-1 Audiodrive	0	
-s	125d196910140166	ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard	0	
-s	125d1969125d8888	Solo-1 Audio Adapter	0	
-s	125d1969153b111b	Terratec 128i PCI	0	
-d	125d1978	ES1978 Maestro 2E	0	
-s	125d19780e11b112	Armada M700/E500	0	
-s	125d19781033803c	ES1978 Maestro-2E Audiodrive	0	
-s	125d197810338058	ES1978 Maestro-2E Audiodrive	0	
-s	125d197810924000	Monster Sound MX400	0	
-s	125d197811790001	ES1978 Maestro-2E Audiodrive	0	
-d	125d1988	ES1988 Allegro-1	0	
-s	125d19880e110098	Evo N600c	0	
-s	125d198810924100	Sonic Impact S100	0	
-s	125d1988125d1988	ESS Allegro-1 Audiodrive	0	
-d	125d1989	ESS Modem	0	
-s	125d1989125d1989	ESS Modem	0	
-d	125d1998	ES1983S Maestro-3i PCI Audio Accelerator	0	
-s	125d1998102800b1	Latitude C600	0	
-s	125d1998102800e6	ES1983S Maestro-3i (Dell Inspiron 8100)	0	
-d	125d1999	ES1983S Maestro-3i PCI Modem Accelerator	0	
-d	125d199a	ES1983S Maestro-3i PCI Audio Accelerator	0	
-d	125d199b	ES1983S Maestro-3i PCI Modem Accelerator	0	
-d	125d2808	ES336H Fax Modem (Later Model)	0	
-d	125d2838	ES2838/2839 SuperLink Modem	0	
-d	125d2898	ES2898 Modem	0	
-s	125d2898125d0424	ES56-PI Data Fax Modem	0	
-s	125d2898125d0425	ES56T-PI Data Fax Modem	0	
-s	125d2898125d0426	ES56V-PI Data Fax Modem	0	
-s	125d2898125d0427	VW-PI Data Fax Modem	0	
-s	125d2898125d0428	ES56ST-PI Data Fax Modem	0	
-s	125d2898125d0429	ES56SV-PI Data Fax Modem	0	
-s	125d2898147ac001	ES56-PI Data Fax Modem	0	
-s	125d2898148d1030	DIGICOM HCF WV-PI56 [ESS ES56-PI Data Fax Modem]	1	
-s	125d289814fe0428	ES56-PI Data Fax Modem	0	
-s	125d289814fe0429	ES56-PI Data Fax Modem	0	
-v	125e	Specialvideo Engineering SRL	0	
-v	125f	Concurrent Technologies, Inc.	0	
-v	1260	Intersil Corporation	0	
-d	12603872	Prism 2.5 Wavelan chipset	0	
-s	1260387214680202	LAN-Express IEEE 802.11b Wireless LAN	0	
-d	12603873	Prism 2.5 Wavelan chipset	0	
-s	1260387311863501	DWL-520 Wireless PCI Adapter	0	
-s	1260387311863700	DWL-520 Wireless PCI Adapter, Rev E1	0	
-s	1260387313854105	MA311 802.11b wireless adapter	0	
-s	1260387316680414	HWP01170-01 802.11b PCI Wireless Adapter	0	
-s	1260387316a51601	AIR.mate PC-400 PCI Wireless LAN Adapter	0	
-s	1260387317373874	WMP11 Wireless 802.11b PCI Adapter	0	
-s	1260387380862513	Wireless 802.11b MiniPCI Adapter	0	
-d	12603886	ISL3886 [Prism Javelin/Prism Xbow]	0	
-s	1260388617cf0037	XG-901 and clones Wireless Adapter	0	
-d	12603890	ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow]	0	
-s	1260389010b82802	SMC2802W Wireless PCI Adapter	0	
-s	1260389010b82835	SMC2835W Wireless Cardbus Adapter	0	
-s	1260389010b8a835	SMC2835W V2 Wireless Cardbus Adapter	0	
-s	1260389011134203	WN4201B	0	
-s	1260389011138201	T-Com T-Sinus 154pcicard Wireless PCI Adapter	1	
-s	126038901113ee03	SMC2802W V2 Wireless PCI Adapter [ISL3886]	0	
-s	126038901113ee08	SMC2835W V3 EU Wireless Cardbus Adapter	0	
-s	1260389011863202	DWL-G650 A1 Wireless Adapter	0	
-s	126038901259c104	CG-WLCB54GT Wireless Adapter	0	
-s	1260389012600000	WG511 Wireless Adapter	0	
-s	1260389013854800	WG511 Wireless Adapter	0	
-s	1260389016a51605	ALLNET ALL0271 Wireless PCI Adapter	0	
-s	1260389017cf0014	XG-600 and clones Wireless Adapter	0	
-s	1260389017cf0020	XG-900 and clones Wireless Adapter	0	
-d	12608130	HMP8130 NTSC/PAL Video Decoder	0	
-d	12608131	HMP8131 NTSC/PAL Video Decoder	0	
+d	12421560	JNIC-1560 PCI-X Fibre Channel Controller	0
+s	1242156012426562	FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter	0
+s	124215601242656a	FCX-6562 PCI-X Fibre Channel Adapter	0
+d	12424643	FCI-1063 Fibre Channel Adapter	0
+d	12426562	FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter	0
+d	1242656a	FCX-6562 PCI-X Fibre Channel Adapter	0
+v	1243	Delphax	0
+v	1244	AVM Audiovisuelles MKTG & Computer System GmbH	0
+d	12440700	B1 ISDN	0
+d	12440800	C4 ISDN	0
+d	12440a00	A1 ISDN [Fritz]	0
+s	12440a0012440a00	FRITZ!Card ISDN Controller	0
+d	12440e00	Fritz!PCI v2.0 ISDN	0
+d	12441100	C2 ISDN	0
+d	12441200	T1 ISDN	0
+d	12442700	Fritz!Card DSL SL	0
+d	12442900	Fritz!Card DSL v2.0	0
+v	1245	A.P.D., S.A.	0
+v	1246	Dipix Technologies, Inc.	0
+v	1247	Xylon Research, Inc.	0
+v	1248	Central Data Corporation	0
+v	1249	Samsung Electronics Co., Ltd.	0
+v	124a	AEG Electrocom GmbH	0
+v	124b	SBS/Greenspring Modular I/O	0
+d	124b0040	PCI-40A or cPCI-200 Quad IndustryPack carrier	0
+s	124b0040124b9080	PCI9080 Bridge	0
+v	124c	Solitron Technologies, Inc.	0
+v	124d	Stallion Technologies, Inc.	0
+d	124d0000	EasyConnection 8/32	0
+d	124d0002	EasyConnection 8/64	0
+d	124d0003	EasyIO	0
+d	124d0004	EasyConnection/RA	0
+v	124e	Cylink	0
+v	124f	Infortrend Technology, Inc.	0
+d	124f0041	IFT-2000 Series RAID Controller	0
+v	1250	Hitachi Microcomputer System Ltd	0
+v	1251	VLSI Solutions Oy	0
+v	1253	Guzik Technical Enterprises	0
+v	1254	Linear Systems Ltd.	0
+v	1255	Optibase Ltd	0
+d	12551110	MPEG Forge	0
+d	12551210	MPEG Fusion	0
+d	12552110	VideoPlex	0
+d	12552120	VideoPlex CC	0
+d	12552130	VideoQuest	0
+v	1256	Perceptive Solutions, Inc.	0
+d	12564201	PCI-2220I	0
+d	12564401	PCI-2240I	0
+d	12565201	PCI-2000	0
+v	1257	Vertex Networks, Inc.	0
+v	1258	Gilbarco, Inc.	0
+v	1259	Allied Telesyn International	0
+d	12592560	AT-2560 Fast Ethernet Adapter (i82557B)	0
+d	1259a117	RTL81xx Fast Ethernet	0
+d	1259a11e	RTL81xx Fast Ethernet	0
+d	1259a120	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+v	125a	ABB Power Systems	0
+v	125b	Asix Electronics Corporation	0
+d	125b1400	ALFA GFC2204 Fast Ethernet	0
+s	125b140011861100	AX8814X Based PCI Fast Ethernet Adapter	0
+v	125c	Aurora Technologies, Inc.	0
+d	125c0101	Saturn 4520P	0
+d	125c0640	Aries 16000P	0
+v	125d	ESS Technology	0
+d	125d0000	ES336H Fax Modem (Early Model)	0
+d	125d1948	Solo?	0
+d	125d1968	ES1968 Maestro 2	0
+s	125d196810280085	ES1968 Maestro-2 PCI	0
+s	125d196810338051	ES1968 Maestro-2 Audiodrive	0
+d	125d1969	ES1969 Solo-1 Audiodrive	0
+s	125d196910140166	ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard	0
+s	125d1969125d8888	Solo-1 Audio Adapter	0
+s	125d1969153b111b	Terratec 128i PCI	0
+d	125d1978	ES1978 Maestro 2E	0
+s	125d19780e11b112	Armada M700/E500	0
+s	125d19781033803c	ES1978 Maestro-2E Audiodrive	0
+s	125d197810338058	ES1978 Maestro-2E Audiodrive	0
+s	125d197810924000	Monster Sound MX400	0
+s	125d197811790001	ES1978 Maestro-2E Audiodrive	0
+d	125d1988	ES1988 Allegro-1	0
+s	125d19880e110098	Evo N600c	0
+s	125d198810924100	Sonic Impact S100	0
+s	125d1988125d1988	ESS Allegro-1 Audiodrive	0
+d	125d1989	ESS Modem	0
+s	125d1989125d1989	ESS Modem	0
+d	125d1998	ES1983S Maestro-3i PCI Audio Accelerator	0
+s	125d1998102800b1	Latitude C600	0
+s	125d1998102800e6	ES1983S Maestro-3i (Dell Inspiron 8100)	0
+d	125d1999	ES1983S Maestro-3i PCI Modem Accelerator	0
+d	125d199a	ES1983S Maestro-3i PCI Audio Accelerator	0
+d	125d199b	ES1983S Maestro-3i PCI Modem Accelerator	0
+d	125d2808	ES336H Fax Modem (Later Model)	0
+d	125d2838	ES2838/2839 SuperLink Modem	0
+d	125d2898	ES2898 Modem	0
+s	125d2898125d0424	ES56-PI Data Fax Modem	0
+s	125d2898125d0425	ES56T-PI Data Fax Modem	0
+s	125d2898125d0426	ES56V-PI Data Fax Modem	0
+s	125d2898125d0427	VW-PI Data Fax Modem	0
+s	125d2898125d0428	ES56ST-PI Data Fax Modem	0
+s	125d2898125d0429	ES56SV-PI Data Fax Modem	0
+s	125d2898147ac001	ES56-PI Data Fax Modem	0
+s	125d2898148d1030	DIGICOM HCF WV-PI56 [ESS ES56-PI Data Fax Modem]	1
+s	125d289814fe0428	ES56-PI Data Fax Modem	0
+s	125d289814fe0429	ES56-PI Data Fax Modem	0
+v	125e	Specialvideo Engineering SRL	0
+v	125f	Concurrent Technologies, Inc.	0
+v	1260	Intersil Corporation	0
+d	12603872	Prism 2.5 Wavelan chipset	0
+s	1260387214680202	LAN-Express IEEE 802.11b Wireless LAN	0
+d	12603873	Prism 2.5 Wavelan chipset	0
+s	1260387311863501	DWL-520 Wireless PCI Adapter	0
+s	1260387311863700	DWL-520 Wireless PCI Adapter, Rev E1	0
+s	1260387313854105	MA311 802.11b wireless adapter	0
+s	1260387316680414	HWP01170-01 802.11b PCI Wireless Adapter	0
+s	1260387316a51601	AIR.mate PC-400 PCI Wireless LAN Adapter	0
+s	1260387317373874	WMP11 Wireless 802.11b PCI Adapter	0
+s	1260387380862513	Wireless 802.11b MiniPCI Adapter	0
+d	12603886	ISL3886 [Prism Javelin/Prism Xbow]	0
+s	1260388617cf0037	XG-901 and clones Wireless Adapter	0
+d	12603890	ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow]	0
+s	1260389010b82802	SMC2802W Wireless PCI Adapter	0
+s	1260389010b82835	SMC2835W Wireless Cardbus Adapter	0
+s	1260389010b8a835	SMC2835W V2 Wireless Cardbus Adapter	0
+s	1260389011134203	WN4201B	0
+s	1260389011138201	T-Com T-Sinus 154pcicard Wireless PCI Adapter	1
+s	126038901113ee03	SMC2802W V2 Wireless PCI Adapter [ISL3886]	0
+s	126038901113ee08	SMC2835W V3 EU Wireless Cardbus Adapter	0
+s	1260389011863202	DWL-G650 A1 Wireless Adapter	0
+s	126038901259c104	CG-WLCB54GT Wireless Adapter	0
+s	1260389012600000	WG511 Wireless Adapter	0
+s	1260389013854800	WG511 Wireless Adapter	0
+s	1260389016a51605	ALLNET ALL0271 Wireless PCI Adapter	0
+s	1260389017cf0014	XG-600 and clones Wireless Adapter	0
+s	1260389017cf0020	XG-900 and clones Wireless Adapter	0
+d	12608130	HMP8130 NTSC/PAL Video Decoder	0
+d	12608131	HMP8131 NTSC/PAL Video Decoder	0
 d	1260ffff	ISL3886IK	0	This is probably more likely a HW fault, but I am keeping it for now --mj
-s	1260ffff12600000	Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter	0	
-v	1261	Matsushita-Kotobuki Electronics Industries, Ltd.	0	
-v	1262	ES Computer Company, Ltd.	0	
-v	1263	Sonic Solutions	0	
-v	1264	Aval Nagasaki Corporation	0	
-v	1265	Casio Computer Co., Ltd.	0	
-v	1266	Microdyne Corporation	0	
-d	12660001	NE10/100 Adapter (i82557B)	0	
-d	12661910	NE2000Plus (RT8029) Ethernet Adapter	0	
-s	1266191012661910	NE2000Plus Ethernet Adapter	0	
-v	1267	S. A. Telecommunications	0	
-d	12675352	PCR2101	0	
-d	12675a4b	Telsat Turbo	0	
-v	1268	Tektronix	0	
-v	1269	Thomson-CSF/TTM	0	
-v	126a	Lexmark International, Inc.	0	
-v	126b	Adax, Inc.	0	
-v	126c	Northern Telecom	0	
-d	126c1211	10/100BaseTX [RTL81xx]	0	
-d	126c126c	802.11b Wireless Ethernet Adapter	0	
-v	126d	Splash Technology, Inc.	0	
-v	126e	Sumitomo Metal Industries, Ltd.	0	
-v	126f	Silicon Motion, Inc.	0	
-d	126f0501	SM501 VoyagerGX Rev. AA	0	
-d	126f0510	SM501 VoyagerGX Rev. B	0	
-d	126f0710	SM710 LynxEM	0	
-d	126f0712	SM712 LynxEM+	0	
-d	126f0720	SM720 Lynx3DM	0	
-d	126f0730	SM731 Cougar3DR	0	
-d	126f0810	SM810 LynxE	0	
-d	126f0811	SM811 LynxE	0	
-d	126f0820	SM820 Lynx3D	0	
-d	126f0910	SM910	0	
-v	1270	Olympus Optical Co., Ltd.	0	
-v	1271	GW Instruments	0	
-v	1272	Telematics International	0	
-v	1273	Hughes Network Systems	0	
-d	12730002	DirecPC	0	
-v	1274	Ensoniq	0	
-d	12741171	ES1373 [AudioPCI] (also Creative Labs CT5803)	0	
-d	12741371	ES1371 [AudioPCI-97]	0	
-s	127413710e110024	AudioPCI on Motherboard Compaq Deskpro	0	
-s	127413710e11b1a7	ES1371, ES1373 AudioPCI	0	
-s	12741371103380ac	ES1371, ES1373 AudioPCI	0	
-s	1274137110421854	Tazer	0	
-s	12741371107b8054	Tabor2	0	
-s	1274137112741371	Creative Sound Blaster AudioPCI64V, AudioPCI128	0	
-s	1274137112748001	CT4751 board	0	
-s	1274137114626470	ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A	0	
-s	1274137114626560	ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10	0	
-s	1274137114626630	ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A	0	
-s	1274137114626631	ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A	0	
-s	1274137114626632	ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A	0	
-s	1274137114626633	ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A	0	
-s	1274137114626820	ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00	0	
-s	1274137114626822	ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A	0	
-s	1274137114626830	ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00	0	
-s	1274137114626880	ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00	0	
-s	1274137114626900	ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00	0	
-s	1274137114626910	ES1371, ES1373 AudioPCI On Motherboard MS-6191	0	
-s	1274137114626930	ES1371, ES1373 AudioPCI On Motherboard MS-6193	0	
-s	1274137114626990	ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A	0	
-s	1274137114626991	ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A	0	
-s	1274137114a42077	ES1371, ES1373 AudioPCI On Motherboard KR639	0	
-s	1274137114a42105	ES1371, ES1373 AudioPCI On Motherboard MR800	0	
-s	1274137114a42107	ES1371, ES1373 AudioPCI On Motherboard MR801	0	
-s	1274137114a42172	ES1371, ES1373 AudioPCI On Motherboard DR739	0	
-s	1274137115099902	ES1371, ES1373 AudioPCI On Motherboard KW11	0	
-s	1274137115099903	ES1371, ES1373 AudioPCI On Motherboard KW31	0	
-s	1274137115099904	ES1371, ES1373 AudioPCI On Motherboard KA11	0	
-s	1274137115099905	ES1371, ES1373 AudioPCI On Motherboard KC13	0	
-s	12741371152d8801	ES1371, ES1373 AudioPCI On Motherboard CP810E	0	
-s	12741371152d8802	ES1371, ES1373 AudioPCI On Motherboard CP810	0	
-s	12741371152d8803	ES1371, ES1373 AudioPCI On Motherboard P3810E	0	
-s	12741371152d8804	ES1371, ES1373 AudioPCI On Motherboard P3810-S	0	
-s	12741371152d8805	ES1371, ES1373 AudioPCI On Motherboard P3820-S	0	
-s	12741371270f2001	ES1371, ES1373 AudioPCI On Motherboard 6CTR	0	
-s	12741371270f2200	ES1371, ES1373 AudioPCI On Motherboard 6WTX	0	
-s	12741371270f3000	ES1371, ES1373 AudioPCI On Motherboard 6WSV	0	
-s	12741371270f3100	ES1371, ES1373 AudioPCI On Motherboard 6WIV2	0	
-s	12741371270f3102	ES1371, ES1373 AudioPCI On Motherboard 6WIV	0	
-s	12741371270f7060	ES1371, ES1373 AudioPCI On Motherboard 6ASA2	0	
-s	1274137180864249	ES1371, ES1373 AudioPCI On Motherboard BI440ZX	0	
-s	127413718086424c	ES1371, ES1373 AudioPCI On Motherboard BL440ZX	0	
-s	127413718086425a	ES1371, ES1373 AudioPCI On Motherboard BZ440ZX	0	
-s	1274137180864341	ES1371, ES1373 AudioPCI On Motherboard Cayman	0	
-s	1274137180864343	ES1371, ES1373 AudioPCI On Motherboard Cape Cod	0	
-s	1274137180864541	D815EEA Motherboard	0	
-s	1274137180864649	ES1371, ES1373 AudioPCI On Motherboard Fire Island	0	
-s	127413718086464a	ES1371, ES1373 AudioPCI On Motherboard FJ440ZX	0	
-s	1274137180864d4f	ES1371, ES1373 AudioPCI On Motherboard Montreal	0	
-s	1274137180864f43	ES1371, ES1373 AudioPCI On Motherboard OC440LX	0	
-s	1274137180865243	ES1371, ES1373 AudioPCI On Motherboard RC440BX	0	
-s	1274137180865352	ES1371, ES1373 AudioPCI On Motherboard SunRiver	0	
-s	1274137180865643	ES1371, ES1373 AudioPCI On Motherboard Vancouver	0	
-s	1274137180865753	ES1371, ES1373 AudioPCI On Motherboard WS440BX	0	
-d	12745000	ES1370 [AudioPCI]	0	
-d	12745880	5880 AudioPCI	0	
-s	1274588012742000	Creative Sound Blaster AudioPCI128	0	
-s	1274588012742003	Creative SoundBlaster AudioPCI 128	0	
-s	1274588012745880	Creative Sound Blaster AudioPCI128	0	
-s	1274588012748001	Sound Blaster 16PCI 4.1ch	0	
-s	127458801458a000	5880 AudioPCI On Motherboard 6OXET	0	
-s	1274588014626880	5880 AudioPCI On Motherboard MS-6188 1.00	0	
-s	12745880270f2001	5880 AudioPCI On Motherboard 6CTR	0	
-s	12745880270f2200	5880 AudioPCI On Motherboard 6WTX	0	
-s	12745880270f7040	5880 AudioPCI On Motherboard 6ATA4	0	
-v	1275	Network Appliance Corporation	0	
-v	1276	Switched Network Technologies, Inc.	0	
-v	1277	Comstream	0	
-v	1278	Transtech Parallel Systems Ltd.	0	
-d	12780701	TPE3/TM3 PowerPC Node	0	
-d	12780710	TPE5 PowerPC PCI board	0	
-v	1279	Transmeta Corporation	0	
-d	12790060	TM8000 Northbridge	0	
-d	12790061	TM8000 AGP bridge	0	
-d	12790295	Northbridge	0	
-d	12790395	LongRun Northbridge	0	
-d	12790396	SDRAM controller	0	
-d	12790397	BIOS scratchpad	0	
-v	127a	Rockwell International	0	
-d	127a1002	HCF 56k Data/Fax Modem	0	
-s	127a10021092094c	SupraExpress 56i PRO [Diamond SUP2380]	0	
-s	127a1002122d4002	HPG / MDP3858-U	0	
-s	127a1002122d4005	MDP3858-E	0	
-s	127a1002122d4007	MDP3858-A/-NZ	0	
-s	127a1002122d4012	MDP3858-SA	0	
-s	127a1002122d4017	MDP3858-W	0	
-s	127a1002122d4018	MDP3858-W	0	
-s	127a1002127a1002	Rockwell 56K D/F HCF Modem	0	
-d	127a1003	HCF 56k Data/Fax Modem	0	
-s	127a10030e11b0bc	229-DF Zephyr	0	
-s	127a10030e11b114	229-DF Cheetah	0	
-s	127a10031033802b	229-DF	0	
-s	127a100313df1003	PCI56RX Modem	0	
-s	127a100313e00117	IBM	0	
-s	127a100313e00147	IBM F-1156IV+/R3 Spain V.90 Modem	0	
-s	127a100313e00197	IBM	0	
-s	127a100313e001c7	IBM F-1156IV+/R3 WW V.90 Modem	0	
-s	127a100313e001f7	IBM	0	
-s	127a100314361003	IBM	0	
-s	127a100314361103	IBM 5614PM3G V.90 Modem	0	
-s	127a100314361602	Compaq 229-DF Ducati	0	
-d	127a1004	HCF 56k Data/Fax/Voice Modem	0	
-s	127a100410481500	MicroLink 56k Modem	0	
-s	127a100410cf1059	Fujitsu 229-DFRT	0	
-d	127a1005	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-s	127a10051005127a	AOpen FM56-P	0	
-s	127a100510338029	229-DFSV	0	
-s	127a100510338054	Modem	0	
-s	127a100510cf103c	Fujitsu	0	
-s	127a100510cf1055	Fujitsu 229-DFSV	0	
-s	127a100510cf1056	Fujitsu 229-DFSV	0	
-s	127a1005122d4003	MDP3858SP-U	0	
-s	127a1005122d4006	Packard Bell MDP3858V-E	0	
-s	127a1005122d4008	MDP3858SP-A/SP-NZ	0	
-s	127a1005122d4009	MDP3858SP-E	0	
-s	127a1005122d4010	MDP3858V-U	0	
-s	127a1005122d4011	MDP3858SP-SA	0	
-s	127a1005122d4013	MDP3858V-A/V-NZ	0	
-s	127a1005122d4015	MDP3858SP-W	0	
-s	127a1005122d4016	MDP3858V-W	0	
-s	127a1005122d4019	MDP3858V-SA	0	
-s	127a100513df1005	PCI56RVP Modem	0	
-s	127a100513e00187	IBM	0	
-s	127a100513e001a7	IBM	0	
-s	127a100513e001b7	IBM DF-1156IV+/R3 Spain V.90 Modem	0	
-s	127a100513e001d7	IBM DF-1156IV+/R3 WW V.90 Modem	0	
-s	127a100514361005	IBM	0	
-s	127a100514361105	IBM	0	
-s	127a100514371105	IBM 5614PS3G V.90 Modem	0	
-d	127a1022	HCF 56k Modem	0	
-s	127a102214361303	M3-5614PM3G V.90 Modem	0	
-d	127a1023	HCF 56k Data/Fax Modem	0	
-s	127a1023122d4020	Packard Bell MDP3858-WE	0	
-s	127a1023122d4023	MDP3858-UE	0	
-s	127a102313e00247	IBM F-1156IV+/R6 Spain V.90 Modem	0	
-s	127a102313e00297	IBM	0	
-s	127a102313e002c7	IBM F-1156IV+/R6 WW V.90 Modem	0	
-s	127a102314361203	IBM	0	
-s	127a102314361303	IBM	0	
-d	127a1024	HCF 56k Data/Fax/Voice Modem	0	
-d	127a1025	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-s	127a102510cf106a	Fujitsu 235-DFSV	0	
-s	127a1025122d4021	Packard Bell MDP3858V-WE	0	
-s	127a1025122d4022	MDP3858SP-WE	0	
-s	127a1025122d4024	MDP3858V-UE	0	
-s	127a1025122d4025	MDP3858SP-UE	0	
-d	127a1026	HCF 56k PCI Speakerphone Modem	0	
-d	127a1032	HCF 56k Modem	0	
-d	127a1033	HCF 56k Modem	0	
-d	127a1034	HCF 56k Modem	0	
-d	127a1035	HCF 56k PCI Speakerphone Modem	0	
-d	127a1036	HCF 56k Modem	0	
-d	127a1085	HCF 56k Volcano PCI Modem	0	
-d	127a2005	HCF 56k Data/Fax Modem	0	
-s	127a2005104d8044	229-DFSV	0	
-s	127a2005104d8045	229-DFSV	0	
-s	127a2005104d8055	PBE/Aztech 235W-DFSV	0	
-s	127a2005104d8056	235-DFSV	0	
-s	127a2005104d805a	Modem	0	
-s	127a2005104d805f	Modem	0	
-s	127a2005104d8074	Modem	0	
-d	127a2013	HSF 56k Data/Fax Modem	0	
-s	127a201311790001	Modem	0	
-s	127a20131179ff00	Modem	0	
-d	127a2014	HSF 56k Data/Fax/Voice Modem	0	
-s	127a201410cf1057	Fujitsu Citicorp III	0	
-s	127a2014122d4050	MSP3880-U	0	
-s	127a2014122d4055	MSP3880-W	0	
-d	127a2015	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-s	127a201510cf1063	Fujitsu	0	
-s	127a201510cf1064	Fujitsu	0	
-s	127a201514682015	Fujitsu	0	
-d	127a2016	HSF 56k Data/Fax/Voice/Spkp Modem	0	
-s	127a2016122d4051	MSP3880V-W	0	
-s	127a2016122d4052	MSP3880SP-W	0	
-s	127a2016122d4054	MSP3880V-U	0	
-s	127a2016122d4056	MSP3880SP-U	0	
-s	127a2016122d4057	MSP3880SP-A	0	
-d	127a4311	Riptide HSF 56k PCI Modem	0	
-s	127a4311127a4311	Ring Modular? Riptide HSF RT HP Dom	0	
-s	127a431113e00210	HP-GVC	0	
-d	127a4320	Riptide PCI Audio Controller	0	
-s	127a432012354320	Riptide PCI Audio Controller	0	
-d	127a4321	Riptide HCF 56k PCI Modem	0	
-s	127a432112354321	Hewlett Packard DF	0	
-s	127a432112354324	Hewlett Packard DF	0	
-s	127a432113e00210	Hewlett Packard DF	0	
-s	127a4321144d2321	Riptide	0	
-d	127a4322	Riptide PCI Game Controller	0	
-s	127a432212354322	Riptide PCI Game Controller	0	
-d	127a8234	RapidFire 616X ATM155 Adapter	0	
-s	127a8234108d0022	RapidFire 616X ATM155 Adapter	0	
-s	127a8234108d0027	RapidFire 616X ATM155 Adapter	0	
-v	127b	Pixera Corporation	0	
-v	127c	Crosspoint Solutions, Inc.	0	
-v	127d	Vela Research	0	
-v	127e	Winnov, L.P.	0	
-v	127f	Fujifilm	0	
-v	1280	Photoscript Group Ltd.	0	
-v	1281	Yokogawa Electric Corporation	0	
-v	1282	Davicom Semiconductor, Inc.	0	
-d	12829009	Ethernet 100/10 MBit	0	
-d	12829100	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	12829102	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	12829132	Ethernet 100/10 MBit	0	
-v	1283	Integrated Technology Express, Inc.	0	
-d	1283284b	8086	1	
-d	1283673a	IT8330G	0	
-d	12838211	ITE 8211F Single Channel UDMA 133 (ASUS 8211 (ITE IT8212 ATA RAID Controller))	0	
-s	1283821110438138	P5GD1-VW Mainboard	0	
-d	12838212	IT/ITE8212 Dual channel ATA RAID controller (PCI version seems to be IT8212, embedded seems to be ITE8212)	0	
-s	1283821212830001	IT/ITE8212 Dual channel ATA RAID controller	0	
-d	12838330	IT8330G	0	
-d	12838872	IT8874F PCI Dual Serial Port Controller	0	
-d	12838888	IT8888F PCI to ISA Bridge with SMB	0	
-d	12838889	IT8889F PCI to ISA Bridge	0	
-d	1283e886	IT8330G	0	
-v	1284	Sahara Networks, Inc.	0	
-v	1285	Platform Technologies, Inc.	0	
-d	12850100	AGOGO sound chip (aka ESS Maestro 1)	0	
-v	1286	Mazet GmbH	0	
-v	1287	M-Pact, Inc.	0	
-d	1287001e	LS220D DVD Decoder	0	
-d	1287001f	LS220C DVD Decoder	0	
-v	1288	Timestep Corporation	0	
-v	1289	AVC Technology, Inc.	0	
-v	128a	Asante Technologies, Inc.	0	
-v	128b	Transwitch Corporation	0	
-v	128c	Retix Corporation	0	
-v	128d	G2 Networks, Inc.	0	
-d	128d0021	ATM155 Adapter	0	
-v	128e	Hoontech Corporation/Samho Multi Tech Ltd.	0	
-d	128e0008	ST128 WSS/SB	0	
-d	128e0009	ST128 SAM9407	0	
-d	128e000a	ST128 Game Port	0	
-d	128e000b	ST128 MPU Port	0	
-d	128e000c	ST128 Ctrl Port	0	
-v	128f	Tateno Dennou, Inc.	0	
-v	1290	Sord Computer Corporation	0	
-v	1291	NCS Computer Italia	0	
-v	1292	Tritech Microelectronics Inc	0	
-d	1292fc02	Pyramid3D TR25202	1	
-v	1293	Media Reality Technology	0	
-v	1294	Rhetorex, Inc.	0	
-v	1295	Imagenation Corporation	0	
-v	1296	Kofax Image Products	0	
-v	1297	Holco Enterprise Co, Ltd/Shuttle Computer	0	
-v	1298	Spellcaster Telecommunications Inc.	0	
-v	1299	Knowledge Technology Lab.	0	
-v	129a	VMetro, inc.	0	
-d	129a0615	PBT-615 PCI-X Bus Analyzer	0	
-v	129b	Image Access	0	
-v	129c	Jaycor	0	
-v	129d	Compcore Multimedia, Inc.	0	
-v	129e	Victor Company of Japan, Ltd.	0	
-v	129f	OEC Medical Systems, Inc.	0	
-v	12a0	Allen-Bradley Company	0	
-v	12a1	Simpact Associates, Inc.	0	
-v	12a2	Newgen Systems Corporation	0	
-v	12a3	Lucent Technologies	0	
-d	12a38105	T8105 H100 Digital Switch	0	
-v	12a4	NTT Electronics Technology Company	0	
-v	12a5	Vision Dynamics Ltd.	0	
-v	12a6	Scalable Networks, Inc.	0	
-v	12a7	AMO GmbH	0	
-v	12a8	News Datacom	0	
-v	12a9	Xiotech Corporation	0	
-v	12aa	SDL Communications, Inc.	0	
-v	12ab	Yuan Yuan Enterprise Co., Ltd.	0	
-d	12ab0000	MPG160/Kuroutoshikou ITVC15-STVLP	1	
-d	12ab0002	AU8830 [Vortex2] Based Sound Card With A3D Support	0	
-d	12ab2300	Club-3D Zap TV2100	1	
-d	12ab3000	MPG-200C PCI DVD Decoder Card	0	
-d	12abfff3	MPG600/Kuroutoshikou ITVC16-STVLP	1	
-d	12abffff	MPG600/Kuroutoshikou ITVC16-STVLP	1	
-v	12ac	Measurex Corporation	0	
-v	12ad	Multidata GmbH	0	
-v	12ae	Alteon Networks Inc.	0	
-d	12ae0001	AceNIC Gigabit Ethernet	0	
-s	12ae000110140104	Gigabit Ethernet-SX PCI Adapter	0	
-s	12ae000112ae0001	Gigabit Ethernet-SX (Universal)	0	
-s	12ae000114100104	Gigabit Ethernet-SX PCI Adapter	0	
-d	12ae0002	AceNIC Gigabit Ethernet (Copper)	0	
-s	12ae000210a98002	Acenic Gigabit Ethernet	0	
-s	12ae000212ae0002	Gigabit Ethernet-T (3C986-T)	0	
-d	12ae00fa	Farallon PN9100-T Gigabit Ethernet	0	
-v	12af	TDK USA Corp	0	
-v	12b0	Jorge Scientific Corp	0	
-v	12b1	GammaLink	0	
-v	12b2	General Signal Networks	0	
-v	12b3	Inter-Face Co Ltd	0	
-v	12b4	FutureTel Inc	0	
-v	12b5	Granite Systems Inc.	0	
-v	12b6	Natural Microsystems	0	
-v	12b7	Cognex Modular Vision Systems Div. - Acumen Inc.	0	
-v	12b8	Korg	0	
+s	1260ffff12600000	Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter	0
+v	1261	Matsushita-Kotobuki Electronics Industries, Ltd.	0
+v	1262	ES Computer Company, Ltd.	0
+v	1263	Sonic Solutions	0
+v	1264	Aval Nagasaki Corporation	0
+v	1265	Casio Computer Co., Ltd.	0
+v	1266	Microdyne Corporation	0
+d	12660001	NE10/100 Adapter (i82557B)	0
+d	12661910	NE2000Plus (RT8029) Ethernet Adapter	0
+s	1266191012661910	NE2000Plus Ethernet Adapter	0
+v	1267	S. A. Telecommunications	0
+d	12675352	PCR2101	0
+d	12675a4b	Telsat Turbo	0
+v	1268	Tektronix	0
+v	1269	Thomson-CSF/TTM	0
+v	126a	Lexmark International, Inc.	0
+v	126b	Adax, Inc.	0
+v	126c	Northern Telecom	0
+d	126c1211	10/100BaseTX [RTL81xx]	0
+d	126c126c	802.11b Wireless Ethernet Adapter	0
+v	126d	Splash Technology, Inc.	0
+v	126e	Sumitomo Metal Industries, Ltd.	0
+v	126f	Silicon Motion, Inc.	0
+d	126f0501	SM501 VoyagerGX Rev. AA	0
+d	126f0510	SM501 VoyagerGX Rev. B	0
+d	126f0710	SM710 LynxEM	0
+d	126f0712	SM712 LynxEM+	0
+d	126f0720	SM720 Lynx3DM	0
+d	126f0730	SM731 Cougar3DR	0
+d	126f0810	SM810 LynxE	0
+d	126f0811	SM811 LynxE	0
+d	126f0820	SM820 Lynx3D	0
+d	126f0910	SM910	0
+v	1270	Olympus Optical Co., Ltd.	0
+v	1271	GW Instruments	0
+v	1272	Telematics International	0
+v	1273	Hughes Network Systems	0
+d	12730002	DirecPC	0
+v	1274	Ensoniq	0
+d	12741171	ES1373 [AudioPCI] (also Creative Labs CT5803)	0
+d	12741371	ES1371 [AudioPCI-97]	0
+s	127413710e110024	AudioPCI on Motherboard Compaq Deskpro	0
+s	127413710e11b1a7	ES1371, ES1373 AudioPCI	0
+s	12741371103380ac	ES1371, ES1373 AudioPCI	0
+s	1274137110421854	Tazer	0
+s	12741371107b8054	Tabor2	0
+s	1274137112741371	Creative Sound Blaster AudioPCI64V, AudioPCI128	0
+s	1274137112748001	CT4751 board	0
+s	1274137114626470	ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A	0
+s	1274137114626560	ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10	0
+s	1274137114626630	ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A	0
+s	1274137114626631	ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A	0
+s	1274137114626632	ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A	0
+s	1274137114626633	ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A	0
+s	1274137114626820	ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00	0
+s	1274137114626822	ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A	0
+s	1274137114626830	ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00	0
+s	1274137114626880	ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00	0
+s	1274137114626900	ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00	0
+s	1274137114626910	ES1371, ES1373 AudioPCI On Motherboard MS-6191	0
+s	1274137114626930	ES1371, ES1373 AudioPCI On Motherboard MS-6193	0
+s	1274137114626990	ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A	0
+s	1274137114626991	ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A	0
+s	1274137114a42077	ES1371, ES1373 AudioPCI On Motherboard KR639	0
+s	1274137114a42105	ES1371, ES1373 AudioPCI On Motherboard MR800	0
+s	1274137114a42107	ES1371, ES1373 AudioPCI On Motherboard MR801	0
+s	1274137114a42172	ES1371, ES1373 AudioPCI On Motherboard DR739	0
+s	1274137115099902	ES1371, ES1373 AudioPCI On Motherboard KW11	0
+s	1274137115099903	ES1371, ES1373 AudioPCI On Motherboard KW31	0
+s	1274137115099904	ES1371, ES1373 AudioPCI On Motherboard KA11	0
+s	1274137115099905	ES1371, ES1373 AudioPCI On Motherboard KC13	0
+s	12741371152d8801	ES1371, ES1373 AudioPCI On Motherboard CP810E	0
+s	12741371152d8802	ES1371, ES1373 AudioPCI On Motherboard CP810	0
+s	12741371152d8803	ES1371, ES1373 AudioPCI On Motherboard P3810E	0
+s	12741371152d8804	ES1371, ES1373 AudioPCI On Motherboard P3810-S	0
+s	12741371152d8805	ES1371, ES1373 AudioPCI On Motherboard P3820-S	0
+s	12741371270f2001	ES1371, ES1373 AudioPCI On Motherboard 6CTR	0
+s	12741371270f2200	ES1371, ES1373 AudioPCI On Motherboard 6WTX	0
+s	12741371270f3000	ES1371, ES1373 AudioPCI On Motherboard 6WSV	0
+s	12741371270f3100	ES1371, ES1373 AudioPCI On Motherboard 6WIV2	0
+s	12741371270f3102	ES1371, ES1373 AudioPCI On Motherboard 6WIV	0
+s	12741371270f7060	ES1371, ES1373 AudioPCI On Motherboard 6ASA2	0
+s	1274137180864249	ES1371, ES1373 AudioPCI On Motherboard BI440ZX	0
+s	127413718086424c	ES1371, ES1373 AudioPCI On Motherboard BL440ZX	0
+s	127413718086425a	ES1371, ES1373 AudioPCI On Motherboard BZ440ZX	0
+s	1274137180864341	ES1371, ES1373 AudioPCI On Motherboard Cayman	0
+s	1274137180864343	ES1371, ES1373 AudioPCI On Motherboard Cape Cod	0
+s	1274137180864541	D815EEA Motherboard	0
+s	1274137180864649	ES1371, ES1373 AudioPCI On Motherboard Fire Island	0
+s	127413718086464a	ES1371, ES1373 AudioPCI On Motherboard FJ440ZX	0
+s	1274137180864d4f	ES1371, ES1373 AudioPCI On Motherboard Montreal	0
+s	1274137180864f43	ES1371, ES1373 AudioPCI On Motherboard OC440LX	0
+s	1274137180865243	ES1371, ES1373 AudioPCI On Motherboard RC440BX	0
+s	1274137180865352	ES1371, ES1373 AudioPCI On Motherboard SunRiver	0
+s	1274137180865643	ES1371, ES1373 AudioPCI On Motherboard Vancouver	0
+s	1274137180865753	ES1371, ES1373 AudioPCI On Motherboard WS440BX	0
+d	12745000	ES1370 [AudioPCI]	0
+d	12745880	5880 AudioPCI	0
+s	1274588012742000	Creative Sound Blaster AudioPCI128	0
+s	1274588012742003	Creative SoundBlaster AudioPCI 128	0
+s	1274588012745880	Creative Sound Blaster AudioPCI128	0
+s	1274588012748001	Sound Blaster 16PCI 4.1ch	0
+s	127458801458a000	5880 AudioPCI On Motherboard 6OXET	0
+s	1274588014626880	5880 AudioPCI On Motherboard MS-6188 1.00	0
+s	12745880270f2001	5880 AudioPCI On Motherboard 6CTR	0
+s	12745880270f2200	5880 AudioPCI On Motherboard 6WTX	0
+s	12745880270f7040	5880 AudioPCI On Motherboard 6ATA4	0
+v	1275	Network Appliance Corporation	0
+v	1276	Switched Network Technologies, Inc.	0
+v	1277	Comstream	0
+v	1278	Transtech Parallel Systems Ltd.	0
+d	12780701	TPE3/TM3 PowerPC Node	0
+d	12780710	TPE5 PowerPC PCI board	0
+v	1279	Transmeta Corporation	0
+d	12790060	TM8000 Northbridge	0
+d	12790061	TM8000 AGP bridge	0
+d	12790295	Northbridge	0
+d	12790395	LongRun Northbridge	0
+d	12790396	SDRAM controller	0
+d	12790397	BIOS scratchpad	0
+v	127a	Rockwell International	0
+d	127a1002	HCF 56k Data/Fax Modem	0
+s	127a10021092094c	SupraExpress 56i PRO [Diamond SUP2380]	0
+s	127a1002122d4002	HPG / MDP3858-U	0
+s	127a1002122d4005	MDP3858-E	0
+s	127a1002122d4007	MDP3858-A/-NZ	0
+s	127a1002122d4012	MDP3858-SA	0
+s	127a1002122d4017	MDP3858-W	0
+s	127a1002122d4018	MDP3858-W	0
+s	127a1002127a1002	Rockwell 56K D/F HCF Modem	0
+d	127a1003	HCF 56k Data/Fax Modem	0
+s	127a10030e11b0bc	229-DF Zephyr	0
+s	127a10030e11b114	229-DF Cheetah	0
+s	127a10031033802b	229-DF	0
+s	127a100313df1003	PCI56RX Modem	0
+s	127a100313e00117	IBM	0
+s	127a100313e00147	IBM F-1156IV+/R3 Spain V.90 Modem	0
+s	127a100313e00197	IBM	0
+s	127a100313e001c7	IBM F-1156IV+/R3 WW V.90 Modem	0
+s	127a100313e001f7	IBM	0
+s	127a100314361003	IBM	0
+s	127a100314361103	IBM 5614PM3G V.90 Modem	0
+s	127a100314361602	Compaq 229-DF Ducati	0
+d	127a1004	HCF 56k Data/Fax/Voice Modem	0
+s	127a100410481500	MicroLink 56k Modem	0
+s	127a100410cf1059	Fujitsu 229-DFRT	0
+d	127a1005	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+s	127a10051005127a	AOpen FM56-P	0
+s	127a100510338029	229-DFSV	0
+s	127a100510338054	Modem	0
+s	127a100510cf103c	Fujitsu	0
+s	127a100510cf1055	Fujitsu 229-DFSV	0
+s	127a100510cf1056	Fujitsu 229-DFSV	0
+s	127a1005122d4003	MDP3858SP-U	0
+s	127a1005122d4006	Packard Bell MDP3858V-E	0
+s	127a1005122d4008	MDP3858SP-A/SP-NZ	0
+s	127a1005122d4009	MDP3858SP-E	0
+s	127a1005122d4010	MDP3858V-U	0
+s	127a1005122d4011	MDP3858SP-SA	0
+s	127a1005122d4013	MDP3858V-A/V-NZ	0
+s	127a1005122d4015	MDP3858SP-W	0
+s	127a1005122d4016	MDP3858V-W	0
+s	127a1005122d4019	MDP3858V-SA	0
+s	127a100513df1005	PCI56RVP Modem	0
+s	127a100513e00187	IBM	0
+s	127a100513e001a7	IBM	0
+s	127a100513e001b7	IBM DF-1156IV+/R3 Spain V.90 Modem	0
+s	127a100513e001d7	IBM DF-1156IV+/R3 WW V.90 Modem	0
+s	127a100514361005	IBM	0
+s	127a100514361105	IBM	0
+s	127a100514371105	IBM 5614PS3G V.90 Modem	0
+d	127a1022	HCF 56k Modem	0
+s	127a102214361303	M3-5614PM3G V.90 Modem	0
+d	127a1023	HCF 56k Data/Fax Modem	0
+s	127a1023122d4020	Packard Bell MDP3858-WE	0
+s	127a1023122d4023	MDP3858-UE	0
+s	127a102313e00247	IBM F-1156IV+/R6 Spain V.90 Modem	0
+s	127a102313e00297	IBM	0
+s	127a102313e002c7	IBM F-1156IV+/R6 WW V.90 Modem	0
+s	127a102314361203	IBM	0
+s	127a102314361303	IBM	0
+d	127a1024	HCF 56k Data/Fax/Voice Modem	0
+d	127a1025	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+s	127a102510cf106a	Fujitsu 235-DFSV	0
+s	127a1025122d4021	Packard Bell MDP3858V-WE	0
+s	127a1025122d4022	MDP3858SP-WE	0
+s	127a1025122d4024	MDP3858V-UE	0
+s	127a1025122d4025	MDP3858SP-UE	0
+d	127a1026	HCF 56k PCI Speakerphone Modem	0
+d	127a1032	HCF 56k Modem	0
+d	127a1033	HCF 56k Modem	0
+d	127a1034	HCF 56k Modem	0
+d	127a1035	HCF 56k PCI Speakerphone Modem	0
+d	127a1036	HCF 56k Modem	0
+d	127a1085	HCF 56k Volcano PCI Modem	0
+d	127a2005	HCF 56k Data/Fax Modem	0
+s	127a2005104d8044	229-DFSV	0
+s	127a2005104d8045	229-DFSV	0
+s	127a2005104d8055	PBE/Aztech 235W-DFSV	0
+s	127a2005104d8056	235-DFSV	0
+s	127a2005104d805a	Modem	0
+s	127a2005104d805f	Modem	0
+s	127a2005104d8074	Modem	0
+d	127a2013	HSF 56k Data/Fax Modem	0
+s	127a201311790001	Modem	0
+s	127a20131179ff00	Modem	0
+d	127a2014	HSF 56k Data/Fax/Voice Modem	0
+s	127a201410cf1057	Fujitsu Citicorp III	0
+s	127a2014122d4050	MSP3880-U	0
+s	127a2014122d4055	MSP3880-W	0
+d	127a2015	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+s	127a201510cf1063	Fujitsu	0
+s	127a201510cf1064	Fujitsu	0
+s	127a201514682015	Fujitsu	0
+d	127a2016	HSF 56k Data/Fax/Voice/Spkp Modem	0
+s	127a2016122d4051	MSP3880V-W	0
+s	127a2016122d4052	MSP3880SP-W	0
+s	127a2016122d4054	MSP3880V-U	0
+s	127a2016122d4056	MSP3880SP-U	0
+s	127a2016122d4057	MSP3880SP-A	0
+d	127a4311	Riptide HSF 56k PCI Modem	0
+s	127a4311127a4311	Ring Modular? Riptide HSF RT HP Dom	0
+s	127a431113e00210	HP-GVC	0
+d	127a4320	Riptide PCI Audio Controller	0
+s	127a432012354320	Riptide PCI Audio Controller	0
+d	127a4321	Riptide HCF 56k PCI Modem	0
+s	127a432112354321	Hewlett Packard DF	0
+s	127a432112354324	Hewlett Packard DF	0
+s	127a432113e00210	Hewlett Packard DF	0
+s	127a4321144d2321	Riptide	0
+d	127a4322	Riptide PCI Game Controller	0
+s	127a432212354322	Riptide PCI Game Controller	0
+d	127a8234	RapidFire 616X ATM155 Adapter	0
+s	127a8234108d0022	RapidFire 616X ATM155 Adapter	0
+s	127a8234108d0027	RapidFire 616X ATM155 Adapter	0
+v	127b	Pixera Corporation	0
+v	127c	Crosspoint Solutions, Inc.	0
+v	127d	Vela Research	0
+v	127e	Winnov, L.P.	0
+v	127f	Fujifilm	0
+v	1280	Photoscript Group Ltd.	0
+v	1281	Yokogawa Electric Corporation	0
+v	1282	Davicom Semiconductor, Inc.	0
+d	12829009	Ethernet 100/10 MBit	0
+d	12829100	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	12829102	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	12829132	Ethernet 100/10 MBit	0
+v	1283	Integrated Technology Express, Inc.	0
+d	1283284b	8086	1
+d	1283673a	IT8330G	0
+d	12838211	ITE 8211F Single Channel UDMA 133 (ASUS 8211 (ITE IT8212 ATA RAID Controller))	0
+s	1283821110438138	P5GD1-VW Mainboard	0
+d	12838212	IT/ITE8212 Dual channel ATA RAID controller (PCI version seems to be IT8212, embedded seems to be ITE8212)	0
+s	1283821212830001	IT/ITE8212 Dual channel ATA RAID controller	0
+d	12838330	IT8330G	0
+d	12838872	IT8874F PCI Dual Serial Port Controller	0
+d	12838888	IT8888F PCI to ISA Bridge with SMB	0
+d	12838889	IT8889F PCI to ISA Bridge	0
+d	1283e886	IT8330G	0
+v	1284	Sahara Networks, Inc.	0
+v	1285	Platform Technologies, Inc.	0
+d	12850100	AGOGO sound chip (aka ESS Maestro 1)	0
+v	1286	Mazet GmbH	0
+v	1287	M-Pact, Inc.	0
+d	1287001e	LS220D DVD Decoder	0
+d	1287001f	LS220C DVD Decoder	0
+v	1288	Timestep Corporation	0
+v	1289	AVC Technology, Inc.	0
+v	128a	Asante Technologies, Inc.	0
+v	128b	Transwitch Corporation	0
+v	128c	Retix Corporation	0
+v	128d	G2 Networks, Inc.	0
+d	128d0021	ATM155 Adapter	0
+v	128e	Hoontech Corporation/Samho Multi Tech Ltd.	0
+d	128e0008	ST128 WSS/SB	0
+d	128e0009	ST128 SAM9407	0
+d	128e000a	ST128 Game Port	0
+d	128e000b	ST128 MPU Port	0
+d	128e000c	ST128 Ctrl Port	0
+v	128f	Tateno Dennou, Inc.	0
+v	1290	Sord Computer Corporation	0
+v	1291	NCS Computer Italia	0
+v	1292	Tritech Microelectronics Inc	0
+d	1292fc02	Pyramid3D TR25202	1
+v	1293	Media Reality Technology	0
+v	1294	Rhetorex, Inc.	0
+v	1295	Imagenation Corporation	0
+v	1296	Kofax Image Products	0
+v	1297	Holco Enterprise Co, Ltd/Shuttle Computer	0
+v	1298	Spellcaster Telecommunications Inc.	0
+v	1299	Knowledge Technology Lab.	0
+v	129a	VMetro, inc.	0
+d	129a0615	PBT-615 PCI-X Bus Analyzer	0
+v	129b	Image Access	0
+v	129c	Jaycor	0
+v	129d	Compcore Multimedia, Inc.	0
+v	129e	Victor Company of Japan, Ltd.	0
+v	129f	OEC Medical Systems, Inc.	0
+v	12a0	Allen-Bradley Company	0
+v	12a1	Simpact Associates, Inc.	0
+v	12a2	Newgen Systems Corporation	0
+v	12a3	Lucent Technologies	0
+d	12a38105	T8105 H100 Digital Switch	0
+v	12a4	NTT Electronics Technology Company	0
+v	12a5	Vision Dynamics Ltd.	0
+v	12a6	Scalable Networks, Inc.	0
+v	12a7	AMO GmbH	0
+v	12a8	News Datacom	0
+v	12a9	Xiotech Corporation	0
+v	12aa	SDL Communications, Inc.	0
+v	12ab	Yuan Yuan Enterprise Co., Ltd.	0
+d	12ab0000	MPG160/Kuroutoshikou ITVC15-STVLP	1
+d	12ab0002	AU8830 [Vortex2] Based Sound Card With A3D Support	0
+d	12ab2300	Club-3D Zap TV2100	1
+d	12ab3000	MPG-200C PCI DVD Decoder Card	0
+d	12abfff3	MPG600/Kuroutoshikou ITVC16-STVLP	1
+d	12abffff	MPG600/Kuroutoshikou ITVC16-STVLP	1
+v	12ac	Measurex Corporation	0
+v	12ad	Multidata GmbH	0
+v	12ae	Alteon Networks Inc.	0
+d	12ae0001	AceNIC Gigabit Ethernet	0
+s	12ae000110140104	Gigabit Ethernet-SX PCI Adapter	0
+s	12ae000112ae0001	Gigabit Ethernet-SX (Universal)	0
+s	12ae000114100104	Gigabit Ethernet-SX PCI Adapter	0
+d	12ae0002	AceNIC Gigabit Ethernet (Copper)	0
+s	12ae000210a98002	Acenic Gigabit Ethernet	0
+s	12ae000212ae0002	Gigabit Ethernet-T (3C986-T)	0
+d	12ae00fa	Farallon PN9100-T Gigabit Ethernet	0
+v	12af	TDK USA Corp	0
+v	12b0	Jorge Scientific Corp	0
+v	12b1	GammaLink	0
+v	12b2	General Signal Networks	0
+v	12b3	Inter-Face Co Ltd	0
+v	12b4	FutureTel Inc	0
+v	12b5	Granite Systems Inc.	0
+v	12b6	Natural Microsystems	0
+v	12b7	Cognex Modular Vision Systems Div. - Acumen Inc.	0
+v	12b8	Korg	0
 v	12b9	3Com Corp, Modem Division	0	Nee US Robotics
-d	12b91006	WinModem	0	
-s	12b9100612b9005c	USR 56k Internal Voice WinModem (Model 3472)	0	
-s	12b9100612b9005e	USR 56k Internal WinModem (Models 662975)	0	
-s	12b9100612b90062	USR 56k Internal Voice WinModem (Model 662978)	0	
-s	12b9100612b90068	USR 56k Internal Voice WinModem (Model 5690)	0	
-s	12b9100612b9007a	USR 56k Internal Voice WinModem (Model 662974)	0	
-s	12b9100612b9007f	USR 56k Internal WinModem (Models 5698, 5699)	0	
-s	12b9100612b90080	USR 56k Internal WinModem (Models 2975, 3528)	0	
-s	12b9100612b90081	USR 56k Internal Voice WinModem (Models 2974, 3529)	0	
-s	12b9100612b90091	USR 56k Internal Voice WinModem (Model 2978)	0	
-d	12b91007	USR 56k Internal WinModem	0	
-s	12b9100712b900a3	USR 56k Internal WinModem (Model 3595)	0	
-s	12b9100712b900c4	U.S. Robotics 56K Voice Win Int (2884a)	0	
-d	12b91008	56K FaxModem Model 5610	0	
-s	12b9100812b900a2	USR 56k Internal FAX Modem (Model 2977)	0	
-s	12b9100812b900aa	USR 56k Internal Voice Modem (Model 2976)	0	
-s	12b9100812b900ab	USR 56k Internal Voice Modem (Model 5609)	0	
-s	12b9100812b900ac	USR 56k Internal Voice Modem (Model 3298)	0	
-s	12b9100812b900ad	USR 56k Internal FAX Modem (Model 5610)	0	
-v	12ba	BittWare, Inc.	0	
-v	12bb	Nippon Unisoft Corporation	0	
-v	12bc	Array Microsystems	0	
-v	12bd	Computerm Corp.	0	
-v	12be	Anchor Chips Inc.	0	
-d	12be3041	AN3041Q CO-MEM	0	
-d	12be3042	AN3042Q CO-MEM Lite	0	
-s	12be304212be3042	Anchor Chips Lite Evaluation Board	0	
-v	12bf	Fujifilm Microdevices	0	
-v	12c0	Infimed	0	
-v	12c1	GMM Research Corp	0	
-v	12c2	Mentec Limited	0	
-v	12c3	Holtek Microelectronics Inc	0	
-d	12c30058	PCI NE2K Ethernet	0	
-d	12c35598	PCI NE2K Ethernet	0	
-v	12c4	Connect Tech Inc	0	
-d	12c40001	Blue HEAT/PCI 8 (RS232/CL/RJ11)	0	
-d	12c40002	Blue HEAT/PCI 4 (RS232)	0	
-d	12c40003	Blue HEAT/PCI 2 (RS232)	0	
-d	12c40004	Blue HEAT/PCI 8 (UNIV, RS485)	0	
-d	12c40005	Blue HEAT/PCI 4+4/6+2 (UNIV, RS232/485)	0	
-d	12c40006	Blue HEAT/PCI 4 (OPTO, RS485)	0	
-d	12c40007	Blue HEAT/PCI 2+2 (RS232/485)	0	
-d	12c40008	Blue HEAT/PCI 2 (OPTO, Tx, RS485)	0	
-d	12c40009	Blue HEAT/PCI 2+6 (RS232/485)	0	
-d	12c4000a	Blue HEAT/PCI 8 (Tx, RS485)	0	
-d	12c4000b	Blue HEAT/PCI 4 (Tx, RS485)	0	
-d	12c4000c	Blue HEAT/PCI 2 (20 MHz, RS485)	0	
-d	12c4000d	Blue HEAT/PCI 2 PTM	0	
-d	12c40100	NT960/PCI	0	
-d	12c40201	cPCI Titan - 2 Port	0	
-d	12c40202	cPCI Titan - 4 Port	0	
-d	12c40300	CTI PCI UART 2 (RS232)	0	
-d	12c40301	CTI PCI UART 4 (RS232)	0	
-d	12c40302	CTI PCI UART 8 (RS232)	0	
-d	12c40310	CTI PCI UART 1+1 (RS232/485)	0	
-d	12c40311	CTI PCI UART 2+2 (RS232/485)	0	
-d	12c40312	CTI PCI UART 4+4 (RS232/485)	0	
-d	12c40320	CTI PCI UART 2	0	
-d	12c40321	CTI PCI UART 4	0	
-d	12c40322	CTI PCI UART 8	0	
-d	12c40330	CTI PCI UART 2 (RS485)	0	
-d	12c40331	CTI PCI UART 4 (RS485)	0	
-d	12c40332	CTI PCI UART 8 (RS485)	0	
-v	12c5	Picture Elements Incorporated	0	
-d	12c5007e	Imaging/Scanning Subsystem Engine	0	
-d	12c5007f	Imaging/Scanning Subsystem Engine	0	
-d	12c50081	PCIVST [Grayscale Thresholding Engine]	0	
-d	12c50085	Video Simulator/Sender	0	
-d	12c50086	THR2 Multi-scale Thresholder	0	
-v	12c6	Mitani Corporation	0	
-v	12c7	Dialogic Corp	0	
-v	12c8	G Force Co, Ltd	0	
-v	12c9	Gigi Operations	0	
-v	12ca	Integrated Computing Engines	0	
-v	12cb	Antex Electronics Corporation	0	
-v	12cc	Pluto Technologies International	0	
-v	12cd	Aims Lab	0	
-v	12ce	Netspeed Inc.	0	
-v	12cf	Prophet Systems, Inc.	0	
-v	12d0	GDE Systems, Inc.	0	
-v	12d1	PSITech	0	
-v	12d2	NVidia / SGS Thomson (Joint Venture)	0	
-d	12d20008	NV1	0	
-d	12d20009	DAC64	0	
-d	12d20018	Riva128	0	
-s	12d2001810480c10	VICTORY Erazor	0	
-s	12d20018107b8030	STB Velocity 128	0	
-s	12d2001810920350	Viper V330	0	
-s	12d2001810921092	Viper V330	0	
-s	12d2001810b41b1b	STB Velocity 128	0	
-s	12d2001810b41b1d	STB Velocity 128	0	
-s	12d2001810b41b1e	STB Velocity 128, PAL TV-Out	0	
-s	12d2001810b41b20	STB Velocity 128 Sapphire	0	
-s	12d2001810b41b21	STB Velocity 128	0	
-s	12d2001810b41b22	STB Velocity 128 AGP, NTSC TV-Out	0	
-s	12d2001810b41b23	STB Velocity 128 AGP, PAL TV-Out	0	
-s	12d2001810b41b27	STB Velocity 128 DVD	0	
-s	12d2001810b41b88	MVP Pro 128	0	
-s	12d2001810b4222a	STB Velocity 128 AGP	0	
-s	12d2001810b42230	STB Velocity 128	0	
-s	12d2001810b42232	STB Velocity 128	0	
-s	12d2001810b42235	STB Velocity 128 AGP	0	
-s	12d200182a1554a3	3DVision-SAGP / 3DexPlorer 3000	0	
-d	12d20019	Riva128ZX	0	
-d	12d20020	TNT	0	
-d	12d20028	TNT2	0	
-d	12d20029	UTNT2	0	
-d	12d2002c	VTNT2	0	
-d	12d200a0	ITNT2	0	
-v	12d3	Vingmed Sound A/S	0	
-v	12d4	Ulticom (Formerly DGM&S)	0	
-d	12d40200	T1 Card	0	
-v	12d5	Equator Technologies Inc	0	
-d	12d50003	BSP16	0	
-d	12d51000	BSP15	0	
-v	12d6	Analogic Corp	0	
-v	12d7	Biotronic SRL	0	
-v	12d8	Pericom Semiconductor	0	
-d	12d88150	PCI to PCI Bridge	0	
-v	12d9	Aculab PLC	0	
-d	12d90002	PCI Prosody	0	
-d	12d90004	cPCI Prosody	0	
-d	12d90005	Aculab E1/T1 PCI card	0	
-d	12d91078	Prosody X class e1000 device	0	
-s	12d9107812d9000d	Prosody X PCI	0	
-v	12da	True Time Inc.	0	
-v	12db	Annapolis Micro Systems, Inc	0	
-v	12dc	Symicron Computer Communication Ltd.	0	
-v	12dd	Management Graphics	0	
-v	12de	Rainbow Technologies	0	
-d	12de0200	CryptoSwift CS200	0	
-v	12df	SBS Technologies Inc	0	
-v	12e0	Chase Research	0	
-d	12e00010	ST16C654 Quad UART	0	
-d	12e00020	ST16C654 Quad UART	0	
-d	12e00030	ST16C654 Quad UART	0	
-v	12e1	Nintendo Co, Ltd	0	
-v	12e2	Datum Inc. Bancomm-Timing Division	0	
-v	12e3	Imation Corp - Medical Imaging Systems	0	
-v	12e4	Brooktrout Technology Inc	0	
-v	12e5	Apex Semiconductor Inc	0	
-v	12e6	Cirel Systems	0	
-v	12e7	Sunsgroup Corporation	0	
-v	12e8	Crisc Corp	0	
-v	12e9	GE Spacenet	0	
-v	12ea	Zuken	0	
-v	12eb	Aureal Semiconductor	0	
-d	12eb0001	Vortex 1	0	
-s	12eb0001104d8036	AU8820 Vortex Digital Audio Processor	0	
-s	12eb000110922000	Sonic Impact A3D	0	
-s	12eb000110922100	Sonic Impact A3D	0	
-s	12eb000110922110	Sonic Impact A3D	0	
-s	12eb000110922200	Sonic Impact A3D	0	
-s	12eb0001122d1002	AU8820 Vortex Digital Audio Processor	0	
-s	12eb000112eb0001	AU8820 Vortex Digital Audio Processor	0	
-s	12eb000150533355	Montego	0	
-d	12eb0002	Vortex 2	0	
-s	12eb0002104d8049	AU8830 Vortex 3D Digital Audio Processor	0	
-s	12eb0002104d807b	AU8830 Vortex 3D Digital Audio Processor	0	
-s	12eb000210923000	Monster Sound II	0	
-s	12eb000210923001	Monster Sound II	0	
-s	12eb000210923002	Monster Sound II	0	
-s	12eb000210923003	Monster Sound II	0	
-s	12eb000210923004	Monster Sound II	0	
-s	12eb000212eb0002	AU8830 Vortex 3D Digital Audio Processor	0	
-s	12eb000212eb0088	AU8830 Vortex 3D Digital Audio Processor	0	
-s	12eb0002144d3510	AU8830 Vortex 3D Digital Audio Processor	0	
-s	12eb000250533356	Montego II	0	
-d	12eb0003	AU8810 Vortex Digital Audio Processor	0	
-s	12eb0003104d8049	AU8810 Vortex Digital Audio Processor	0	
-s	12eb0003104d8077	AU8810 Vortex Digital Audio Processor	0	
-s	12eb0003109f1000	AU8810 Vortex Digital Audio Processor	0	
-s	12eb000312eb0003	AU8810 Vortex Digital Audio Processor	0	
-s	12eb000314626780	AU8810 Vortex Digital Audio Processor	0	
-s	12eb000314a42073	AU8810 Vortex Digital Audio Processor	0	
-s	12eb000314a42091	AU8810 Vortex Digital Audio Processor	0	
-s	12eb000314a42104	AU8810 Vortex Digital Audio Processor	0	
-s	12eb000314a42106	AU8810 Vortex Digital Audio Processor	0	
-d	12eb8803	Vortex 56k Software Modem	0	
-s	12eb880312eb8803	Vortex 56k Software Modem	0	
-v	12ec	3A International, Inc.	0	
-v	12ed	Optivision Inc.	0	
-v	12ee	Orange Micro	0	
-v	12ef	Vienna Systems	0	
-v	12f0	Pentek	0	
-v	12f1	Sorenson Vision Inc	0	
-v	12f2	Gammagraphx, Inc.	0	
-v	12f3	Radstone Technology	0	
-v	12f4	Megatel	0	
-v	12f5	Forks	0	
-v	12f6	Dawson France	0	
-v	12f7	Cognex	0	
-v	12f8	Electronic Design GmbH	0	
-d	12f80002	VideoMaker	0	
-v	12f9	Four Fold Ltd	0	
-v	12fb	Spectrum Signal Processing	0	
-d	12fb0001	PMC-MAI	0	
-d	12fb00f5	F5 Dakar	0	
-d	12fb02ad	PMC-2MAI	0	
-d	12fb2adc	ePMC-2ADC	0	
-d	12fb3100	PRO-3100	0	
-d	12fb3500	PRO-3500	0	
-d	12fb4d4f	Modena	0	
-d	12fb8120	ePMC-8120	0	
-d	12fbda62	Daytona C6201 PCI (Hurricane)	0	
-d	12fbdb62	Ingliston XBIF	0	
-d	12fbdc62	Ingliston PLX9054	0	
-d	12fbdd62	Ingliston JTAG/ISP	0	
-d	12fbeddc	ePMC-MSDDC	0	
-d	12fbfa01	ePMC-FPGA	0	
-v	12fc	Capital Equipment Corp	0	
-v	12fd	I2S	0	
-v	12fe	ESD Electronic System Design GmbH	0	
-v	12ff	Lexicon	0	
-v	1300	Harman International Industries Inc	0	
-v	1302	Computer Sciences Corp	0	
-v	1303	Innovative Integration	0	
-v	1304	Juniper Networks	0	
-v	1305	Netphone, Inc	0	
-v	1306	Duet Technologies	0	
+d	12b91006	WinModem	0
+s	12b9100612b9005c	USR 56k Internal Voice WinModem (Model 3472)	0
+s	12b9100612b9005e	USR 56k Internal WinModem (Models 662975)	0
+s	12b9100612b90062	USR 56k Internal Voice WinModem (Model 662978)	0
+s	12b9100612b90068	USR 56k Internal Voice WinModem (Model 5690)	0
+s	12b9100612b9007a	USR 56k Internal Voice WinModem (Model 662974)	0
+s	12b9100612b9007f	USR 56k Internal WinModem (Models 5698, 5699)	0
+s	12b9100612b90080	USR 56k Internal WinModem (Models 2975, 3528)	0
+s	12b9100612b90081	USR 56k Internal Voice WinModem (Models 2974, 3529)	0
+s	12b9100612b90091	USR 56k Internal Voice WinModem (Model 2978)	0
+d	12b91007	USR 56k Internal WinModem	0
+s	12b9100712b900a3	USR 56k Internal WinModem (Model 3595)	0
+s	12b9100712b900c4	U.S. Robotics 56K Voice Win Int (2884a)	0
+d	12b91008	56K FaxModem Model 5610	0
+s	12b9100812b900a2	USR 56k Internal FAX Modem (Model 2977)	0
+s	12b9100812b900aa	USR 56k Internal Voice Modem (Model 2976)	0
+s	12b9100812b900ab	USR 56k Internal Voice Modem (Model 5609)	0
+s	12b9100812b900ac	USR 56k Internal Voice Modem (Model 3298)	0
+s	12b9100812b900ad	USR 56k Internal FAX Modem (Model 5610)	0
+v	12ba	BittWare, Inc.	0
+v	12bb	Nippon Unisoft Corporation	0
+v	12bc	Array Microsystems	0
+v	12bd	Computerm Corp.	0
+v	12be	Anchor Chips Inc.	0
+d	12be3041	AN3041Q CO-MEM	0
+d	12be3042	AN3042Q CO-MEM Lite	0
+s	12be304212be3042	Anchor Chips Lite Evaluation Board	0
+v	12bf	Fujifilm Microdevices	0
+v	12c0	Infimed	0
+v	12c1	GMM Research Corp	0
+v	12c2	Mentec Limited	0
+v	12c3	Holtek Microelectronics Inc	0
+d	12c30058	PCI NE2K Ethernet	0
+d	12c35598	PCI NE2K Ethernet	0
+v	12c4	Connect Tech Inc	0
+d	12c40001	Blue HEAT/PCI 8 (RS232/CL/RJ11)	0
+d	12c40002	Blue HEAT/PCI 4 (RS232)	0
+d	12c40003	Blue HEAT/PCI 2 (RS232)	0
+d	12c40004	Blue HEAT/PCI 8 (UNIV, RS485)	0
+d	12c40005	Blue HEAT/PCI 4+4/6+2 (UNIV, RS232/485)	0
+d	12c40006	Blue HEAT/PCI 4 (OPTO, RS485)	0
+d	12c40007	Blue HEAT/PCI 2+2 (RS232/485)	0
+d	12c40008	Blue HEAT/PCI 2 (OPTO, Tx, RS485)	0
+d	12c40009	Blue HEAT/PCI 2+6 (RS232/485)	0
+d	12c4000a	Blue HEAT/PCI 8 (Tx, RS485)	0
+d	12c4000b	Blue HEAT/PCI 4 (Tx, RS485)	0
+d	12c4000c	Blue HEAT/PCI 2 (20 MHz, RS485)	0
+d	12c4000d	Blue HEAT/PCI 2 PTM	0
+d	12c40100	NT960/PCI	0
+d	12c40201	cPCI Titan - 2 Port	0
+d	12c40202	cPCI Titan - 4 Port	0
+d	12c40300	CTI PCI UART 2 (RS232)	0
+d	12c40301	CTI PCI UART 4 (RS232)	0
+d	12c40302	CTI PCI UART 8 (RS232)	0
+d	12c40310	CTI PCI UART 1+1 (RS232/485)	0
+d	12c40311	CTI PCI UART 2+2 (RS232/485)	0
+d	12c40312	CTI PCI UART 4+4 (RS232/485)	0
+d	12c40320	CTI PCI UART 2	0
+d	12c40321	CTI PCI UART 4	0
+d	12c40322	CTI PCI UART 8	0
+d	12c40330	CTI PCI UART 2 (RS485)	0
+d	12c40331	CTI PCI UART 4 (RS485)	0
+d	12c40332	CTI PCI UART 8 (RS485)	0
+v	12c5	Picture Elements Incorporated	0
+d	12c5007e	Imaging/Scanning Subsystem Engine	0
+d	12c5007f	Imaging/Scanning Subsystem Engine	0
+d	12c50081	PCIVST [Grayscale Thresholding Engine]	0
+d	12c50085	Video Simulator/Sender	0
+d	12c50086	THR2 Multi-scale Thresholder	0
+v	12c6	Mitani Corporation	0
+v	12c7	Dialogic Corp	0
+v	12c8	G Force Co, Ltd	0
+v	12c9	Gigi Operations	0
+v	12ca	Integrated Computing Engines	0
+v	12cb	Antex Electronics Corporation	0
+v	12cc	Pluto Technologies International	0
+v	12cd	Aims Lab	0
+v	12ce	Netspeed Inc.	0
+v	12cf	Prophet Systems, Inc.	0
+v	12d0	GDE Systems, Inc.	0
+v	12d1	PSITech	0
+v	12d2	NVidia / SGS Thomson (Joint Venture)	0
+d	12d20008	NV1	0
+d	12d20009	DAC64	0
+d	12d20018	Riva128	0
+s	12d2001810480c10	VICTORY Erazor	0
+s	12d20018107b8030	STB Velocity 128	0
+s	12d2001810920350	Viper V330	0
+s	12d2001810921092	Viper V330	0
+s	12d2001810b41b1b	STB Velocity 128	0
+s	12d2001810b41b1d	STB Velocity 128	0
+s	12d2001810b41b1e	STB Velocity 128, PAL TV-Out	0
+s	12d2001810b41b20	STB Velocity 128 Sapphire	0
+s	12d2001810b41b21	STB Velocity 128	0
+s	12d2001810b41b22	STB Velocity 128 AGP, NTSC TV-Out	0
+s	12d2001810b41b23	STB Velocity 128 AGP, PAL TV-Out	0
+s	12d2001810b41b27	STB Velocity 128 DVD	0
+s	12d2001810b41b88	MVP Pro 128	0
+s	12d2001810b4222a	STB Velocity 128 AGP	0
+s	12d2001810b42230	STB Velocity 128	0
+s	12d2001810b42232	STB Velocity 128	0
+s	12d2001810b42235	STB Velocity 128 AGP	0
+s	12d200182a1554a3	3DVision-SAGP / 3DexPlorer 3000	0
+d	12d20019	Riva128ZX	0
+d	12d20020	TNT	0
+d	12d20028	TNT2	0
+d	12d20029	UTNT2	0
+d	12d2002c	VTNT2	0
+d	12d200a0	ITNT2	0
+v	12d3	Vingmed Sound A/S	0
+v	12d4	Ulticom (Formerly DGM&S)	0
+d	12d40200	T1 Card	0
+v	12d5	Equator Technologies Inc	0
+d	12d50003	BSP16	0
+d	12d51000	BSP15	0
+v	12d6	Analogic Corp	0
+v	12d7	Biotronic SRL	0
+v	12d8	Pericom Semiconductor	0
+d	12d88150	PCI to PCI Bridge	0
+v	12d9	Aculab PLC	0
+d	12d90002	PCI Prosody	0
+d	12d90004	cPCI Prosody	0
+d	12d90005	Aculab E1/T1 PCI card	0
+d	12d91078	Prosody X class e1000 device	0
+s	12d9107812d9000d	Prosody X PCI	0
+v	12da	True Time Inc.	0
+v	12db	Annapolis Micro Systems, Inc	0
+v	12dc	Symicron Computer Communication Ltd.	0
+v	12dd	Management Graphics	0
+v	12de	Rainbow Technologies	0
+d	12de0200	CryptoSwift CS200	0
+v	12df	SBS Technologies Inc	0
+v	12e0	Chase Research	0
+d	12e00010	ST16C654 Quad UART	0
+d	12e00020	ST16C654 Quad UART	0
+d	12e00030	ST16C654 Quad UART	0
+v	12e1	Nintendo Co, Ltd	0
+v	12e2	Datum Inc. Bancomm-Timing Division	0
+v	12e3	Imation Corp - Medical Imaging Systems	0
+v	12e4	Brooktrout Technology Inc	0
+v	12e5	Apex Semiconductor Inc	0
+v	12e6	Cirel Systems	0
+v	12e7	Sunsgroup Corporation	0
+v	12e8	Crisc Corp	0
+v	12e9	GE Spacenet	0
+v	12ea	Zuken	0
+v	12eb	Aureal Semiconductor	0
+d	12eb0001	Vortex 1	0
+s	12eb0001104d8036	AU8820 Vortex Digital Audio Processor	0
+s	12eb000110922000	Sonic Impact A3D	0
+s	12eb000110922100	Sonic Impact A3D	0
+s	12eb000110922110	Sonic Impact A3D	0
+s	12eb000110922200	Sonic Impact A3D	0
+s	12eb0001122d1002	AU8820 Vortex Digital Audio Processor	0
+s	12eb000112eb0001	AU8820 Vortex Digital Audio Processor	0
+s	12eb000150533355	Montego	0
+d	12eb0002	Vortex 2	0
+s	12eb0002104d8049	AU8830 Vortex 3D Digital Audio Processor	0
+s	12eb0002104d807b	AU8830 Vortex 3D Digital Audio Processor	0
+s	12eb000210923000	Monster Sound II	0
+s	12eb000210923001	Monster Sound II	0
+s	12eb000210923002	Monster Sound II	0
+s	12eb000210923003	Monster Sound II	0
+s	12eb000210923004	Monster Sound II	0
+s	12eb000212eb0002	AU8830 Vortex 3D Digital Audio Processor	0
+s	12eb000212eb0088	AU8830 Vortex 3D Digital Audio Processor	0
+s	12eb0002144d3510	AU8830 Vortex 3D Digital Audio Processor	0
+s	12eb000250533356	Montego II	0
+d	12eb0003	AU8810 Vortex Digital Audio Processor	0
+s	12eb0003104d8049	AU8810 Vortex Digital Audio Processor	0
+s	12eb0003104d8077	AU8810 Vortex Digital Audio Processor	0
+s	12eb0003109f1000	AU8810 Vortex Digital Audio Processor	0
+s	12eb000312eb0003	AU8810 Vortex Digital Audio Processor	0
+s	12eb000314626780	AU8810 Vortex Digital Audio Processor	0
+s	12eb000314a42073	AU8810 Vortex Digital Audio Processor	0
+s	12eb000314a42091	AU8810 Vortex Digital Audio Processor	0
+s	12eb000314a42104	AU8810 Vortex Digital Audio Processor	0
+s	12eb000314a42106	AU8810 Vortex Digital Audio Processor	0
+d	12eb8803	Vortex 56k Software Modem	0
+s	12eb880312eb8803	Vortex 56k Software Modem	0
+v	12ec	3A International, Inc.	0
+v	12ed	Optivision Inc.	0
+v	12ee	Orange Micro	0
+v	12ef	Vienna Systems	0
+v	12f0	Pentek	0
+v	12f1	Sorenson Vision Inc	0
+v	12f2	Gammagraphx, Inc.	0
+v	12f3	Radstone Technology	0
+v	12f4	Megatel	0
+v	12f5	Forks	0
+v	12f6	Dawson France	0
+v	12f7	Cognex	0
+v	12f8	Electronic Design GmbH	0
+d	12f80002	VideoMaker	0
+v	12f9	Four Fold Ltd	0
+v	12fb	Spectrum Signal Processing	0
+d	12fb0001	PMC-MAI	0
+d	12fb00f5	F5 Dakar	0
+d	12fb02ad	PMC-2MAI	0
+d	12fb2adc	ePMC-2ADC	0
+d	12fb3100	PRO-3100	0
+d	12fb3500	PRO-3500	0
+d	12fb4d4f	Modena	0
+d	12fb8120	ePMC-8120	0
+d	12fbda62	Daytona C6201 PCI (Hurricane)	0
+d	12fbdb62	Ingliston XBIF	0
+d	12fbdc62	Ingliston PLX9054	0
+d	12fbdd62	Ingliston JTAG/ISP	0
+d	12fbeddc	ePMC-MSDDC	0
+d	12fbfa01	ePMC-FPGA	0
+v	12fc	Capital Equipment Corp	0
+v	12fd	I2S	0
+v	12fe	ESD Electronic System Design GmbH	0
+v	12ff	Lexicon	0
+v	1300	Harman International Industries Inc	0
+v	1302	Computer Sciences Corp	0
+v	1303	Innovative Integration	0
+v	1304	Juniper Networks	0
+v	1305	Netphone, Inc	0
+v	1306	Duet Technologies	0
 v	1307	Measurement Computing	0	Nee ComputerBoards
-d	13070001	PCI-DAS1602/16	0	
-d	1307000b	PCI-DIO48H	0	
-d	1307000c	PCI-PDISO8	0	
-d	1307000d	PCI-PDISO16	0	
-d	1307000f	PCI-DAS1200	0	
-d	13070010	PCI-DAS1602/12	0	
-d	13070014	PCI-DIO24H	0	
-d	13070015	PCI-DIO24H/CTR3	0	
-d	13070016	PCI-DIO48H/CTR15	0	
-d	13070017	PCI-DIO96H	0	
-d	13070018	PCI-CTR05	0	
-d	13070019	PCI-DAS1200/JR	0	
-d	1307001a	PCI-DAS1001	0	
-d	1307001b	PCI-DAS1002	0	
-d	1307001c	PCI-DAS1602JR/16	0	
-d	1307001d	PCI-DAS6402/16	0	
-d	1307001e	PCI-DAS6402/12	0	
-d	1307001f	PCI-DAS16/M1	0	
-d	13070020	PCI-DDA02/12	0	
-d	13070021	PCI-DDA04/12	0	
-d	13070022	PCI-DDA08/12	0	
-d	13070023	PCI-DDA02/16	0	
-d	13070024	PCI-DDA04/16	0	
-d	13070025	PCI-DDA08/16	0	
-d	13070026	PCI-DAC04/12-HS	0	
-d	13070027	PCI-DAC04/16-HS	0	
-d	13070028	PCI-DIO24	0	
-d	13070029	PCI-DAS08	0	
-d	1307002c	PCI-INT32	0	
-d	13070033	PCI-DUAL-AC5	0	
-d	13070034	PCI-DAS-TC	0	
-d	13070035	PCI-DAS64/M1/16	0	
-d	13070036	PCI-DAS64/M2/16	0	
-d	13070037	PCI-DAS64/M3/16	0	
-d	1307004c	PCI-DAS1000	0	
-d	1307004d	PCI-QUAD04	0	
-d	13070052	PCI-DAS4020/12	0	
-d	13070054	PCI-DIO96	0	
-d	1307005e	PCI-DAS6025	0	
-v	1308	Jato Technologies Inc.	0	
-d	13080001	NetCelerator Adapter	0	
-s	1308000113080001	NetCelerator Adapter	0	
-v	1309	AB Semiconductor Ltd	0	
-v	130a	Mitsubishi Electric Microcomputer	0	
-v	130b	Colorgraphic Communications Corp	0	
-v	130c	Ambex Technologies, Inc	0	
-v	130d	Accelerix Inc	0	
-v	130e	Yamatake-Honeywell Co. Ltd	0	
-v	130f	Advanet Inc	0	
-v	1310	Gespac	0	
-v	1311	Videoserver, Inc	0	
-v	1312	Acuity Imaging, Inc	0	
-v	1313	Yaskawa Electric Co.	0	
-v	1316	Teradyne Inc	0	
-v	1317	ADMtek	0	
-d	13170981	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	13170985	NC100 Network Everywhere Fast Ethernet 10/100	0	
-s	131709851734100c	Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter	0	
-d	13171985	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	13172850	HSP MicroModem 56	0	
-d	13175120	ADM5120 OpenGate System-on-Chip	0	
-d	13178201	ADM8211 802.11b Wireless Interface	0	
-s	1317820110b82635	SMC2635W 802.11b (11Mbps) wireless lan pcmcia (cardbus) card	0	
-s	1317820113178201	SMC2635W 802.11b (11mbps) wireless lan pcmcia (cardbus) card	0	
-d	13178211	ADM8211 802.11b Wireless Interface	0	
-d	13179511	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-v	1318	Packet Engines Inc.	0	
-d	13180911	GNIC-II PCI Gigabit Ethernet [Hamachi]	0	
-v	1319	Fortemedia, Inc	0	
-d	13190801	Xwave QS3000A [FM801]	0	
-s	1319080113191319	FM801 PCI Audio	0	
-d	13190802	Xwave QS3000A [FM801 game port]	0	
-s	1319080213191319	FM801 PCI Joystick	0	
-d	13191000	FM801 PCI Audio	0	
-d	13191001	FM801 PCI Joystick	0	
-v	131a	Finisar Corp.	0	
-v	131c	Nippon Electro-Sensory Devices Corp	0	
-v	131d	Sysmic, Inc.	0	
-v	131e	Xinex Networks Inc	0	
-v	131f	Siig Inc	0	
-d	131f1000	CyberSerial (1-port) 16550	0	
-d	131f1001	CyberSerial (1-port) 16650	0	
-d	131f1002	CyberSerial (1-port) 16850	0	
-d	131f1010	Duet 1S(16550)+1P	0	
-d	131f1011	Duet 1S(16650)+1P	0	
-d	131f1012	Duet 1S(16850)+1P	0	
-d	131f1020	CyberParallel (1-port)	0	
-d	131f1021	CyberParallel (2-port)	0	
-d	131f1030	CyberSerial (2-port) 16550	0	
-d	131f1031	CyberSerial (2-port) 16650	0	
-d	131f1032	CyberSerial (2-port) 16850	0	
-d	131f1034	Trio 2S(16550)+1P	0	
-d	131f1035	Trio 2S(16650)+1P	0	
-d	131f1036	Trio 2S(16850)+1P	0	
-d	131f1050	CyberSerial (4-port) 16550	0	
-d	131f1051	CyberSerial (4-port) 16650	0	
-d	131f1052	CyberSerial (4-port) 16850	0	
-d	131f2000	CyberSerial (1-port) 16550	0	
-d	131f2001	CyberSerial (1-port) 16650	0	
-d	131f2002	CyberSerial (1-port) 16850	0	
-d	131f2010	Duet 1S(16550)+1P	0	
-d	131f2011	Duet 1S(16650)+1P	0	
-d	131f2012	Duet 1S(16850)+1P	0	
-d	131f2020	CyberParallel (1-port)	0	
-d	131f2021	CyberParallel (2-port)	0	
-d	131f2030	CyberSerial (2-port) 16550	0	
-s	131f2030131f2030	PCI Serial Card	0	
-d	131f2031	CyberSerial (2-port) 16650	0	
-d	131f2032	CyberSerial (2-port) 16850	0	
-d	131f2040	Trio 1S(16550)+2P	0	
-d	131f2041	Trio 1S(16650)+2P	0	
-d	131f2042	Trio 1S(16850)+2P	0	
-d	131f2050	CyberSerial (4-port) 16550	0	
-d	131f2051	CyberSerial (4-port) 16650	0	
-d	131f2052	CyberSerial (4-port) 16850	0	
-d	131f2060	Trio 2S(16550)+1P	0	
-d	131f2061	Trio 2S(16650)+1P	0	
-d	131f2062	Trio 2S(16850)+1P	0	
-d	131f2081	CyberSerial (8-port) ST16654	0	
-v	1320	Crypto AG	0	
-v	1321	Arcobel Graphics BV	0	
-v	1322	MTT Co., Ltd	0	
-v	1323	Dome Inc	0	
-v	1324	Sphere Communications	0	
-v	1325	Salix Technologies, Inc	0	
-v	1326	Seachange international	0	
-v	1327	Voss scientific	0	
-v	1328	quadrant international	0	
-v	1329	Productivity Enhancement	0	
-v	132a	Microcom Inc.	0	
-v	132b	Broadband Technologies	0	
-v	132c	Micrel Inc	0	
-v	132d	Integrated Silicon Solution, Inc.	0	
-v	1330	MMC Networks	0	
-v	1331	Radisys Corp.	0	
-d	13310030	ENP-2611	0	
-d	13318200	82600 Host Bridge	0	
-d	13318201	82600 IDE	0	
-d	13318202	82600 USB	0	
-d	13318210	82600 PCI Bridge	0	
-v	1332	Micro Memory	0	
-d	13325415	MM-5415CN PCI Memory Module with Battery Backup	0	
-d	13325425	MM-5425CN PCI 64/66 Memory Module with Battery Backup	0	
-d	13326140	MM-6140D	0	
-v	1334	Redcreek Communications, Inc	0	
-v	1335	Videomail, Inc	0	
-v	1337	Third Planet Publishing	0	
-v	1338	BT Electronics	0	
-v	133a	Vtel Corp	0	
-v	133b	Softcom Microsystems	0	
-v	133c	Holontech Corp	0	
-v	133d	SS Technologies	0	
-v	133e	Virtual Computer Corp	0	
-v	133f	SCM Microsystems	0	
-v	1340	Atalla Corp	0	
-v	1341	Kyoto Microcomputer Co	0	
-v	1342	Promax Systems Inc	0	
-v	1343	Phylon Communications Inc	0	
-v	1344	Crucial Technology	0	
-v	1345	Arescom Inc	0	
-v	1347	Odetics	0	
-v	1349	Sumitomo Electric Industries, Ltd.	0	
-v	134a	DTC Technology Corp.	0	
-d	134a0001	Domex 536	0	
-d	134a0002	Domex DMX3194UP SCSI Adapter	0	
-v	134b	ARK Research Corp.	0	
-v	134c	Chori Joho System Co. Ltd	0	
-v	134d	PCTel Inc	0	
-d	134d2189	HSP56 MicroModem	0	
-d	134d2486	2304WT V.92 MDC Modem	0	
-d	134d7890	HSP MicroModem 56	0	
-s	134d7890134d0001	PCT789 adapter	0	
-d	134d7891	HSP MicroModem 56	0	
-s	134d7891134d0001	HSP MicroModem 56	0	
-d	134d7892	HSP MicroModem 56	0	
-d	134d7893	HSP MicroModem 56	0	
-d	134d7894	HSP MicroModem 56	0	
-d	134d7895	HSP MicroModem 56	0	
-d	134d7896	HSP MicroModem 56	0	
-d	134d7897	HSP MicroModem 56	0	
-v	134e	CSTI	0	
-v	134f	Algo System Co Ltd	0	
-v	1350	Systec Co. Ltd	0	
-v	1351	Sonix Inc	0	
-v	1353	Thales Idatys	0	
-d	13530002	Proserver	0	
-d	13530003	PCI-FUT	0	
-d	13530004	PCI-S0	0	
-d	13530005	PCI-FUT-S0	0	
-v	1354	Dwave System Inc	0	
-v	1355	Kratos Analytical Ltd	0	
-v	1356	The Logical Co	0	
-v	1359	Prisa Networks	0	
-v	135a	Brain Boxes	0	
-v	135b	Giganet Inc	0	
-v	135c	Quatech Inc	0	
-d	135c0010	QSC-100	0	
-d	135c0020	DSC-100	0	
-d	135c0030	DSC-200/300	0	
-d	135c0040	QSC-200/300	0	
-d	135c0050	ESC-100D	0	
-d	135c0060	ESC-100M	0	
-d	135c00f0	MPAC-100 Syncronous Serial Card (Zilog 85230)	0	
-d	135c0170	QSCLP-100	0	
-d	135c0180	DSCLP-100	0	
-d	135c0190	SSCLP-100	0	
-d	135c01a0	QSCLP-200/300	0	
-d	135c01b0	DSCLP-200/300	0	
-d	135c01c0	SSCLP-200/300	0	
-v	135d	ABB Network Partner AB	0	
-v	135e	Sealevel Systems Inc	0	
-d	135e5101	Route 56.PCI - Multi-Protocol Serial Interface (Zilog Z16C32)	0	
-d	135e7101	Single Port RS-232/422/485/530	0	
-d	135e7201	Dual Port RS-232/422/485 Interface	0	
-d	135e7202	Dual Port RS-232 Interface	0	
-d	135e7401	Four Port RS-232 Interface	0	
-d	135e7402	Four Port RS-422/485 Interface	0	
-d	135e7801	Eight Port RS-232 Interface	0	
-d	135e7804	Eight Port RS-232/422/485 Interface	0	
-d	135e8001	8001 Digital I/O Adapter	0	
-v	135f	I-Data International A-S	0	
-v	1360	Meinberg Funkuhren	0	
-d	13600101	PCI32 DCF77 Radio Clock	0	
-d	13600102	PCI509 DCF77 Radio Clock	0	
-d	13600103	PCI510 DCF77 Radio Clock	0	
-d	13600104	PCI511 DCF77 Radio Clock	0	
-d	13600201	GPS167PCI GPS Receiver	0	
-d	13600202	GPS168PCI GPS Receiver	0	
-d	13600203	GPS169PCI GPS Receiver	0	
-d	13600204	GPS170PCI GPS Receiver	0	
-d	13600301	TCR510PCI IRIG Timecode Reader	0	
-d	13600302	TCR167PCI IRIG Timecode Reader	0	
-d	13600303	TCR511PCI IRIG Timecode Reader	0	
-v	1361	Soliton Systems K.K.	0	
-v	1362	Fujifacom Corporation	0	
-v	1363	Phoenix Technology Ltd	0	
-v	1364	ATM Communications Inc	0	
-v	1365	Hypercope GmbH	0	
-v	1366	Teijin Seiki Co. Ltd	0	
-v	1367	Hitachi Zosen Corporation	0	
-v	1368	Skyware Corporation	0	
-v	1369	Digigram	0	
-v	136a	High Soft Tech	0	
-d	136a0004	HST Saphir VII mini PCI	0	
-d	136a0007	HST Saphir III E MultiLink 4	0	
-d	136a0008	HST Saphir III E MultiLink 8	0	
-d	136a000a	HST Saphir III E MultiLink 2	0	
-v	136b	Kawasaki Steel Corporation	0	
-d	136bff01	KL5A72002 Motion JPEG	0	
-v	136c	Adtek System Science Co Ltd	0	
-v	136d	Gigalabs Inc	0	
-v	136f	Applied Magic Inc	0	
-v	1370	ATL Products	0	
-v	1371	CNet Technology Inc	0	
-d	1371434e	GigaCard Network Adapter	0	
-s	1371434e1371434e	N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)	0	
-v	1373	Silicon Vision Inc	0	
-v	1374	Silicom Ltd.	0	
-d	13740024	Silicom Dual port Giga Ethernet BGE Bypass Server Adapter	0	
-d	13740025	Silicom Quad port Giga Ethernet BGE Bypass Server Adapter	0	
-d	13740026	Silicom Dual port Fiber Giga Ethernet 546 Bypass Server Adapter	0	
-d	13740027	Silicom Dual port Fiber LX Giga Ethernet 546 Bypass Server Adapter	0	
-d	13740029	Silicom Dual port Copper Giga Ethernet 546GB Bypass Server Adapter	0	
-d	1374002a	Silicom Dual port Fiber Giga Ethernet 546 TAP/Bypass Server Adapter	0	
-d	1374002b	Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter (PXE2TBI)	0	
-d	1374002c	Silicom Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI)	0	
-d	1374002d	Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter	1	
-d	1374002d	Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI)	0	
-d	1374002e	Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI-LX)	0	
+d	13070001	PCI-DAS1602/16	0
+d	1307000b	PCI-DIO48H	0
+d	1307000c	PCI-PDISO8	0
+d	1307000d	PCI-PDISO16	0
+d	1307000f	PCI-DAS1200	0
+d	13070010	PCI-DAS1602/12	0
+d	13070014	PCI-DIO24H	0
+d	13070015	PCI-DIO24H/CTR3	0
+d	13070016	PCI-DIO48H/CTR15	0
+d	13070017	PCI-DIO96H	0
+d	13070018	PCI-CTR05	0
+d	13070019	PCI-DAS1200/JR	0
+d	1307001a	PCI-DAS1001	0
+d	1307001b	PCI-DAS1002	0
+d	1307001c	PCI-DAS1602JR/16	0
+d	1307001d	PCI-DAS6402/16	0
+d	1307001e	PCI-DAS6402/12	0
+d	1307001f	PCI-DAS16/M1	0
+d	13070020	PCI-DDA02/12	0
+d	13070021	PCI-DDA04/12	0
+d	13070022	PCI-DDA08/12	0
+d	13070023	PCI-DDA02/16	0
+d	13070024	PCI-DDA04/16	0
+d	13070025	PCI-DDA08/16	0
+d	13070026	PCI-DAC04/12-HS	0
+d	13070027	PCI-DAC04/16-HS	0
+d	13070028	PCI-DIO24	0
+d	13070029	PCI-DAS08	0
+d	1307002c	PCI-INT32	0
+d	13070033	PCI-DUAL-AC5	0
+d	13070034	PCI-DAS-TC	0
+d	13070035	PCI-DAS64/M1/16	0
+d	13070036	PCI-DAS64/M2/16	0
+d	13070037	PCI-DAS64/M3/16	0
+d	1307004c	PCI-DAS1000	0
+d	1307004d	PCI-QUAD04	0
+d	13070052	PCI-DAS4020/12	0
+d	13070054	PCI-DIO96	0
+d	1307005e	PCI-DAS6025	0
+v	1308	Jato Technologies Inc.	0
+d	13080001	NetCelerator Adapter	0
+s	1308000113080001	NetCelerator Adapter	0
+v	1309	AB Semiconductor Ltd	0
+v	130a	Mitsubishi Electric Microcomputer	0
+v	130b	Colorgraphic Communications Corp	0
+v	130c	Ambex Technologies, Inc	0
+v	130d	Accelerix Inc	0
+v	130e	Yamatake-Honeywell Co. Ltd	0
+v	130f	Advanet Inc	0
+v	1310	Gespac	0
+v	1311	Videoserver, Inc	0
+v	1312	Acuity Imaging, Inc	0
+v	1313	Yaskawa Electric Co.	0
+v	1316	Teradyne Inc	0
+v	1317	ADMtek	0
+d	13170981	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	13170985	NC100 Network Everywhere Fast Ethernet 10/100	0
+s	131709851734100c	Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter	0
+d	13171985	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	13172850	HSP MicroModem 56	0
+d	13175120	ADM5120 OpenGate System-on-Chip	0
+d	13178201	ADM8211 802.11b Wireless Interface	0
+s	1317820110b82635	SMC2635W 802.11b (11Mbps) wireless lan pcmcia (cardbus) card	0
+s	1317820113178201	SMC2635W 802.11b (11mbps) wireless lan pcmcia (cardbus) card	0
+d	13178211	ADM8211 802.11b Wireless Interface	0
+d	13179511	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+v	1318	Packet Engines Inc.	0
+d	13180911	GNIC-II PCI Gigabit Ethernet [Hamachi]	0
+v	1319	Fortemedia, Inc	0
+d	13190801	Xwave QS3000A [FM801]	0
+s	1319080113191319	FM801 PCI Audio	0
+d	13190802	Xwave QS3000A [FM801 game port]	0
+s	1319080213191319	FM801 PCI Joystick	0
+d	13191000	FM801 PCI Audio	0
+d	13191001	FM801 PCI Joystick	0
+v	131a	Finisar Corp.	0
+v	131c	Nippon Electro-Sensory Devices Corp	0
+v	131d	Sysmic, Inc.	0
+v	131e	Xinex Networks Inc	0
+v	131f	Siig Inc	0
+d	131f1000	CyberSerial (1-port) 16550	0
+d	131f1001	CyberSerial (1-port) 16650	0
+d	131f1002	CyberSerial (1-port) 16850	0
+d	131f1010	Duet 1S(16550)+1P	0
+d	131f1011	Duet 1S(16650)+1P	0
+d	131f1012	Duet 1S(16850)+1P	0
+d	131f1020	CyberParallel (1-port)	0
+d	131f1021	CyberParallel (2-port)	0
+d	131f1030	CyberSerial (2-port) 16550	0
+d	131f1031	CyberSerial (2-port) 16650	0
+d	131f1032	CyberSerial (2-port) 16850	0
+d	131f1034	Trio 2S(16550)+1P	0
+d	131f1035	Trio 2S(16650)+1P	0
+d	131f1036	Trio 2S(16850)+1P	0
+d	131f1050	CyberSerial (4-port) 16550	0
+d	131f1051	CyberSerial (4-port) 16650	0
+d	131f1052	CyberSerial (4-port) 16850	0
+d	131f2000	CyberSerial (1-port) 16550	0
+d	131f2001	CyberSerial (1-port) 16650	0
+d	131f2002	CyberSerial (1-port) 16850	0
+d	131f2010	Duet 1S(16550)+1P	0
+d	131f2011	Duet 1S(16650)+1P	0
+d	131f2012	Duet 1S(16850)+1P	0
+d	131f2020	CyberParallel (1-port)	0
+d	131f2021	CyberParallel (2-port)	0
+d	131f2030	CyberSerial (2-port) 16550	0
+s	131f2030131f2030	PCI Serial Card	0
+d	131f2031	CyberSerial (2-port) 16650	0
+d	131f2032	CyberSerial (2-port) 16850	0
+d	131f2040	Trio 1S(16550)+2P	0
+d	131f2041	Trio 1S(16650)+2P	0
+d	131f2042	Trio 1S(16850)+2P	0
+d	131f2050	CyberSerial (4-port) 16550	0
+d	131f2051	CyberSerial (4-port) 16650	0
+d	131f2052	CyberSerial (4-port) 16850	0
+d	131f2060	Trio 2S(16550)+1P	0
+d	131f2061	Trio 2S(16650)+1P	0
+d	131f2062	Trio 2S(16850)+1P	0
+d	131f2081	CyberSerial (8-port) ST16654	0
+v	1320	Crypto AG	0
+v	1321	Arcobel Graphics BV	0
+v	1322	MTT Co., Ltd	0
+v	1323	Dome Inc	0
+v	1324	Sphere Communications	0
+v	1325	Salix Technologies, Inc	0
+v	1326	Seachange international	0
+v	1327	Voss scientific	0
+v	1328	quadrant international	0
+v	1329	Productivity Enhancement	0
+v	132a	Microcom Inc.	0
+v	132b	Broadband Technologies	0
+v	132c	Micrel Inc	0
+v	132d	Integrated Silicon Solution, Inc.	0
+v	1330	MMC Networks	0
+v	1331	Radisys Corp.	0
+d	13310030	ENP-2611	0
+d	13318200	82600 Host Bridge	0
+d	13318201	82600 IDE	0
+d	13318202	82600 USB	0
+d	13318210	82600 PCI Bridge	0
+v	1332	Micro Memory	0
+d	13325415	MM-5415CN PCI Memory Module with Battery Backup	0
+d	13325425	MM-5425CN PCI 64/66 Memory Module with Battery Backup	0
+d	13326140	MM-6140D	0
+v	1334	Redcreek Communications, Inc	0
+v	1335	Videomail, Inc	0
+v	1337	Third Planet Publishing	0
+v	1338	BT Electronics	0
+v	133a	Vtel Corp	0
+v	133b	Softcom Microsystems	0
+v	133c	Holontech Corp	0
+v	133d	SS Technologies	0
+v	133e	Virtual Computer Corp	0
+v	133f	SCM Microsystems	0
+v	1340	Atalla Corp	0
+v	1341	Kyoto Microcomputer Co	0
+v	1342	Promax Systems Inc	0
+v	1343	Phylon Communications Inc	0
+v	1344	Crucial Technology	0
+v	1345	Arescom Inc	0
+v	1347	Odetics	0
+v	1349	Sumitomo Electric Industries, Ltd.	0
+v	134a	DTC Technology Corp.	0
+d	134a0001	Domex 536	0
+d	134a0002	Domex DMX3194UP SCSI Adapter	0
+v	134b	ARK Research Corp.	0
+v	134c	Chori Joho System Co. Ltd	0
+v	134d	PCTel Inc	0
+d	134d2189	HSP56 MicroModem	0
+d	134d2486	2304WT V.92 MDC Modem	0
+d	134d7890	HSP MicroModem 56	0
+s	134d7890134d0001	PCT789 adapter	0
+d	134d7891	HSP MicroModem 56	0
+s	134d7891134d0001	HSP MicroModem 56	0
+d	134d7892	HSP MicroModem 56	0
+d	134d7893	HSP MicroModem 56	0
+d	134d7894	HSP MicroModem 56	0
+d	134d7895	HSP MicroModem 56	0
+d	134d7896	HSP MicroModem 56	0
+d	134d7897	HSP MicroModem 56	0
+v	134e	CSTI	0
+v	134f	Algo System Co Ltd	0
+v	1350	Systec Co. Ltd	0
+v	1351	Sonix Inc	0
+v	1353	Thales Idatys	0
+d	13530002	Proserver	0
+d	13530003	PCI-FUT	0
+d	13530004	PCI-S0	0
+d	13530005	PCI-FUT-S0	0
+v	1354	Dwave System Inc	0
+v	1355	Kratos Analytical Ltd	0
+v	1356	The Logical Co	0
+v	1359	Prisa Networks	0
+v	135a	Brain Boxes	0
+v	135b	Giganet Inc	0
+v	135c	Quatech Inc	0
+d	135c0010	QSC-100	0
+d	135c0020	DSC-100	0
+d	135c0030	DSC-200/300	0
+d	135c0040	QSC-200/300	0
+d	135c0050	ESC-100D	0
+d	135c0060	ESC-100M	0
+d	135c00f0	MPAC-100 Syncronous Serial Card (Zilog 85230)	0
+d	135c0170	QSCLP-100	0
+d	135c0180	DSCLP-100	0
+d	135c0190	SSCLP-100	0
+d	135c01a0	QSCLP-200/300	0
+d	135c01b0	DSCLP-200/300	0
+d	135c01c0	SSCLP-200/300	0
+v	135d	ABB Network Partner AB	0
+v	135e	Sealevel Systems Inc	0
+d	135e5101	Route 56.PCI - Multi-Protocol Serial Interface (Zilog Z16C32)	0
+d	135e7101	Single Port RS-232/422/485/530	0
+d	135e7201	Dual Port RS-232/422/485 Interface	0
+d	135e7202	Dual Port RS-232 Interface	0
+d	135e7401	Four Port RS-232 Interface	0
+d	135e7402	Four Port RS-422/485 Interface	0
+d	135e7801	Eight Port RS-232 Interface	0
+d	135e7804	Eight Port RS-232/422/485 Interface	0
+d	135e8001	8001 Digital I/O Adapter	0
+v	135f	I-Data International A-S	0
+v	1360	Meinberg Funkuhren	0
+d	13600101	PCI32 DCF77 Radio Clock	0
+d	13600102	PCI509 DCF77 Radio Clock	0
+d	13600103	PCI510 DCF77 Radio Clock	0
+d	13600104	PCI511 DCF77 Radio Clock	0
+d	13600201	GPS167PCI GPS Receiver	0
+d	13600202	GPS168PCI GPS Receiver	0
+d	13600203	GPS169PCI GPS Receiver	0
+d	13600204	GPS170PCI GPS Receiver	0
+d	13600301	TCR510PCI IRIG Timecode Reader	0
+d	13600302	TCR167PCI IRIG Timecode Reader	0
+d	13600303	TCR511PCI IRIG Timecode Reader	0
+v	1361	Soliton Systems K.K.	0
+v	1362	Fujifacom Corporation	0
+v	1363	Phoenix Technology Ltd	0
+v	1364	ATM Communications Inc	0
+v	1365	Hypercope GmbH	0
+v	1366	Teijin Seiki Co. Ltd	0
+v	1367	Hitachi Zosen Corporation	0
+v	1368	Skyware Corporation	0
+v	1369	Digigram	0
+v	136a	High Soft Tech	0
+d	136a0004	HST Saphir VII mini PCI	0
+d	136a0007	HST Saphir III E MultiLink 4	0
+d	136a0008	HST Saphir III E MultiLink 8	0
+d	136a000a	HST Saphir III E MultiLink 2	0
+v	136b	Kawasaki Steel Corporation	0
+d	136bff01	KL5A72002 Motion JPEG	0
+v	136c	Adtek System Science Co Ltd	0
+v	136d	Gigalabs Inc	0
+v	136f	Applied Magic Inc	0
+v	1370	ATL Products	0
+v	1371	CNet Technology Inc	0
+d	1371434e	GigaCard Network Adapter	0
+s	1371434e1371434e	N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)	0
+v	1373	Silicon Vision Inc	0
+v	1374	Silicom Ltd.	0
+d	13740024	Silicom Dual port Giga Ethernet BGE Bypass Server Adapter	0
+d	13740025	Silicom Quad port Giga Ethernet BGE Bypass Server Adapter	0
+d	13740026	Silicom Dual port Fiber Giga Ethernet 546 Bypass Server Adapter	0
+d	13740027	Silicom Dual port Fiber LX Giga Ethernet 546 Bypass Server Adapter	0
+d	13740029	Silicom Dual port Copper Giga Ethernet 546GB Bypass Server Adapter	0
+d	1374002a	Silicom Dual port Fiber Giga Ethernet 546 TAP/Bypass Server Adapter	0
+d	1374002b	Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter (PXE2TBI)	0
+d	1374002c	Silicom Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI)	0
+d	1374002d	Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter	1
+d	1374002d	Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI)	0
+d	1374002e	Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI-LX)	0
 d	1374002e	Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter	1	PXG4BPFI-LX
-d	1374002e	Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter	1	
+d	1374002e	Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter	1
 d	1374002f	Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter	1	PXG2BPFIL
-d	1374002f	Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter (PXG2BPFIL)	0	
-d	1374002f	Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter	1	
-d	13740030	Silicom Dual port Fiber-LX Giga Ethernet 546GB Low profile Bypass Server Adapter	0	
-d	13740031	Silicom Quad port Copper Giga Ethernet PCI-E Bypass Server Adapter	0	
-d	13740032	Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter	0	
-d	13740034	Silicom Dual port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter	0	
-d	13740035	Silicom Quad port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter	0	
-d	13740036	Silicom Dual port Fiber Giga Ethernet PCI-E BGE Bypass Server Adapter	0	
-d	13740037	Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter	0	
-d	13740038	Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter	0	
-d	13740039	Silicom Dual port Fiber-SX Ethernet PCI-E Intel based Bypass Server Adapter	0	
-d	1374003a	Silicom Dual port Fiber-LX Ethernet PCI-E Intel based Bypass Server Adapter	0	
-v	1375	Argosystems Inc	0	
-v	1376	LMC	0	
-v	1377	Electronic Equipment Production & Distribution GmbH	0	
-v	1378	Telemann Co. Ltd	0	
-v	1379	Asahi Kasei Microsystems Co Ltd	0	
-v	137a	Mark of the Unicorn Inc	0	
-d	137a0001	PCI-324 Audiowire Interface	0	
-v	137b	PPT Vision	0	
-v	137c	Iwatsu Electric Co Ltd	0	
-v	137d	Dynachip Corporation	0	
-v	137e	Patriot Scientific Corporation	0	
-v	137f	Japan Satellite Systems Inc	0	
-v	1380	Sanritz Automation Co Ltd	0	
-v	1381	Brains Co. Ltd	0	
-v	1382	Marian - Electronic & Software	0	
-d	13820001	ARC88 audio recording card	0	
-d	13822008	Prodif 96 Pro sound system	0	
-d	13822048	Prodif Plus sound system	0	
-d	13822088	Marc 8 Midi sound system	0	
-d	138220c8	Marc A sound system	0	
-d	13824008	Marc 2 sound system	0	
-d	13824010	Marc 2 Pro sound system	0	
-d	13824048	Marc 4 MIDI sound system	0	
-d	13824088	Marc 4 Digi sound system	0	
-d	13824248	Marc X sound system	0	
-d	13824424	TRACE D4 Sound System	0	
-v	1383	Controlnet Inc	0	
-v	1384	Reality Simulation Systems Inc	0	
-v	1385	Netgear	0	
+d	1374002f	Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter (PXG2BPFIL)	0
+d	1374002f	Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter	1
+d	13740030	Silicom Dual port Fiber-LX Giga Ethernet 546GB Low profile Bypass Server Adapter	0
+d	13740031	Silicom Quad port Copper Giga Ethernet PCI-E Bypass Server Adapter	0
+d	13740032	Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter	0
+d	13740034	Silicom Dual port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter	0
+d	13740035	Silicom Quad port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter	0
+d	13740036	Silicom Dual port Fiber Giga Ethernet PCI-E BGE Bypass Server Adapter	0
+d	13740037	Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter	0
+d	13740038	Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter	0
+d	13740039	Silicom Dual port Fiber-SX Ethernet PCI-E Intel based Bypass Server Adapter	0
+d	1374003a	Silicom Dual port Fiber-LX Ethernet PCI-E Intel based Bypass Server Adapter	0
+v	1375	Argosystems Inc	0
+v	1376	LMC	0
+v	1377	Electronic Equipment Production & Distribution GmbH	0
+v	1378	Telemann Co. Ltd	0
+v	1379	Asahi Kasei Microsystems Co Ltd	0
+v	137a	Mark of the Unicorn Inc	0
+d	137a0001	PCI-324 Audiowire Interface	0
+v	137b	PPT Vision	0
+v	137c	Iwatsu Electric Co Ltd	0
+v	137d	Dynachip Corporation	0
+v	137e	Patriot Scientific Corporation	0
+v	137f	Japan Satellite Systems Inc	0
+v	1380	Sanritz Automation Co Ltd	0
+v	1381	Brains Co. Ltd	0
+v	1382	Marian - Electronic & Software	0
+d	13820001	ARC88 audio recording card	0
+d	13822008	Prodif 96 Pro sound system	0
+d	13822048	Prodif Plus sound system	0
+d	13822088	Marc 8 Midi sound system	0
+d	138220c8	Marc A sound system	0
+d	13824008	Marc 2 sound system	0
+d	13824010	Marc 2 Pro sound system	0
+d	13824048	Marc 4 MIDI sound system	0
+d	13824088	Marc 4 Digi sound system	0
+d	13824248	Marc X sound system	0
+d	13824424	TRACE D4 Sound System	0
+v	1383	Controlnet Inc	0
+v	1384	Reality Simulation Systems Inc	0
+v	1385	Netgear	0
 v	1385	Netgear wg111v2	1	usb adapter not recognized
-d	13850013	WG311T 108 Mbps Wireless PCI Adapter	0	
+d	13850013	WG311T 108 Mbps Wireless PCI Adapter	0
 d	1385006b	WA301 802.11b Wireless PCI Adapter	1	Early chipset, no information available
-d	1385311a	GA511 Gigabit Ethernet	0	
-d	1385311a	GA311 Gigabit Ethernet PCI Adapter	1	
-d	13854100	MA301 802.11b Wireless PCI Adapter	1	
-d	13854100	802.11b Wireless Adapter (MA301)	0	
-d	13854105	MA311 802.11b wireless adapter	0	
+d	1385311a	GA511 Gigabit Ethernet	0
+d	1385311a	GA311 Gigabit Ethernet PCI Adapter	1
+d	13854100	MA301 802.11b Wireless PCI Adapter	1
+d	13854100	802.11b Wireless Adapter (MA301)	0
+d	13854105	MA311 802.11b wireless adapter	0
 d	13854105	MA311 802.11b Wireless PCI Adapter	1	it is a PCI Adapter !
-d	13854251	WG111T 108 Mbps Wireless USB 2.0 Adapter	0	
-d	13854400	WAG511 802.11a/b/g Dual Band Wireless PC Card	0	
-d	13854600	WAG511 802.11a/b/g Dual Band Wireless PC Card	0	
-d	13854601	WAG511 802.11a/b/g Dual Band Wireless PC Card	0	
-d	13854610	WAG511 802.11a/b/g Dual Band Wireless PC Card	0	
-d	13854800	WG511(v1) 54 Mbps Wireless PC Card	0	
-d	13854900	WG311v1 54 Mbps Wireless PCI Adapter	0	
-d	13854a00	WAG311 802.11a/g Wireless PCI Adapter	0	
-d	13854b00	WG511T 108 Mbps Wireless PC Card	0	
-d	13854c00	WG311v2 54 Mbps Wireless PCI Adapter	0	
-d	13854d00	WG311T 108 Mbps Wireless PCI Adapter	0	
-d	13854e00	WG511v2 54 Mbps Wireless PC Card	0	
-d	13854f00	WG511U Double 108 Mbps  Wireless PC Card	0	
-d	13855200	GA511 Gigabit PC Card	0	
-d	1385620a	GA620 Gigabit Ethernet	0	
-d	1385622a	GA622	0	
-d	1385630a	GA630 Gigabit Ethernet	0	
-d	13856b00	WG311v3 54 Mbps Wireless PCI Adapter	0	
-d	13856d00	WPNT511 RangeMax 240 Mbps Wireless PC Card	0	
-d	13857b00	WN511B RangeMax Next 280 Mbps Wireless PC Card	0	
+d	13854251	WG111T 108 Mbps Wireless USB 2.0 Adapter	0
+d	13854400	WAG511 802.11a/b/g Dual Band Wireless PC Card	0
+d	13854600	WAG511 802.11a/b/g Dual Band Wireless PC Card	0
+d	13854601	WAG511 802.11a/b/g Dual Band Wireless PC Card	0
+d	13854610	WAG511 802.11a/b/g Dual Band Wireless PC Card	0
+d	13854800	WG511(v1) 54 Mbps Wireless PC Card	0
+d	13854900	WG311v1 54 Mbps Wireless PCI Adapter	0
+d	13854a00	WAG311 802.11a/g Wireless PCI Adapter	0
+d	13854b00	WG511T 108 Mbps Wireless PC Card	0
+d	13854c00	WG311v2 54 Mbps Wireless PCI Adapter	0
+d	13854d00	WG311T 108 Mbps Wireless PCI Adapter	0
+d	13854e00	WG511v2 54 Mbps Wireless PC Card	0
+d	13854f00	WG511U Double 108 Mbps  Wireless PC Card	0
+d	13855200	GA511 Gigabit PC Card	0
+d	1385620a	GA620 Gigabit Ethernet	0
+d	1385622a	GA622	0
+d	1385630a	GA630 Gigabit Ethernet	0
+d	13856b00	WG311v3 54 Mbps Wireless PCI Adapter	0
+d	13856d00	WPNT511 RangeMax 240 Mbps Wireless PC Card	0
+d	13857b00	WN511B RangeMax Next 280 Mbps Wireless PC Card	0
 d	13857b00	WN511B RangeMax Next 270 Mbps Wireless PC Card	1	Typo error : it's not 280 Mbps Wireless Card but a 270 Mbps
-d	13857c00	WN511T RangeMax Next 300 Mbps Wireless PC Card	0	
-d	13857d00	WN311B RangeMax Next 270 Mbps Wireless PCI Adapter	0	
-d	13857e00	WN311T RangeMax Next 300 Mbps Wireless PCI Adapter	0	
-d	1385f004	FA310TX	0	
-v	1386	Video Domain Technologies	0	
-v	1387	Systran Corp	0	
-v	1388	Hitachi Information Technology Co Ltd	0	
-v	1389	Applicom International	0	
-d	13890001	PCI1500PFB [Intelligent fieldbus adaptor]	0	
-v	138a	Fusion Micromedia Corp	0	
-v	138b	Tokimec Inc	0	
-v	138c	Silicon Reality	0	
-v	138d	Future Techno Designs pte Ltd	0	
-v	138e	Basler GmbH	0	
-v	138f	Patapsco Designs Inc	0	
-v	1390	Concept Development Inc	0	
-v	1391	Development Concepts Inc	0	
-v	1392	Medialight Inc	0	
-v	1393	Moxa Technologies Co Ltd	0	
-d	13931040	Smartio C104H/PCI	0	
-d	13931141	Industrio CP-114	0	
-d	13931680	Smartio C168H/PCI	0	
-d	13932040	Intellio CP-204J	0	
-d	13932180	Intellio C218 Turbo PCI	0	
-d	13933200	Intellio C320 Turbo PCI	0	
-v	1394	Level One Communications	0	
-d	13940001	LXT1001 Gigabit Ethernet	0	
-s	1394000113940001	NetCelerator Adapter	0	
-v	1395	Ambicom Inc	0	
-v	1396	Cipher Systems Inc	0	
-v	1397	Cologne Chip Designs GmbH	0	
-d	139708b4	ISDN network Controller [HFC-4S]	0	
-s	139708b41397b520	HFC-4S [IOB4ST]	0	
-s	139708b41397b540	HFC-4S [Swyx 4xS0 SX2 QuadBri]	0	
-d	139716b8	ISDN network Controller [HFC-8S]	0	
-d	13972bd0	ISDN network controller [HFC-PCI]	0	
-s	13972bd006751704	ISDN Adapter (PCI Bus, D, C)	0	
-s	13972bd006751708	ISDN Adapter (PCI Bus, D, C, ACPI)	0	
-s	13972bd013972bd0	ISDN Board	0	
-s	13972bd0e4bf1000	CI1-1-Harp	0	
-v	1398	Clarion co. Ltd	0	
-v	1399	Rios systems Co Ltd	0	
-v	139a	Alacritech Inc	0	
-d	139a0001	Quad Port 10/100 Server Accelerator	0	
-d	139a0003	Single Port 10/100 Server Accelerator	0	
-d	139a0005	Single Port Gigabit Server Accelerator	0	
-v	139b	Mediasonic Multimedia Systems Ltd	0	
-v	139c	Quantum 3d Inc	0	
-v	139d	EPL limited	0	
-v	139e	Media4	0	
-v	139f	Aethra s.r.l.	0	
-v	13a0	Crystal Group Inc	0	
-v	13a1	Kawasaki Heavy Industries Ltd	0	
-v	13a2	Ositech Communications Inc	0	
-v	13a3	Hifn Inc.	0	
-d	13a30005	7751 Security Processor	0	
-d	13a30006	6500 Public Key Processor	0	
-d	13a30007	7811 Security Processor	0	
-d	13a30012	7951 Security Processor	0	
-d	13a30014	78XX Security Processor	0	
-d	13a30016	8065 Security Processor	0	
-d	13a30017	8165 Security Processor	0	
-d	13a30018	8154 Security Processor	0	
-d	13a3001d	7956 Security Processor	0	
-d	13a30020	7955 Security Processor	0	
-d	13a30026	8155 Security Processor	0	
-v	13a4	Rascom Inc	0	
-v	13a5	Audio Digital Imaging Inc	0	
-v	13a6	Videonics Inc	0	
-v	13a7	Teles AG	0	
-v	13a8	Exar Corp.	0	
-d	13a80152	XR17C/D152 Dual PCI UART	0	
-d	13a80154	XR17C154 Quad UART	0	
-d	13a80158	XR17C158 Octal UART	0	
-v	13a9	Siemens Medical Systems, Ultrasound Group	0	
-v	13aa	Broadband Networks Inc	0	
-v	13ab	Arcom Control Systems Ltd	0	
-v	13ac	Motion Media Technology Ltd	0	
-v	13ad	Nexus Inc	0	
-v	13ae	ALD Technology Ltd	0	
-v	13af	T.Sqware	0	
-v	13b0	Maxspeed Corp	0	
-v	13b1	Tamura corporation	0	
-v	13b2	Techno Chips Co. Ltd	0	
-v	13b3	Lanart Corporation	0	
-v	13b4	Wellbean Co Inc	0	
-v	13b5	ARM	0	
-v	13b6	Dlog GmbH	0	
-v	13b7	Logic Devices Inc	0	
-v	13b8	Nokia Telecommunications oy	0	
-v	13b9	Elecom Co Ltd	0	
-v	13ba	Oxford Instruments	0	
-v	13bb	Sanyo Technosound Co Ltd	0	
-v	13bc	Bitran Corporation	0	
-v	13bd	Sharp corporation	0	
-v	13be	Miroku Jyoho Service Co. Ltd	0	
-v	13bf	Sharewave Inc	0	
-v	13c0	Microgate Corporation	0	
-d	13c00010	SyncLink Adapter v1	0	
-d	13c00020	SyncLink SCC Adapter	0	
-d	13c00030	SyncLink Multiport Adapter	0	
-d	13c00210	SyncLink Adapter v2	0	
-v	13c1	3ware Inc	0	
-d	13c11000	5xxx/6xxx-series PATA-RAID	0	
-d	13c11001	7xxx/8xxx-series PATA/SATA-RAID	0	
-s	13c1100113c11001	7xxx/8xxx-series PATA/SATA-RAID	0	
-d	13c11002	9xxx-series SATA-RAID	0	
-d	13c11003	9550SX SATA-RAID	0	
+d	13857c00	WN511T RangeMax Next 300 Mbps Wireless PC Card	0
+d	13857d00	WN311B RangeMax Next 270 Mbps Wireless PCI Adapter	0
+d	13857e00	WN311T RangeMax Next 300 Mbps Wireless PCI Adapter	0
+d	1385f004	FA310TX	0
+v	1386	Video Domain Technologies	0
+v	1387	Systran Corp	0
+v	1388	Hitachi Information Technology Co Ltd	0
+v	1389	Applicom International	0
+d	13890001	PCI1500PFB [Intelligent fieldbus adaptor]	0
+v	138a	Fusion Micromedia Corp	0
+v	138b	Tokimec Inc	0
+v	138c	Silicon Reality	0
+v	138d	Future Techno Designs pte Ltd	0
+v	138e	Basler GmbH	0
+v	138f	Patapsco Designs Inc	0
+v	1390	Concept Development Inc	0
+v	1391	Development Concepts Inc	0
+v	1392	Medialight Inc	0
+v	1393	Moxa Technologies Co Ltd	0
+d	13931040	Smartio C104H/PCI	0
+d	13931141	Industrio CP-114	0
+d	13931680	Smartio C168H/PCI	0
+d	13932040	Intellio CP-204J	0
+d	13932180	Intellio C218 Turbo PCI	0
+d	13933200	Intellio C320 Turbo PCI	0
+v	1394	Level One Communications	0
+d	13940001	LXT1001 Gigabit Ethernet	0
+s	1394000113940001	NetCelerator Adapter	0
+v	1395	Ambicom Inc	0
+v	1396	Cipher Systems Inc	0
+v	1397	Cologne Chip Designs GmbH	0
+d	139708b4	ISDN network Controller [HFC-4S]	0
+s	139708b41397b520	HFC-4S [IOB4ST]	0
+s	139708b41397b540	HFC-4S [Swyx 4xS0 SX2 QuadBri]	0
+d	139716b8	ISDN network Controller [HFC-8S]	0
+d	13972bd0	ISDN network controller [HFC-PCI]	0
+s	13972bd006751704	ISDN Adapter (PCI Bus, D, C)	0
+s	13972bd006751708	ISDN Adapter (PCI Bus, D, C, ACPI)	0
+s	13972bd013972bd0	ISDN Board	0
+s	13972bd0e4bf1000	CI1-1-Harp	0
+v	1398	Clarion co. Ltd	0
+v	1399	Rios systems Co Ltd	0
+v	139a	Alacritech Inc	0
+d	139a0001	Quad Port 10/100 Server Accelerator	0
+d	139a0003	Single Port 10/100 Server Accelerator	0
+d	139a0005	Single Port Gigabit Server Accelerator	0
+v	139b	Mediasonic Multimedia Systems Ltd	0
+v	139c	Quantum 3d Inc	0
+v	139d	EPL limited	0
+v	139e	Media4	0
+v	139f	Aethra s.r.l.	0
+v	13a0	Crystal Group Inc	0
+v	13a1	Kawasaki Heavy Industries Ltd	0
+v	13a2	Ositech Communications Inc	0
+v	13a3	Hifn Inc.	0
+d	13a30005	7751 Security Processor	0
+d	13a30006	6500 Public Key Processor	0
+d	13a30007	7811 Security Processor	0
+d	13a30012	7951 Security Processor	0
+d	13a30014	78XX Security Processor	0
+d	13a30016	8065 Security Processor	0
+d	13a30017	8165 Security Processor	0
+d	13a30018	8154 Security Processor	0
+d	13a3001d	7956 Security Processor	0
+d	13a30020	7955 Security Processor	0
+d	13a30026	8155 Security Processor	0
+v	13a4	Rascom Inc	0
+v	13a5	Audio Digital Imaging Inc	0
+v	13a6	Videonics Inc	0
+v	13a7	Teles AG	0
+v	13a8	Exar Corp.	0
+d	13a80152	XR17C/D152 Dual PCI UART	0
+d	13a80154	XR17C154 Quad UART	0
+d	13a80158	XR17C158 Octal UART	0
+v	13a9	Siemens Medical Systems, Ultrasound Group	0
+v	13aa	Broadband Networks Inc	0
+v	13ab	Arcom Control Systems Ltd	0
+v	13ac	Motion Media Technology Ltd	0
+v	13ad	Nexus Inc	0
+v	13ae	ALD Technology Ltd	0
+v	13af	T.Sqware	0
+v	13b0	Maxspeed Corp	0
+v	13b1	Tamura corporation	0
+v	13b2	Techno Chips Co. Ltd	0
+v	13b3	Lanart Corporation	0
+v	13b4	Wellbean Co Inc	0
+v	13b5	ARM	0
+v	13b6	Dlog GmbH	0
+v	13b7	Logic Devices Inc	0
+v	13b8	Nokia Telecommunications oy	0
+v	13b9	Elecom Co Ltd	0
+v	13ba	Oxford Instruments	0
+v	13bb	Sanyo Technosound Co Ltd	0
+v	13bc	Bitran Corporation	0
+v	13bd	Sharp corporation	0
+v	13be	Miroku Jyoho Service Co. Ltd	0
+v	13bf	Sharewave Inc	0
+v	13c0	Microgate Corporation	0
+d	13c00010	SyncLink Adapter v1	0
+d	13c00020	SyncLink SCC Adapter	0
+d	13c00030	SyncLink Multiport Adapter	0
+d	13c00210	SyncLink Adapter v2	0
+v	13c1	3ware Inc	0
+d	13c11000	5xxx/6xxx-series PATA-RAID	0
+d	13c11001	7xxx/8xxx-series PATA/SATA-RAID	0
+s	13c1100113c11001	7xxx/8xxx-series PATA/SATA-RAID	0
+d	13c11002	9xxx-series SATA-RAID	0
+d	13c11003	9550SX SATA-RAID	0
 d	13c11004	9650SE SATA-II RAID	1	4 port version but think all versions have same ID (like prior series cards)
-v	13c2	Technotrend Systemtechnik GmbH	0	
-d	13c2000e	Technotrend/Hauppauge DVB card rev2.3	0	
-v	13c3	Janz Computer AG	0	
-v	13c4	Phase Metrics	0	
-v	13c5	Alphi Technology Corp	0	
-v	13c6	Condor Engineering Inc	0	
-d	13c60520	CEI-520 A429 Card	0	
-d	13c60620	CEI-620 A429 Card	0	
-d	13c60820	CEI-820 A429 Card	0	
-v	13c7	Blue Chip Technology Ltd	0	
-v	13c8	Apptech Inc	0	
-v	13c9	Eaton Corporation	0	
-v	13ca	Iomega Corporation	0	
-v	13cb	Yano Electric Co Ltd	0	
-v	13cc	Metheus Corporation	0	
-v	13cd	Compatible Systems Corporation	0	
-v	13ce	Cocom A/S	0	
-v	13cf	Studio Audio & Video Ltd	0	
-v	13d0	Techsan Electronics Co Ltd	0	
-d	13d02103	B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card	0	
-d	13d02200	B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card	0	
-v	13d1	Abocom Systems Inc	0	
-d	13d1ab02	ADMtek Centaur-C rev 17 [D-Link DFE-680TX] CardBus Fast Ethernet Adapter	0	
-d	13d1ab03	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	13d1ab06	RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter	0	
-d	13d1ab08	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-v	13d2	Shark Multimedia Inc	0	
-v	13d3	IMC Networks	0	
-v	13d4	Graphics Microsystems Inc	0	
-v	13d5	Media 100 Inc	0	
-v	13d6	K.I. Technology Co Ltd	0	
-v	13d7	Toshiba Engineering Corporation	0	
-v	13d8	Phobos corporation	0	
-v	13d9	Apex PC Solutions Inc	0	
-v	13da	Intresource Systems pte Ltd	0	
-v	13db	Janich & Klass Computertechnik GmbH	0	
-v	13dc	Netboost Corporation	0	
-v	13dd	Multimedia Bundle Inc	0	
-v	13de	ABB Robotics Products AB	0	
-v	13df	E-Tech Inc	0	
-d	13df0001	PCI56RVP Modem	0	
-s	13df000113df0001	PCI56RVP Modem	0	
-v	13e0	GVC Corporation	0	
-v	13e1	Silicom Multimedia Systems Inc	0	
-v	13e2	Dynamics Research Corporation	0	
-v	13e3	Nest Inc	0	
-v	13e4	Calculex Inc	0	
-v	13e5	Telesoft Design Ltd	0	
-v	13e6	Argosy research Inc	0	
-v	13e7	NAC Incorporated	0	
-v	13e8	Chip Express Corporation	0	
-v	13e9	Intraserver Technology Inc	0	
-v	13ea	Dallas Semiconductor	0	
-v	13eb	Hauppauge Computer Works Inc	0	
-v	13ec	Zydacron Inc	0	
-d	13ec000a	NPC-RC01 Remote control receiver	0	
-v	13ed	Raytheion E-Systems	0	
-v	13ee	Hayes Microcomputer Products Inc	0	
-v	13ef	Coppercom Inc	0	
-v	13f0	Sundance Technology Inc / IC Plus Corp	0	
-d	13f00200	IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY	0	
-d	13f00201	ST201 Sundance Ethernet	0	
-d	13f01023	IC Plus IP1000 Family Gigabit Ethernet	0	
-v	13f1	Oce' - Technologies B.V.	0	
-v	13f2	Ford Microelectronics Inc	0	
-v	13f3	Mcdata Corporation	0	
-v	13f4	Troika Networks, Inc.	0	
-d	13f41401	Zentai Fibre Channel Adapter	0	
-v	13f5	Kansai Electric Co. Ltd	0	
-v	13f6	C-Media Electronics Inc	0	
-d	13f60011	CMI8738	0	
-d	13f60100	CM8338A	0	
-s	13f6010013f6ffff	CMI8338/C3DX PCI Audio Device	0	
-d	13f60101	CM8338B	0	
-s	13f6010113f60101	CMI8338-031 PCI Audio Device	0	
-d	13f60111	CM8738	0	
-s	13f6011110190970	P6STP-FL motherboard	0	
-s	13f6011110438035	CUSI-FX motherboard	0	
-s	13f6011110438077	CMI8738 6-channel audio controller	0	
-s	13f60111104380e2	CMI8738 6ch-MX	0	
-s	13f6011113f60111	CMI8738/C3DX PCI Audio Device	0	
-s	13f601111681a000	Gamesurround MUSE XL	0	
-d	13f60211	CM8738	0	
+v	13c2	Technotrend Systemtechnik GmbH	0
+d	13c2000e	Technotrend/Hauppauge DVB card rev2.3	0
+v	13c3	Janz Computer AG	0
+v	13c4	Phase Metrics	0
+v	13c5	Alphi Technology Corp	0
+v	13c6	Condor Engineering Inc	0
+d	13c60520	CEI-520 A429 Card	0
+d	13c60620	CEI-620 A429 Card	0
+d	13c60820	CEI-820 A429 Card	0
+v	13c7	Blue Chip Technology Ltd	0
+v	13c8	Apptech Inc	0
+v	13c9	Eaton Corporation	0
+v	13ca	Iomega Corporation	0
+v	13cb	Yano Electric Co Ltd	0
+v	13cc	Metheus Corporation	0
+v	13cd	Compatible Systems Corporation	0
+v	13ce	Cocom A/S	0
+v	13cf	Studio Audio & Video Ltd	0
+v	13d0	Techsan Electronics Co Ltd	0
+d	13d02103	B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card	0
+d	13d02200	B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card	0
+v	13d1	Abocom Systems Inc	0
+d	13d1ab02	ADMtek Centaur-C rev 17 [D-Link DFE-680TX] CardBus Fast Ethernet Adapter	0
+d	13d1ab03	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	13d1ab06	RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter	0
+d	13d1ab08	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+v	13d2	Shark Multimedia Inc	0
+v	13d3	IMC Networks	0
+v	13d4	Graphics Microsystems Inc	0
+v	13d5	Media 100 Inc	0
+v	13d6	K.I. Technology Co Ltd	0
+v	13d7	Toshiba Engineering Corporation	0
+v	13d8	Phobos corporation	0
+v	13d9	Apex PC Solutions Inc	0
+v	13da	Intresource Systems pte Ltd	0
+v	13db	Janich & Klass Computertechnik GmbH	0
+v	13dc	Netboost Corporation	0
+v	13dd	Multimedia Bundle Inc	0
+v	13de	ABB Robotics Products AB	0
+v	13df	E-Tech Inc	0
+d	13df0001	PCI56RVP Modem	0
+s	13df000113df0001	PCI56RVP Modem	0
+v	13e0	GVC Corporation	0
+v	13e1	Silicom Multimedia Systems Inc	0
+v	13e2	Dynamics Research Corporation	0
+v	13e3	Nest Inc	0
+v	13e4	Calculex Inc	0
+v	13e5	Telesoft Design Ltd	0
+v	13e6	Argosy research Inc	0
+v	13e7	NAC Incorporated	0
+v	13e8	Chip Express Corporation	0
+v	13e9	Intraserver Technology Inc	0
+v	13ea	Dallas Semiconductor	0
+v	13eb	Hauppauge Computer Works Inc	0
+v	13ec	Zydacron Inc	0
+d	13ec000a	NPC-RC01 Remote control receiver	0
+v	13ed	Raytheion E-Systems	0
+v	13ee	Hayes Microcomputer Products Inc	0
+v	13ef	Coppercom Inc	0
+v	13f0	Sundance Technology Inc / IC Plus Corp	0
+d	13f00200	IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY	0
+d	13f00201	ST201 Sundance Ethernet	0
+d	13f01023	IC Plus IP1000 Family Gigabit Ethernet	0
+v	13f1	Oce' - Technologies B.V.	0
+v	13f2	Ford Microelectronics Inc	0
+v	13f3	Mcdata Corporation	0
+v	13f4	Troika Networks, Inc.	0
+d	13f41401	Zentai Fibre Channel Adapter	0
+v	13f5	Kansai Electric Co. Ltd	0
+v	13f6	C-Media Electronics Inc	0
+d	13f60011	CMI8738	0
+d	13f60100	CM8338A	0
+s	13f6010013f6ffff	CMI8338/C3DX PCI Audio Device	0
+d	13f60101	CM8338B	0
+s	13f6010113f60101	CMI8338-031 PCI Audio Device	0
+d	13f60111	CM8738	0
+s	13f6011110190970	P6STP-FL motherboard	0
+s	13f6011110438035	CUSI-FX motherboard	0
+s	13f6011110438077	CMI8738 6-channel audio controller	0
+s	13f60111104380e2	CMI8738 6ch-MX	0
+s	13f6011113f60111	CMI8738/C3DX PCI Audio Device	0
+s	13f601111681a000	Gamesurround MUSE XL	0
+d	13f60211	CM8738	0
 d	13f69880	High Definition Audio	1	CM9880
-v	13f7	Wildfire Communications	0	
-v	13f8	Ad Lib Multimedia Inc	0	
-v	13f9	NTT Advanced Technology Corp.	0	
-v	13fa	Pentland Systems Ltd	0	
-v	13fb	Aydin Corp	0	
-v	13fc	Computer Peripherals International	0	
-v	13fd	Micro Science Inc	0	
-v	13fe	Advantech Co. Ltd	0	
-d	13fe1240	PCI-1240 4-channel stepper motor controller card	0	
-d	13fe1600	PCI-16xx series PCI multiport serial board (function 0)	0	
+v	13f7	Wildfire Communications	0
+v	13f8	Ad Lib Multimedia Inc	0
+v	13f9	NTT Advanced Technology Corp.	0
+v	13fa	Pentland Systems Ltd	0
+v	13fb	Aydin Corp	0
+v	13fc	Computer Peripherals International	0
+v	13fd	Micro Science Inc	0
+v	13fe	Advantech Co. Ltd	0
+d	13fe1240	PCI-1240 4-channel stepper motor controller card	0
+d	13fe1600	PCI-16xx series PCI multiport serial board (function 0)	0
 s	13fe160016010002	PCI-1601 2-port unisolated RS-422/485	0	This board has two PCI functions, appears as two PCI devices
 s	13fe160016020002	PCI-1602 2-port isolated RS-422/485	0	This board has two PCI functions, appears as two PCI devices
-s	13fe160016120004	PCI-1612 4-port RS-232/422/485	0	
-d	13fe16ff	PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD)	0	
-s	13fe16ff16010000	PCI-1601 2-port unisolated RS-422/485 PCI communications card	0	
-s	13fe16ff16020000	PCI-1602 2-port isolated RS-422/485	0	
-s	13fe16ff16120000	PCI-1612 4-port RS-232/422/485	0	
-d	13fe1733	PCI-1733 32-channel isolated digital input card	0	
-d	13fe1752	PCI-1752	0	
-d	13fe1754	PCI-1754	0	
-d	13fe1756	PCI-1756	0	
-v	13ff	Silicon Spice Inc	0	
-v	1400	Artx Inc	0	
-d	14001401	9432 TX	0	
-v	1401	CR-Systems A/S	0	
-v	1402	Meilhaus Electronic GmbH	0	
-v	1403	Ascor Inc	0	
-v	1404	Fundamental Software Inc	0	
-v	1405	Excalibur Systems Inc	0	
-v	1406	Oce' Printing Systems GmbH	0	
-v	1407	Lava Computer mfg Inc	0	
-d	14070100	Lava Dual Serial	0	
-d	14070101	Lava Quatro A	0	
-d	14070102	Lava Quatro B	0	
-d	14070110	Lava DSerial-PCI Port A	0	
-d	14070111	Lava DSerial-PCI Port B	0	
-d	14070120	Quattro-PCI A	0	
-d	14070121	Quattro-PCI B	0	
-d	14070180	Lava Octo A	0	
-d	14070181	Lava Octo B	0	
-d	14070200	Lava Port Plus	0	
-d	14070201	Lava Quad A	0	
-d	14070202	Lava Quad B	0	
-d	14070220	Lava Quattro PCI Ports A/B	0	
-d	14070221	Lava Quattro PCI Ports C/D	0	
-d	14070500	Lava Single Serial	0	
-d	14070600	Lava Port 650	0	
-d	14078000	Lava Parallel	0	
-d	14078001	Dual parallel port controller A	0	
-d	14078002	Lava Dual Parallel port A	0	
-d	14078003	Lava Dual Parallel port B	0	
-d	14078800	BOCA Research IOPPAR	0	
-v	1408	Aloka Co. Ltd	0	
-v	1409	Timedia Technology Co Ltd	0	
-d	14097168	PCI2S550 (Dual 16550 UART)	0	
-v	140a	DSP Research Inc	0	
-v	140b	Ramix Inc	0	
-v	140c	Elmic Systems Inc	0	
-v	140d	Matsushita Electric Works Ltd	0	
-v	140e	Goepel Electronic GmbH	0	
-v	140f	Salient Systems Corp	0	
-v	1410	Midas lab Inc	0	
-v	1411	Ikos Systems Inc	0	
+s	13fe160016120004	PCI-1612 4-port RS-232/422/485	0
+d	13fe16ff	PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD)	0
+s	13fe16ff16010000	PCI-1601 2-port unisolated RS-422/485 PCI communications card	0
+s	13fe16ff16020000	PCI-1602 2-port isolated RS-422/485	0
+s	13fe16ff16120000	PCI-1612 4-port RS-232/422/485	0
+d	13fe1733	PCI-1733 32-channel isolated digital input card	0
+d	13fe1752	PCI-1752	0
+d	13fe1754	PCI-1754	0
+d	13fe1756	PCI-1756	0
+v	13ff	Silicon Spice Inc	0
+v	1400	Artx Inc	0
+d	14001401	9432 TX	0
+v	1401	CR-Systems A/S	0
+v	1402	Meilhaus Electronic GmbH	0
+v	1403	Ascor Inc	0
+v	1404	Fundamental Software Inc	0
+v	1405	Excalibur Systems Inc	0
+v	1406	Oce' Printing Systems GmbH	0
+v	1407	Lava Computer mfg Inc	0
+d	14070100	Lava Dual Serial	0
+d	14070101	Lava Quatro A	0
+d	14070102	Lava Quatro B	0
+d	14070110	Lava DSerial-PCI Port A	0
+d	14070111	Lava DSerial-PCI Port B	0
+d	14070120	Quattro-PCI A	0
+d	14070121	Quattro-PCI B	0
+d	14070180	Lava Octo A	0
+d	14070181	Lava Octo B	0
+d	14070200	Lava Port Plus	0
+d	14070201	Lava Quad A	0
+d	14070202	Lava Quad B	0
+d	14070220	Lava Quattro PCI Ports A/B	0
+d	14070221	Lava Quattro PCI Ports C/D	0
+d	14070500	Lava Single Serial	0
+d	14070600	Lava Port 650	0
+d	14078000	Lava Parallel	0
+d	14078001	Dual parallel port controller A	0
+d	14078002	Lava Dual Parallel port A	0
+d	14078003	Lava Dual Parallel port B	0
+d	14078800	BOCA Research IOPPAR	0
+v	1408	Aloka Co. Ltd	0
+v	1409	Timedia Technology Co Ltd	0
+d	14097168	PCI2S550 (Dual 16550 UART)	0
+v	140a	DSP Research Inc	0
+v	140b	Ramix Inc	0
+v	140c	Elmic Systems Inc	0
+v	140d	Matsushita Electric Works Ltd	0
+v	140e	Goepel Electronic GmbH	0
+v	140f	Salient Systems Corp	0
+v	1410	Midas lab Inc	0
+v	1411	Ikos Systems Inc	0
 v	1412	VIA Technologies Inc.	0	Nee IC Ensemble Inc.
-d	14121712	ICE1712 [Envy24] PCI Multi-Channel I/O Controller	0	
-s	1412171214121712	Hoontech ST Audio DSP 24	0	
-s	141217121412d630	M-Audio Delta 1010	0	
-s	141217121412d631	M-Audio Delta DiO	0	
-s	141217121412d632	M-Audio Delta 66	0	
-s	141217121412d633	M-Audio Delta 44	0	
-s	141217121412d634	M-Audio Delta Audiophile	0	
-s	141217121412d635	M-Audio Delta TDIF	0	
-s	141217121412d637	M-Audio Delta RBUS	0	
-s	141217121412d638	M-Audio Delta 410	0	
-s	141217121412d63b	M-Audio Delta 1010LT	0	
-s	141217121412d63c	Digigram VX442	0	
-s	1412171214161712	Hoontech ST Audio DSP 24 Media 7.1	0	
-s	14121712153b1115	EWS88 MT	0	
-s	14121712153b1125	EWS88 MT (Master)	0	
-s	14121712153b112b	EWS88 D	0	
-s	14121712153b112c	EWS88 D (Master)	0	
-s	14121712153b1130	EWX 24/96	0	
-s	14121712153b1138	DMX 6fire 24/96	0	
-s	14121712153b1151	PHASE88	0	
-s	1412171216ce1040	Edirol DA-2496	0	
-d	14121724	VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller	0	
-s	1412172414121724	Albatron PX865PE 7.1	0	
-s	1412172414123630	M-Audio Revolution 7.1	0	
-s	1412172414123631	M-Audio Revolution 5.1	0	
-s	14121724153b1145	Aureon 7.1 Space	0	
-s	14121724153b1147	Aureon 5.1 Sky	0	
-s	14121724153b1153	Aureon 7.1 Universe	0	
-s	14121724270ff641	ZNF3-150	0	
-s	14121724270ff645	ZNF3-250	0	
-s	1412172431364154	PRODIGY 7.1 XT	1	
-v	1413	Addonics	0	
-v	1414	Microsoft Corporation	0	
-v	1415	Oxford Semiconductor Ltd	0	
-d	14158403	VScom 011H-EP1 1 port parallel adaptor	0	
-d	14159500	OX16PCI954 (Quad 16950 UART) function 0 (Disabled)	0	
-d	14159501	OX16PCI954 (Quad 16950 UART) function 0 (Uart)	0	
-s	1415950112c40201	Titan/cPCI (2 port)	0	
-s	1415950112c40202	Titan/cPCI (4 port)	0	
-s	1415950112c40203	Titan/cPCI (8 port)	0	
-s	1415950112c40210	Titan/104-Plus (8 port, p1-4)	0	
-s	14159501131f2050	CyberPro (4-port)	0	
+d	14121712	ICE1712 [Envy24] PCI Multi-Channel I/O Controller	0
+s	1412171214121712	Hoontech ST Audio DSP 24	0
+s	141217121412d630	M-Audio Delta 1010	0
+s	141217121412d631	M-Audio Delta DiO	0
+s	141217121412d632	M-Audio Delta 66	0
+s	141217121412d633	M-Audio Delta 44	0
+s	141217121412d634	M-Audio Delta Audiophile	0
+s	141217121412d635	M-Audio Delta TDIF	0
+s	141217121412d637	M-Audio Delta RBUS	0
+s	141217121412d638	M-Audio Delta 410	0
+s	141217121412d63b	M-Audio Delta 1010LT	0
+s	141217121412d63c	Digigram VX442	0
+s	1412171214161712	Hoontech ST Audio DSP 24 Media 7.1	0
+s	14121712153b1115	EWS88 MT	0
+s	14121712153b1125	EWS88 MT (Master)	0
+s	14121712153b112b	EWS88 D	0
+s	14121712153b112c	EWS88 D (Master)	0
+s	14121712153b1130	EWX 24/96	0
+s	14121712153b1138	DMX 6fire 24/96	0
+s	14121712153b1151	PHASE88	0
+s	1412171216ce1040	Edirol DA-2496	0
+d	14121724	VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller	0
+s	1412172414121724	Albatron PX865PE 7.1	0
+s	1412172414123630	M-Audio Revolution 7.1	0
+s	1412172414123631	M-Audio Revolution 5.1	0
+s	14121724153b1145	Aureon 7.1 Space	0
+s	14121724153b1147	Aureon 5.1 Sky	0
+s	14121724153b1153	Aureon 7.1 Universe	0
+s	14121724270ff641	ZNF3-150	0
+s	14121724270ff645	ZNF3-250	0
+s	1412172431364154	PRODIGY 7.1 XT	1
+v	1413	Addonics	0
+v	1414	Microsoft Corporation	0
+v	1415	Oxford Semiconductor Ltd	0
+d	14158403	VScom 011H-EP1 1 port parallel adaptor	0
+d	14159500	OX16PCI954 (Quad 16950 UART) function 0 (Disabled)	0
+d	14159501	OX16PCI954 (Quad 16950 UART) function 0 (Uart)	0
+s	1415950112c40201	Titan/cPCI (2 port)	0
+s	1415950112c40202	Titan/cPCI (4 port)	0
+s	1415950112c40203	Titan/cPCI (8 port)	0
+s	1415950112c40210	Titan/104-Plus (8 port, p1-4)	0
+s	14159501131f2050	CyberPro (4-port)	0
 s	14159501131f2051	CyberSerial 4S Plus	0	Model IO1085, Part No: JJ-P46012
-s	1415950115ed2000	MCCR Serial p0-3 of 8	0	
-s	1415950115ed2001	MCCR Serial p0-3 of 16	0	
-d	1415950a	EXSYS EX-41092 Dual 16950 Serial adapter	0	
-d	1415950b	OXCB950 Cardbus 16950 UART	0	
-d	14159510	OX16PCI954 (Quad 16950 UART) function 1 (Disabled)	0	
-s	1415951012c40200	Titan/cPCI (Unused)	0	
-d	14159511	OX16PCI954 (Quad 16950 UART) function 1 (8bit bus)	0	
-s	1415951112c40211	Titan/104-Plus (8 port, p5-8)	0	
-s	1415951115ed2000	MCCR Serial p4-7 of 8	0	
-s	1415951115ed2001	MCCR Serial p4-15 of 16	0	
-d	14159512	OX16PCI954 (Quad 16950 UART) function 1 (32bit bus)	0	
-d	14159513	OX16PCI954 (Quad 16950 UART) function 1 (parallel port)	0	
-d	14159521	OX16PCI952 (Dual 16950 UART)	0	
-d	14159523	OX16PCI952 Integrated Parallel Port	0	
-v	1416	Multiwave Innovation pte Ltd	0	
-v	1417	Convergenet Technologies Inc	0	
-v	1418	Kyushu electronics systems Inc	0	
-v	1419	Excel Switching Corp	0	
-v	141a	Apache Micro Peripherals Inc	0	
-v	141b	Zoom Telephonics Inc	0	
-v	141d	Digitan Systems Inc	0	
-v	141e	Fanuc Ltd	0	
-v	141f	Visiontech Ltd	0	
-v	1420	Psion Dacom plc	0	
-d	14208002	Gold Card NetGlobal 56k+10/100Mb CardBus (Ethernet part)	0	
-d	14208003	Gold Card NetGlobal 56k+10/100Mb CardBus (Modem part)	0	
-v	1421	Ads Technologies Inc	0	
-v	1422	Ygrec Systems Co Ltd	0	
-v	1423	Custom Technology Corp.	0	
-v	1424	Videoserver Connections	0	
-v	1425	Chelsio Communications Inc	0	
-d	1425000b	T210 Protocol Engine	0	
-v	1426	Storage Technology Corp.	0	
-v	1427	Better On-Line Solutions	0	
-v	1428	Edec Co Ltd	0	
-v	1429	Unex Technology Corp.	0	
-v	142a	Kingmax Technology Inc	0	
-v	142b	Radiolan	0	
-v	142c	Minton Optic Industry Co Ltd	0	
-v	142d	Pix stream Inc	0	
-v	142e	Vitec Multimedia	0	
-d	142e4020	VM2-2 [Video Maker 2] MPEG1/2 Encoder	0	
-d	142e4337	VM2-2-C7 [Video Maker 2 rev. C7] MPEG1/2 Encoder	0	
-v	142f	Radicom Research Inc	0	
-v	1430	ITT Aerospace/Communications Division	0	
-v	1431	Gilat Satellite Networks	0	
-v	1432	Edimax Computer Co.	0	
-d	14329130	RTL81xx Fast Ethernet	0	
-v	1433	Eltec Elektronik GmbH	0	
+s	1415950115ed2000	MCCR Serial p0-3 of 8	0
+s	1415950115ed2001	MCCR Serial p0-3 of 16	0
+d	1415950a	EXSYS EX-41092 Dual 16950 Serial adapter	0
+d	1415950b	OXCB950 Cardbus 16950 UART	0
+d	14159510	OX16PCI954 (Quad 16950 UART) function 1 (Disabled)	0
+s	1415951012c40200	Titan/cPCI (Unused)	0
+d	14159511	OX16PCI954 (Quad 16950 UART) function 1 (8bit bus)	0
+s	1415951112c40211	Titan/104-Plus (8 port, p5-8)	0
+s	1415951115ed2000	MCCR Serial p4-7 of 8	0
+s	1415951115ed2001	MCCR Serial p4-15 of 16	0
+d	14159512	OX16PCI954 (Quad 16950 UART) function 1 (32bit bus)	0
+d	14159513	OX16PCI954 (Quad 16950 UART) function 1 (parallel port)	0
+d	14159521	OX16PCI952 (Dual 16950 UART)	0
+d	14159523	OX16PCI952 Integrated Parallel Port	0
+v	1416	Multiwave Innovation pte Ltd	0
+v	1417	Convergenet Technologies Inc	0
+v	1418	Kyushu electronics systems Inc	0
+v	1419	Excel Switching Corp	0
+v	141a	Apache Micro Peripherals Inc	0
+v	141b	Zoom Telephonics Inc	0
+v	141d	Digitan Systems Inc	0
+v	141e	Fanuc Ltd	0
+v	141f	Visiontech Ltd	0
+v	1420	Psion Dacom plc	0
+d	14208002	Gold Card NetGlobal 56k+10/100Mb CardBus (Ethernet part)	0
+d	14208003	Gold Card NetGlobal 56k+10/100Mb CardBus (Modem part)	0
+v	1421	Ads Technologies Inc	0
+v	1422	Ygrec Systems Co Ltd	0
+v	1423	Custom Technology Corp.	0
+v	1424	Videoserver Connections	0
+v	1425	Chelsio Communications Inc	0
+d	1425000b	T210 Protocol Engine	0
+v	1426	Storage Technology Corp.	0
+v	1427	Better On-Line Solutions	0
+v	1428	Edec Co Ltd	0
+v	1429	Unex Technology Corp.	0
+v	142a	Kingmax Technology Inc	0
+v	142b	Radiolan	0
+v	142c	Minton Optic Industry Co Ltd	0
+v	142d	Pix stream Inc	0
+v	142e	Vitec Multimedia	0
+d	142e4020	VM2-2 [Video Maker 2] MPEG1/2 Encoder	0
+d	142e4337	VM2-2-C7 [Video Maker 2 rev. C7] MPEG1/2 Encoder	0
+v	142f	Radicom Research Inc	0
+v	1430	ITT Aerospace/Communications Division	0
+v	1431	Gilat Satellite Networks	0
+v	1432	Edimax Computer Co.	0
+d	14329130	RTL81xx Fast Ethernet	0
+v	1433	Eltec Elektronik GmbH	0
 v	1435	RTD Embedded Technologies, Inc.	0	Nee Real Time Devices US Inc.
-d	14354520	PCI4520	0	
-d	14356020	SPM6020	0	
-d	14356030	SPM6030	0	
-d	14356420	SPM186420	0	
-d	14356430	SPM176430	0	
-d	14357520	DM7520	0	
-d	14357820	DM7820	0	
-v	1436	CIS Technology Inc	0	
-v	1437	Nissin Inc Co	0	
-v	1438	Atmel-dream	0	
-v	1439	Outsource Engineering & Mfg. Inc	0	
-v	143a	Stargate Solutions Inc	0	
-v	143b	Canon Research Center, America	0	
-v	143c	Amlogic Inc	0	
-v	143d	Tamarack Microelectronics Inc	0	
-v	143e	Jones Futurex Inc	0	
-v	143f	Lightwell Co Ltd - Zax Division	0	
-v	1440	ALGOL Corp.	0	
-v	1441	AGIE Ltd	0	
-v	1442	Phoenix Contact GmbH & Co.	0	
-v	1443	Unibrain S.A.	0	
-v	1444	TRW	0	
-v	1445	Logical DO Ltd	0	
-v	1446	Graphin Co Ltd	0	
-v	1447	AIM GmBH	0	
-v	1448	Alesis Studio Electronics	0	
-v	1449	TUT Systems Inc	0	
-v	144a	Adlink Technology	0	
-d	144a7296	PCI-7296	0	
-d	144a7432	PCI-7432	0	
-d	144a7433	PCI-7433	0	
-d	144a7434	PCI-7434	0	
-d	144a7841	PCI-7841	0	
-d	144a8133	PCI-8133	0	
-d	144a8164	PCI-8164	0	
-d	144a8554	PCI-8554	0	
-d	144a9111	PCI-9111	0	
-d	144a9113	PCI-9113	0	
-d	144a9114	PCI-9114	0	
-v	144b	Loronix Information Systems Inc	0	
-v	144c	Catalina Research Inc	0	
-v	144d	Samsung Electronics Co Ltd	0	
-d	144dc00c	P35 laptop	0	
-v	144e	OLITEC	0	
-v	144f	Askey Computer Corp.	0	
-v	1450	Octave Communications Ind.	0	
-v	1451	SP3D Chip Design GmBH	0	
-v	1453	MYCOM Inc	0	
-v	1454	Altiga Networks	0	
-v	1455	Logic Plus Plus Inc	0	
-v	1456	Advanced Hardware Architectures	0	
-v	1457	Nuera Communications Inc	0	
-v	1458	Giga-byte Technology	0	
-d	14580c11	K8NS Pro Mainboard	0	
+d	14354520	PCI4520	0
+d	14356020	SPM6020	0
+d	14356030	SPM6030	0
+d	14356420	SPM186420	0
+d	14356430	SPM176430	0
+d	14357520	DM7520	0
+d	14357820	DM7820	0
+v	1436	CIS Technology Inc	0
+v	1437	Nissin Inc Co	0
+v	1438	Atmel-dream	0
+v	1439	Outsource Engineering & Mfg. Inc	0
+v	143a	Stargate Solutions Inc	0
+v	143b	Canon Research Center, America	0
+v	143c	Amlogic Inc	0
+v	143d	Tamarack Microelectronics Inc	0
+v	143e	Jones Futurex Inc	0
+v	143f	Lightwell Co Ltd - Zax Division	0
+v	1440	ALGOL Corp.	0
+v	1441	AGIE Ltd	0
+v	1442	Phoenix Contact GmbH & Co.	0
+v	1443	Unibrain S.A.	0
+v	1444	TRW	0
+v	1445	Logical DO Ltd	0
+v	1446	Graphin Co Ltd	0
+v	1447	AIM GmBH	0
+v	1448	Alesis Studio Electronics	0
+v	1449	TUT Systems Inc	0
+v	144a	Adlink Technology	0
+d	144a7296	PCI-7296	0
+d	144a7432	PCI-7432	0
+d	144a7433	PCI-7433	0
+d	144a7434	PCI-7434	0
+d	144a7841	PCI-7841	0
+d	144a8133	PCI-8133	0
+d	144a8164	PCI-8164	0
+d	144a8554	PCI-8554	0
+d	144a9111	PCI-9111	0
+d	144a9113	PCI-9113	0
+d	144a9114	PCI-9114	0
+v	144b	Loronix Information Systems Inc	0
+v	144c	Catalina Research Inc	0
+v	144d	Samsung Electronics Co Ltd	0
+d	144dc00c	P35 laptop	0
+v	144e	OLITEC	0
+v	144f	Askey Computer Corp.	0
+v	1450	Octave Communications Ind.	0
+v	1451	SP3D Chip Design GmBH	0
+v	1453	MYCOM Inc	0
+v	1454	Altiga Networks	0
+v	1455	Logic Plus Plus Inc	0
+v	1456	Advanced Hardware Architectures	0
+v	1457	Nuera Communications Inc	0
+v	1458	Giga-byte Technology	0
+d	14580c11	K8NS Pro Mainboard	0
 d	14589001	GC-PTV-TAF Hybrid TV card tda8275ac1 + saa7131e + tda10046a	1	well supported, but not woking yet
-d	1458e911	GN-WIAG02	0	
-v	1459	DOOIN Electronics	0	
-v	145a	Escalate Networks Inc	0	
-v	145b	PRAIM SRL	0	
-v	145c	Cryptek	0	
-v	145d	Gallant Computer Inc	0	
-v	145e	Aashima Technology B.V.	0	
-v	145f	Baldor Electric Company	0	
-d	145f0001	NextMove PCI	0	
-v	1460	DYNARC INC	0	
-v	1461	Avermedia Technologies Inc	0	
-d	1461a3ce	AVerMedia M179	1	
-d	1461a3cf	AVerMedia M179	1	
-d	1461f436	AVerTV Hybrid+FM	0	
-v	1462	Micro-Star International Co., Ltd.	0	
-d	14625501	nVidia NV15DDR [GeForce2 Ti]	0	
-d	14626819	Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [MSI CB54G]	0	
-d	14626825	PCI Card wireless 11g [PC54G]	0	
-d	14626834	RaLink RT2500 802.11g [PC54G2]	0	
-d	14627125	K8N motherboard	0	
-d	14627235	P965 Neo MS-7235 mainboard	1	
-d	14628725	NVIDIA NV25 [GeForce4 Ti 4600] VGA Adapter	0	
-d	14629000	NVIDIA NV28 [GeForce4 Ti 4800] VGA Adapter	0	
-d	14629110	GeFORCE FX5200	0	
-d	14629119	NVIDIA NV31 [GeForce FX 5600XT] VGA Adapter	0	
-d	14629123	NVIDIA NV31 [GeForce FX 5600] FX5600-VTDR128 [MS-8912]	0	
-d	14629510	Radeon 9600XT	0	
-d	14629511	Radeon 9600XT	0	
-d	14629591	nVidia Corporation NV36 [GeForce FX 5700LE]	0	
-v	1463	Fast Corporation	0	
-v	1464	Interactive Circuits & Systems Ltd	0	
-v	1465	GN NETTEST Telecom DIV.	0	
-v	1466	Designpro Inc.	0	
-v	1467	DIGICOM SPA	0	
-v	1468	AMBIT Microsystem Corp.	0	
-v	1469	Cleveland Motion Controls	0	
-v	146a	IFR	0	
-v	146b	Parascan Technologies Ltd	0	
-v	146c	Ruby Tech Corp.	0	
-d	146c1430	FE-1430TX Fast Ethernet PCI Adapter	0	
-v	146d	Tachyon, INC.	0	
-v	146e	Williams Electronics Games, Inc.	0	
-v	146f	Multi Dimensional Consulting Inc	0	
-v	1470	Bay Networks	0	
-v	1471	Integrated Telecom Express Inc	0	
-v	1472	DAIKIN Industries, Ltd	0	
-v	1473	ZAPEX Technologies Inc	0	
-v	1474	Doug Carson & Associates	0	
-v	1475	PICAZO Communications	0	
-v	1476	MORTARA Instrument Inc	0	
-v	1477	Net Insight	0	
-v	1478	DIATREND Corporation	0	
-v	1479	TORAY Industries Inc	0	
-v	147a	FORMOSA Industrial Computing	0	
-v	147b	ABIT Computer Corp.	0	
-v	147c	AWARE, Inc.	0	
-v	147d	Interworks Computer Products	0	
-v	147e	Matsushita Graphic Communication Systems, Inc.	0	
-v	147f	NIHON UNISYS, Ltd.	0	
-v	1480	SCII Telecom	0	
-v	1481	BIOPAC Systems Inc	0	
-v	1482	ISYTEC - Integrierte Systemtechnik GmBH	0	
-v	1483	LABWAY Corporation	0	
-v	1484	Logic Corporation	0	
-v	1485	ERMA - Electronic GmBH	0	
-v	1486	L3 Communications Telemetry & Instrumentation	0	
-v	1487	MARQUETTE Medical Systems	0	
-v	1488	KONTRON Electronik GmBH	0	
-v	1489	KYE Systems Corporation	0	
-v	148a	OPTO	0	
-v	148b	INNOMEDIALOGIC Inc.	0	
-v	148c	C.P. Technology Co. Ltd	0	
-v	148d	DIGICOM Systems, Inc.	0	
-d	148d1003	HCF 56k Data/Fax Modem	0	
-v	148e	OSI Plus Corporation	0	
-v	148f	Plant Equipment, Inc.	0	
-v	1490	Stone Microsystems PTY Ltd.	0	
-v	1491	ZEAL Corporation	0	
-v	1492	Time Logic Corporation	0	
-v	1493	MAKER Communications	0	
-v	1494	WINTOP Technology, Inc.	0	
-v	1495	TOKAI Communications Industry Co. Ltd	0	
-v	1496	JOYTECH Computer Co., Ltd.	0	
-v	1497	SMA Regelsysteme GmBH	0	
-d	14971497	SMA Technologie AG	0	
-v	1498	TEWS Datentechnik GmBH	0	
-d	14980330	TPMC816 2 Channel CAN bus controller.	0	
-d	14980385	TPMC901 Extended CAN bus with 2/4/6 CAN controller	0	
-d	149821cc	TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422	0	
-d	149821cd	TCP461 CompactPCI 8 Channel Serial Interface RS232/RS422	0	
-d	149830c8	TPCI200	0	
-v	1499	EMTEC CO., Ltd	0	
-v	149a	ANDOR Technology Ltd	0	
-v	149b	SEIKO Instruments Inc	0	
-v	149c	OVISLINK Corp.	0	
-v	149d	NEWTEK Inc	0	
-d	149d0001	Video Toaster for PC	0	
-v	149e	Mapletree Networks Inc.	0	
-v	149f	LECTRON Co Ltd	0	
-v	14a0	SOFTING GmBH	0	
-v	14a1	Systembase Co Ltd	0	
-v	14a2	Millennium Engineering Inc	0	
-v	14a3	Maverick Networks	0	
-v	14a4	GVC/BCM Advanced Research	0	
-v	14a5	XIONICS Document Technologies Inc	0	
-v	14a6	INOVA Computers GmBH & Co KG	0	
-v	14a7	MYTHOS Systems Inc	0	
-v	14a8	FEATRON Technologies Corporation	0	
-v	14a9	HIVERTEC Inc	0	
-v	14aa	Advanced MOS Technology Inc	0	
-v	14ab	Mentor Graphics Corp.	0	
-v	14ac	Novaweb Technologies Inc	0	
-v	14ad	Time Space Radio AB	0	
-v	14ae	CTI, Inc	0	
-v	14af	Guillemot Corporation	0	
-d	14af7102	3D Prophet II MX	0	
-v	14b0	BST Communication Technology Ltd	0	
-v	14b1	Nextcom K.K.	0	
-v	14b2	ENNOVATE Networks Inc	0	
-v	14b3	XPEED Inc	0	
-d	14b30000	DSL NIC	0	
-v	14b4	PHILIPS Business Electronics B.V.	0	
-v	14b5	Creamware GmBH	0	
-d	14b50200	Scope	0	
-d	14b50300	Pulsar	0	
-d	14b50400	PulsarSRB	0	
-d	14b50600	Pulsar2	0	
-d	14b50800	DSP-Board	0	
-d	14b50900	DSP-Board	0	
-d	14b50a00	DSP-Board	0	
-d	14b50b00	DSP-Board	0	
-v	14b6	Quantum Data Corp.	0	
-v	14b7	PROXIM Inc	0	
-d	14b70001	Symphony 4110	0	
-v	14b8	Techsoft Technology Co Ltd	0	
-v	14b9	AIRONET Wireless Communications	0	
-d	14b90001	PC4800	0	
-d	14b90340	PC4800	0	
-d	14b90350	PC4800	0	
-d	14b94500	PC4500	0	
-d	14b94800	Cisco Aironet 340 802.11b Wireless LAN Adapter/Aironet PC4800	0	
-d	14b9a504	Cisco Aironet Wireless 802.11b	0	
-d	14b9a505	Cisco Aironet CB20a 802.11a Wireless LAN Adapter	0	
-d	14b9a506	Cisco Aironet Mini PCI b/g	0	
-v	14ba	INTERNIX Inc.	0	
-v	14bb	SEMTECH Corporation	0	
-v	14bc	Globespan Semiconductor Inc.	0	
-d	14bcd002	Pulsar [PCI ADSL Card]	0	
-d	14bcd00f	Pulsar [PCI ADSL Card]	0	
-v	14bd	CARDIO Control N.V.	0	
-v	14be	L3 Communications	0	
-v	14bf	SPIDER Communications Inc.	0	
-v	14c0	COMPAL Electronics Inc	0	
-v	14c1	MYRICOM Inc.	0	
-d	14c10008	Myri-10G Dual-Protocol NIC (10G-PCIE-8A)	0	
-d	14c18043	Myrinet 2000 Scalable Cluster Interconnect	0	
-s	14c18043103c1240	Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)	0	
-v	14c2	DTK Computer	0	
-v	14c3	MEDIATEK Corp.	0	
-v	14c4	IWASAKI Information Systems Co Ltd	0	
-v	14c5	Automation Products AB	0	
-v	14c6	Data Race Inc	0	
-v	14c7	Modular Technology Holdings Ltd	0	
-v	14c8	Turbocomm Tech. Inc.	0	
-v	14c9	ODIN Telesystems Inc	0	
-v	14ca	PE Logic Corp.	0	
-v	14cb	Billionton Systems Inc	0	
-v	14cc	NAKAYO Telecommunications Inc	0	
-v	14cd	Universal Scientific Ind.	0	
-v	14ce	Whistle Communications	0	
-v	14cf	TEK Microsystems Inc.	0	
-v	14d0	Ericsson Axe R & D	0	
-v	14d1	Computer Hi-Tech Co Ltd	0	
-v	14d2	Titan Electronics Inc	0	
-d	14d28001	VScom 010L 1 port parallel adaptor	0	
-d	14d28002	VScom 020L 2 port parallel adaptor	0	
-d	14d28010	VScom 100L 1 port serial adaptor	0	
-d	14d28011	VScom 110L 1 port serial and 1 port parallel adaptor	0	
-d	14d28020	VScom 200L 1 port serial adaptor	0	
-d	14d28021	VScom 210L 2 port serial and 1 port parallel adaptor	0	
-d	14d28040	VScom 400L 4 port serial adaptor	0	
-d	14d28080	VScom 800L 8 port serial adaptor	0	
-d	14d2a000	VScom 010H 1 port parallel adaptor	0	
-d	14d2a001	VScom 100H 1 port serial adaptor	0	
-d	14d2a003	VScom 400H 4 port serial adaptor	0	
-d	14d2a004	VScom 400HF1 4 port serial adaptor	0	
-d	14d2a005	VScom 200H 2 port serial adaptor	0	
-d	14d2e001	VScom 010HV2 1 port parallel adaptor	0	
-d	14d2e010	VScom 100HV2 1 port serial adaptor	0	
-d	14d2e020	VScom 200HV2 2 port serial adaptor	0	
-v	14d3	CIRTECH (UK) Ltd	0	
-v	14d4	Panacom Technology Corp	0	
-v	14d5	Nitsuko Corporation	0	
-v	14d6	Accusys Inc	0	
-v	14d7	Hirakawa Hewtech Corp	0	
-v	14d8	HOPF Elektronik GmBH	0	
+d	1458e911	GN-WIAG02	0
+v	1459	DOOIN Electronics	0
+v	145a	Escalate Networks Inc	0
+v	145b	PRAIM SRL	0
+v	145c	Cryptek	0
+v	145d	Gallant Computer Inc	0
+v	145e	Aashima Technology B.V.	0
+v	145f	Baldor Electric Company	0
+d	145f0001	NextMove PCI	0
+v	1460	DYNARC INC	0
+v	1461	Avermedia Technologies Inc	0
+d	1461a3ce	AVerMedia M179	1
+d	1461a3cf	AVerMedia M179	1
+d	1461f436	AVerTV Hybrid+FM	0
+v	1462	Micro-Star International Co., Ltd.	0
+d	14625501	nVidia NV15DDR [GeForce2 Ti]	0
+d	14626819	Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [MSI CB54G]	0
+d	14626825	PCI Card wireless 11g [PC54G]	0
+d	14626834	RaLink RT2500 802.11g [PC54G2]	0
+d	14627125	K8N motherboard	0
+d	14627235	P965 Neo MS-7235 mainboard	1
+d	14628725	NVIDIA NV25 [GeForce4 Ti 4600] VGA Adapter	0
+d	14629000	NVIDIA NV28 [GeForce4 Ti 4800] VGA Adapter	0
+d	14629110	GeFORCE FX5200	0
+d	14629119	NVIDIA NV31 [GeForce FX 5600XT] VGA Adapter	0
+d	14629123	NVIDIA NV31 [GeForce FX 5600] FX5600-VTDR128 [MS-8912]	0
+d	14629510	Radeon 9600XT	0
+d	14629511	Radeon 9600XT	0
+d	14629591	nVidia Corporation NV36 [GeForce FX 5700LE]	0
+v	1463	Fast Corporation	0
+v	1464	Interactive Circuits & Systems Ltd	0
+v	1465	GN NETTEST Telecom DIV.	0
+v	1466	Designpro Inc.	0
+v	1467	DIGICOM SPA	0
+v	1468	AMBIT Microsystem Corp.	0
+v	1469	Cleveland Motion Controls	0
+v	146a	IFR	0
+v	146b	Parascan Technologies Ltd	0
+v	146c	Ruby Tech Corp.	0
+d	146c1430	FE-1430TX Fast Ethernet PCI Adapter	0
+v	146d	Tachyon, INC.	0
+v	146e	Williams Electronics Games, Inc.	0
+v	146f	Multi Dimensional Consulting Inc	0
+v	1470	Bay Networks	0
+v	1471	Integrated Telecom Express Inc	0
+v	1472	DAIKIN Industries, Ltd	0
+v	1473	ZAPEX Technologies Inc	0
+v	1474	Doug Carson & Associates	0
+v	1475	PICAZO Communications	0
+v	1476	MORTARA Instrument Inc	0
+v	1477	Net Insight	0
+v	1478	DIATREND Corporation	0
+v	1479	TORAY Industries Inc	0
+v	147a	FORMOSA Industrial Computing	0
+v	147b	ABIT Computer Corp.	0
+v	147c	AWARE, Inc.	0
+v	147d	Interworks Computer Products	0
+v	147e	Matsushita Graphic Communication Systems, Inc.	0
+v	147f	NIHON UNISYS, Ltd.	0
+v	1480	SCII Telecom	0
+v	1481	BIOPAC Systems Inc	0
+v	1482	ISYTEC - Integrierte Systemtechnik GmBH	0
+v	1483	LABWAY Corporation	0
+v	1484	Logic Corporation	0
+v	1485	ERMA - Electronic GmBH	0
+v	1486	L3 Communications Telemetry & Instrumentation	0
+v	1487	MARQUETTE Medical Systems	0
+v	1488	KONTRON Electronik GmBH	0
+v	1489	KYE Systems Corporation	0
+v	148a	OPTO	0
+v	148b	INNOMEDIALOGIC Inc.	0
+v	148c	C.P. Technology Co. Ltd	0
+v	148d	DIGICOM Systems, Inc.	0
+d	148d1003	HCF 56k Data/Fax Modem	0
+v	148e	OSI Plus Corporation	0
+v	148f	Plant Equipment, Inc.	0
+v	1490	Stone Microsystems PTY Ltd.	0
+v	1491	ZEAL Corporation	0
+v	1492	Time Logic Corporation	0
+v	1493	MAKER Communications	0
+v	1494	WINTOP Technology, Inc.	0
+v	1495	TOKAI Communications Industry Co. Ltd	0
+v	1496	JOYTECH Computer Co., Ltd.	0
+v	1497	SMA Regelsysteme GmBH	0
+d	14971497	SMA Technologie AG	0
+v	1498	TEWS Datentechnik GmBH	0
+d	14980330	TPMC816 2 Channel CAN bus controller.	0
+d	14980385	TPMC901 Extended CAN bus with 2/4/6 CAN controller	0
+d	149821cc	TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422	0
+d	149821cd	TCP461 CompactPCI 8 Channel Serial Interface RS232/RS422	0
+d	149830c8	TPCI200	0
+v	1499	EMTEC CO., Ltd	0
+v	149a	ANDOR Technology Ltd	0
+v	149b	SEIKO Instruments Inc	0
+v	149c	OVISLINK Corp.	0
+v	149d	NEWTEK Inc	0
+d	149d0001	Video Toaster for PC	0
+v	149e	Mapletree Networks Inc.	0
+v	149f	LECTRON Co Ltd	0
+v	14a0	SOFTING GmBH	0
+v	14a1	Systembase Co Ltd	0
+v	14a2	Millennium Engineering Inc	0
+v	14a3	Maverick Networks	0
+v	14a4	GVC/BCM Advanced Research	0
+v	14a5	XIONICS Document Technologies Inc	0
+v	14a6	INOVA Computers GmBH & Co KG	0
+v	14a7	MYTHOS Systems Inc	0
+v	14a8	FEATRON Technologies Corporation	0
+v	14a9	HIVERTEC Inc	0
+v	14aa	Advanced MOS Technology Inc	0
+v	14ab	Mentor Graphics Corp.	0
+v	14ac	Novaweb Technologies Inc	0
+v	14ad	Time Space Radio AB	0
+v	14ae	CTI, Inc	0
+v	14af	Guillemot Corporation	0
+d	14af7102	3D Prophet II MX	0
+v	14b0	BST Communication Technology Ltd	0
+v	14b1	Nextcom K.K.	0
+v	14b2	ENNOVATE Networks Inc	0
+v	14b3	XPEED Inc	0
+d	14b30000	DSL NIC	0
+v	14b4	PHILIPS Business Electronics B.V.	0
+v	14b5	Creamware GmBH	0
+d	14b50200	Scope	0
+d	14b50300	Pulsar	0
+d	14b50400	PulsarSRB	0
+d	14b50600	Pulsar2	0
+d	14b50800	DSP-Board	0
+d	14b50900	DSP-Board	0
+d	14b50a00	DSP-Board	0
+d	14b50b00	DSP-Board	0
+v	14b6	Quantum Data Corp.	0
+v	14b7	PROXIM Inc	0
+d	14b70001	Symphony 4110	0
+v	14b8	Techsoft Technology Co Ltd	0
+v	14b9	AIRONET Wireless Communications	0
+d	14b90001	PC4800	0
+d	14b90340	PC4800	0
+d	14b90350	PC4800	0
+d	14b94500	PC4500	0
+d	14b94800	Cisco Aironet 340 802.11b Wireless LAN Adapter/Aironet PC4800	0
+d	14b9a504	Cisco Aironet Wireless 802.11b	0
+d	14b9a505	Cisco Aironet CB20a 802.11a Wireless LAN Adapter	0
+d	14b9a506	Cisco Aironet Mini PCI b/g	0
+v	14ba	INTERNIX Inc.	0
+v	14bb	SEMTECH Corporation	0
+v	14bc	Globespan Semiconductor Inc.	0
+d	14bcd002	Pulsar [PCI ADSL Card]	0
+d	14bcd00f	Pulsar [PCI ADSL Card]	0
+v	14bd	CARDIO Control N.V.	0
+v	14be	L3 Communications	0
+v	14bf	SPIDER Communications Inc.	0
+v	14c0	COMPAL Electronics Inc	0
+v	14c1	MYRICOM Inc.	0
+d	14c10008	Myri-10G Dual-Protocol NIC (10G-PCIE-8A)	0
+d	14c18043	Myrinet 2000 Scalable Cluster Interconnect	0
+s	14c18043103c1240	Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)	0
+v	14c2	DTK Computer	0
+v	14c3	MEDIATEK Corp.	0
+v	14c4	IWASAKI Information Systems Co Ltd	0
+v	14c5	Automation Products AB	0
+v	14c6	Data Race Inc	0
+v	14c7	Modular Technology Holdings Ltd	0
+v	14c8	Turbocomm Tech. Inc.	0
+v	14c9	ODIN Telesystems Inc	0
+v	14ca	PE Logic Corp.	0
+v	14cb	Billionton Systems Inc	0
+v	14cc	NAKAYO Telecommunications Inc	0
+v	14cd	Universal Scientific Ind.	0
+v	14ce	Whistle Communications	0
+v	14cf	TEK Microsystems Inc.	0
+v	14d0	Ericsson Axe R & D	0
+v	14d1	Computer Hi-Tech Co Ltd	0
+v	14d2	Titan Electronics Inc	0
+d	14d28001	VScom 010L 1 port parallel adaptor	0
+d	14d28002	VScom 020L 2 port parallel adaptor	0
+d	14d28010	VScom 100L 1 port serial adaptor	0
+d	14d28011	VScom 110L 1 port serial and 1 port parallel adaptor	0
+d	14d28020	VScom 200L 1 port serial adaptor	0
+d	14d28021	VScom 210L 2 port serial and 1 port parallel adaptor	0
+d	14d28040	VScom 400L 4 port serial adaptor	0
+d	14d28080	VScom 800L 8 port serial adaptor	0
+d	14d2a000	VScom 010H 1 port parallel adaptor	0
+d	14d2a001	VScom 100H 1 port serial adaptor	0
+d	14d2a003	VScom 400H 4 port serial adaptor	0
+d	14d2a004	VScom 400HF1 4 port serial adaptor	0
+d	14d2a005	VScom 200H 2 port serial adaptor	0
+d	14d2e001	VScom 010HV2 1 port parallel adaptor	0
+d	14d2e010	VScom 100HV2 1 port serial adaptor	0
+d	14d2e020	VScom 200HV2 2 port serial adaptor	0
+v	14d3	CIRTECH (UK) Ltd	0
+v	14d4	Panacom Technology Corp	0
+v	14d5	Nitsuko Corporation	0
+v	14d6	Accusys Inc	0
+v	14d7	Hirakawa Hewtech Corp	0
+v	14d8	HOPF Elektronik GmBH	0
 v	14d9	Alliance Semiconductor Corporation	0	Formerly SiPackets, Inc., formerly API NetWorks, Inc., formerly Alpha Processor, Inc.
-d	14d90010	AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon]	0	
-d	14d99000	AS90L10204/10208 HyperTransport to PCI-X Bridge	0	
-v	14da	National Aerospace Laboratories	0	
-v	14db	AFAVLAB Technology Inc	0	
-d	14db2120	TK9902	0	
-d	14db2182	AFAVLAB Technology Inc. 8-port serial card	0	
-v	14dc	Amplicon Liveline Ltd	0	
-d	14dc0000	PCI230	0	
-d	14dc0001	PCI242	0	
-d	14dc0002	PCI244	0	
-d	14dc0003	PCI247	0	
-d	14dc0004	PCI248	0	
-d	14dc0005	PCI249	0	
-d	14dc0006	PCI260	0	
-d	14dc0007	PCI224	0	
-d	14dc0008	PCI234	0	
-d	14dc0009	PCI236	0	
-d	14dc000a	PCI272	0	
-d	14dc000b	PCI215	0	
-v	14dd	Boulder Design Labs Inc	0	
-v	14de	Applied Integration Corporation	0	
-v	14df	ASIC Communications Corp	0	
-v	14e1	INVERTEX	0	
-v	14e2	INFOLIBRIA	0	
-v	14e3	AMTELCO	0	
-v	14e4	Broadcom Corporation	0	
-d	14e40800	Sentry5 Chipcommon I/O Controller	0	
-d	14e40804	Sentry5 PCI Bridge	0	
-d	14e40805	Sentry5 MIPS32 CPU	0	
-d	14e40806	Sentry5 Ethernet Controller	0	
-d	14e4080b	Sentry5 Crypto Accelerator	0	
-d	14e4080f	Sentry5 DDR/SDR RAM Controller	0	
-d	14e40811	Sentry5 External Interface Core	0	
-d	14e40816	BCM3302 Sentry5 MIPS32 CPU	0	
-d	14e41600	NetXtreme BCM5752 Gigabit Ethernet PCI Express	0	
-s	14e41600107b5048	E4500 Onboard	0	
-d	14e41601	NetXtreme BCM5752M Gigabit Ethernet PCI Express	0	
-d	14e41644	NetXtreme BCM5700 Gigabit Ethernet	0	
-s	14e4164410140277	Broadcom Vigil B5700 1000Base-T	0	
-s	14e41644102800d1	Broadcom BCM5700	0	
-s	14e4164410280106	Broadcom BCM5700	0	
-s	14e4164410280109	Broadcom BCM5700 1000Base-T	0	
-s	14e416441028010a	Broadcom BCM5700 1000BaseTX	0	
-s	14e4164410b71000	3C996-T 1000Base-T	0	
-s	14e4164410b71001	3C996B-T 1000Base-T	0	
-s	14e4164410b71002	3C996C-T 1000Base-T	0	
-s	14e4164410b71003	3C997-T 1000Base-T Dual Port	0	
-s	14e4164410b71004	3C996-SX 1000Base-SX	0	
-s	14e4164410b71005	3C997-SX 1000Base-SX Dual Port	0	
-s	14e4164410b71008	3C942 Gigabit LOM (31X31)	0	
-s	14e4164414e40002	NetXtreme 1000Base-SX	0	
-s	14e4164414e40003	NetXtreme 1000Base-SX	0	
-s	14e4164414e40004	NetXtreme 1000Base-T	0	
-s	14e4164414e41028	NetXtreme 1000BaseTX	0	
-s	14e4164414e41644	BCM5700 1000Base-T	0	
-d	14e41645	NetXtreme BCM5701 Gigabit Ethernet	0	
-s	14e416450e11007c	NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)	0	
-s	14e416450e11007d	NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)	0	
-s	14e416450e110085	NC7780 Gigabit Server Adapter (embedded, WOL)	0	
-s	14e416450e110099	NC7780 Gigabit Server Adapter (embedded, WOL)	0	
-s	14e416450e11009a	NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)	0	
-s	14e416450e1100c1	NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)	0	
-s	14e4164510280121	Broadcom BCM5701 1000Base-T	0	
-s	14e41645103c128a	1000Base-T (PCI) [A7061A]	0	
-s	14e41645103c128b	1000Base-SX (PCI) [A7073A]	0	
-s	14e41645103c12a4	Core Lan 1000Base-T	0	
-s	14e41645103c12c1	IOX Core Lan 1000Base-T [A7109AX]	0	
-s	14e41645103c1300	Core LAN/SCSI Combo [A6794A]	0	
-s	14e4164510a98010	IO9/IO10 Gigabit Ethernet (Copper)	0	
-s	14e4164510a98011	Gigabit Ethernet (Copper)	0	
-s	14e4164510a98012	Gigabit Ethernet (Fiber)	0	
-s	14e4164510b71004	3C996-SX 1000Base-SX	0	
-s	14e4164510b71006	3C996B-T 1000Base-T	0	
-s	14e4164510b71007	3C1000-T 1000Base-T	0	
-s	14e4164510b71008	3C940-BR01 1000Base-T	0	
-s	14e4164514e40001	BCM5701 1000Base-T	0	
-s	14e4164514e40005	BCM5701 1000Base-T	0	
-s	14e4164514e40006	BCM5701 1000Base-T	0	
-s	14e4164514e40007	BCM5701 1000Base-SX	0	
-s	14e4164514e40008	BCM5701 1000Base-T	0	
-s	14e4164514e48008	BCM5701 1000Base-T	0	
-d	14e41646	NetXtreme BCM5702 Gigabit Ethernet	0	
-s	14e416460e1100bb	NC7760 1000BaseTX	0	
-s	14e4164610280126	Broadcom BCM5702 1000BaseTX	0	
-s	14e4164614e48009	BCM5702 1000BaseTX	0	
-d	14e41647	NetXtreme BCM5703 Gigabit Ethernet	0	
-s	14e416470e110099	NC7780 1000BaseTX	0	
-s	14e416470e11009a	NC7770 1000BaseTX	0	
-s	14e4164710a98010	SGI IO9 Gigabit Ethernet (Copper)	0	
-s	14e4164714e40009	BCM5703 1000BaseTX	0	
-s	14e4164714e4000a	BCM5703 1000BaseSX	0	
-s	14e4164714e4000b	BCM5703 1000BaseTX	0	
-s	14e4164714e48009	BCM5703 1000BaseTX	0	
-s	14e4164714e4800a	BCM5703 1000BaseTX	0	
-d	14e41648	NetXtreme BCM5704 Gigabit Ethernet	0	
-s	14e416480e1100cf	NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e416480e1100d0	NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e416480e1100d1	NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e4164810a98013	Dual Port Gigabit Ethernet (PCI-X,Copper)	0	
-s	14e4164810a98018	Dual Port Gigabit Ethernet (A330)	0	
-s	14e4164810a9801a	Dual Port Gigabit Ethernet (IA-blade)	0	
-s	14e4164810a9801b	Quad Port Gigabit Ethernet (PCI-E,Copper)	0	
-s	14e4164810b72000	3C998-T Dual Port 10/100/1000 PCI-X	0	
-s	14e4164810b73000	3C999-T Quad Port 10/100/1000 PCI-X	0	
-s	14e4164811661648	NetXtreme CIOB-E 1000Base-T	0	
-s	14e416481734100b	Primergy RX300	0	
-d	14e4164a	NetXtreme II BCM5706 Gigabit Ethernet	0	
-s	14e4164a103c3070	NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter	0	
-s	14e4164a103c3101	NC370T MultifuNCtion Gigabit Server Adapter	0	
-d	14e4164c	NetXtreme II BCM5708 Gigabit Ethernet	0	
-s	14e4164c103c7037	NC373T PCI Express Multifunction Gigabit Server Adapter	0	
-s	14e4164c103c7038	NC373i Integrated Multifunction Gigabit Server Adapter	0	
-d	14e4164d	NetXtreme BCM5702FE Gigabit Ethernet	0	
-d	14e41653	NetXtreme BCM5705 Gigabit Ethernet	0	
-s	14e416530e1100e3	NC7761 Gigabit Server Adapter	0	
-d	14e41654	NetXtreme BCM5705_2 Gigabit Ethernet	0	
-s	14e416540e1100e3	NC7761 Gigabit Server Adapter	0	
-s	14e41654103c3100	NC1020 ProLiant Gigabit Server Adapter 32 PCI	0	
-s	14e41654103c3226	NC150T 4-port Gigabit Combo Switch & Adapter	0	
-d	14e41659	NetXtreme BCM5721 Gigabit Ethernet PCI Express	0	
-s	14e41659101402c6	eServer xSeries server mainboard	0	
-s	14e41659103c7031	NC320T PCIe Gigabit Server Adapter	0	
-s	14e41659103c7032	NC320i PCIe Gigabit Server Adapter	0	
-s	14e4165917341061	Primergy RX300 S2	0	
-d	14e4165a	NetXtreme BCM5722 Gigabit Ethernet PCI Express	1	
-d	14e4165d	NetXtreme BCM5705M Gigabit Ethernet	0	
-s	14e4165d1028865d	Latitude D400	0	
-d	14e4165e	NetXtreme BCM5705M_2 Gigabit Ethernet	0	
-s	14e4165e103c088c	NC8000 laptop	0	
-s	14e4165e103c0890	NC6000 laptop	0	
-s	14e4165e103c099c	NX6110/NC6120	0	
-d	14e41668	NetXtreme BCM5714 Gigabit Ethernet	0	
-s	14e41668103c7039	NC324i PCIe Dual Port Gigabit Server Adapter	0	
-d	14e41669	NetXtreme 5714S Gigabit Ethernet	0	
-d	14e4166a	NetXtreme BCM5780 Gigabit Ethernet	0	
-d	14e4166b	NetXtreme BCM5780S Gigabit Ethernet	0	
-d	14e4166e	570x 10/100 Integrated Controller	0	
-d	14e41672	NetXtreme BCM5754M Gigabit Ethernet PCI Express	0	
-d	14e41673	NetXtreme BCM5755M Gigabit Ethernet PCI Express	0	
-d	14e41674	NetXtreme BCM5756ME Gigabit Ethernet PCI Express	1	
-d	14e41677	NetXtreme BCM5751 Gigabit Ethernet PCI Express	0	
-s	14e4167710280179	Optiplex GX280	0	
-s	14e4167710280182	Latitude D610	0	
-s	14e4167710280187	Precision M70	0	
-s	14e41677102801ad	Optiplex GX620	0	
-s	14e41677103c3006	DC7100 SFF(DX878AV)	0	
-s	14e416771734105d	Scenic W620	0	
-d	14e41678	NetXtreme BCM5715 Gigabit Ethernet	0	
-d	14e41679	NetXtreme BCM5715S Gigabit Ethernet	0	
-s	14e41679103c1707	NC326m PCIe Dual Port Adapter	0	
-s	14e41679103c170c	NC325m PCIe Quad Port Adapter	0	
-s	14e41679103c703c	NC326i PCIe Dual Port Gigabit Server Adapter	0	
-d	14e4167a	NetXtreme BCM5754 Gigabit Ethernet PCI Express	0	
-d	14e4167b	NetXtreme BCM5755 Gigabit Ethernet PCI Express	0	
-d	14e4167d	NetXtreme BCM5751M Gigabit Ethernet PCI Express	0	
-s	14e4167d17aa2081	Thinkpad R60e model 0657	0	
-d	14e4167e	NetXtreme BCM5751F Fast Ethernet PCI Express	0	
-d	14e4167f	NetLink BCM5787F Fast Ethernet PCI Express	1	
-d	14e41693	NetLink BCM5787M Gigabit Ethernet PCI Express	0	
-d	14e41696	NetXtreme BCM5782 Gigabit Ethernet	0	
-s	14e41696103c12bc	d530 CMT (DG746A)	0	
-s	14e4169614e4000d	NetXtreme BCM5782 1000Base-T	0	
-d	14e4169a	NetLink BCM5786 Gigabit Ethernet PCI Express	0	
-d	14e4169b	NetLink BCM5787 Gigabit Ethernet PCI Express	0	
-d	14e4169c	NetXtreme BCM5788 Gigabit Ethernet	0	
-s	14e4169c103c308b	MX6125	0	
-s	14e4169c103c30a1	NC2400	1	
-d	14e4169d	NetLink BCM5789 Gigabit Ethernet PCI Express	0	
-d	14e416a6	NetXtreme BCM5702X Gigabit Ethernet	0	
-s	14e416a60e1100bb	NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)	0	
-s	14e416a610280126	BCM5702 1000Base-T	0	
-s	14e416a614e4000c	BCM5702 1000Base-T	0	
-s	14e416a614e48009	BCM5702 1000Base-T	0	
-d	14e416a7	NetXtreme BCM5703X Gigabit Ethernet	0	
-s	14e416a70e1100ca	NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e416a70e1100cb	NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e416a714e40009	NetXtreme BCM5703 1000Base-T	0	
-s	14e416a714e4000a	NetXtreme BCM5703 1000Base-SX	0	
-s	14e416a714e4000b	NetXtreme BCM5703 1000Base-T	0	
-s	14e416a714e4800a	NetXtreme BCM5703 1000Base-T	0	
-d	14e416a8	NetXtreme BCM5704S Gigabit Ethernet	0	
-s	14e416a810a98014	Dual Port Gigabit Ethernet (PCI-X,Fiber)	0	
-s	14e416a810a9801c	Quad Port Gigabit Ethernet (PCI-E,Fiber)	0	
-s	14e416a810b72001	3C998-SX Dual Port 1000-SX PCI-X	0	
-d	14e416aa	NetXtreme II BCM5706S Gigabit Ethernet	0	
-s	14e416aa103c3102	NC370F MultifuNCtion Gigabit Server Adapter	0	
-d	14e416ac	NetXtreme II BCM5708S Gigabit Ethernet	0	
-s	14e416ac103c1706	NC373m Multifunction Gigabit Server Adapter	0	
-s	14e416ac103c703b	NC373i Integrated Multifunction Gigabit Server Adapter	0	
-s	14e416ac103c703d	NC373F PCI Express Multifunction Gigabit Server Adapter	0	
-d	14e416c6	NetXtreme BCM5702A3 Gigabit Ethernet	0	
-s	14e416c610b71100	3C1000B-T 10/100/1000 PCI	0	
-s	14e416c614e4000c	BCM5702 1000Base-T	0	
-s	14e416c614e48009	BCM5702 1000Base-T	0	
-d	14e416c7	NetXtreme BCM5703 Gigabit Ethernet	0	
-s	14e416c70e1100ca	NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e416c70e1100cb	NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0	
-s	14e416c7103c12c3	Combo FC/GigE-SX [A9782A]	0	
-s	14e416c7103c12ca	Combo FC/GigE-T [A9784A]	0	
-s	14e416c714e40009	NetXtreme BCM5703 1000Base-T	0	
-s	14e416c714e4000a	NetXtreme BCM5703 1000Base-SX	0	
-d	14e416dd	NetLink BCM5781 Gigabit Ethernet PCI Express	0	
-d	14e416f7	NetXtreme BCM5753 Gigabit Ethernet PCI Express	0	
-d	14e416fd	NetXtreme BCM5753M Gigabit Ethernet PCI Express	0	
-d	14e416fe	NetXtreme BCM5753F Fast Ethernet PCI Express	0	
-d	14e4170c	BCM4401-B0 100Base-TX	0	
-s	14e4170c10280188	Inspiron 6000 laptop	0	
-s	14e4170c10280196	Inspiron 5160	0	
-s	14e4170c102801af	Inspiron 6400	1	
-s	14e4170c103c099c	NX6110/NC6120	0	
-d	14e4170d	NetXtreme BCM5901 100Base-TX	0	
-s	14e4170d10140545	ThinkPad R40e (2684-HVG) builtin ethernet controller	0	
-d	14e4170e	NetXtreme BCM5901 100Base-TX	0	
-d	14e41712	NetLink BCM5906 Fast Ethernet PCI Express	1	
-d	14e41713	NetLink BCM5906M Fast Ethernet PCI Express	1	
-d	14e43352	BCM3352	0	
-d	14e43360	BCM3360	0	
-d	14e44210	BCM4210 iLine10 HomePNA 2.0	0	
-d	14e44211	BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem	0	
-d	14e44212	BCM4212 v.90 56k modem	0	
-d	14e44301	BCM4303 802.11b Wireless LAN Controller	0	
-s	14e4430110280407	TrueMobile 1180 Onboard WLAN	0	
-s	14e4430110430120	WL-103b Wireless LAN PC Card	0	
-d	14e44305	BCM4307 V.90 56k Modem	0	
-d	14e44306	BCM4307 Ethernet Controller	0	
-d	14e44307	BCM4307 802.11b Wireless LAN Controller	0	
-d	14e44310	BCM4310 Chipcommon I/OController	0	
-d	14e44311	Dell Wireless 1390 WLAN Mini-PCI Card	0	
-d	14e44312	BCM4310 UART	0	
-d	14e44313	BCM4310 Ethernet Controller	0	
-d	14e44315	BCM4310 USB Controller	0	
-d	14e44318	BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller	0	
-s	14e44318103c1356	MX6125	0	
-s	14e443181043120f	A6U notebook embedded card	0	
-s	14e4431814680311	Aspire 3022WLMi, 5024WLMi	0	
-s	14e4431814680312	TravelMate 2410	0	
-s	14e4431814e40449	Gateway 7510GX	0	
-s	14e4431814e44318	WPC54G version 3 [Wireless-G Notebook Adapter] 802.11g Wireless Lan Controller	0	
-s	14e4431816ec0119	U.S.Robotics Wireless MAXg PC Card	0	
-s	14e4431817370048	WPC54G-EU version 3 [Wireless-G Notebook Adapter]	0	
-d	14e44319	BCM4311 [AirForce 54g] 802.11a/b/g PCI Express Transceiver	0	
-d	14e44320	BCM4306 802.11b/g Wireless LAN Controller	0	
-s	14e4432010280001	TrueMobile 1300 WLAN Mini-PCI Card	0	
-s	14e4432010280003	Wireless 1350 WLAN Mini-PCI Card	0	
-s	14e44320103c12f4	NX9500 Built-in Wireless	0	
-s	14e44320103c12fa	Presario R3000 802.11b/g	0	
-s	14e443201043100f	WL-100G	0	
-s	14e4432010577025	WN825G	0	
-s	14e44320106b004e	AirPort Extreme	0	
-s	14e4432011540330	Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter	0	
-s	14e44320144f7050	eMachines M6805 802.11g Built-in Wireless	0	
+d	14d90010	AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon]	0
+d	14d99000	AS90L10204/10208 HyperTransport to PCI-X Bridge	0
+v	14da	National Aerospace Laboratories	0
+v	14db	AFAVLAB Technology Inc	0
+d	14db2120	TK9902	0
+d	14db2182	AFAVLAB Technology Inc. 8-port serial card	0
+v	14dc	Amplicon Liveline Ltd	0
+d	14dc0000	PCI230	0
+d	14dc0001	PCI242	0
+d	14dc0002	PCI244	0
+d	14dc0003	PCI247	0
+d	14dc0004	PCI248	0
+d	14dc0005	PCI249	0
+d	14dc0006	PCI260	0
+d	14dc0007	PCI224	0
+d	14dc0008	PCI234	0
+d	14dc0009	PCI236	0
+d	14dc000a	PCI272	0
+d	14dc000b	PCI215	0
+v	14dd	Boulder Design Labs Inc	0
+v	14de	Applied Integration Corporation	0
+v	14df	ASIC Communications Corp	0
+v	14e1	INVERTEX	0
+v	14e2	INFOLIBRIA	0
+v	14e3	AMTELCO	0
+v	14e4	Broadcom Corporation	0
+d	14e40800	Sentry5 Chipcommon I/O Controller	0
+d	14e40804	Sentry5 PCI Bridge	0
+d	14e40805	Sentry5 MIPS32 CPU	0
+d	14e40806	Sentry5 Ethernet Controller	0
+d	14e4080b	Sentry5 Crypto Accelerator	0
+d	14e4080f	Sentry5 DDR/SDR RAM Controller	0
+d	14e40811	Sentry5 External Interface Core	0
+d	14e40816	BCM3302 Sentry5 MIPS32 CPU	0
+d	14e41600	NetXtreme BCM5752 Gigabit Ethernet PCI Express	0
+s	14e41600107b5048	E4500 Onboard	0
+d	14e41601	NetXtreme BCM5752M Gigabit Ethernet PCI Express	0
+d	14e41644	NetXtreme BCM5700 Gigabit Ethernet	0
+s	14e4164410140277	Broadcom Vigil B5700 1000Base-T	0
+s	14e41644102800d1	Broadcom BCM5700	0
+s	14e4164410280106	Broadcom BCM5700	0
+s	14e4164410280109	Broadcom BCM5700 1000Base-T	0
+s	14e416441028010a	Broadcom BCM5700 1000BaseTX	0
+s	14e4164410b71000	3C996-T 1000Base-T	0
+s	14e4164410b71001	3C996B-T 1000Base-T	0
+s	14e4164410b71002	3C996C-T 1000Base-T	0
+s	14e4164410b71003	3C997-T 1000Base-T Dual Port	0
+s	14e4164410b71004	3C996-SX 1000Base-SX	0
+s	14e4164410b71005	3C997-SX 1000Base-SX Dual Port	0
+s	14e4164410b71008	3C942 Gigabit LOM (31X31)	0
+s	14e4164414e40002	NetXtreme 1000Base-SX	0
+s	14e4164414e40003	NetXtreme 1000Base-SX	0
+s	14e4164414e40004	NetXtreme 1000Base-T	0
+s	14e4164414e41028	NetXtreme 1000BaseTX	0
+s	14e4164414e41644	BCM5700 1000Base-T	0
+d	14e41645	NetXtreme BCM5701 Gigabit Ethernet	0
+s	14e416450e11007c	NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)	0
+s	14e416450e11007d	NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)	0
+s	14e416450e110085	NC7780 Gigabit Server Adapter (embedded, WOL)	0
+s	14e416450e110099	NC7780 Gigabit Server Adapter (embedded, WOL)	0
+s	14e416450e11009a	NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)	0
+s	14e416450e1100c1	NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)	0
+s	14e4164510280121	Broadcom BCM5701 1000Base-T	0
+s	14e41645103c128a	1000Base-T (PCI) [A7061A]	0
+s	14e41645103c128b	1000Base-SX (PCI) [A7073A]	0
+s	14e41645103c12a4	Core Lan 1000Base-T	0
+s	14e41645103c12c1	IOX Core Lan 1000Base-T [A7109AX]	0
+s	14e41645103c1300	Core LAN/SCSI Combo [A6794A]	0
+s	14e4164510a98010	IO9/IO10 Gigabit Ethernet (Copper)	0
+s	14e4164510a98011	Gigabit Ethernet (Copper)	0
+s	14e4164510a98012	Gigabit Ethernet (Fiber)	0
+s	14e4164510b71004	3C996-SX 1000Base-SX	0
+s	14e4164510b71006	3C996B-T 1000Base-T	0
+s	14e4164510b71007	3C1000-T 1000Base-T	0
+s	14e4164510b71008	3C940-BR01 1000Base-T	0
+s	14e4164514e40001	BCM5701 1000Base-T	0
+s	14e4164514e40005	BCM5701 1000Base-T	0
+s	14e4164514e40006	BCM5701 1000Base-T	0
+s	14e4164514e40007	BCM5701 1000Base-SX	0
+s	14e4164514e40008	BCM5701 1000Base-T	0
+s	14e4164514e48008	BCM5701 1000Base-T	0
+d	14e41646	NetXtreme BCM5702 Gigabit Ethernet	0
+s	14e416460e1100bb	NC7760 1000BaseTX	0
+s	14e4164610280126	Broadcom BCM5702 1000BaseTX	0
+s	14e4164614e48009	BCM5702 1000BaseTX	0
+d	14e41647	NetXtreme BCM5703 Gigabit Ethernet	0
+s	14e416470e110099	NC7780 1000BaseTX	0
+s	14e416470e11009a	NC7770 1000BaseTX	0
+s	14e4164710a98010	SGI IO9 Gigabit Ethernet (Copper)	0
+s	14e4164714e40009	BCM5703 1000BaseTX	0
+s	14e4164714e4000a	BCM5703 1000BaseSX	0
+s	14e4164714e4000b	BCM5703 1000BaseTX	0
+s	14e4164714e48009	BCM5703 1000BaseTX	0
+s	14e4164714e4800a	BCM5703 1000BaseTX	0
+d	14e41648	NetXtreme BCM5704 Gigabit Ethernet	0
+s	14e416480e1100cf	NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e416480e1100d0	NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e416480e1100d1	NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e4164810a98013	Dual Port Gigabit Ethernet (PCI-X,Copper)	0
+s	14e4164810a98018	Dual Port Gigabit Ethernet (A330)	0
+s	14e4164810a9801a	Dual Port Gigabit Ethernet (IA-blade)	0
+s	14e4164810a9801b	Quad Port Gigabit Ethernet (PCI-E,Copper)	0
+s	14e4164810b72000	3C998-T Dual Port 10/100/1000 PCI-X	0
+s	14e4164810b73000	3C999-T Quad Port 10/100/1000 PCI-X	0
+s	14e4164811661648	NetXtreme CIOB-E 1000Base-T	0
+s	14e416481734100b	Primergy RX300	0
+d	14e4164a	NetXtreme II BCM5706 Gigabit Ethernet	0
+s	14e4164a103c3070	NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter	0
+s	14e4164a103c3101	NC370T MultifuNCtion Gigabit Server Adapter	0
+d	14e4164c	NetXtreme II BCM5708 Gigabit Ethernet	0
+s	14e4164c103c7037	NC373T PCI Express Multifunction Gigabit Server Adapter	0
+s	14e4164c103c7038	NC373i Integrated Multifunction Gigabit Server Adapter	0
+d	14e4164d	NetXtreme BCM5702FE Gigabit Ethernet	0
+d	14e41653	NetXtreme BCM5705 Gigabit Ethernet	0
+s	14e416530e1100e3	NC7761 Gigabit Server Adapter	0
+d	14e41654	NetXtreme BCM5705_2 Gigabit Ethernet	0
+s	14e416540e1100e3	NC7761 Gigabit Server Adapter	0
+s	14e41654103c3100	NC1020 ProLiant Gigabit Server Adapter 32 PCI	0
+s	14e41654103c3226	NC150T 4-port Gigabit Combo Switch & Adapter	0
+d	14e41659	NetXtreme BCM5721 Gigabit Ethernet PCI Express	0
+s	14e41659101402c6	eServer xSeries server mainboard	0
+s	14e41659103c7031	NC320T PCIe Gigabit Server Adapter	0
+s	14e41659103c7032	NC320i PCIe Gigabit Server Adapter	0
+s	14e4165917341061	Primergy RX300 S2	0
+d	14e4165a	NetXtreme BCM5722 Gigabit Ethernet PCI Express	1
+d	14e4165d	NetXtreme BCM5705M Gigabit Ethernet	0
+s	14e4165d1028865d	Latitude D400	0
+d	14e4165e	NetXtreme BCM5705M_2 Gigabit Ethernet	0
+s	14e4165e103c088c	NC8000 laptop	0
+s	14e4165e103c0890	NC6000 laptop	0
+s	14e4165e103c099c	NX6110/NC6120	0
+d	14e41668	NetXtreme BCM5714 Gigabit Ethernet	0
+s	14e41668103c7039	NC324i PCIe Dual Port Gigabit Server Adapter	0
+d	14e41669	NetXtreme 5714S Gigabit Ethernet	0
+d	14e4166a	NetXtreme BCM5780 Gigabit Ethernet	0
+d	14e4166b	NetXtreme BCM5780S Gigabit Ethernet	0
+d	14e4166e	570x 10/100 Integrated Controller	0
+d	14e41672	NetXtreme BCM5754M Gigabit Ethernet PCI Express	0
+d	14e41673	NetXtreme BCM5755M Gigabit Ethernet PCI Express	0
+d	14e41674	NetXtreme BCM5756ME Gigabit Ethernet PCI Express	1
+d	14e41677	NetXtreme BCM5751 Gigabit Ethernet PCI Express	0
+s	14e4167710280179	Optiplex GX280	0
+s	14e4167710280182	Latitude D610	0
+s	14e4167710280187	Precision M70	0
+s	14e41677102801ad	Optiplex GX620	0
+s	14e41677103c3006	DC7100 SFF(DX878AV)	0
+s	14e416771734105d	Scenic W620	0
+d	14e41678	NetXtreme BCM5715 Gigabit Ethernet	0
+d	14e41679	NetXtreme BCM5715S Gigabit Ethernet	0
+s	14e41679103c1707	NC326m PCIe Dual Port Adapter	0
+s	14e41679103c170c	NC325m PCIe Quad Port Adapter	0
+s	14e41679103c703c	NC326i PCIe Dual Port Gigabit Server Adapter	0
+d	14e4167a	NetXtreme BCM5754 Gigabit Ethernet PCI Express	0
+d	14e4167b	NetXtreme BCM5755 Gigabit Ethernet PCI Express	0
+d	14e4167d	NetXtreme BCM5751M Gigabit Ethernet PCI Express	0
+s	14e4167d17aa2081	Thinkpad R60e model 0657	0
+d	14e4167e	NetXtreme BCM5751F Fast Ethernet PCI Express	0
+d	14e4167f	NetLink BCM5787F Fast Ethernet PCI Express	1
+d	14e41693	NetLink BCM5787M Gigabit Ethernet PCI Express	0
+d	14e41696	NetXtreme BCM5782 Gigabit Ethernet	0
+s	14e41696103c12bc	d530 CMT (DG746A)	0
+s	14e4169614e4000d	NetXtreme BCM5782 1000Base-T	0
+d	14e4169a	NetLink BCM5786 Gigabit Ethernet PCI Express	0
+d	14e4169b	NetLink BCM5787 Gigabit Ethernet PCI Express	0
+d	14e4169c	NetXtreme BCM5788 Gigabit Ethernet	0
+s	14e4169c103c308b	MX6125	0
+s	14e4169c103c30a1	NC2400	1
+d	14e4169d	NetLink BCM5789 Gigabit Ethernet PCI Express	0
+d	14e416a6	NetXtreme BCM5702X Gigabit Ethernet	0
+s	14e416a60e1100bb	NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)	0
+s	14e416a610280126	BCM5702 1000Base-T	0
+s	14e416a614e4000c	BCM5702 1000Base-T	0
+s	14e416a614e48009	BCM5702 1000Base-T	0
+d	14e416a7	NetXtreme BCM5703X Gigabit Ethernet	0
+s	14e416a70e1100ca	NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e416a70e1100cb	NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e416a714e40009	NetXtreme BCM5703 1000Base-T	0
+s	14e416a714e4000a	NetXtreme BCM5703 1000Base-SX	0
+s	14e416a714e4000b	NetXtreme BCM5703 1000Base-T	0
+s	14e416a714e4800a	NetXtreme BCM5703 1000Base-T	0
+d	14e416a8	NetXtreme BCM5704S Gigabit Ethernet	0
+s	14e416a810a98014	Dual Port Gigabit Ethernet (PCI-X,Fiber)	0
+s	14e416a810a9801c	Quad Port Gigabit Ethernet (PCI-E,Fiber)	0
+s	14e416a810b72001	3C998-SX Dual Port 1000-SX PCI-X	0
+d	14e416aa	NetXtreme II BCM5706S Gigabit Ethernet	0
+s	14e416aa103c3102	NC370F MultifuNCtion Gigabit Server Adapter	0
+d	14e416ac	NetXtreme II BCM5708S Gigabit Ethernet	0
+s	14e416ac103c1706	NC373m Multifunction Gigabit Server Adapter	0
+s	14e416ac103c703b	NC373i Integrated Multifunction Gigabit Server Adapter	0
+s	14e416ac103c703d	NC373F PCI Express Multifunction Gigabit Server Adapter	0
+d	14e416c6	NetXtreme BCM5702A3 Gigabit Ethernet	0
+s	14e416c610b71100	3C1000B-T 10/100/1000 PCI	0
+s	14e416c614e4000c	BCM5702 1000Base-T	0
+s	14e416c614e48009	BCM5702 1000Base-T	0
+d	14e416c7	NetXtreme BCM5703 Gigabit Ethernet	0
+s	14e416c70e1100ca	NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e416c70e1100cb	NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)	0
+s	14e416c7103c12c3	Combo FC/GigE-SX [A9782A]	0
+s	14e416c7103c12ca	Combo FC/GigE-T [A9784A]	0
+s	14e416c714e40009	NetXtreme BCM5703 1000Base-T	0
+s	14e416c714e4000a	NetXtreme BCM5703 1000Base-SX	0
+d	14e416dd	NetLink BCM5781 Gigabit Ethernet PCI Express	0
+d	14e416f7	NetXtreme BCM5753 Gigabit Ethernet PCI Express	0
+d	14e416fd	NetXtreme BCM5753M Gigabit Ethernet PCI Express	0
+d	14e416fe	NetXtreme BCM5753F Fast Ethernet PCI Express	0
+d	14e4170c	BCM4401-B0 100Base-TX	0
+s	14e4170c10280188	Inspiron 6000 laptop	0
+s	14e4170c10280196	Inspiron 5160	0
+s	14e4170c102801af	Inspiron 6400	1
+s	14e4170c103c099c	NX6110/NC6120	0
+d	14e4170d	NetXtreme BCM5901 100Base-TX	0
+s	14e4170d10140545	ThinkPad R40e (2684-HVG) builtin ethernet controller	0
+d	14e4170e	NetXtreme BCM5901 100Base-TX	0
+d	14e41712	NetLink BCM5906 Fast Ethernet PCI Express	1
+d	14e41713	NetLink BCM5906M Fast Ethernet PCI Express	1
+d	14e43352	BCM3352	0
+d	14e43360	BCM3360	0
+d	14e44210	BCM4210 iLine10 HomePNA 2.0	0
+d	14e44211	BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem	0
+d	14e44212	BCM4212 v.90 56k modem	0
+d	14e44301	BCM4303 802.11b Wireless LAN Controller	0
+s	14e4430110280407	TrueMobile 1180 Onboard WLAN	0
+s	14e4430110430120	WL-103b Wireless LAN PC Card	0
+d	14e44305	BCM4307 V.90 56k Modem	0
+d	14e44306	BCM4307 Ethernet Controller	0
+d	14e44307	BCM4307 802.11b Wireless LAN Controller	0
+d	14e44310	BCM4310 Chipcommon I/OController	0
+d	14e44311	Dell Wireless 1390 WLAN Mini-PCI Card	0
+d	14e44312	BCM4310 UART	0
+d	14e44313	BCM4310 Ethernet Controller	0
+d	14e44315	BCM4310 USB Controller	0
+d	14e44318	BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller	0
+s	14e44318103c1356	MX6125	0
+s	14e443181043120f	A6U notebook embedded card	0
+s	14e4431814680311	Aspire 3022WLMi, 5024WLMi	0
+s	14e4431814680312	TravelMate 2410	0
+s	14e4431814e40449	Gateway 7510GX	0
+s	14e4431814e44318	WPC54G version 3 [Wireless-G Notebook Adapter] 802.11g Wireless Lan Controller	0
+s	14e4431816ec0119	U.S.Robotics Wireless MAXg PC Card	0
+s	14e4431817370048	WPC54G-EU version 3 [Wireless-G Notebook Adapter]	0
+d	14e44319	BCM4311 [AirForce 54g] 802.11a/b/g PCI Express Transceiver	0
+d	14e44320	BCM4306 802.11b/g Wireless LAN Controller	0
+s	14e4432010280001	TrueMobile 1300 WLAN Mini-PCI Card	0
+s	14e4432010280003	Wireless 1350 WLAN Mini-PCI Card	0
+s	14e44320103c12f4	NX9500 Built-in Wireless	0
+s	14e44320103c12fa	Presario R3000 802.11b/g	0
+s	14e443201043100f	WL-100G	0
+s	14e4432010577025	WN825G	0
+s	14e44320106b004e	AirPort Extreme	0
+s	14e4432011540330	Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter	0
+s	14e44320144f7050	eMachines M6805 802.11g Built-in Wireless	0
 s	14e44320144f7051	Sonnet Aria Extreme PCI	1	according to "System Profiler" of Mac OS X 10.4.8, it has a Version ID of 0x0003
-s	14e4432014e44320	Linksys WMP54G PCI	0	
-s	14e4432017374320	WPC54G	0	
-s	14e4432017997001	Belkin F5D7001 High-Speed Mode Wireless G Network Card	0	
-s	14e4432017997010	Belkin F5D7010 54g Wireless Network card	0	
-s	14e4432017997011	F5D7011 54g+ Wireless Network card	0	
-s	14e44320185f1220	TravelMate 290E WLAN Mini-PCI Card	0	
-d	14e44321	BCM4306 802.11a Wireless LAN Controller	0	
-d	14e44322	BCM4306 UART	0	
-d	14e44324	BCM4309 802.11a/b/g	0	
-s	14e4432410280001	Truemobile 1400	0	
-s	14e4432410280003	Truemobile 1450 MiniPCI	0	
-d	14e44325	BCM43xG 802.11b/g	0	
-s	14e4432514140003	Wireless Notebook Adapter MN-720	0	
-s	14e4432514140004	Wireless PCI Adapter MN-730	0	
-d	14e44326	BCM4307 Chipcommon I/O Controller?	0	
-d	14e44329	BCM43XG	0	
+s	14e4432014e44320	Linksys WMP54G PCI	0
+s	14e4432017374320	WPC54G	0
+s	14e4432017997001	Belkin F5D7001 High-Speed Mode Wireless G Network Card	0
+s	14e4432017997010	Belkin F5D7010 54g Wireless Network card	0
+s	14e4432017997011	F5D7011 54g+ Wireless Network card	0
+s	14e44320185f1220	TravelMate 290E WLAN Mini-PCI Card	0
+d	14e44321	BCM4306 802.11a Wireless LAN Controller	0
+d	14e44322	BCM4306 UART	0
+d	14e44324	BCM4309 802.11a/b/g	0
+s	14e4432410280001	Truemobile 1400	0
+s	14e4432410280003	Truemobile 1450 MiniPCI	0
+d	14e44325	BCM43xG 802.11b/g	0
+s	14e4432514140003	Wireless Notebook Adapter MN-720	0
+s	14e4432514140004	Wireless PCI Adapter MN-730	0
+d	14e44326	BCM4307 Chipcommon I/O Controller?	0
+d	14e44329	BCM43XG	0
 d	14e44344	Broadcom Edge/Gprs data and 802.11b/g combo cardbus [GC89]	1	Card is labeled as manufactured by Sony Ericsson
-d	14e44401	BCM4401 100Base-T	0	
-s	14e44401103c08b0	tc1100 tablet	0	
-s	14e44401104380a8	A7V8X motherboard	0	
-d	14e44402	BCM4402 Integrated 10/100BaseT	0	
-d	14e44403	BCM4402 V.90 56k Modem	0	
-d	14e44410	BCM4413 iLine32 HomePNA 2.0	0	
-d	14e44411	BCM4413 V.90 56k modem	0	
-d	14e44412	BCM4412 10/100BaseT	0	
-d	14e44430	BCM44xx CardBus iLine32 HomePNA 2.0	0	
-d	14e44432	BCM4432 CardBus 10/100BaseT	0	
-d	14e44610	BCM4610 Sentry5 PCI to SB Bridge	0	
-d	14e44611	BCM4610 Sentry5 iLine32 HomePNA 1.0	0	
-d	14e44612	BCM4610 Sentry5 V.90 56k Modem	0	
-d	14e44613	BCM4610 Sentry5 Ethernet Controller	0	
-d	14e44614	BCM4610 Sentry5 External Interface	0	
-d	14e44615	BCM4610 Sentry5 USB Controller	0	
-d	14e44704	BCM4704 PCI to SB Bridge	0	
-d	14e44705	BCM4704 Sentry5 802.11b Wireless LAN Controller	0	
-d	14e44706	BCM4704 Sentry5 Ethernet Controller	0	
-d	14e44707	BCM4704 Sentry5 USB Controller	0	
-d	14e44708	BCM4704 Crypto Accelerator	0	
-d	14e44710	BCM4710 Sentry5 PCI to SB Bridge	0	
-d	14e44711	BCM47xx Sentry5 iLine32 HomePNA 2.0	0	
-d	14e44712	BCM47xx V.92 56k modem	0	
-d	14e44713	Sentry5 Ethernet Controller	0	
-d	14e44714	BCM47xx Sentry5 External Interface	0	
-d	14e44715	Sentry5 USB Controller	0	
-d	14e44716	BCM47xx Sentry5 USB Host Controller	0	
-d	14e44717	BCM47xx Sentry5 USB Device Controller	0	
-d	14e44718	Sentry5 Crypto Accelerator	0	
-d	14e44719	BCM47xx/53xx RoboSwitch Core	0	
-d	14e44720	BCM4712 MIPS CPU	0	
-d	14e45365	BCM5365P Sentry5 Host Bridge	0	
-d	14e45600	BCM5600 StrataSwitch 24+2 Ethernet Switch Controller	0	
-d	14e45605	BCM5605 StrataSwitch 24+2 Ethernet Switch Controller	0	
-d	14e45615	BCM5615 StrataSwitch 24+2 Ethernet Switch Controller	0	
-d	14e45625	BCM5625 StrataSwitch 24+2 Ethernet Switch Controller	0	
-d	14e45645	BCM5645 StrataSwitch 24+2 Ethernet Switch Controller	0	
-d	14e45670	BCM5670 8-Port 10GE Ethernet Switch Fabric	0	
-d	14e45680	BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller	0	
-d	14e45690	BCM5690 12-port Multi-Layer Gigabit Ethernet Switch	0	
-d	14e45691	BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller	0	
-d	14e45692	BCM5692 12-port Multi-Layer Gigabit Ethernet Switch	0	
-d	14e45695	BCM5695 12-port + HiGig Multi-Layer Gigabit Ethernet Switch	1	
-d	14e45698	BCM5698 12-port Multi-Layer Gigabit Ethernet Switch	1	
-d	14e45820	BCM5820 Crypto Accelerator	0	
-d	14e45821	BCM5821 Crypto Accelerator	0	
-d	14e45822	BCM5822 Crypto Accelerator	0	
-d	14e45823	BCM5823 Crypto Accelerator	0	
-d	14e45824	BCM5824 Crypto Accelerator	0	
-d	14e45840	BCM5840 Crypto Accelerator	0	
-d	14e45841	BCM5841 Crypto Accelerator	0	
-d	14e45850	BCM5850 Crypto Accelerator	0	
-d	14e48086		1	
-v	14e5	Pixelfusion Ltd	0	
-v	14e6	SHINING Technology Inc	0	
-v	14e7	3CX	0	
-v	14e8	RAYCER Inc	0	
-v	14e9	GARNETS System CO Ltd	0	
-v	14ea	Planex Communications, Inc	0	
-d	14eaab06	FNW-3603-TX CardBus Fast Ethernet	0	
-d	14eaab07	RTL81xx RealTek Ethernet	0	
-d	14eaab08	FNW-3602-TX CardBus Fast Ethernet	0	
-v	14eb	SEIKO EPSON Corp	0	
-v	14ec	ACQIRIS	0	
-v	14ed	DATAKINETICS Ltd	0	
-v	14ee	MASPRO KENKOH Corp	0	
-v	14ef	CARRY Computer ENG. CO Ltd	0	
-v	14f0	CANON RESEACH CENTRE FRANCE	0	
-v	14f1	Conexant	0	
-d	14f11002	HCF 56k Modem	0	
-d	14f11003	HCF 56k Modem	0	
-d	14f11004	HCF 56k Modem	0	
-d	14f11005	HCF 56k Modem	0	
-d	14f11006	HCF 56k Modem	0	
-d	14f11022	HCF 56k Modem	0	
-d	14f11023	HCF 56k Modem	0	
-d	14f11024	HCF 56k Modem	0	
-d	14f11025	HCF 56k Modem	0	
-d	14f11026	HCF 56k Modem	0	
-d	14f11032	HCF 56k Modem	0	
-d	14f11033	HCF 56k Data/Fax Modem	0	
-s	14f1103310338077	NEC	0	
-s	14f11033122d4027	Dell Zeus - MDP3880-W(B) Data Fax Modem	0	
-s	14f11033122d4030	Dell Mercury - MDP3880-U(B) Data Fax Modem	0	
-s	14f11033122d4034	Dell Thor - MDP3880-W(U) Data Fax Modem	0	
-s	14f1103313e0020d	Dell Copper	0	
-s	14f1103313e0020e	Dell Silver	0	
-s	14f1103313e00261	IBM	0	
-s	14f1103313e00290	Compaq Goldwing	0	
-s	14f1103313e002a0	IBM	0	
-s	14f1103313e002b0	IBM	0	
-s	14f1103313e002c0	Compaq Scooter	0	
-s	14f1103313e002d0	IBM	0	
-s	14f11033144f1500	IBM P85-DF (1)	0	
-s	14f11033144f1501	IBM P85-DF (2)	0	
-s	14f11033144f150a	IBM P85-DF (3)	0	
-s	14f11033144f150b	IBM P85-DF Low Profile (1)	0	
-s	14f11033144f1510	IBM P85-DF Low Profile (2)	0	
-d	14f11034	HCF 56k Data/Fax/Voice Modem	0	
-d	14f11035	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-s	14f1103510cf1098	Fujitsu P85-DFSV	0	
-d	14f11036	HCF 56k Data/Fax/Voice/Spkp Modem	0	
-s	14f11036104d8067	HCF 56k Modem	0	
-s	14f11036122d4029	MDP3880SP-W	0	
-s	14f11036122d4031	MDP3880SP-U	0	
-s	14f1103613e00209	Dell Titanium	0	
-s	14f1103613e0020a	Dell Graphite	0	
-s	14f1103613e00260	Gateway Red Owl	0	
-s	14f1103613e00270	Gateway White Horse	0	
-d	14f11052	HCF 56k Data/Fax Modem (Worldwide)	0	
-d	14f11053	HCF 56k Data/Fax Modem (Worldwide)	0	
-d	14f11054	HCF 56k Data/Fax/Voice Modem (Worldwide)	0	
-d	14f11055	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Worldwide)	0	
-d	14f11056	HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)	0	
-d	14f11057	HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)	0	
-d	14f11059	HCF 56k Data/Fax/Voice Modem (Worldwide)	0	
-d	14f11063	HCF 56k Data/Fax Modem	0	
-d	14f11064	HCF 56k Data/Fax/Voice Modem	0	
-d	14f11065	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-d	14f11066	HCF 56k Data/Fax/Voice/Spkp Modem	0	
-s	14f11066122d4033	Dell Athena - MDP3900V-U	0	
-d	14f11085	HCF V90 56k Data/Fax/Voice/Spkp PCI Modem	0	
+d	14e44401	BCM4401 100Base-T	0
+s	14e44401103c08b0	tc1100 tablet	0
+s	14e44401104380a8	A7V8X motherboard	0
+d	14e44402	BCM4402 Integrated 10/100BaseT	0
+d	14e44403	BCM4402 V.90 56k Modem	0
+d	14e44410	BCM4413 iLine32 HomePNA 2.0	0
+d	14e44411	BCM4413 V.90 56k modem	0
+d	14e44412	BCM4412 10/100BaseT	0
+d	14e44430	BCM44xx CardBus iLine32 HomePNA 2.0	0
+d	14e44432	BCM4432 CardBus 10/100BaseT	0
+d	14e44610	BCM4610 Sentry5 PCI to SB Bridge	0
+d	14e44611	BCM4610 Sentry5 iLine32 HomePNA 1.0	0
+d	14e44612	BCM4610 Sentry5 V.90 56k Modem	0
+d	14e44613	BCM4610 Sentry5 Ethernet Controller	0
+d	14e44614	BCM4610 Sentry5 External Interface	0
+d	14e44615	BCM4610 Sentry5 USB Controller	0
+d	14e44704	BCM4704 PCI to SB Bridge	0
+d	14e44705	BCM4704 Sentry5 802.11b Wireless LAN Controller	0
+d	14e44706	BCM4704 Sentry5 Ethernet Controller	0
+d	14e44707	BCM4704 Sentry5 USB Controller	0
+d	14e44708	BCM4704 Crypto Accelerator	0
+d	14e44710	BCM4710 Sentry5 PCI to SB Bridge	0
+d	14e44711	BCM47xx Sentry5 iLine32 HomePNA 2.0	0
+d	14e44712	BCM47xx V.92 56k modem	0
+d	14e44713	Sentry5 Ethernet Controller	0
+d	14e44714	BCM47xx Sentry5 External Interface	0
+d	14e44715	Sentry5 USB Controller	0
+d	14e44716	BCM47xx Sentry5 USB Host Controller	0
+d	14e44717	BCM47xx Sentry5 USB Device Controller	0
+d	14e44718	Sentry5 Crypto Accelerator	0
+d	14e44719	BCM47xx/53xx RoboSwitch Core	0
+d	14e44720	BCM4712 MIPS CPU	0
+d	14e45365	BCM5365P Sentry5 Host Bridge	0
+d	14e45600	BCM5600 StrataSwitch 24+2 Ethernet Switch Controller	0
+d	14e45605	BCM5605 StrataSwitch 24+2 Ethernet Switch Controller	0
+d	14e45615	BCM5615 StrataSwitch 24+2 Ethernet Switch Controller	0
+d	14e45625	BCM5625 StrataSwitch 24+2 Ethernet Switch Controller	0
+d	14e45645	BCM5645 StrataSwitch 24+2 Ethernet Switch Controller	0
+d	14e45670	BCM5670 8-Port 10GE Ethernet Switch Fabric	0
+d	14e45680	BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller	0
+d	14e45690	BCM5690 12-port Multi-Layer Gigabit Ethernet Switch	0
+d	14e45691	BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller	0
+d	14e45692	BCM5692 12-port Multi-Layer Gigabit Ethernet Switch	0
+d	14e45695	BCM5695 12-port + HiGig Multi-Layer Gigabit Ethernet Switch	1
+d	14e45698	BCM5698 12-port Multi-Layer Gigabit Ethernet Switch	1
+d	14e45820	BCM5820 Crypto Accelerator	0
+d	14e45821	BCM5821 Crypto Accelerator	0
+d	14e45822	BCM5822 Crypto Accelerator	0
+d	14e45823	BCM5823 Crypto Accelerator	0
+d	14e45824	BCM5824 Crypto Accelerator	0
+d	14e45840	BCM5840 Crypto Accelerator	0
+d	14e45841	BCM5841 Crypto Accelerator	0
+d	14e45850	BCM5850 Crypto Accelerator	0
+d	14e48086		1
+v	14e5	Pixelfusion Ltd	0
+v	14e6	SHINING Technology Inc	0
+v	14e7	3CX	0
+v	14e8	RAYCER Inc	0
+v	14e9	GARNETS System CO Ltd	0
+v	14ea	Planex Communications, Inc	0
+d	14eaab06	FNW-3603-TX CardBus Fast Ethernet	0
+d	14eaab07	RTL81xx RealTek Ethernet	0
+d	14eaab08	FNW-3602-TX CardBus Fast Ethernet	0
+v	14eb	SEIKO EPSON Corp	0
+v	14ec	ACQIRIS	0
+v	14ed	DATAKINETICS Ltd	0
+v	14ee	MASPRO KENKOH Corp	0
+v	14ef	CARRY Computer ENG. CO Ltd	0
+v	14f0	CANON RESEACH CENTRE FRANCE	0
+v	14f1	Conexant	0
+d	14f11002	HCF 56k Modem	0
+d	14f11003	HCF 56k Modem	0
+d	14f11004	HCF 56k Modem	0
+d	14f11005	HCF 56k Modem	0
+d	14f11006	HCF 56k Modem	0
+d	14f11022	HCF 56k Modem	0
+d	14f11023	HCF 56k Modem	0
+d	14f11024	HCF 56k Modem	0
+d	14f11025	HCF 56k Modem	0
+d	14f11026	HCF 56k Modem	0
+d	14f11032	HCF 56k Modem	0
+d	14f11033	HCF 56k Data/Fax Modem	0
+s	14f1103310338077	NEC	0
+s	14f11033122d4027	Dell Zeus - MDP3880-W(B) Data Fax Modem	0
+s	14f11033122d4030	Dell Mercury - MDP3880-U(B) Data Fax Modem	0
+s	14f11033122d4034	Dell Thor - MDP3880-W(U) Data Fax Modem	0
+s	14f1103313e0020d	Dell Copper	0
+s	14f1103313e0020e	Dell Silver	0
+s	14f1103313e00261	IBM	0
+s	14f1103313e00290	Compaq Goldwing	0
+s	14f1103313e002a0	IBM	0
+s	14f1103313e002b0	IBM	0
+s	14f1103313e002c0	Compaq Scooter	0
+s	14f1103313e002d0	IBM	0
+s	14f11033144f1500	IBM P85-DF (1)	0
+s	14f11033144f1501	IBM P85-DF (2)	0
+s	14f11033144f150a	IBM P85-DF (3)	0
+s	14f11033144f150b	IBM P85-DF Low Profile (1)	0
+s	14f11033144f1510	IBM P85-DF Low Profile (2)	0
+d	14f11034	HCF 56k Data/Fax/Voice Modem	0
+d	14f11035	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+s	14f1103510cf1098	Fujitsu P85-DFSV	0
+d	14f11036	HCF 56k Data/Fax/Voice/Spkp Modem	0
+s	14f11036104d8067	HCF 56k Modem	0
+s	14f11036122d4029	MDP3880SP-W	0
+s	14f11036122d4031	MDP3880SP-U	0
+s	14f1103613e00209	Dell Titanium	0
+s	14f1103613e0020a	Dell Graphite	0
+s	14f1103613e00260	Gateway Red Owl	0
+s	14f1103613e00270	Gateway White Horse	0
+d	14f11052	HCF 56k Data/Fax Modem (Worldwide)	0
+d	14f11053	HCF 56k Data/Fax Modem (Worldwide)	0
+d	14f11054	HCF 56k Data/Fax/Voice Modem (Worldwide)	0
+d	14f11055	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Worldwide)	0
+d	14f11056	HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)	0
+d	14f11057	HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide)	0
+d	14f11059	HCF 56k Data/Fax/Voice Modem (Worldwide)	0
+d	14f11063	HCF 56k Data/Fax Modem	0
+d	14f11064	HCF 56k Data/Fax/Voice Modem	0
+d	14f11065	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+d	14f11066	HCF 56k Data/Fax/Voice/Spkp Modem	0
+s	14f11066122d4033	Dell Athena - MDP3900V-U	0
+d	14f11085	HCF V90 56k Data/Fax/Voice/Spkp PCI Modem	0
 d	14f110b6	CX06834-11 HCF V.92 56k Data/Fax/Voice/Spkp Modem	1	Acorp Spinter at 56k Prime PCI Modem
-d	14f11433	HCF 56k Data/Fax Modem	0	
-d	14f11434	HCF 56k Data/Fax/Voice Modem	0	
-d	14f11435	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-d	14f11436	HCF 56k Data/Fax Modem	0	
-d	14f11453	HCF 56k Data/Fax Modem	0	
-s	14f1145313e00240	IBM	0	
-s	14f1145313e00250	IBM	0	
-s	14f11453144f1502	IBM P95-DF (1)	0	
-s	14f11453144f1503	IBM P95-DF (2)	0	
-d	14f11454	HCF 56k Data/Fax/Voice Modem	0	
-d	14f11455	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-d	14f11456	HCF 56k Data/Fax/Voice/Spkp Modem	0	
-s	14f11456122d4035	Dell Europa - MDP3900V-W	0	
-s	14f11456122d4302	Dell MP3930V-W(C) MiniPCI	0	
-d	14f11610	ADSL AccessRunner PCI Arbitration Device	0	
-d	14f11611	AccessRunner PCI ADSL Interface Device	0	
-d	14f11620	AccessRunner V2 PCI ADSL Arbitration Device	0	
-d	14f11621	AccessRunner V2 PCI ADSL Interface Device	0	
-d	14f11622	AccessRunner V2 PCI ADSL Yukon WAN Adapter	0	
-d	14f11803	HCF 56k Modem	0	
-s	14f118030e110023	623-LAN Grizzly	0	
-s	14f118030e110043	623-LAN Yogi	0	
-d	14f11811	Conextant MiniPCI Network Adapter	0	
-d	14f11815	HCF 56k Modem	0	
-s	14f118150e110022	Grizzly	0	
-s	14f118150e110042	Yogi	0	
-d	14f12003	HSF 56k Data/Fax Modem	0	
-d	14f12004	HSF 56k Data/Fax/Voice Modem	0	
-d	14f12005	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-d	14f12006	HSF 56k Data/Fax/Voice/Spkp Modem	0	
-d	14f12013	HSF 56k Data/Fax Modem	0	
-s	14f120130e11b195	Bear	0	
-s	14f120130e11b196	Seminole 1	0	
-s	14f120130e11b1be	Seminole 2	0	
-s	14f1201310258013	Acer	0	
-s	14f120131033809d	NEC	0	
-s	14f12013103380bc	NEC	0	
-s	14f12013155d6793	HP	0	
-s	14f12013155d8850	E Machines	0	
-d	14f12014	HSF 56k Data/Fax/Voice Modem	0	
-d	14f12015	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0	
-d	14f12016	HSF 56k Data/Fax/Voice/Spkp Modem	0	
-d	14f12043	HSF 56k Data/Fax Modem (WorldW SmartDAA)	0	
-d	14f12044	HSF 56k Data/Fax/Voice Modem (WorldW SmartDAA)	0	
-d	14f12045	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA)	0	
-s	14f1204514f12045	Generic SoftK56	0	
-d	14f12046	HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA)	0	
-d	14f12063	HSF 56k Data/Fax Modem (SmartDAA)	0	
-d	14f12064	HSF 56k Data/Fax/Voice Modem (SmartDAA)	0	
-d	14f12065	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (SmartDAA)	0	
-d	14f12066	HSF 56k Data/Fax/Voice/Spkp Modem (SmartDAA)	0	
-d	14f12093	HSF 56k Modem	0	
-s	14f12093155d2f07	Legend	0	
-d	14f12143	HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA)	0	
-d	14f12144	HSF 56k Data/Fax/Voice/Cell Modem (Mob WorldW SmartDAA)	0	
-d	14f12145	HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob WorldW SmartDAA)	0	
-d	14f12146	HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob WorldW SmartDAA)	0	
-d	14f12163	HSF 56k Data/Fax/Cell Modem (Mob SmartDAA)	0	
-d	14f12164	HSF 56k Data/Fax/Voice/Cell Modem (Mob SmartDAA)	0	
-d	14f12165	HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob SmartDAA)	0	
-d	14f12166	HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob SmartDAA)	0	
-d	14f12343	HSF 56k Data/Fax CardBus Modem (Mob WorldW SmartDAA)	0	
-d	14f12344	HSF 56k Data/Fax/Voice CardBus Modem (Mob WorldW SmartDAA)	0	
-d	14f12345	HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob WorldW SmartDAA)	0	
-d	14f12346	HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob WorldW SmartDAA)	0	
-d	14f12363	HSF 56k Data/Fax CardBus Modem (Mob SmartDAA)	0	
-d	14f12364	HSF 56k Data/Fax/Voice CardBus Modem (Mob SmartDAA)	0	
-d	14f12365	HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob SmartDAA)	0	
-d	14f12366	HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob SmartDAA)	0	
-d	14f12443	HSF 56k Data/Fax Modem (Mob WorldW SmartDAA)	0	
-s	14f12443104d8075	Modem	0	
-s	14f12443104d8083	Modem	0	
-s	14f12443104d8097	Modem	0	
-d	14f12444	HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA)	0	
-d	14f12445	HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob WorldW SmartDAA)	0	
-d	14f12446	HSF 56k Data/Fax/Voice/Spkp Modem (Mob WorldW SmartDAA)	0	
-d	14f12463	HSF 56k Data/Fax Modem (Mob SmartDAA)	0	
-d	14f12464	HSF 56k Data/Fax/Voice Modem (Mob SmartDAA)	0	
-d	14f12465	HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA)	0	
-d	14f12466	HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA)	0	
-d	14f12bfa	HDAudio Soft Data Fax Modem with SmartCP	0	
-d	14f12f00	HSF 56k HSFi Modem	0	
-s	14f12f0013e08d84	IBM HSFi V.90	0	
-s	14f12f0013e08d85	Compaq Stinger	0	
-s	14f12f0014f12004	Dynalink 56PMi	0	
-d	14f12f02	HSF 56k HSFi Data/Fax	0	
-d	14f12f11	HSF 56k HSFi Modem	0	
-d	14f12f20	HSF 56k Data/Fax Modem	0	
-d	14f12f30	HSF 56k Data/Fax Modem	1	
+d	14f11433	HCF 56k Data/Fax Modem	0
+d	14f11434	HCF 56k Data/Fax/Voice Modem	0
+d	14f11435	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+d	14f11436	HCF 56k Data/Fax Modem	0
+d	14f11453	HCF 56k Data/Fax Modem	0
+s	14f1145313e00240	IBM	0
+s	14f1145313e00250	IBM	0
+s	14f11453144f1502	IBM P95-DF (1)	0
+s	14f11453144f1503	IBM P95-DF (2)	0
+d	14f11454	HCF 56k Data/Fax/Voice Modem	0
+d	14f11455	HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+d	14f11456	HCF 56k Data/Fax/Voice/Spkp Modem	0
+s	14f11456122d4035	Dell Europa - MDP3900V-W	0
+s	14f11456122d4302	Dell MP3930V-W(C) MiniPCI	0
+d	14f11610	ADSL AccessRunner PCI Arbitration Device	0
+d	14f11611	AccessRunner PCI ADSL Interface Device	0
+d	14f11620	AccessRunner V2 PCI ADSL Arbitration Device	0
+d	14f11621	AccessRunner V2 PCI ADSL Interface Device	0
+d	14f11622	AccessRunner V2 PCI ADSL Yukon WAN Adapter	0
+d	14f11803	HCF 56k Modem	0
+s	14f118030e110023	623-LAN Grizzly	0
+s	14f118030e110043	623-LAN Yogi	0
+d	14f11811	Conextant MiniPCI Network Adapter	0
+d	14f11815	HCF 56k Modem	0
+s	14f118150e110022	Grizzly	0
+s	14f118150e110042	Yogi	0
+d	14f12003	HSF 56k Data/Fax Modem	0
+d	14f12004	HSF 56k Data/Fax/Voice Modem	0
+d	14f12005	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+d	14f12006	HSF 56k Data/Fax/Voice/Spkp Modem	0
+d	14f12013	HSF 56k Data/Fax Modem	0
+s	14f120130e11b195	Bear	0
+s	14f120130e11b196	Seminole 1	0
+s	14f120130e11b1be	Seminole 2	0
+s	14f1201310258013	Acer	0
+s	14f120131033809d	NEC	0
+s	14f12013103380bc	NEC	0
+s	14f12013155d6793	HP	0
+s	14f12013155d8850	E Machines	0
+d	14f12014	HSF 56k Data/Fax/Voice Modem	0
+d	14f12015	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem	0
+d	14f12016	HSF 56k Data/Fax/Voice/Spkp Modem	0
+d	14f12043	HSF 56k Data/Fax Modem (WorldW SmartDAA)	0
+d	14f12044	HSF 56k Data/Fax/Voice Modem (WorldW SmartDAA)	0
+d	14f12045	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA)	0
+s	14f1204514f12045	Generic SoftK56	0
+d	14f12046	HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA)	0
+d	14f12063	HSF 56k Data/Fax Modem (SmartDAA)	0
+d	14f12064	HSF 56k Data/Fax/Voice Modem (SmartDAA)	0
+d	14f12065	HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (SmartDAA)	0
+d	14f12066	HSF 56k Data/Fax/Voice/Spkp Modem (SmartDAA)	0
+d	14f12093	HSF 56k Modem	0
+s	14f12093155d2f07	Legend	0
+d	14f12143	HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA)	0
+d	14f12144	HSF 56k Data/Fax/Voice/Cell Modem (Mob WorldW SmartDAA)	0
+d	14f12145	HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob WorldW SmartDAA)	0
+d	14f12146	HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob WorldW SmartDAA)	0
+d	14f12163	HSF 56k Data/Fax/Cell Modem (Mob SmartDAA)	0
+d	14f12164	HSF 56k Data/Fax/Voice/Cell Modem (Mob SmartDAA)	0
+d	14f12165	HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob SmartDAA)	0
+d	14f12166	HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob SmartDAA)	0
+d	14f12343	HSF 56k Data/Fax CardBus Modem (Mob WorldW SmartDAA)	0
+d	14f12344	HSF 56k Data/Fax/Voice CardBus Modem (Mob WorldW SmartDAA)	0
+d	14f12345	HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob WorldW SmartDAA)	0
+d	14f12346	HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob WorldW SmartDAA)	0
+d	14f12363	HSF 56k Data/Fax CardBus Modem (Mob SmartDAA)	0
+d	14f12364	HSF 56k Data/Fax/Voice CardBus Modem (Mob SmartDAA)	0
+d	14f12365	HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob SmartDAA)	0
+d	14f12366	HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob SmartDAA)	0
+d	14f12443	HSF 56k Data/Fax Modem (Mob WorldW SmartDAA)	0
+s	14f12443104d8075	Modem	0
+s	14f12443104d8083	Modem	0
+s	14f12443104d8097	Modem	0
+d	14f12444	HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA)	0
+d	14f12445	HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob WorldW SmartDAA)	0
+d	14f12446	HSF 56k Data/Fax/Voice/Spkp Modem (Mob WorldW SmartDAA)	0
+d	14f12463	HSF 56k Data/Fax Modem (Mob SmartDAA)	0
+d	14f12464	HSF 56k Data/Fax/Voice Modem (Mob SmartDAA)	0
+d	14f12465	HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA)	0
+d	14f12466	HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA)	0
+d	14f12bfa	HDAudio Soft Data Fax Modem with SmartCP	0
+d	14f12f00	HSF 56k HSFi Modem	0
+s	14f12f0013e08d84	IBM HSFi V.90	0
+s	14f12f0013e08d85	Compaq Stinger	0
+s	14f12f0014f12004	Dynalink 56PMi	0
+d	14f12f02	HSF 56k HSFi Data/Fax	0
+d	14f12f11	HSF 56k HSFi Modem	0
+d	14f12f20	HSF 56k Data/Fax Modem	0
+d	14f12f30	HSF 56k Data/Fax Modem	1
 d	14f15047	High Definition Audio	1	Conexant Waikiki
-d	14f18234	RS8234 ATM SAR Controller [ServiceSAR Plus]	0	
-d	14f18800	CX23880/1/2/3 PCI Video and Audio Decoder	0	
-s	14f1880000702801	Hauppauge WinTV 28xxx (Roslyn) models	0	
-s	14f1880000703401	Hauppauge WinTV 34xxx models	0	
-s	14f1880000709001	Nova-T DVB-T	0	
-s	14f1880000709200	Nova-SE2 DVB-S	0	
-s	14f1880000709202	Nova-S-Plus DVB-S	0	
-s	14f1880000709402	WinTV-HVR1100 DVB-T/Hybrid	0	
-s	14f1880000709802	WinTV-HVR1100 DVB-T/Hybrid (Low Profile)	0	
-s	14f18800100200f8	ATI TV Wonder Pro	0	
-s	14f188001002a101	HDTV Wonder	0	
-s	14f1880010434823	ASUS PVR-416	0	
-s	14f18800107d6613	Leadtek Winfast 2000XP Expert	0	
-s	14f18800107d6620	Leadtek Winfast DV2000	0	
-s	14f18800107d663c	Leadtek PVR 2000	0	
-s	14f18800107d665f	WinFast DTV1000-T	0	
-s	14f1880010fcd003	IODATA GV-VCP3/PCI	0	
-s	14f1880010fcd035	IODATA GV/BCTV7E	0	
-s	14f1880014210334	Instant TV DVB-T PCI	0	
-s	14f188001461000a	AVerTV 303 (M126)	0	
-s	14f188001461000b	AverTV Studio 303 (M126)	0	
-s	14f1880014618011	UltraTV Media Center PCI 550	0	
-s	14f1880014628606	MSI TV- at nywhere Master	0	
-s	14f1880014c70107	GDI Black Gold	0	
-s	14f1880014f10187	Conexant DVB-T reference design	0	
-s	14f1880014f10342	Digital-Logic MICROSPACE Entertainment Center (MEC)	0	
-s	14f18800153b1166	Cinergy 1400 DVB-T	0	
-s	14f1880015402580	Provideo PV259	0	
-s	14f1880015544811	PixelView	0	
-s	14f1880015544813	Club 3D  ZAP1000 MCE Edition	0	
-s	14f1880017de08a1	KWorld/VStream XPert DVB-T with cx22702	0	
-s	14f1880017de08a6	KWorld/VStream XPert DVB-T	0	
-s	14f1880017de08b2	KWorld DVB-S 100	0	
-s	14f1880017dea8a6	digitalnow DNTV Live! DVB-T	0	
-s	14f1880018220025	digitalnow DNTV Live! DVB-T Pro	0	
-s	14f1880018acd500	FusionHDTV 5 Gold	0	
-s	14f1880018acd810	FusionHDTV 3 Gold-Q	0	
-s	14f1880018acd820	FusionHDTV 3 Gold-T	0	
-s	14f1880018acdb00	FusionHDTV DVB-T1	0	
-s	14f1880018acdb11	FusionHDTV DVB-T Plus	0	
-s	14f1880018acdb50	FusionHDTV DVB-T Dual Digital	0	
-s	14f1880070633000	pcHDTV HD3000 HDTV	0	
-d	14f18801	CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]	0	
-s	14f1880100702801	Hauppauge WinTV 28xxx (Roslyn) models	0	
-d	14f18802	CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port]	0	
-s	14f1880200702801	Hauppauge WinTV 28xxx (Roslyn) models	0	
-s	14f1880200709002	Nova-T DVB-T Model 909	0	
-s	14f1880210434823	ASUS PVR-416	0	
-s	14f18802107d663c	Leadtek PVR 2000	0	
-s	14f1880214f10187	Conexant DVB-T reference design	0	
-s	14f1880217de08a1	XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture	0	
-s	14f1880217de08a6	KWorld/VStream XPert DVB-T	0	
-s	14f1880218acd500	DViCO FusionHDTV5 Gold	0	
-s	14f1880218acd810	DViCO FusionHDTV3 Gold-Q	0	
-s	14f1880218acd820	DViCO FusionHDTV3 Gold-T	0	
-s	14f1880218acdb00	DVICO FusionHDTV DVB-T1	0	
-s	14f1880218acdb10	DVICO FusionHDTV DVB-T Plus	0	
-s	14f1880270633000	pcHDTV HD3000 HDTV	0	
-d	14f18804	CX23880/1/2/3 PCI Video and Audio Decoder [IR Port]	0	
-s	14f1880400709002	Nova-T DVB-T Model 909	0	
-d	14f18811	CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]	0	
-s	14f1881100703401	Hauppauge WinTV 34xxx models	0	
-s	14f1881114628606	MSI TV- at nywhere Master	0	
-s	14f1881118acd500	DViCO FusionHDTV5 Gold	0	
-s	14f1881118acd810	DViCO FusionHDTV3 Gold-Q	0	
-s	14f1881118acd820	DViCO FusionHDTV3 Gold-T	0	
-s	14f1881118acdb00	DVICO FusionHDTV DVB-T1	0	
-v	14f2	MOBILITY Electronics	0	
-d	14f20120	EV1000 bridge	0	
-d	14f20121	EV1000 Parallel port	0	
-d	14f20122	EV1000 Serial port	0	
-d	14f20123	EV1000 Keyboard controller	0	
-d	14f20124	EV1000 Mouse controller	0	
-v	14f3	BroadLogic	0	
-d	14f32030	2030 DVB-S Satellite Reciever	0	
-d	14f32050	2050 DVB-T Terrestrial (Cable) Reciever	0	
-d	14f32060	2060 ATSC Terrestrial (Cable) Reciever	0	
-v	14f4	TOKYO Electronic Industry CO Ltd	0	
-v	14f5	SOPAC Ltd	0	
-v	14f6	COYOTE Technologies LLC	0	
-v	14f7	WOLF Technology Inc	0	
-v	14f8	AUDIOCODES Inc	0	
-d	14f82077	TP-240 dual span E1 VoIP PCI card	0	
-v	14f9	AG COMMUNICATIONS	0	
-v	14fa	WANDEL & GOLTERMANN	0	
-v	14fb	TRANSAS MARINE (UK) Ltd	0	
-v	14fc	Quadrics Ltd	0	
-d	14fc0000	QsNet Elan3 Network Adapter	0	
-d	14fc0001	QsNetII Elan4 Network Adapter	0	
-d	14fc0002	QsNetIII Elan5 Network Adapter	0	
-v	14fd	JAPAN Computer Industry Inc	0	
-v	14fe	ARCHTEK TELECOM Corp	0	
-v	14ff	TWINHEAD INTERNATIONAL Corp	0	
-v	1500	DELTA Electronics, Inc	0	
-d	15001360	RTL81xx RealTek Ethernet	0	
-v	1501	BANKSOFT CANADA Ltd	0	
-v	1502	MITSUBISHI ELECTRIC LOGISTICS SUPPORT Co Ltd	0	
-v	1503	KAWASAKI LSI USA Inc	0	
-v	1504	KAISER Electronics	0	
-v	1505	ITA INGENIEURBURO FUR TESTAUFGABEN GmbH	0	
-v	1506	CHAMELEON Systems Inc	0	
+d	14f18234	RS8234 ATM SAR Controller [ServiceSAR Plus]	0
+d	14f18800	CX23880/1/2/3 PCI Video and Audio Decoder	0
+s	14f1880000702801	Hauppauge WinTV 28xxx (Roslyn) models	0
+s	14f1880000703401	Hauppauge WinTV 34xxx models	0
+s	14f1880000709001	Nova-T DVB-T	0
+s	14f1880000709200	Nova-SE2 DVB-S	0
+s	14f1880000709202	Nova-S-Plus DVB-S	0
+s	14f1880000709402	WinTV-HVR1100 DVB-T/Hybrid	0
+s	14f1880000709802	WinTV-HVR1100 DVB-T/Hybrid (Low Profile)	0
+s	14f18800100200f8	ATI TV Wonder Pro	0
+s	14f188001002a101	HDTV Wonder	0
+s	14f1880010434823	ASUS PVR-416	0
+s	14f18800107d6613	Leadtek Winfast 2000XP Expert	0
+s	14f18800107d6620	Leadtek Winfast DV2000	0
+s	14f18800107d663c	Leadtek PVR 2000	0
+s	14f18800107d665f	WinFast DTV1000-T	0
+s	14f1880010fcd003	IODATA GV-VCP3/PCI	0
+s	14f1880010fcd035	IODATA GV/BCTV7E	0
+s	14f1880014210334	Instant TV DVB-T PCI	0
+s	14f188001461000a	AVerTV 303 (M126)	0
+s	14f188001461000b	AverTV Studio 303 (M126)	0
+s	14f1880014618011	UltraTV Media Center PCI 550	0
+s	14f1880014628606	MSI TV- at nywhere Master	0
+s	14f1880014c70107	GDI Black Gold	0
+s	14f1880014f10187	Conexant DVB-T reference design	0
+s	14f1880014f10342	Digital-Logic MICROSPACE Entertainment Center (MEC)	0
+s	14f18800153b1166	Cinergy 1400 DVB-T	0
+s	14f1880015402580	Provideo PV259	0
+s	14f1880015544811	PixelView	0
+s	14f1880015544813	Club 3D  ZAP1000 MCE Edition	0
+s	14f1880017de08a1	KWorld/VStream XPert DVB-T with cx22702	0
+s	14f1880017de08a6	KWorld/VStream XPert DVB-T	0
+s	14f1880017de08b2	KWorld DVB-S 100	0
+s	14f1880017dea8a6	digitalnow DNTV Live! DVB-T	0
+s	14f1880018220025	digitalnow DNTV Live! DVB-T Pro	0
+s	14f1880018acd500	FusionHDTV 5 Gold	0
+s	14f1880018acd810	FusionHDTV 3 Gold-Q	0
+s	14f1880018acd820	FusionHDTV 3 Gold-T	0
+s	14f1880018acdb00	FusionHDTV DVB-T1	0
+s	14f1880018acdb11	FusionHDTV DVB-T Plus	0
+s	14f1880018acdb50	FusionHDTV DVB-T Dual Digital	0
+s	14f1880070633000	pcHDTV HD3000 HDTV	0
+d	14f18801	CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]	0
+s	14f1880100702801	Hauppauge WinTV 28xxx (Roslyn) models	0
+d	14f18802	CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port]	0
+s	14f1880200702801	Hauppauge WinTV 28xxx (Roslyn) models	0
+s	14f1880200709002	Nova-T DVB-T Model 909	0
+s	14f1880210434823	ASUS PVR-416	0
+s	14f18802107d663c	Leadtek PVR 2000	0
+s	14f1880214f10187	Conexant DVB-T reference design	0
+s	14f1880217de08a1	XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture	0
+s	14f1880217de08a6	KWorld/VStream XPert DVB-T	0
+s	14f1880218acd500	DViCO FusionHDTV5 Gold	0
+s	14f1880218acd810	DViCO FusionHDTV3 Gold-Q	0
+s	14f1880218acd820	DViCO FusionHDTV3 Gold-T	0
+s	14f1880218acdb00	DVICO FusionHDTV DVB-T1	0
+s	14f1880218acdb10	DVICO FusionHDTV DVB-T Plus	0
+s	14f1880270633000	pcHDTV HD3000 HDTV	0
+d	14f18804	CX23880/1/2/3 PCI Video and Audio Decoder [IR Port]	0
+s	14f1880400709002	Nova-T DVB-T Model 909	0
+d	14f18811	CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]	0
+s	14f1881100703401	Hauppauge WinTV 34xxx models	0
+s	14f1881114628606	MSI TV- at nywhere Master	0
+s	14f1881118acd500	DViCO FusionHDTV5 Gold	0
+s	14f1881118acd810	DViCO FusionHDTV3 Gold-Q	0
+s	14f1881118acd820	DViCO FusionHDTV3 Gold-T	0
+s	14f1881118acdb00	DVICO FusionHDTV DVB-T1	0
+v	14f2	MOBILITY Electronics	0
+d	14f20120	EV1000 bridge	0
+d	14f20121	EV1000 Parallel port	0
+d	14f20122	EV1000 Serial port	0
+d	14f20123	EV1000 Keyboard controller	0
+d	14f20124	EV1000 Mouse controller	0
+v	14f3	BroadLogic	0
+d	14f32030	2030 DVB-S Satellite Reciever	0
+d	14f32050	2050 DVB-T Terrestrial (Cable) Reciever	0
+d	14f32060	2060 ATSC Terrestrial (Cable) Reciever	0
+v	14f4	TOKYO Electronic Industry CO Ltd	0
+v	14f5	SOPAC Ltd	0
+v	14f6	COYOTE Technologies LLC	0
+v	14f7	WOLF Technology Inc	0
+v	14f8	AUDIOCODES Inc	0
+d	14f82077	TP-240 dual span E1 VoIP PCI card	0
+v	14f9	AG COMMUNICATIONS	0
+v	14fa	WANDEL & GOLTERMANN	0
+v	14fb	TRANSAS MARINE (UK) Ltd	0
+v	14fc	Quadrics Ltd	0
+d	14fc0000	QsNet Elan3 Network Adapter	0
+d	14fc0001	QsNetII Elan4 Network Adapter	0
+d	14fc0002	QsNetIII Elan5 Network Adapter	0
+v	14fd	JAPAN Computer Industry Inc	0
+v	14fe	ARCHTEK TELECOM Corp	0
+v	14ff	TWINHEAD INTERNATIONAL Corp	0
+v	1500	DELTA Electronics, Inc	0
+d	15001360	RTL81xx RealTek Ethernet	0
+v	1501	BANKSOFT CANADA Ltd	0
+v	1502	MITSUBISHI ELECTRIC LOGISTICS SUPPORT Co Ltd	0
+v	1503	KAWASAKI LSI USA Inc	0
+v	1504	KAISER Electronics	0
+v	1505	ITA INGENIEURBURO FUR TESTAUFGABEN GmbH	0
+v	1506	CHAMELEON Systems Inc	0
 v	1507	Motorola ? / HTEC	0	Should be HTEC Ltd, but there are no known HTEC chips and 1507 is already used by mistake by Motorola (see vendor ID 1057).
-d	15070001	MPC105 [Eagle]	0	
-d	15070002	MPC106 [Grackle]	0	
-d	15070003	MPC8240 [Kahlua]	0	
-d	15070100	MC145575 [HFC-PCI]	0	
-d	15070431	KTI829c 100VG	0	
-d	15074801	Raven	0	
-d	15074802	Falcon	0	
-d	15074803	Hawk	0	
-d	15074806	CPX8216	0	
-v	1508	HONDA CONNECTORS/MHOTRONICS Inc	0	
-v	1509	FIRST INTERNATIONAL Computer Inc	0	
-v	150a	FORVUS RESEARCH Inc	0	
-v	150b	YAMASHITA Systems Corp	0	
-v	150c	KYOPAL CO Ltd	0	
-v	150d	WARPSPPED Inc	0	
-v	150e	C-PORT Corp	0	
-v	150f	INTEC GmbH	0	
-v	1510	BEHAVIOR TECH Computer Corp	0	
-v	1511	CENTILLIUM Technology Corp	0	
-v	1512	ROSUN Technologies Inc	0	
-v	1513	Raychem	0	
-v	1514	TFL LAN Inc	0	
-v	1515	Advent design	0	
-v	1516	MYSON Technology Inc	0	
-d	15160800	MTD-8xx 100/10M Ethernet PCI Adapter	0	
-d	15160803	SURECOM EP-320X-S 100/10M Ethernet PCI Adapter	0	
-s	15160803132010bd	SURECOM EP-320X-S 100/10M Ethernet PCI Adapter	0	
-d	15160891	MTD-8xx 100/10M Ethernet PCI Adapter	0	
-v	1517	ECHOTEK Corp	0	
-v	1518	PEP MODULAR Computers GmbH	0	
-v	1519	TELEFON AKTIEBOLAGET LM Ericsson	0	
-v	151a	Globetek	0	
-d	151a1002	PCI-1002	0	
-d	151a1004	PCI-1004	0	
-d	151a1008	PCI-1008	0	
-v	151b	COMBOX Ltd	0	
-v	151c	DIGITAL AUDIO LABS Inc	0	
-d	151c0003	Prodif T 2496	0	
-d	151c4000	Prodif 88	0	
-v	151d	Fujitsu Computer Products Of America	0	
-v	151e	MATRIX Corp	0	
-v	151f	TOPIC SEMICONDUCTOR Corp	0	
-d	151f0000	TP560 Data/Fax/Voice 56k modem	0	
-v	1520	CHAPLET System Inc	0	
-v	1521	BELL Corp	0	
-v	1522	MainPine Ltd	0	
-d	15220100	PCI <-> IOBus Bridge	0	
-s	1522010015220200	RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem	0	
-s	1522010015220300	RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem	0	
-s	1522010015220400	RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem	0	
-s	1522010015220500	RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem	0	
-s	1522010015220600	RockForce+ 2 Port V.90 Data/Fax/Voice Modem	0	
-s	1522010015220700	RockForce+ 4 Port V.90 Data/Fax/Voice Modem	0	
-s	1522010015220800	RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem	0	
-s	1522010015220c00	RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem	0	
-s	1522010015220d00	RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem	0	
-s	1522010015221d00	RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem	0	
-s	1522010015222000	RockForceD1 1 Port V.90 Data Modem	0	
-s	1522010015222100	RockForceF1 1 Port V.34 Super-G3 Fax Modem	0	
-s	1522010015222200	RockForceD2 2 Port V.90 Data Modem	0	
-s	1522010015222300	RockForceF2 2 Port V.34 Super-G3 Fax Modem	0	
-s	1522010015222400	RockForceD4 4 Port V.90 Data Modem	0	
-s	1522010015222500	RockForceF4 4 Port V.34 Super-G3 Fax Modem	0	
-s	1522010015222600	RockForceD8 8 Port V.90 Data Modem	0	
-s	1522010015222700	RockForceF8 8 Port V.34 Super-G3 Fax Modem	0	
-v	1523	MUSIC Semiconductors	0	
-v	1524	ENE Technology Inc	0	
-d	15240510	CB710 Memory Card Reader Controller	0	
-s	15240510103c006a	NX9500	0	
-d	15240520	FLASH memory: ENE Technology Inc:	0	
-d	15240530	ENE PCI Memory Stick Card Reader Controller	0	
-d	15240550	ENE PCI Secure Digital Card Reader Controller	0	
+d	15070001	MPC105 [Eagle]	0
+d	15070002	MPC106 [Grackle]	0
+d	15070003	MPC8240 [Kahlua]	0
+d	15070100	MC145575 [HFC-PCI]	0
+d	15070431	KTI829c 100VG	0
+d	15074801	Raven	0
+d	15074802	Falcon	0
+d	15074803	Hawk	0
+d	15074806	CPX8216	0
+v	1508	HONDA CONNECTORS/MHOTRONICS Inc	0
+v	1509	FIRST INTERNATIONAL Computer Inc	0
+v	150a	FORVUS RESEARCH Inc	0
+v	150b	YAMASHITA Systems Corp	0
+v	150c	KYOPAL CO Ltd	0
+v	150d	WARPSPPED Inc	0
+v	150e	C-PORT Corp	0
+v	150f	INTEC GmbH	0
+v	1510	BEHAVIOR TECH Computer Corp	0
+v	1511	CENTILLIUM Technology Corp	0
+v	1512	ROSUN Technologies Inc	0
+v	1513	Raychem	0
+v	1514	TFL LAN Inc	0
+v	1515	Advent design	0
+v	1516	MYSON Technology Inc	0
+d	15160800	MTD-8xx 100/10M Ethernet PCI Adapter	0
+d	15160803	SURECOM EP-320X-S 100/10M Ethernet PCI Adapter	0
+s	15160803132010bd	SURECOM EP-320X-S 100/10M Ethernet PCI Adapter	0
+d	15160891	MTD-8xx 100/10M Ethernet PCI Adapter	0
+v	1517	ECHOTEK Corp	0
+v	1518	PEP MODULAR Computers GmbH	0
+v	1519	TELEFON AKTIEBOLAGET LM Ericsson	0
+v	151a	Globetek	0
+d	151a1002	PCI-1002	0
+d	151a1004	PCI-1004	0
+d	151a1008	PCI-1008	0
+v	151b	COMBOX Ltd	0
+v	151c	DIGITAL AUDIO LABS Inc	0
+d	151c0003	Prodif T 2496	0
+d	151c4000	Prodif 88	0
+v	151d	Fujitsu Computer Products Of America	0
+v	151e	MATRIX Corp	0
+v	151f	TOPIC SEMICONDUCTOR Corp	0
+d	151f0000	TP560 Data/Fax/Voice 56k modem	0
+v	1520	CHAPLET System Inc	0
+v	1521	BELL Corp	0
+v	1522	MainPine Ltd	0
+d	15220100	PCI <-> IOBus Bridge	0
+s	1522010015220200	RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem	0
+s	1522010015220300	RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem	0
+s	1522010015220400	RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem	0
+s	1522010015220500	RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem	0
+s	1522010015220600	RockForce+ 2 Port V.90 Data/Fax/Voice Modem	0
+s	1522010015220700	RockForce+ 4 Port V.90 Data/Fax/Voice Modem	0
+s	1522010015220800	RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem	0
+s	1522010015220c00	RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem	0
+s	1522010015220d00	RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem	0
+s	1522010015221d00	RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem	0
+s	1522010015222000	RockForceD1 1 Port V.90 Data Modem	0
+s	1522010015222100	RockForceF1 1 Port V.34 Super-G3 Fax Modem	0
+s	1522010015222200	RockForceD2 2 Port V.90 Data Modem	0
+s	1522010015222300	RockForceF2 2 Port V.34 Super-G3 Fax Modem	0
+s	1522010015222400	RockForceD4 4 Port V.90 Data Modem	0
+s	1522010015222500	RockForceF4 4 Port V.34 Super-G3 Fax Modem	0
+s	1522010015222600	RockForceD8 8 Port V.90 Data Modem	0
+s	1522010015222700	RockForceF8 8 Port V.34 Super-G3 Fax Modem	0
+v	1523	MUSIC Semiconductors	0
+v	1524	ENE Technology Inc	0
+d	15240510	CB710 Memory Card Reader Controller	0
+s	15240510103c006a	NX9500	0
+d	15240520	FLASH memory: ENE Technology Inc:	0
+d	15240530	ENE PCI Memory Stick Card Reader Controller	0
+d	15240550	ENE PCI Secure Digital Card Reader Controller	0
 d	15240551	PCI SD/MMC Card Reader Controller	1	cf. http://listing.driveragent.com/pci/1524/0551
-d	15240610	PCI Smart Card Reader Controller	0	
-d	15241211	CB1211 Cardbus Controller	0	
-d	15241225	CB1225 Cardbus Controller	0	
-d	15241410	CB1410 Cardbus Controller	0	
-s	152414101025003c	CL50 motherboard	0	
-s	152414101025005a	TravelMate 290	0	
-d	15241411	CB-710/2/4 Cardbus Controller	0	
-s	15241411103c006a	NX9500	0	
-d	15241412	CB-712/4 Cardbus Controller	0	
-d	15241420	CB1420 Cardbus Controller	0	
-d	15241421	CB-720/2/4 Cardbus Controller	0	
-d	15241422	CB-722/4 Cardbus Controller	0	
-v	1525	IMPACT Technologies	0	
-v	1526	ISS, Inc	0	
-v	1527	SOLECTRON	0	
-v	1528	ACKSYS	0	
-v	1529	AMERICAN MICROSystems Inc	0	
-v	152a	QUICKTURN DESIGN Systems	0	
-v	152b	FLYTECH Technology CO Ltd	0	
-v	152c	MACRAIGOR Systems LLC	0	
-v	152d	QUANTA Computer Inc	0	
-v	152e	MELEC Inc	0	
-v	152f	PHILIPS - CRYPTO	0	
-v	1530	ACQIS Technology Inc	0	
-v	1531	CHRYON Corp	0	
-v	1532	ECHELON Corp	0	
-d	15320020	LonWorks PCLTA-20 PCI LonTalk Adapter	0	
-v	1533	BALTIMORE	0	
-v	1534	ROAD Corp	0	
-v	1535	EVERGREEN Technologies Inc	0	
-v	1537	DATALEX COMMUNCATIONS	0	
-v	1538	ARALION Inc	0	
-d	15380303	ARS106S Ultra ATA 133/100/66 Host Controller	0	
-v	1539	ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A.	0	
-v	153a	ONO SOKKI	0	
-v	153b	TERRATEC Electronic GmbH	0	
-d	153b1144	Aureon 5.1	0	
+d	15240610	PCI Smart Card Reader Controller	0
+d	15241211	CB1211 Cardbus Controller	0
+d	15241225	CB1225 Cardbus Controller	0
+d	15241410	CB1410 Cardbus Controller	0
+s	152414101025003c	CL50 motherboard	0
+s	152414101025005a	TravelMate 290	0
+d	15241411	CB-710/2/4 Cardbus Controller	0
+s	15241411103c006a	NX9500	0
+d	15241412	CB-712/4 Cardbus Controller	0
+d	15241420	CB1420 Cardbus Controller	0
+d	15241421	CB-720/2/4 Cardbus Controller	0
+d	15241422	CB-722/4 Cardbus Controller	0
+v	1525	IMPACT Technologies	0
+v	1526	ISS, Inc	0
+v	1527	SOLECTRON	0
+v	1528	ACKSYS	0
+v	1529	AMERICAN MICROSystems Inc	0
+v	152a	QUICKTURN DESIGN Systems	0
+v	152b	FLYTECH Technology CO Ltd	0
+v	152c	MACRAIGOR Systems LLC	0
+v	152d	QUANTA Computer Inc	0
+v	152e	MELEC Inc	0
+v	152f	PHILIPS - CRYPTO	0
+v	1530	ACQIS Technology Inc	0
+v	1531	CHRYON Corp	0
+v	1532	ECHELON Corp	0
+d	15320020	LonWorks PCLTA-20 PCI LonTalk Adapter	0
+v	1533	BALTIMORE	0
+v	1534	ROAD Corp	0
+v	1535	EVERGREEN Technologies Inc	0
+v	1537	DATALEX COMMUNCATIONS	0
+v	1538	ARALION Inc	0
+d	15380303	ARS106S Ultra ATA 133/100/66 Host Controller	0
+v	1539	ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A.	0
+v	153a	ONO SOKKI	0
+v	153b	TERRATEC Electronic GmbH	0
+d	153b1144	Aureon 5.1	0
 d	153b1147	Aureon 5.1 Sky	0	Terratec seems to use several IDs for the same card.
-d	153b1158	Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV]	0	
-v	153c	ANTAL Electronic	0	
-v	153d	FILANET Corp	0	
-v	153e	TECHWELL Inc	0	
-v	153f	MIPS Technologies, Inc.	0	
-d	153f0001	SOC-it 101 System Controller	0	
-v	1540	PROVIDEO MULTIMEDIA Co Ltd	0	
-v	1541	MACHONE Communications	0	
-v	1542	Concurrent Computer Corporation	0	
-d	15429260	RCIM-II Real-Time Clock & Interrupt Module	0	
-v	1543	SILICON Laboratories	0	
-d	15433052	Intel 537 [Winmodem]	0	
-d	15434c22	Si3036 MC'97 DAA	0	
-v	1544	DCM DATA Systems	0	
-v	1545	VISIONTEK	0	
-v	1546	IOI Technology Corp	0	
-v	1547	MITUTOYO Corp	0	
-v	1548	JET PROPULSION Laboratory	0	
-v	1549	INTERCONNECT Systems Solutions	0	
-v	154a	MAX Technologies Inc	0	
-v	154b	COMPUTEX Co Ltd	0	
-v	154c	VISUAL Technology Inc	0	
-v	154d	PAN INTERNATIONAL Industrial Corp	0	
-v	154e	SERVOTEST Ltd	0	
-v	154f	STRATABEAM Technology	0	
-v	1550	OPEN NETWORK Co Ltd	0	
-v	1551	SMART Electronic DEVELOPMENT GmBH	0	
-v	1552	RACAL AIRTECH Ltd	0	
-v	1553	CHICONY Electronics Co Ltd	0	
-v	1554	PROLINK Microsystems Corp	0	
-v	1555	GESYTEC GmBH	0	
-v	1556	PLD APPLICATIONS	0	
-v	1557	MEDIASTAR Co Ltd	0	
-v	1558	CLEVO/KAPOK Computer	0	
-v	1559	SI LOGIC Ltd	0	
-v	155a	INNOMEDIA Inc	0	
-v	155b	PROTAC INTERNATIONAL Corp	0	
-v	155c	Cemax-Icon Inc	0	
-v	155d	Mac System Co Ltd	0	
-v	155e	LP Elektronik GmbH	0	
-v	155f	Perle Systems Ltd	0	
-v	1560	Terayon Communications Systems	0	
-v	1561	Viewgraphics Inc	0	
-v	1562	Symbol Technologies	0	
-v	1563	A-Trend Technology Co Ltd	0	
-v	1564	Yamakatsu Electronics Industry Co Ltd	0	
-v	1565	Biostar Microtech Int'l Corp	0	
-v	1566	Ardent Technologies Inc	0	
-v	1567	Jungsoft	0	
-v	1568	DDK Electronics Inc	0	
-v	1569	Palit Microsystems Inc.	0	
-v	156a	Avtec Systems	0	
-v	156b	2wire Inc	0	
-v	156c	Vidac Electronics GmbH	0	
-v	156d	Alpha-Top Corp	0	
-v	156e	Alfa Inc	0	
-v	156f	M-Systems Flash Disk Pioneers Ltd	0	
-v	1570	Lecroy Corp	0	
-v	1571	Contemporary Controls	0	
-d	1571a001	CCSI PCI20-485 ARCnet	0	
-d	1571a002	CCSI PCI20-485D ARCnet	0	
-d	1571a003	CCSI PCI20-485X ARCnet	0	
-d	1571a004	CCSI PCI20-CXB ARCnet	0	
-d	1571a005	CCSI PCI20-CXS ARCnet	0	
-d	1571a006	CCSI PCI20-FOG-SMA ARCnet	0	
-d	1571a007	CCSI PCI20-FOG-ST ARCnet	0	
-d	1571a008	CCSI PCI20-TB5 ARCnet	0	
-d	1571a009	CCSI PCI20-5-485 5Mbit ARCnet	0	
-d	1571a00a	CCSI PCI20-5-485D 5Mbit ARCnet	0	
-d	1571a00b	CCSI PCI20-5-485X 5Mbit ARCnet	0	
-d	1571a00c	CCSI PCI20-5-FOG-ST 5Mbit ARCnet	0	
-d	1571a00d	CCSI PCI20-5-FOG-SMA 5Mbit ARCnet	0	
-d	1571a201	CCSI PCI22-485 10Mbit ARCnet	0	
-d	1571a202	CCSI PCI22-485D 10Mbit ARCnet	0	
-d	1571a203	CCSI PCI22-485X 10Mbit ARCnet	0	
-d	1571a204	CCSI PCI22-CHB 10Mbit ARCnet	0	
-d	1571a205	CCSI PCI22-FOG_ST 10Mbit ARCnet	0	
-d	1571a206	CCSI PCI22-THB 10Mbit ARCnet	0	
-v	1572	Otis Elevator Company	0	
-v	1573	Lattice - Vantis	0	
-v	1574	Fairchild Semiconductor	0	
-v	1575	Voltaire Advanced Data Security Ltd	0	
-v	1576	Viewcast COM	0	
-v	1578	HITT	0	
-d	15785615	VPMK3 [Video Processor Mk III]	0	
-v	1579	Dual Technology Corp	0	
-v	157a	Japan Elecronics Ind Inc	0	
-v	157b	Star Multimedia Corp	0	
-v	157c	Eurosoft (UK)	0	
-d	157c8001	Fix2000 PCI Y2K Compliance Card	0	
-v	157d	Gemflex Networks	0	
-v	157e	Transition Networks	0	
-v	157f	PX Instruments Technology Ltd	0	
-v	1580	Primex Aerospace Co	0	
-v	1581	SEH Computertechnik GmbH	0	
-v	1582	Cytec Corp	0	
-v	1583	Inet Technologies Inc	0	
-v	1584	Uniwill Computer Corp	0	
-v	1585	Logitron	0	
-v	1586	Lancast Inc	0	
-v	1587	Konica Corp	0	
-v	1588	Solidum Systems Corp	0	
-v	1589	Atlantek Microsystems Pty Ltd	0	
-v	158a	Digalog Systems Inc	0	
-v	158b	Allied Data Technologies	0	
-v	158c	Hitachi Semiconductor & Devices Sales Co Ltd	0	
-v	158d	Point Multimedia Systems	0	
-v	158e	Lara Technology Inc	0	
-v	158f	Ditect Coop	0	
-v	1590	3pardata Inc	0	
-v	1591	ARN	0	
-v	1592	Syba Tech Ltd	0	
-d	15920781	Multi-IO Card	0	
-d	15920782	Parallel Port Card 2xEPP	0	
-d	15920783	Multi-IO Card	0	
-d	15920785	Multi-IO Card	0	
-d	15920786	Multi-IO Card	0	
-d	15920787	Multi-IO Card	0	
-d	15920788	Multi-IO Card	0	
-d	1592078a	Multi-IO Card	0	
-v	1593	Bops Inc	0	
-v	1594	Netgame Ltd	0	
-v	1595	Diva Systems Corp	0	
-v	1596	Folsom Research Inc	0	
-v	1597	Memec Design Services	0	
-v	1598	Granite Microsystems	0	
-v	1599	Delta Electronics Inc	0	
-v	159a	General Instrument	0	
-v	159b	Faraday Technology Corp	0	
-v	159c	Stratus Computer Systems	0	
-v	159d	Ningbo Harrison Electronics Co Ltd	0	
-v	159e	A-Max Technology Co Ltd	0	
-v	159f	Galea Network Security	0	
-v	15a0	Compumaster SRL	0	
-v	15a1	Geocast Network Systems	0	
-v	15a2	Catalyst Enterprises Inc	0	
-d	15a20001	TA700 PCI Bus Analyzer/Exerciser	0	
-v	15a3	Italtel	0	
-v	15a4	X-Net OY	0	
-v	15a5	Toyota Macs Inc	0	
-v	15a6	Sunlight Ultrasound Technologies Ltd	0	
-v	15a7	SSE Telecom Inc	0	
-v	15a8	Shanghai Communications Technologies Center	0	
-v	15aa	Moreton Bay	0	
-v	15ab	Bluesteel Networks Inc	0	
-v	15ac	North Atlantic Instruments	0	
-v	15ad	VMware Inc	0	
-d	15ad0405	[VMware SVGA II] PCI Display Adapter	0	
-d	15ad0710	Virtual SVGA	0	
-d	15ad0720	VMware High-Speed Virtual NIC [vmxnet]	0	
-v	15ae	Amersham Pharmacia Biotech	0	
-v	15b0	Zoltrix International Ltd	0	
-v	15b1	Source Technology Inc	0	
-v	15b2	Mosaid Technologies Inc	0	
-v	15b3	Mellanox Technologies	0	
-v	15b3		1	
-d	15b35274	MT21108 InfiniBridge	0	
-d	15b35a44	MT23108 InfiniHost	0	
-d	15b35a45	MT23108 [Infinihost HCA Flash Recovery]	0	
-d	15b35a46	MT23108 PCI Bridge	0	
-d	15b35e8d	MT25204 [InfiniHost III Lx HCA Flash Recovery]	0	
-d	15b36274	MT25204 [InfiniHost III Lx HCA]	0	
-d	15b36278	MT25208 InfiniHost III Ex (Tavor compatibility mode)	0	
-d	15b36279	MT25208 [InfiniHost III Ex HCA Flash Recovery]	0	
-d	15b36282	MT25208 InfiniHost III Ex	0	
-v	15b4	CCI/TRIAD	0	
-v	15b5	Cimetrics Inc	0	
-v	15b6	Texas Memory Systems Inc	0	
-v	15b7	Sandisk Corp	0	
-v	15b8	ADDI-DATA GmbH	0	
+d	153b1158	Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV]	0
+v	153c	ANTAL Electronic	0
+v	153d	FILANET Corp	0
+v	153e	TECHWELL Inc	0
+v	153f	MIPS Technologies, Inc.	0
+d	153f0001	SOC-it 101 System Controller	0
+v	1540	PROVIDEO MULTIMEDIA Co Ltd	0
+v	1541	MACHONE Communications	0
+v	1542	Concurrent Computer Corporation	0
+d	15429260	RCIM-II Real-Time Clock & Interrupt Module	0
+v	1543	SILICON Laboratories	0
+d	15433052	Intel 537 [Winmodem]	0
+d	15434c22	Si3036 MC'97 DAA	0
+v	1544	DCM DATA Systems	0
+v	1545	VISIONTEK	0
+v	1546	IOI Technology Corp	0
+v	1547	MITUTOYO Corp	0
+v	1548	JET PROPULSION Laboratory	0
+v	1549	INTERCONNECT Systems Solutions	0
+v	154a	MAX Technologies Inc	0
+v	154b	COMPUTEX Co Ltd	0
+v	154c	VISUAL Technology Inc	0
+v	154d	PAN INTERNATIONAL Industrial Corp	0
+v	154e	SERVOTEST Ltd	0
+v	154f	STRATABEAM Technology	0
+v	1550	OPEN NETWORK Co Ltd	0
+v	1551	SMART Electronic DEVELOPMENT GmBH	0
+v	1552	RACAL AIRTECH Ltd	0
+v	1553	CHICONY Electronics Co Ltd	0
+v	1554	PROLINK Microsystems Corp	0
+v	1555	GESYTEC GmBH	0
+v	1556	PLD APPLICATIONS	0
+v	1557	MEDIASTAR Co Ltd	0
+v	1558	CLEVO/KAPOK Computer	0
+v	1559	SI LOGIC Ltd	0
+v	155a	INNOMEDIA Inc	0
+v	155b	PROTAC INTERNATIONAL Corp	0
+v	155c	Cemax-Icon Inc	0
+v	155d	Mac System Co Ltd	0
+v	155e	LP Elektronik GmbH	0
+v	155f	Perle Systems Ltd	0
+v	1560	Terayon Communications Systems	0
+v	1561	Viewgraphics Inc	0
+v	1562	Symbol Technologies	0
+v	1563	A-Trend Technology Co Ltd	0
+v	1564	Yamakatsu Electronics Industry Co Ltd	0
+v	1565	Biostar Microtech Int'l Corp	0
+v	1566	Ardent Technologies Inc	0
+v	1567	Jungsoft	0
+v	1568	DDK Electronics Inc	0
+v	1569	Palit Microsystems Inc.	0
+v	156a	Avtec Systems	0
+v	156b	2wire Inc	0
+v	156c	Vidac Electronics GmbH	0
+v	156d	Alpha-Top Corp	0
+v	156e	Alfa Inc	0
+v	156f	M-Systems Flash Disk Pioneers Ltd	0
+v	1570	Lecroy Corp	0
+v	1571	Contemporary Controls	0
+d	1571a001	CCSI PCI20-485 ARCnet	0
+d	1571a002	CCSI PCI20-485D ARCnet	0
+d	1571a003	CCSI PCI20-485X ARCnet	0
+d	1571a004	CCSI PCI20-CXB ARCnet	0
+d	1571a005	CCSI PCI20-CXS ARCnet	0
+d	1571a006	CCSI PCI20-FOG-SMA ARCnet	0
+d	1571a007	CCSI PCI20-FOG-ST ARCnet	0
+d	1571a008	CCSI PCI20-TB5 ARCnet	0
+d	1571a009	CCSI PCI20-5-485 5Mbit ARCnet	0
+d	1571a00a	CCSI PCI20-5-485D 5Mbit ARCnet	0
+d	1571a00b	CCSI PCI20-5-485X 5Mbit ARCnet	0
+d	1571a00c	CCSI PCI20-5-FOG-ST 5Mbit ARCnet	0
+d	1571a00d	CCSI PCI20-5-FOG-SMA 5Mbit ARCnet	0
+d	1571a201	CCSI PCI22-485 10Mbit ARCnet	0
+d	1571a202	CCSI PCI22-485D 10Mbit ARCnet	0
+d	1571a203	CCSI PCI22-485X 10Mbit ARCnet	0
+d	1571a204	CCSI PCI22-CHB 10Mbit ARCnet	0
+d	1571a205	CCSI PCI22-FOG_ST 10Mbit ARCnet	0
+d	1571a206	CCSI PCI22-THB 10Mbit ARCnet	0
+v	1572	Otis Elevator Company	0
+v	1573	Lattice - Vantis	0
+v	1574	Fairchild Semiconductor	0
+v	1575	Voltaire Advanced Data Security Ltd	0
+v	1576	Viewcast COM	0
+v	1578	HITT	0
+d	15785615	VPMK3 [Video Processor Mk III]	0
+v	1579	Dual Technology Corp	0
+v	157a	Japan Elecronics Ind Inc	0
+v	157b	Star Multimedia Corp	0
+v	157c	Eurosoft (UK)	0
+d	157c8001	Fix2000 PCI Y2K Compliance Card	0
+v	157d	Gemflex Networks	0
+v	157e	Transition Networks	0
+v	157f	PX Instruments Technology Ltd	0
+v	1580	Primex Aerospace Co	0
+v	1581	SEH Computertechnik GmbH	0
+v	1582	Cytec Corp	0
+v	1583	Inet Technologies Inc	0
+v	1584	Uniwill Computer Corp	0
+v	1585	Logitron	0
+v	1586	Lancast Inc	0
+v	1587	Konica Corp	0
+v	1588	Solidum Systems Corp	0
+v	1589	Atlantek Microsystems Pty Ltd	0
+v	158a	Digalog Systems Inc	0
+v	158b	Allied Data Technologies	0
+v	158c	Hitachi Semiconductor & Devices Sales Co Ltd	0
+v	158d	Point Multimedia Systems	0
+v	158e	Lara Technology Inc	0
+v	158f	Ditect Coop	0
+v	1590	3pardata Inc	0
+v	1591	ARN	0
+v	1592	Syba Tech Ltd	0
+d	15920781	Multi-IO Card	0
+d	15920782	Parallel Port Card 2xEPP	0
+d	15920783	Multi-IO Card	0
+d	15920785	Multi-IO Card	0
+d	15920786	Multi-IO Card	0
+d	15920787	Multi-IO Card	0
+d	15920788	Multi-IO Card	0
+d	1592078a	Multi-IO Card	0
+v	1593	Bops Inc	0
+v	1594	Netgame Ltd	0
+v	1595	Diva Systems Corp	0
+v	1596	Folsom Research Inc	0
+v	1597	Memec Design Services	0
+v	1598	Granite Microsystems	0
+v	1599	Delta Electronics Inc	0
+v	159a	General Instrument	0
+v	159b	Faraday Technology Corp	0
+v	159c	Stratus Computer Systems	0
+v	159d	Ningbo Harrison Electronics Co Ltd	0
+v	159e	A-Max Technology Co Ltd	0
+v	159f	Galea Network Security	0
+v	15a0	Compumaster SRL	0
+v	15a1	Geocast Network Systems	0
+v	15a2	Catalyst Enterprises Inc	0
+d	15a20001	TA700 PCI Bus Analyzer/Exerciser	0
+v	15a3	Italtel	0
+v	15a4	X-Net OY	0
+v	15a5	Toyota Macs Inc	0
+v	15a6	Sunlight Ultrasound Technologies Ltd	0
+v	15a7	SSE Telecom Inc	0
+v	15a8	Shanghai Communications Technologies Center	0
+v	15aa	Moreton Bay	0
+v	15ab	Bluesteel Networks Inc	0
+v	15ac	North Atlantic Instruments	0
+v	15ad	VMware Inc	0
+d	15ad0405	[VMware SVGA II] PCI Display Adapter	0
+d	15ad0710	Virtual SVGA	0
+d	15ad0720	VMware High-Speed Virtual NIC [vmxnet]	0
+v	15ae	Amersham Pharmacia Biotech	0
+v	15b0	Zoltrix International Ltd	0
+v	15b1	Source Technology Inc	0
+v	15b2	Mosaid Technologies Inc	0
+v	15b3	Mellanox Technologies	0
+v	15b3		1
+d	15b35274	MT21108 InfiniBridge	0
+d	15b35a44	MT23108 InfiniHost	0
+d	15b35a45	MT23108 [Infinihost HCA Flash Recovery]	0
+d	15b35a46	MT23108 PCI Bridge	0
+d	15b35e8d	MT25204 [InfiniHost III Lx HCA Flash Recovery]	0
+d	15b36274	MT25204 [InfiniHost III Lx HCA]	0
+d	15b36278	MT25208 InfiniHost III Ex (Tavor compatibility mode)	0
+d	15b36279	MT25208 [InfiniHost III Ex HCA Flash Recovery]	0
+d	15b36282	MT25208 InfiniHost III Ex	0
+v	15b4	CCI/TRIAD	0
+v	15b5	Cimetrics Inc	0
+v	15b6	Texas Memory Systems Inc	0
+v	15b7	Sandisk Corp	0
+v	15b8	ADDI-DATA GmbH	0
 d	15b81003	APCI1032	1	Signal processing controller - 32 digital inputs w/ opto coupler
 d	15b81005	APCI2200	1	Signal processing controller - 8/16 digital outputs (relay)
 d	15b8100a	APCI1696	1	Signal processing controller - 96 digital I/O /TTL)
 d	15b83001	APCI3501	1	Signal processing controller - analog output board
-v	15b9	Maestro Digital Communications	0	
-v	15ba	Impacct Technology Corp	0	
-v	15bb	Portwell Inc	0	
-v	15bc	Agilent Technologies	0	
-d	15bc1100	E8001-66442 PCI Express CIC	0	
-d	15bc2922	64 Bit, 133MHz PCI-X Exerciser & Protocol Checker	0	
-d	15bc2928	64 Bit, 66MHz PCI Exerciser & Analyzer	0	
-d	15bc2929	64 Bit, 133MHz PCI-X Analyzer & Exerciser	0	
-v	15bd	DFI Inc	0	
-v	15be	Sola Electronics	0	
-v	15bf	High Tech Computer Corp (HTC)	0	
-v	15c0	BVM Ltd	0	
-v	15c1	Quantel	0	
-v	15c2	Newer Technology Inc	0	
-v	15c3	Taiwan Mycomp Co Ltd	0	
-v	15c4	EVSX Inc	0	
-v	15c5	Procomp Informatics Ltd	0	
-d	15c58010	1394b - 1394 Firewire 3-Port Host Adapter Card	0	
-v	15c6	Technical University of Budapest	0	
-v	15c7	Tateyama System Laboratory Co Ltd	0	
-d	15c70349	Tateyama C-PCI PLC/NC card Rev.01A	0	
-v	15c8	Penta Media Co Ltd	0	
-v	15c9	Serome Technology Inc	0	
-v	15ca	Bitboys OY	0	
-v	15cb	AG Electronics Ltd	0	
-v	15cc	Hotrail Inc	0	
-v	15cd	Dreamtech Co Ltd	0	
-v	15ce	Genrad Inc	0	
-v	15cf	Hilscher GmbH	0	
-v	15d1	Infineon Technologies AG	0	
-v	15d2	FIC (First International Computer Inc)	0	
-v	15d3	NDS Technologies Israel Ltd	0	
-v	15d4	Iwill Corp	0	
-v	15d5	Tatung Co	0	
-v	15d6	Entridia Corp	0	
-v	15d7	Rockwell-Collins Inc	0	
-v	15d8	Cybernetics Technology Co Ltd	0	
-v	15d9	Super Micro Computer Inc	0	
-v	15da	Cyberfirm Inc	0	
-v	15db	Applied Computing Systems Inc	0	
-v	15dc	Litronic Inc	0	
-d	15dc0001	Argus 300 PCI Cryptography Module	0	
-v	15dd	Sigmatel Inc	0	
-v	15de	Malleable Technologies Inc	0	
-v	15df	Infinilink Corp	0	
-v	15e0	Cacheflow Inc	0	
-v	15e1	Voice Technologies Group Inc	0	
-v	15e2	Quicknet Technologies Inc	0	
-v	15e3	Networth Technologies Inc	0	
-v	15e4	VSN Systemen BV	0	
-v	15e5	Valley technologies Inc	0	
-v	15e6	Agere Inc	0	
-v	15e7	Get Engineering Corp	0	
-v	15e8	National Datacomm Corp	0	
-d	15e80130	Wireless PCI Card	0	
-v	15e9	Pacific Digital Corp	0	
-d	15e91841	ADMA-100 DiscStaQ ATA Controller	0	
-v	15ea	Tokyo Denshi Sekei K.K.	0	
-v	15eb	Drsearch GmbH	0	
-v	15ec	Beckhoff GmbH	0	
-d	15ec3101	FC3101 Profibus DP 1 Channel PCI	0	
-d	15ec5102	FC5102	0	
-v	15ed	Macrolink Inc	0	
-v	15ee	In Win Development Inc	0	
-v	15ef	Intelligent Paradigm Inc	0	
-v	15f0	B-Tree Systems Inc	0	
-v	15f1	Times N Systems Inc	0	
-v	15f2	Diagnostic Instruments Inc	0	
-v	15f3	Digitmedia Corp	0	
-v	15f4	Valuesoft	0	
-v	15f5	Power Micro Research	0	
-v	15f6	Extreme Packet Device Inc	0	
-v	15f7	Banctec	0	
-v	15f8	Koga Electronics Co	0	
-v	15f9	Zenith Electronics Corp	0	
-v	15fa	J.P. Axzam Corp	0	
-v	15fb	Zilog Inc	0	
-v	15fc	Techsan Electronics Co Ltd	0	
-v	15fd	N-CUBED.NET	0	
-v	15fe	Kinpo Electronics Inc	0	
-v	15ff	Fastpoint Technologies Inc	0	
-v	1600	Northrop Grumman - Canada Ltd	0	
-v	1601	Tenta Technology	0	
-v	1602	Prosys-tec Inc	0	
-v	1603	Nokia Wireless Communications	0	
-v	1604	Central System Research Co Ltd	0	
-v	1605	Pairgain Technologies	0	
-v	1606	Europop AG	0	
-v	1607	Lava Semiconductor Manufacturing Inc	0	
-v	1608	Automated Wagering International	0	
-v	1609	Scimetric Instruments Inc	0	
-v	1612	Telesynergy Research Inc.	0	
-v	1619	FarSite Communications Ltd	0	
-d	16190400	FarSync T2P (2 port X.21/V.35/V.24)	0	
-d	16190440	FarSync T4P (4 port X.21/V.35/V.24)	0	
-d	16190610	FarSync T1U (1 port X.21/V.35/V.24)	0	
-d	16190620	FarSync T2U (2 port X.21/V.35/V.24)	0	
-d	16190640	FarSync T4U (4 port X.21/V.35/V.24)	0	
-d	16191610	FarSync TE1 (T1,E1)	0	
-d	16192610	FarSync DSL-S1 (SHDSL)	0	
-v	161f	Rioworks	0	
-v	1626	TDK Semiconductor Corp.	0	
-d	16268410	RTL81xx Fast Ethernet	0	
-v	1629	Kongsberg Spacetec AS	0	
-d	16291003	Format synchronizer v3.0	0	
-d	16292002	Fast Universal Data Output	0	
+v	15b9	Maestro Digital Communications	0
+v	15ba	Impacct Technology Corp	0
+v	15bb	Portwell Inc	0
+v	15bc	Agilent Technologies	0
+d	15bc1100	E8001-66442 PCI Express CIC	0
+d	15bc2922	64 Bit, 133MHz PCI-X Exerciser & Protocol Checker	0
+d	15bc2928	64 Bit, 66MHz PCI Exerciser & Analyzer	0
+d	15bc2929	64 Bit, 133MHz PCI-X Analyzer & Exerciser	0
+v	15bd	DFI Inc	0
+v	15be	Sola Electronics	0
+v	15bf	High Tech Computer Corp (HTC)	0
+v	15c0	BVM Ltd	0
+v	15c1	Quantel	0
+v	15c2	Newer Technology Inc	0
+v	15c3	Taiwan Mycomp Co Ltd	0
+v	15c4	EVSX Inc	0
+v	15c5	Procomp Informatics Ltd	0
+d	15c58010	1394b - 1394 Firewire 3-Port Host Adapter Card	0
+v	15c6	Technical University of Budapest	0
+v	15c7	Tateyama System Laboratory Co Ltd	0
+d	15c70349	Tateyama C-PCI PLC/NC card Rev.01A	0
+v	15c8	Penta Media Co Ltd	0
+v	15c9	Serome Technology Inc	0
+v	15ca	Bitboys OY	0
+v	15cb	AG Electronics Ltd	0
+v	15cc	Hotrail Inc	0
+v	15cd	Dreamtech Co Ltd	0
+v	15ce	Genrad Inc	0
+v	15cf	Hilscher GmbH	0
+v	15d1	Infineon Technologies AG	0
+v	15d2	FIC (First International Computer Inc)	0
+v	15d3	NDS Technologies Israel Ltd	0
+v	15d4	Iwill Corp	0
+v	15d5	Tatung Co	0
+v	15d6	Entridia Corp	0
+v	15d7	Rockwell-Collins Inc	0
+v	15d8	Cybernetics Technology Co Ltd	0
+v	15d9	Super Micro Computer Inc	0
+v	15da	Cyberfirm Inc	0
+v	15db	Applied Computing Systems Inc	0
+v	15dc	Litronic Inc	0
+d	15dc0001	Argus 300 PCI Cryptography Module	0
+v	15dd	Sigmatel Inc	0
+v	15de	Malleable Technologies Inc	0
+v	15df	Infinilink Corp	0
+v	15e0	Cacheflow Inc	0
+v	15e1	Voice Technologies Group Inc	0
+v	15e2	Quicknet Technologies Inc	0
+v	15e3	Networth Technologies Inc	0
+v	15e4	VSN Systemen BV	0
+v	15e5	Valley technologies Inc	0
+v	15e6	Agere Inc	0
+v	15e7	Get Engineering Corp	0
+v	15e8	National Datacomm Corp	0
+d	15e80130	Wireless PCI Card	0
+v	15e9	Pacific Digital Corp	0
+d	15e91841	ADMA-100 DiscStaQ ATA Controller	0
+v	15ea	Tokyo Denshi Sekei K.K.	0
+v	15eb	Drsearch GmbH	0
+v	15ec	Beckhoff GmbH	0
+d	15ec3101	FC3101 Profibus DP 1 Channel PCI	0
+d	15ec5102	FC5102	0
+v	15ed	Macrolink Inc	0
+v	15ee	In Win Development Inc	0
+v	15ef	Intelligent Paradigm Inc	0
+v	15f0	B-Tree Systems Inc	0
+v	15f1	Times N Systems Inc	0
+v	15f2	Diagnostic Instruments Inc	0
+v	15f3	Digitmedia Corp	0
+v	15f4	Valuesoft	0
+v	15f5	Power Micro Research	0
+v	15f6	Extreme Packet Device Inc	0
+v	15f7	Banctec	0
+v	15f8	Koga Electronics Co	0
+v	15f9	Zenith Electronics Corp	0
+v	15fa	J.P. Axzam Corp	0
+v	15fb	Zilog Inc	0
+v	15fc	Techsan Electronics Co Ltd	0
+v	15fd	N-CUBED.NET	0
+v	15fe	Kinpo Electronics Inc	0
+v	15ff	Fastpoint Technologies Inc	0
+v	1600	Northrop Grumman - Canada Ltd	0
+v	1601	Tenta Technology	0
+v	1602	Prosys-tec Inc	0
+v	1603	Nokia Wireless Communications	0
+v	1604	Central System Research Co Ltd	0
+v	1605	Pairgain Technologies	0
+v	1606	Europop AG	0
+v	1607	Lava Semiconductor Manufacturing Inc	0
+v	1608	Automated Wagering International	0
+v	1609	Scimetric Instruments Inc	0
+v	1612	Telesynergy Research Inc.	0
+v	1619	FarSite Communications Ltd	0
+d	16190400	FarSync T2P (2 port X.21/V.35/V.24)	0
+d	16190440	FarSync T4P (4 port X.21/V.35/V.24)	0
+d	16190610	FarSync T1U (1 port X.21/V.35/V.24)	0
+d	16190620	FarSync T2U (2 port X.21/V.35/V.24)	0
+d	16190640	FarSync T4U (4 port X.21/V.35/V.24)	0
+d	16191610	FarSync TE1 (T1,E1)	0
+d	16192610	FarSync DSL-S1 (SHDSL)	0
+v	161f	Rioworks	0
+v	1626	TDK Semiconductor Corp.	0
+d	16268410	RTL81xx Fast Ethernet	0
+v	1629	Kongsberg Spacetec AS	0
+d	16291003	Format synchronizer v3.0	0
+d	16292002	Fast Universal Data Output	0
 v	1637	Linksys	0	This seems to occur on their 802.11b Wireless card WMP-11
-d	16373874	Linksys 802.11b WMP11 PCI Wireless card	0	
-v	1638	Standard Microsystems Corp [SMC]	0	
-d	16381100	SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000	0	
-v	163c	Smart Link Ltd.	0	
-d	163c3052	SmartLink SmartPCI562 56K Modem	0	
-d	163c5449	SmartPCI561 Modem	0	
-v	1657	Brocade Communications Systems, Inc.	0	
-v	165a	Epix Inc	0	
-d	165ac100	PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232]	0	
-d	165ad200	PIXCI(R) D2X Digital Video Capture Board [custom QL5232]	0	
-d	165ad300	PIXCI(R) D3X Digital Video Capture Board [custom QL5232]	0	
-v	165d	Hsing Tech. Enterprise Co., Ltd.	0	
-v	165f	Linux Media Labs, LLC	0	
-d	165f1020	LMLM4 MPEG-4 encoder	0	
-v	1661	Worldspace Corp.	0	
-v	1668	Actiontec Electronics Inc	0	
-d	16680100	Mini-PCI bridge	0	
+d	16373874	Linksys 802.11b WMP11 PCI Wireless card	0
+v	1638	Standard Microsystems Corp [SMC]	0
+d	16381100	SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000	0
+v	163c	Smart Link Ltd.	0
+d	163c3052	SmartLink SmartPCI562 56K Modem	0
+d	163c5449	SmartPCI561 Modem	0
+v	1657	Brocade Communications Systems, Inc.	0
+v	165a	Epix Inc	0
+d	165ac100	PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232]	0
+d	165ad200	PIXCI(R) D2X Digital Video Capture Board [custom QL5232]	0
+d	165ad300	PIXCI(R) D3X Digital Video Capture Board [custom QL5232]	0
+v	165d	Hsing Tech. Enterprise Co., Ltd.	0
+v	165f	Linux Media Labs, LLC	0
+d	165f1020	LMLM4 MPEG-4 encoder	0
+v	1661	Worldspace Corp.	0
+v	1668	Actiontec Electronics Inc	0
+d	16680100	Mini-PCI bridge	0
 v	166d	Broadcom Corporation	0	Formerly SiByte, Inc.
-d	166d0001	SiByte BCM1125/1125H/1250 System-on-a-Chip PCI	0	
-d	166d0002	SiByte BCM1125H/1250 System-on-a-Chip HyperTransport	0	
-v	1677	Bernecker + Rainer	0	
-d	1677104e	5LS172.6 B&R Dual CAN Interface Card	0	
-d	167712d7	5LS172.61 B&R Dual CAN Interface Card	0	
-d	167720ad	5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM	0	
-v	167b	ZyDAS Technology Corp.	0	
-d	167b2102	ZyDAS ZD1202	0	
-s	167b2102187e3406	ZyAIR B-122 CardBus 11Mbs Wireless LAN Card	0	
-v	167d	Samsung Electro-Mechanics Co., Ltd.	0	
-d	167da000	IPW2200 miniPCI Wireless	0	
-v	1681	Hercules	0	
-d	16810010	Hercules 3d Prophet II Ultra 64MB (350 MHz NV15BR core)	0	
-v	1682	XFX Pine Group Inc.	0	
-v	1688	CastleNet Technology Inc.	0	
-d	16881170	WLAN 802.11b card	0	
-v	168c	Atheros Communications, Inc.	0	
-d	168c0007	AR5000 802.11a Wireless Adapter	0	
-d	168c0011	AR5210 802.11a NIC	0	
-d	168c0012	AR5211 802.11ab NIC	0	
-d	168c0013	AR5212 802.11abg NIC	0	
-s	168c00131113d301	Philips CPWNA100 Wireless CardBus adapter	0	
-s	168c001311863202	D-link DWL-G650 (Rev B3,B5) Wireless cardbus adapter	0	
-s	168c001311863203	DWL-G520 Wireless PCI Adapter	0	
-s	168c001311863a12	D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)	0	
-s	168c001311863a13	D-Link AirPlus DWL-G520 Wireless PCI Adapter(rev.B)	0	
-s	168c001311863a14	D-Link AirPremier DWL-AG530 Wireless PCI Adapter	0	
-s	168c001311863a17	D-Link AirPremier DWL-G680 Wireless Cardbus Adapter	0	
-s	168c001311863a18	D-Link AirPremier DWL-G550 Wireless PCI Adapter	0	
-s	168c001311863a63	D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter	0	
-s	168c001311863a93	Conceptronic C54I Wireless 801.11g PCI card	0	
-s	168c001311863a94	C54C Wireless 801.11g cardbus	0	
-s	168c001311863ab0	Allnet ALL0281 Wireless PCI Card	0	
-s	168c001313854d00	Netgear WG311T Wireless PCI Adapter	0	
-s	168c00131458e911	Gigabyte GN-WIAG02	0	
-s	168c001314b70a60	8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter	0	
-s	168c001316681026	IBM HighRate 11 a/b/g Wireless CardBus Adapter	0	
-s	168c0013168c0013	AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter	0	
-s	168c0013168c1025	DWL-G650B2 Wireless CardBus Adapter	0	
-s	168c0013168c1027	Engenius NL-3054CB ARIES b/g CardBus Adapter	0	
-s	168c0013168c1042	Ubiquiti Networks SuperRange a/b/g Cardbus Adapter	0	
-s	168c0013168c2026	Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter	0	
+d	166d0001	SiByte BCM1125/1125H/1250 System-on-a-Chip PCI	0
+d	166d0002	SiByte BCM1125H/1250 System-on-a-Chip HyperTransport	0
+v	1677	Bernecker + Rainer	0
+d	1677104e	5LS172.6 B&R Dual CAN Interface Card	0
+d	167712d7	5LS172.61 B&R Dual CAN Interface Card	0
+d	167720ad	5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM	0
+v	167b	ZyDAS Technology Corp.	0
+d	167b2102	ZyDAS ZD1202	0
+s	167b2102187e3406	ZyAIR B-122 CardBus 11Mbs Wireless LAN Card	0
+v	167d	Samsung Electro-Mechanics Co., Ltd.	0
+d	167da000	IPW2200 miniPCI Wireless	0
+v	1681	Hercules	0
+d	16810010	Hercules 3d Prophet II Ultra 64MB (350 MHz NV15BR core)	0
+v	1682	XFX Pine Group Inc.	0
+v	1688	CastleNet Technology Inc.	0
+d	16881170	WLAN 802.11b card	0
+v	168c	Atheros Communications, Inc.	0
+d	168c0007	AR5000 802.11a Wireless Adapter	0
+d	168c0011	AR5210 802.11a NIC	0
+d	168c0012	AR5211 802.11ab NIC	0
+d	168c0013	AR5212 802.11abg NIC	0
+s	168c00131113d301	Philips CPWNA100 Wireless CardBus adapter	0
+s	168c001311863202	D-link DWL-G650 (Rev B3,B5) Wireless cardbus adapter	0
+s	168c001311863203	DWL-G520 Wireless PCI Adapter	0
+s	168c001311863a12	D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)	0
+s	168c001311863a13	D-Link AirPlus DWL-G520 Wireless PCI Adapter(rev.B)	0
+s	168c001311863a14	D-Link AirPremier DWL-AG530 Wireless PCI Adapter	0
+s	168c001311863a17	D-Link AirPremier DWL-G680 Wireless Cardbus Adapter	0
+s	168c001311863a18	D-Link AirPremier DWL-G550 Wireless PCI Adapter	0
+s	168c001311863a63	D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter	0
+s	168c001311863a93	Conceptronic C54I Wireless 801.11g PCI card	0
+s	168c001311863a94	C54C Wireless 801.11g cardbus	0
+s	168c001311863ab0	Allnet ALL0281 Wireless PCI Card	0
+s	168c001313854d00	Netgear WG311T Wireless PCI Adapter	0
+s	168c00131458e911	Gigabyte GN-WIAG02	0
+s	168c001314b70a60	8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter	0
+s	168c001316681026	IBM HighRate 11 a/b/g Wireless CardBus Adapter	0
+s	168c0013168c0013	AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter	0
+s	168c0013168c1025	DWL-G650B2 Wireless CardBus Adapter	0
+s	168c0013168c1027	Engenius NL-3054CB ARIES b/g CardBus Adapter	0
+s	168c0013168c1042	Ubiquiti Networks SuperRange a/b/g Cardbus Adapter	0
+s	168c0013168c2026	Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter	0
 s	168c0013168c2041	Engenius 5354MP Plus ARIES2 b/g or Ubiquiti Networks SuperRange2 b/g, MiniPCI Adapter	1	added my Ubiquiti SuperRange2 which has the same PCI-ID.
-s	168c0013168c2041	Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter	0	
-s	168c0013168c2042	Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter	0	
-s	168c0013168c2051	TRENDnet TEW-443PI Wireless PCI Adapter	0	
-s	168c001316ab7302	Trust Speedshare Turbo Pro Wireless PCI Adapter	0	
-s	168c0013185f1012	CM9  Wireless a/b/g MiniPCI Adapter	1	
-s	168c0013185f2012	Wistron NeWeb WLAN a+b+g model CB9	0	
-d	168c001a	AR5005G 802.11abg NIC	0	
-s	168c001a1113ee20	SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)	0	
-s	168c001a1113ee24	SMC Wireless PCI Card WPCI-G	0	
-s	168c001a11863a15	D-Link AirPlus G DWL-G630 Wireless Cardbus Adapter(rev.D)	0	
-s	168c001a11863a16	D-Link AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)	0	
-s	168c001a11863a23	D-Link AirPlus G DWL-G520+A Wireless PCI Adapter	0	
-s	168c001a11863a24	D-Link AirPlus G DWL-G650+A Wireless Cardbus Adapter	0	
-s	168c001a11863b08	D-Link AirPlus G DWL-G630	1	
-s	168c001a168c001a	Belkin FD7000	0	
-s	168c001a168c1052	TP-Link TL-WN510G Wireless CardBus Adapter	0	
-s	168c001a168c2052	Compex Wireless 802.11 b/g  MiniPCI Adapter, Rev A1 [WLM54G]	1	
-s	168c001a80662792		1	
-d	168c001b	AR5006X 802.11abg NIC	0	
-s	168c001b11863a19	D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter	0	
-s	168c001b11863a22	D-Link AirPremier AG DWL-AG530 Wireless PCI Adapter	0	
-s	168c001b1458e901	GN-WI01HT Wireless a/b/g MiniPCI Adapter	1	
-s	168c001b168c2062	EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)	0	
-s	168c001b168c2063	EnGenius EMP-8602 (400mw) or Compex WLM54AG	0	
-s	168c001ba7276804	Wireless 11a/b/g PC Card with XJACK(r) Antenna	1	
-d	168c001c	AR5006EG 802.11 b/g Wireless PCI Express Adapter	1	
-d	168c0020	AR5005VL 802.11bg Wireless NIC	0	
-d	168c0024		1	
-d	168c1014	AR5212 802.11abg NIC	0	
-s	168c10141014058a	ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)	0	
-d	168c3b08	D-Link AirPlus G DWL-G630	1	
-v	1695	EPoX Computer Co., Ltd.	0	
-v	169c	Netcell Corporation	0	
-d	169c0044	Revolution Storage Processing Card	0	
+s	168c0013168c2041	Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter	0
+s	168c0013168c2042	Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter	0
+s	168c0013168c2051	TRENDnet TEW-443PI Wireless PCI Adapter	0
+s	168c001316ab7302	Trust Speedshare Turbo Pro Wireless PCI Adapter	0
+s	168c0013185f1012	CM9  Wireless a/b/g MiniPCI Adapter	1
+s	168c0013185f2012	Wistron NeWeb WLAN a+b+g model CB9	0
+d	168c001a	AR5005G 802.11abg NIC	0
+s	168c001a1113ee20	SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)	0
+s	168c001a1113ee24	SMC Wireless PCI Card WPCI-G	0
+s	168c001a11863a15	D-Link AirPlus G DWL-G630 Wireless Cardbus Adapter(rev.D)	0
+s	168c001a11863a16	D-Link AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)	0
+s	168c001a11863a23	D-Link AirPlus G DWL-G520+A Wireless PCI Adapter	0
+s	168c001a11863a24	D-Link AirPlus G DWL-G650+A Wireless Cardbus Adapter	0
+s	168c001a11863b08	D-Link AirPlus G DWL-G630	1
+s	168c001a168c001a	Belkin FD7000	0
+s	168c001a168c1052	TP-Link TL-WN510G Wireless CardBus Adapter	0
+s	168c001a168c2052	Compex Wireless 802.11 b/g  MiniPCI Adapter, Rev A1 [WLM54G]	1
+s	168c001a80662792		1
+d	168c001b	AR5006X 802.11abg NIC	0
+s	168c001b11863a19	D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter	0
+s	168c001b11863a22	D-Link AirPremier AG DWL-AG530 Wireless PCI Adapter	0
+s	168c001b1458e901	GN-WI01HT Wireless a/b/g MiniPCI Adapter	1
+s	168c001b168c2062	EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)	0
+s	168c001b168c2063	EnGenius EMP-8602 (400mw) or Compex WLM54AG	0
+s	168c001ba7276804	Wireless 11a/b/g PC Card with XJACK(r) Antenna	1
+d	168c001c	AR5006EG 802.11 b/g Wireless PCI Express Adapter	1
+d	168c0020	AR5005VL 802.11bg Wireless NIC	0
+d	168c0024		1
+d	168c1014	AR5212 802.11abg NIC	0
+s	168c10141014058a	ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)	0
+d	168c3b08	D-Link AirPlus G DWL-G630	1
+v	1695	EPoX Computer Co., Ltd.	0
+v	169c	Netcell Corporation	0
+d	169c0044	Revolution Storage Processing Card	0
 v	169d	Club-3D VB	1	I have a Club-3D zap tv 2202 pci card. lspci says "Subsystem: Unknown device 169d:3306". Is vendor Club-3D VB 169d or 196d?
-d	169d3306	ZAP TV 2202	1	
-v	16a5	Tekram Technology Co.,Ltd.	0	
-v	16ab	Global Sun Technology Inc	0	
-d	16ab1100	GL24110P	0	
-d	16ab1101	PLX9052 PCMCIA-to-PCI Wireless LAN	0	
-d	16ab1102	PCMCIA-to-PCI Wireless Network Bridge	0	
-d	16ab8501	WL-8305 Wireless LAN PCI Adapter	0	
-v	16ae	Safenet Inc	0	
-d	16ae1141	SafeXcel-1141	0	
-v	16af	SparkLAN Communications, Inc.	0	
-v	16b4	Aspex Semiconductor Ltd	0	
-v	16b8	Sonnet Technologies, Inc.	0	
-v	16be	Creatix Polymedia GmbH	0	
-v	16c6	Micrel-Kendin	0	
-d	16c68695	Centaur KS8695 ARM processor	0	
-v	16c8	Octasic Inc.	0	
-v	16c9	EONIC B.V. The Netherlands	0	
-v	16ca	CENATEK Inc	0	
-d	16ca0001	Rocket Drive DL	0	
-v	16cd	Densitron Technologies	0	
-v	16ce	Roland Corp.	0	
-v	16d5	Acromag, Inc.	0	
-d	16d54d4e	PMC482, APC482, AcPC482 Counter Timer Board	0	
-v	16df	PIKA Technologies Inc.	0	
-v	16e3	European Space Agency	0	
-d	16e31e0f	LEON2FT Processor	0	
-v	16e5	Intellon Corp.	0	
-d	16e56000	INT6000 Ethernet-to-Powerline Bridge [HomePlug AV]	0	
-v	16ec	U.S. Robotics	0	
-d	16ec00ff	USR997900 10/100 Mbps PCI Network Card	0	
-d	16ec0116	USR997902 10/100/1000 Mbps PCI Network Card	0	
-d	16ec2f00	USR5660A (USR265660A, USR5660A-BP) 56K PCI Faxmodem	0	
-d	16ec3685	Wireless Access PCI Adapter Model 022415	0	
-v	16ed	Sycron N. V.	0	
-d	16ed1001	UMIO communication card	0	
-v	16f3	Jetway Information Co., Ltd.	0	
-v	16f4	Vweb Corp	0	
-d	16f48000	VW2010	0	
-v	16f6	VideoTele.com, Inc.	0	
-v	1702	Internet Machines Corporation (IMC)	0	
-v	1705	Digital First, Inc.	0	
-v	170b	NetOctave	0	
-d	170b0100	NSP2000-SSL crypto accelerator	0	
-v	170c	YottaYotta Inc.	0	
+d	169d3306	ZAP TV 2202	1
+v	16a5	Tekram Technology Co.,Ltd.	0
+v	16ab	Global Sun Technology Inc	0
+d	16ab1100	GL24110P	0
+d	16ab1101	PLX9052 PCMCIA-to-PCI Wireless LAN	0
+d	16ab1102	PCMCIA-to-PCI Wireless Network Bridge	0
+d	16ab8501	WL-8305 Wireless LAN PCI Adapter	0
+v	16ae	Safenet Inc	0
+d	16ae1141	SafeXcel-1141	0
+v	16af	SparkLAN Communications, Inc.	0
+v	16b4	Aspex Semiconductor Ltd	0
+v	16b8	Sonnet Technologies, Inc.	0
+v	16be	Creatix Polymedia GmbH	0
+v	16c6	Micrel-Kendin	0
+d	16c68695	Centaur KS8695 ARM processor	0
+v	16c8	Octasic Inc.	0
+v	16c9	EONIC B.V. The Netherlands	0
+v	16ca	CENATEK Inc	0
+d	16ca0001	Rocket Drive DL	0
+v	16cd	Densitron Technologies	0
+v	16ce	Roland Corp.	0
+v	16d5	Acromag, Inc.	0
+d	16d54d4e	PMC482, APC482, AcPC482 Counter Timer Board	0
+v	16df	PIKA Technologies Inc.	0
+v	16e3	European Space Agency	0
+d	16e31e0f	LEON2FT Processor	0
+v	16e5	Intellon Corp.	0
+d	16e56000	INT6000 Ethernet-to-Powerline Bridge [HomePlug AV]	0
+v	16ec	U.S. Robotics	0
+d	16ec00ff	USR997900 10/100 Mbps PCI Network Card	0
+d	16ec0116	USR997902 10/100/1000 Mbps PCI Network Card	0
+d	16ec2f00	USR5660A (USR265660A, USR5660A-BP) 56K PCI Faxmodem	0
+d	16ec3685	Wireless Access PCI Adapter Model 022415	0
+v	16ed	Sycron N. V.	0
+d	16ed1001	UMIO communication card	0
+v	16f3	Jetway Information Co., Ltd.	0
+v	16f4	Vweb Corp	0
+d	16f48000	VW2010	0
+v	16f6	VideoTele.com, Inc.	0
+v	1702	Internet Machines Corporation (IMC)	0
+v	1705	Digital First, Inc.	0
+v	170b	NetOctave	0
+d	170b0100	NSP2000-SSL crypto accelerator	0
+v	170c	YottaYotta Inc.	0
 v	1725	Vitesse Semiconductor	0	Seems to be a 2nd ID for Vitesse Semiconductor
-d	17257174	VSC7174 PCI/PCI-X Serial ATA Host Bus Controller	0	
-v	172a	Accelerated Encryption	0	
-d	172a13c8	AEP SureWare Runner 1000V3	0	
-v	1734	Fujitsu Siemens Computer GmbH	0	
-d	17341078	Amilo Pro v2010	0	
-d	17341085	Celsius M450	1	
-v	1737	Linksys	0	
-d	17370013	WMP54G Wireless Pci Card	0	
-d	17370015	WMP54GS Wireless Pci Card	0	
+d	17257174	VSC7174 PCI/PCI-X Serial ATA Host Bus Controller	0
+v	172a	Accelerated Encryption	0
+d	172a13c8	AEP SureWare Runner 1000V3	0
+v	1734	Fujitsu Siemens Computer GmbH	0
+d	17341078	Amilo Pro v2010	0
+d	17341085	Celsius M450	1
+v	1737	Linksys	0
+d	17370013	WMP54G Wireless Pci Card	0
+d	17370015	WMP54GS Wireless Pci Card	0
 d	17370029	WPG54G ver. 4 PCI Card	1	Wireless-G Notebook adapter 2.4GHz 802.11g
-d	17371032	Gigabit Network Adapter	0	
-s	1737103217370015	EG1032 v2 Instant Gigabit Network Adapter	0	
-s	1737103217370024	EG1032 v3 Instant Gigabit Network Adapter	0	
-d	17371064	Gigabit Network Adapter	0	
-s	1737106417370016	EG1064 v2 Instant Gigabit Network Adapter	0	
-d	1737ab08	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-d	1737ab09	21x4x DEC-Tulip compatible 10/100 Ethernet	0	
-v	173b	Altima (nee Broadcom)	0	
-d	173b03e0		1	
-d	173b03e8	AC1000 Gigabit Ethernet	0	
-d	173b03e9	AC1001 Gigabit Ethernet	0	
-d	173b03ea	AC9100 Gigabit Ethernet	0	
-d	173b03ea		1	
-s	173b03ea173b0001	AC1002	0	
-d	173b03eb		1	
-d	173b03eb	AC1003 Gigabit Ethernet	0	
-v	1743	Peppercon AG	0	
-d	17438139	ROL/F-100 Fast Ethernet Adapter with ROL	0	
-v	1749	RLX Technologies	0	
-v	174b	PC Partner Limited	0	
-v	174d	WellX Telecom SA	0	
-v	175c	AudioScience Inc	0	
-v	175e	Sanera Systems, Inc.	0	
-v	1775	SBS Technologies	0	
-v	1787	Hightech Information System Ltd.	0	
+d	17371032	Gigabit Network Adapter	0
+s	1737103217370015	EG1032 v2 Instant Gigabit Network Adapter	0
+s	1737103217370024	EG1032 v3 Instant Gigabit Network Adapter	0
+d	17371064	Gigabit Network Adapter	0
+s	1737106417370016	EG1064 v2 Instant Gigabit Network Adapter	0
+d	1737ab08	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+d	1737ab09	21x4x DEC-Tulip compatible 10/100 Ethernet	0
+v	173b	Altima (nee Broadcom)	0
+d	173b03e0		1
+d	173b03e8	AC1000 Gigabit Ethernet	0
+d	173b03e9	AC1001 Gigabit Ethernet	0
+d	173b03ea	AC9100 Gigabit Ethernet	0
+d	173b03ea		1
+s	173b03ea173b0001	AC1002	0
+d	173b03eb		1
+d	173b03eb	AC1003 Gigabit Ethernet	0
+v	1743	Peppercon AG	0
+d	17438139	ROL/F-100 Fast Ethernet Adapter with ROL	0
+v	1749	RLX Technologies	0
+v	174b	PC Partner Limited	0
+v	174d	WellX Telecom SA	0
+v	175c	AudioScience Inc	0
+v	175e	Sanera Systems, Inc.	0
+v	1775	SBS Technologies	0
+v	1787	Hightech Information System Ltd.	0
 v	1796	Research Centre Juelich	0	also used by Struck Innovative Systeme for joint developments
-d	17960001	SIS1100 [Gigabit link]	0	
-d	17960002	HOTlink	0	
-d	17960003	Counter Timer	0	
-d	17960004	CAMAC Controller	0	
-d	17960005	PROFIBUS	0	
-d	17960006	AMCC HOTlink	0	
-v	1797	JumpTec h, GMBH	0	
-v	1799	Belkin	0	
-d	17996001	Wireless PCI Card - F5D6001	0	
-d	17996020	Wireless PCMCIA Card - F5D6020	0	
-d	17996060	Wireless PDA Card - F5D6060	0	
-d	17997000	Wireless PCI Card - F5D7000	0	
-d	1799700a	Wireless PCI Card - F5D7000UK	0	
-d	1799700e	[Wireless PCI card part F5D7000uk ver 6(000)uk]  RaLink RT2561/RT61 ?	1	
-d	17997010	BCM4306 802.11b/g Wireless Lan Controller F5D7010	0	
-v	179c	Data Patterns	0	
-d	179c0557	DP-PCI-557 [PCI 1553B]	0	
-d	179c0566	DP-PCI-566 [Intelligent PCI 1553B]	0	
-d	179c5031	DP-CPCI-5031-Synchro Module	0	
-d	179c5121	DP-CPCI-5121-IP Carrier	0	
-d	179c5211	DP-CPCI-5211-IP Carrier	0	
-d	179c5679	AGE Display Module	0	
-v	17a0	Genesys Logic, Inc	0	
-d	17a08033	GL880S USB 1.1 controller	0	
-d	17a08034	GL880S USB 2.0 controller	0	
-v	17aa	Lenovo	0	
-v	17af	Hightech Information System Ltd.	0	
-v	17b3	Hawking Technologies	0	
-d	17b3ab08	PN672TX 10/100 Ethernet	0	
-v	17b4	Indra Networks, Inc.	0	
-d	17b40011	WebEnhance 100 GZIP Compression Card	0	
-v	17c0	Wistron Corp.	0	
-v	17c2	Newisys, Inc.	0	
-v	17cb	Airgo Networks Inc	0	
-d	17cb0001	AGN100 802.11 a/b/g True MIMO Wireless Card	0	
-d	17cb0002	AGN300 802.11 a/b/g True MIMO Wireless Card	0	
-v	17cc	NetChip Technology, Inc	0	
-d	17cc2280	USB 2.0	0	
-v	17cf	Z-Com, Inc.	0	
-v	17d3	Areca Technology Corp.	0	
-d	17d31110	ARC-1110 4-Port PCI-X to SATA RAID Controller	0	
-d	17d31120	ARC-1120 8-Port PCI-X to SATA RAID Controller	0	
-d	17d31130	ARC-1130 12-Port PCI-X to SATA RAID Controller	0	
-d	17d31160	ARC-1160 16-Port PCI-X to SATA RAID Controller	0	
-d	17d31210	ARC-1210 4-Port PCI-Express to SATA RAID Controller	0	
-d	17d31220	ARC-1220 8-Port PCI-Express to SATA RAID Controller	0	
-d	17d31230	ARC-1230 12-Port PCI-Express to SATA RAID Controller	0	
-d	17d31260	ARC-1260 16-Port PCI-Express to SATA RAID Controller	0	
-v	17d5	S2io Inc.	0	
-d	17d55831	Xframe 10 Gigabit Ethernet PCI-X	0	
-s	17d55831103c12d5	PCI-X 133MHz 10GbE SR Fiber	0	
-s	17d5583110a98020	Single Port 10 Gigabit Ethernet (PCI-X, Fiber)	0	
-s	17d5583110a98024	Single Port 10 Gigabit Ethernet (PCI-X, Fiber)	0	
-d	17d55832	Xframe II 10Gbps Ethernet	0	
-s	17d5583210a98021	Single Port 10 Gigabit Ethernet II (PCI-X, Fiber)	0	
-v	17db	Cray Inc	0	
+d	17960001	SIS1100 [Gigabit link]	0
+d	17960002	HOTlink	0
+d	17960003	Counter Timer	0
+d	17960004	CAMAC Controller	0
+d	17960005	PROFIBUS	0
+d	17960006	AMCC HOTlink	0
+v	1797	JumpTec h, GMBH	0
+v	1799	Belkin	0
+d	17996001	Wireless PCI Card - F5D6001	0
+d	17996020	Wireless PCMCIA Card - F5D6020	0
+d	17996060	Wireless PDA Card - F5D6060	0
+d	17997000	Wireless PCI Card - F5D7000	0
+d	1799700a	Wireless PCI Card - F5D7000UK	0
+d	1799700e	[Wireless PCI card part F5D7000uk ver 6(000)uk]  RaLink RT2561/RT61 ?	1
+d	17997010	BCM4306 802.11b/g Wireless Lan Controller F5D7010	0
+v	179c	Data Patterns	0
+d	179c0557	DP-PCI-557 [PCI 1553B]	0
+d	179c0566	DP-PCI-566 [Intelligent PCI 1553B]	0
+d	179c5031	DP-CPCI-5031-Synchro Module	0
+d	179c5121	DP-CPCI-5121-IP Carrier	0
+d	179c5211	DP-CPCI-5211-IP Carrier	0
+d	179c5679	AGE Display Module	0
+v	17a0	Genesys Logic, Inc	0
+d	17a08033	GL880S USB 1.1 controller	0
+d	17a08034	GL880S USB 2.0 controller	0
+v	17aa	Lenovo	0
+v	17af	Hightech Information System Ltd.	0
+v	17b3	Hawking Technologies	0
+d	17b3ab08	PN672TX 10/100 Ethernet	0
+v	17b4	Indra Networks, Inc.	0
+d	17b40011	WebEnhance 100 GZIP Compression Card	0
+v	17c0	Wistron Corp.	0
+v	17c2	Newisys, Inc.	0
+v	17cb	Airgo Networks Inc	0
+d	17cb0001	AGN100 802.11 a/b/g True MIMO Wireless Card	0
+d	17cb0002	AGN300 802.11 a/b/g True MIMO Wireless Card	0
+v	17cc	NetChip Technology, Inc	0
+d	17cc2280	USB 2.0	0
+v	17cf	Z-Com, Inc.	0
+v	17d3	Areca Technology Corp.	0
+d	17d31110	ARC-1110 4-Port PCI-X to SATA RAID Controller	0
+d	17d31120	ARC-1120 8-Port PCI-X to SATA RAID Controller	0
+d	17d31130	ARC-1130 12-Port PCI-X to SATA RAID Controller	0
+d	17d31160	ARC-1160 16-Port PCI-X to SATA RAID Controller	0
+d	17d31210	ARC-1210 4-Port PCI-Express to SATA RAID Controller	0
+d	17d31220	ARC-1220 8-Port PCI-Express to SATA RAID Controller	0
+d	17d31230	ARC-1230 12-Port PCI-Express to SATA RAID Controller	0
+d	17d31260	ARC-1260 16-Port PCI-Express to SATA RAID Controller	0
+v	17d5	S2io Inc.	0
+d	17d55831	Xframe 10 Gigabit Ethernet PCI-X	0
+s	17d55831103c12d5	PCI-X 133MHz 10GbE SR Fiber	0
+s	17d5583110a98020	Single Port 10 Gigabit Ethernet (PCI-X, Fiber)	0
+s	17d5583110a98024	Single Port 10 Gigabit Ethernet (PCI-X, Fiber)	0
+d	17d55832	Xframe II 10Gbps Ethernet	0
+s	17d5583210a98021	Single Port 10 Gigabit Ethernet II (PCI-X, Fiber)	0
+v	17db	Cray Inc	0
 d	17db0101	XT Series [Seastar] 3D Toroidal Router	1	Version 1.2
 d	17db0201	XT Series [Seastar] 3D Toroidal Router with RMA	1	Version 2.1
 d	17db0202	XT Series [Seastar] 3D Toroidal Router with RMA	1	Version 2.2
-v	17de	KWorld Computer Co. Ltd.	0	
-v	17e4	Sectra AB	0	
-d	17e40001	KK671 Cardbus encryption board	0	
-d	17e40002	KK672 Cardbus encryption board	0	
-v	17e6	Entropic Communications Inc.	0	
-d	17e60010	EN2010 [c.Link] MoCA Network Controller (Coax, PCI interface)	0	
-d	17e60011	EN2010 [c.Link] MoCA Network Controller (Coax, MPEG interface)	0	
-d	17e60021	EN2210 [c.Link] MoCA Network Controller (Coax)	0	
-v	17ee	Connect Components Ltd	0	
-v	17f2	Albatron Corp.	0	
-v	17f3	RDC Semiconductor, Inc.	1	
-d	17f36020	R6020 North Bridge	1	
-d	17f36030	R6030 ISA Bridge	1	
-d	17f36040	R6040 MAC Controller	1	
-d	17f36060	R6060 USB 1.1 Controller	1	
-d	17f36061	R6061 USB 2.0 Controller	1	
-v	17fe	Linksys, A Division of Cisco Systems	0	
-d	17fe2120	WMP11v4 802.11b PCI card	0	
-d	17fe2220	[AirConn] INPROCOMM IPN 2220 Wireless LAN Adapter (rev 01)	0	
-s	17fe222017fe2220	WPC54G ver. 4	0	
-v	17ff	Benq Corporation	0	
-v	1809	Lumanate, Inc.	0	
-v	1813	Ambient Technologies Inc	0	
-d	18134000	HaM controllerless modem	0	
-s	1813400016be0001	V9x HAM Data Fax Modem	0	
-d	18134100	HaM plus Data Fax Modem	0	
-s	1813410016be0002	V9x HAM 1394	0	
-v	1814	RaLink	0	
-d	18140101	Wireless PCI Adapter RT2400 / RT2460	0	
-s	1814010110430127	WiFi-b add-on Card	0	
-s	1814010114626828	PC11B2 (MS-6828) Wireless 11b PCI Card	0	
-d	18140200	RT2500 802.11g PCI [PC54G2]	0	
-d	18140201	RT2500 802.11g Cardbus/mini-PCI	0	
-s	181402011043130f	WL-130g	0	
-s	181402011371001e	CWC-854 Wireless-G CardBus Adapter	0	
-s	181402011371001f	CWM-854 Wireless-G Mini PCI Adapter	0	
-s	1814020113710020	CWP-854 Wireless-G PCI Adapter	0	
-s	181402011458e381	GN-WMKG 802.11b/g Wireless CardBus Adapter	0	
-s	181402011458e931	GN-WIKG 802.11b/g mini-PCI Adapter	0	
-s	1814020114626835	Wireless 11G CardBus CB54G2	0	
-s	1814020117370032	WMP54G 2.0 PCI Adapter	0	
-s	181402011799700a	F5D7000 Wireless G Desktop Network Card	0	
-s	181402011799701a	F5D7010 Wireless G Notebook Network Card	0	
-s	18140201185f22a0	CN-WF513 Wireless Cardbus Adapter	0	
-d	18140301	RT2561/RT61 802.11g PCI	0	
-d	18140301		1	
-s	1814030111863c08	DWL-G630 Rev E	0	
-s	1814030111863c09	DWL-G510 Rev C	0	
+v	17de	KWorld Computer Co. Ltd.	0
+v	17e4	Sectra AB	0
+d	17e40001	KK671 Cardbus encryption board	0
+d	17e40002	KK672 Cardbus encryption board	0
+v	17e6	Entropic Communications Inc.	0
+d	17e60010	EN2010 [c.Link] MoCA Network Controller (Coax, PCI interface)	0
+d	17e60011	EN2010 [c.Link] MoCA Network Controller (Coax, MPEG interface)	0
+d	17e60021	EN2210 [c.Link] MoCA Network Controller (Coax)	0
+v	17ee	Connect Components Ltd	0
+v	17f2	Albatron Corp.	0
+v	17f3	RDC Semiconductor, Inc.	1
+d	17f36020	R6020 North Bridge	1
+d	17f36030	R6030 ISA Bridge	1
+d	17f36040	R6040 MAC Controller	1
+d	17f36060	R6060 USB 1.1 Controller	1
+d	17f36061	R6061 USB 2.0 Controller	1
+v	17fe	Linksys, A Division of Cisco Systems	0
+d	17fe2120	WMP11v4 802.11b PCI card	0
+d	17fe2220	[AirConn] INPROCOMM IPN 2220 Wireless LAN Adapter (rev 01)	0
+s	17fe222017fe2220	WPC54G ver. 4	0
+v	17ff	Benq Corporation	0
+v	1809	Lumanate, Inc.	0
+v	1813	Ambient Technologies Inc	0
+d	18134000	HaM controllerless modem	0
+s	1813400016be0001	V9x HAM Data Fax Modem	0
+d	18134100	HaM plus Data Fax Modem	0
+s	1813410016be0002	V9x HAM 1394	0
+v	1814	RaLink	0
+d	18140101	Wireless PCI Adapter RT2400 / RT2460	0
+s	1814010110430127	WiFi-b add-on Card	0
+s	1814010114626828	PC11B2 (MS-6828) Wireless 11b PCI Card	0
+d	18140200	RT2500 802.11g PCI [PC54G2]	0
+d	18140201	RT2500 802.11g Cardbus/mini-PCI	0
+s	181402011043130f	WL-130g	0
+s	181402011371001e	CWC-854 Wireless-G CardBus Adapter	0
+s	181402011371001f	CWM-854 Wireless-G Mini PCI Adapter	0
+s	1814020113710020	CWP-854 Wireless-G PCI Adapter	0
+s	181402011458e381	GN-WMKG 802.11b/g Wireless CardBus Adapter	0
+s	181402011458e931	GN-WIKG 802.11b/g mini-PCI Adapter	0
+s	1814020114626835	Wireless 11G CardBus CB54G2	0
+s	1814020117370032	WMP54G 2.0 PCI Adapter	0
+s	181402011799700a	F5D7000 Wireless G Desktop Network Card	0
+s	181402011799701a	F5D7010 Wireless G Notebook Network Card	0
+s	18140201185f22a0	CN-WF513 Wireless Cardbus Adapter	0
+d	18140301	RT2561/RT61 802.11g PCI	0
+d	18140301		1
+s	1814030111863c08	DWL-G630 Rev E	0
+s	1814030111863c09	DWL-G510 Rev C	0
 s	181403011458e934	GN-WP01GS	1	Gigabyte Technology Aircruiser G
-s	1814030117370055	WMP54G ver 4.1	0	
-s	1814030118140201	WMP54G-FR	1	
-s	1814030118140201		1	
-s	1814030118140201	WMP54G	1	
-s	1814030118140301		1	
-d	18140302	RT2561/RT61 rev B 802.11g	0	
-s	1814030211863c08	DWL-G630 Rev E	0	
-s	1814030211863c09	DWL-G510 Rev C	0	
-s	181403021462b834	PC54G3 Wireless 11g PCI Card	1	
-d	18140401	Ralink RT2600 802.11 MIMO	0	
-v	1820	InfiniCon Systems Inc.	0	
-v	1822	Twinhan Technology Co. Ltd	0	
-d	18224e35	Mantis DTV PCI Bridge Controller [Ver 1.0]	0	
-v	182d	SiteCom Europe BV	0	
+s	1814030117370055	WMP54G ver 4.1	0
+s	1814030118140201	WMP54G-FR	1
+s	1814030118140201		1
+s	1814030118140201	WMP54G	1
+s	1814030118140301		1
+d	18140302	RT2561/RT61 rev B 802.11g	0
+s	1814030211863c08	DWL-G630 Rev E	0
+s	1814030211863c09	DWL-G510 Rev C	0
+s	181403021462b834	PC54G3 Wireless 11g PCI Card	1
+d	18140401	Ralink RT2600 802.11 MIMO	0
+v	1820	InfiniCon Systems Inc.	0
+v	1822	Twinhan Technology Co. Ltd	0
+d	18224e35	Mantis DTV PCI Bridge Controller [Ver 1.0]	0
+v	182d	SiteCom Europe BV	0
 d	182d3069	ISDN PCI DC-105V2	0	HFC-based ISDN card
-d	182d9790	WL-121 Wireless Network Adapter 100g+ [Ver.3]	0	
-v	182e	Raza Microelectronics, Inc.	0	
-d	182e0008	XLR516 Processor	0	
-v	1830	Credence Systems Corporation	0	
-v	183b	MikroM GmbH	0	
-d	183b08a7	MVC100 DVI	0	
-d	183b08a8	MVC101 SDI	0	
-d	183b08a9	MVC102 DVI+Audio	0	
-d	183b08b0	MVC200-DC	0	
-v	1849	ASRock Incorporation	0	
-v	184a	Thales Computers	0	
-v	1851	Microtune, Inc.	0	
-v	1852	Anritsu Corp.	0	
-v	1853	SMSC Automotive Infotainment System Group	0	
-v	1854	LG Electronics, Inc.	0	
-v	185b	Compro Technology, Inc.	0	
-v	185f	Wistron NeWeb Corp.	0	
-v	1864	SilverBack	0	
-d	18642110	ISNAP 2110	0	
-v	1867	Topspin Communications	0	
-d	18675a44	MT23108 InfiniHost HCA	0	
-d	18675a45	MT23108 InfiniHost HCA flash recovery	0	
-d	18675a46	MT23108 InfiniHost HCA bridge	0	
-d	18676278	MT25208 InfiniHost III Ex (Tavor compatibility mode)	0	
-d	18676282	MT25208 InfiniHost III Ex	0	
-v	187e	ZyXEL Communication Corporation	0	
-d	187e3403	ZyAir G-110 802.11g	0	
-d	187e340e	M-302 802.11g XtremeMIMO	0	
-v	1885	Avvida Systems Inc.	0	
-v	1888	Varisys Ltd	0	
-d	18880301	VMFX1 FPGA PMC module	0	
-d	18880601	VSM2 dual PMC carrier	0	
-d	18880710	VS14x series PowerPC PCI board	0	
-d	18880720	VS24x series PowerPC PCI board	0	
-v	188a	Ample Communications, Inc	0	
-v	1890	Egenera, Inc.	0	
-v	1894	KNC One	0	
-v	1896	B&B Electronics Manufacturing Company, Inc.	0	
-v	18a1	Astute Networks Inc.	0	
-v	18ac	DViCO Corporation	0	
-d	18acd500	FusionHDTV 5	0	
-d	18acd800	FusionHDTV 3 Gold	0	
-d	18acd810	FusionHDTV 3 Gold-Q	0	
-d	18acd820	FusionHDTV 3 Gold-T	0	
-v	18b8	Ammasso	0	
-d	18b8b001	AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor	0	
-v	18bc	Info-Tek Corp.	0	
-v	18c3	Micronas Semiconductor Holding AG	0	
+d	182d9790	WL-121 Wireless Network Adapter 100g+ [Ver.3]	0
+v	182e	Raza Microelectronics, Inc.	0
+d	182e0008	XLR516 Processor	0
+v	1830	Credence Systems Corporation	0
+v	183b	MikroM GmbH	0
+d	183b08a7	MVC100 DVI	0
+d	183b08a8	MVC101 SDI	0
+d	183b08a9	MVC102 DVI+Audio	0
+d	183b08b0	MVC200-DC	0
+v	1849	ASRock Incorporation	0
+v	184a	Thales Computers	0
+v	1851	Microtune, Inc.	0
+v	1852	Anritsu Corp.	0
+v	1853	SMSC Automotive Infotainment System Group	0
+v	1854	LG Electronics, Inc.	0
+v	185b	Compro Technology, Inc.	0
+v	185f	Wistron NeWeb Corp.	0
+v	1864	SilverBack	0
+d	18642110	ISNAP 2110	0
+v	1867	Topspin Communications	0
+d	18675a44	MT23108 InfiniHost HCA	0
+d	18675a45	MT23108 InfiniHost HCA flash recovery	0
+d	18675a46	MT23108 InfiniHost HCA bridge	0
+d	18676278	MT25208 InfiniHost III Ex (Tavor compatibility mode)	0
+d	18676282	MT25208 InfiniHost III Ex	0
+v	187e	ZyXEL Communication Corporation	0
+d	187e3403	ZyAir G-110 802.11g	0
+d	187e340e	M-302 802.11g XtremeMIMO	0
+v	1885	Avvida Systems Inc.	0
+v	1888	Varisys Ltd	0
+d	18880301	VMFX1 FPGA PMC module	0
+d	18880601	VSM2 dual PMC carrier	0
+d	18880710	VS14x series PowerPC PCI board	0
+d	18880720	VS24x series PowerPC PCI board	0
+v	188a	Ample Communications, Inc	0
+v	1890	Egenera, Inc.	0
+v	1894	KNC One	0
+v	1896	B&B Electronics Manufacturing Company, Inc.	0
+v	18a1	Astute Networks Inc.	0
+v	18ac	DViCO Corporation	0
+d	18acd500	FusionHDTV 5	0
+d	18acd800	FusionHDTV 3 Gold	0
+d	18acd810	FusionHDTV 3 Gold-Q	0
+d	18acd820	FusionHDTV 3 Gold-T	0
+v	18b8	Ammasso	0
+d	18b8b001	AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor	0
+v	18bc	Info-Tek Corp.	0
+v	18c3	Micronas Semiconductor Holding AG	0
 v	18c8	Cray Inc	0	Nee Octigabay System
-v	18c9	ARVOO Engineering BV	0	
-v	18ca	XGI - Xabre Graphics Inc	0	
+v	18c9	ARVOO Engineering BV	0
+v	18ca	XGI - Xabre Graphics Inc	0
 v	18ca	XGI Technology Inc. (eXtreme Graphics Innovation)	1	Was wrong company name
-d	18ca0020	Volari Z7	0	
-d	18ca0040	Volari V3XT/V5/V8	0	
+d	18ca0020	Volari Z7	0
+d	18ca0040	Volari V3XT/V5/V8	0
 d	18ca0047	Volari 8300 (chip: XP10, codename: XG47)	1	New videocard
-v	18d2	Sitecom	0	
+v	18d2	Sitecom	0
 d	18d23069	DC-105v2 ISDN controller	0	Sitecom HFC-S based ISDN controller card DC-105v2
-v	18dd	Artimi Inc	0	
-d	18dd4c6f	Artimi RTMI-100 UWB adapter	0	
-v	18e6	MPL AG	0	
-d	18e60001	OSCI [Octal Serial Communication Interface]	0	
-v	18ec	Cesnet, z.s.p.o.	0	
-d	18ecc006	COMBO6	0	
-s	18ecc00618ecd001	COMBO-4MTX	0	
-s	18ecc00618ecd002	COMBO-4SFP	0	
-s	18ecc00618ecd003	COMBO-4SFPRO	0	
-s	18ecc00618ecd004	COMBO-2XFP	0	
-d	18ecc045	COMBO6E	0	
-d	18ecc050	COMBO-PTM	0	
-d	18ecc058	COMBO6X	0	
-s	18ecc05818ecd001	COMBO-4MTX	0	
-s	18ecc05818ecd002	COMBO-4SFP	0	
-s	18ecc05818ecd003	COMBO-4SFPRO	0	
-s	18ecc05818ecd004	COMBO-2XFP	0	
-v	18f6	NextIO	0	
-d	18f61000	[Nexsis] Switch Virtual P2P PCIe Bridge	0	
-d	18f61050	[Nexsis] Switch Virtual P2P PCI Bridge	0	
-d	18f62000	[Nexsis] Switch Integrated Mgmt. Endpoint	0	
-v	18f7	Commtech, Inc.	0	
-d	18f70001	Fastcom ESCC-PCI-335	0	
-d	18f70002	Fastcom 422/4-PCI-335	0	
-d	18f70004	Fastcom 422/2-PCI-335	0	
-d	18f70005	Fastcom IGESCC-PCI-ISO/1	0	
-d	18f7000a	Fastcom 232/4-PCI-335	0	
-v	18fb	Resilience Corporation	0	
-v	1904	Hangzhou Silan Microelectronics Co., Ltd.	0	
-d	19048139	RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor	0	
-v	1923	Sangoma Technologies Corp.	0	
-d	19230040	A200/Remora FXO/FXS Analog AFT card	0	
-d	19230100	A104d QUAD T1/E1 AFT card	0	
-d	19230300	A101 single-port T1/E1	0	
-d	19230400	A104u Quad T1/E1 AFT	0	
-v	1924	Level 5 Networks Inc.	0	
+v	18dd	Artimi Inc	0
+d	18dd4c6f	Artimi RTMI-100 UWB adapter	0
+v	18e6	MPL AG	0
+d	18e60001	OSCI [Octal Serial Communication Interface]	0
+v	18ec	Cesnet, z.s.p.o.	0
+d	18ecc006	COMBO6	0
+s	18ecc00618ecd001	COMBO-4MTX	0
+s	18ecc00618ecd002	COMBO-4SFP	0
+s	18ecc00618ecd003	COMBO-4SFPRO	0
+s	18ecc00618ecd004	COMBO-2XFP	0
+d	18ecc045	COMBO6E	0
+d	18ecc050	COMBO-PTM	0
+d	18ecc058	COMBO6X	0
+s	18ecc05818ecd001	COMBO-4MTX	0
+s	18ecc05818ecd002	COMBO-4SFP	0
+s	18ecc05818ecd003	COMBO-4SFPRO	0
+s	18ecc05818ecd004	COMBO-2XFP	0
+v	18f6	NextIO	0
+d	18f61000	[Nexsis] Switch Virtual P2P PCIe Bridge	0
+d	18f61050	[Nexsis] Switch Virtual P2P PCI Bridge	0
+d	18f62000	[Nexsis] Switch Integrated Mgmt. Endpoint	0
+v	18f7	Commtech, Inc.	0
+d	18f70001	Fastcom ESCC-PCI-335	0
+d	18f70002	Fastcom 422/4-PCI-335	0
+d	18f70004	Fastcom 422/2-PCI-335	0
+d	18f70005	Fastcom IGESCC-PCI-ISO/1	0
+d	18f7000a	Fastcom 232/4-PCI-335	0
+v	18fb	Resilience Corporation	0
+v	1904	Hangzhou Silan Microelectronics Co., Ltd.	0
+d	19048139	RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor	0
+v	1923	Sangoma Technologies Corp.	0
+d	19230040	A200/Remora FXO/FXS Analog AFT card	0
+d	19230100	A104d QUAD T1/E1 AFT card	0
+d	19230300	A101 single-port T1/E1	0
+d	19230400	A104u Quad T1/E1 AFT	0
+v	1924	Level 5 Networks Inc.	0
 v	1924	Solarflare Communications	1	Level 5 Networks Inc name change resulting from merger with Solarflare
-v	192e	TransDimension	0	
-v	1931	Option N.V.	0	
-d	1931000c	Qualcomm MSM6275 UMTS chip	0	
-v	1942	ClearSpeed Technology plc	0	
-d	1942e511	CSX600 Advance Accelerator Board	0	
-v	194a	DapTechnology B.V.	0	
-d	194a1111	FireSpy3850	0	
-d	194a1112	FireSpy450b	0	
-d	194a1113	FireSpy450bT	0	
-d	194a1114	FireSpy850	0	
-d	194a1115	FireSpy850bT	0	
-v	1957	Freescale Semiconductor Inc	0	
-d	19570012	MPC8548 [PowerQUICC III]	0	
-d	19570080	MPC8349E	0	
-d	19570081	MPC8349	0	
-d	19570082	MPC8347E TBGA	0	
-d	19570083	MPC8347 TBGA	0	
-d	19570084	MPC8347E PBGA	0	
-d	19570085	MPC8347 PBGA	0	
-d	19570086	MPC8343E	0	
-d	19570087	MPC8343	0	
-v	1958	Faster Technology, LLC.	0	
-v	1966	Orad Hi-Tec Systems	0	
-d	19661975	DVG64 family	0	
-v	1969	Attansic Technology Corp.	0	
-d	19691048	L1 Gigabit Ethernet Adapter	0	
-v	196a	Sensory Networks Inc.	0	
-d	196a0101	NodalCore C-1000 Content Classification Accelerator	0	
-d	196a0102	NodalCore C-2000 Content Classification Accelerator	0	
-d	196a0105	NodalCore C-3000 Content Classification Accelerator	1	
-v	196d	Club-3D BV	0	
+v	192e	TransDimension	0
+v	1931	Option N.V.	0
+d	1931000c	Qualcomm MSM6275 UMTS chip	0
+v	1942	ClearSpeed Technology plc	0
+d	1942e511	CSX600 Advance Accelerator Board	0
+v	194a	DapTechnology B.V.	0
+d	194a1111	FireSpy3850	0
+d	194a1112	FireSpy450b	0
+d	194a1113	FireSpy450bT	0
+d	194a1114	FireSpy850	0
+d	194a1115	FireSpy850bT	0
+v	1957	Freescale Semiconductor Inc	0
+d	19570012	MPC8548 [PowerQUICC III]	0
+d	19570080	MPC8349E	0
+d	19570081	MPC8349	0
+d	19570082	MPC8347E TBGA	0
+d	19570083	MPC8347 TBGA	0
+d	19570084	MPC8347E PBGA	0
+d	19570085	MPC8347 PBGA	0
+d	19570086	MPC8343E	0
+d	19570087	MPC8343	0
+v	1958	Faster Technology, LLC.	0
+v	1966	Orad Hi-Tec Systems	0
+d	19661975	DVG64 family	0
+v	1969	Attansic Technology Corp.	0
+d	19691048	L1 Gigabit Ethernet Adapter	0
+v	196a	Sensory Networks Inc.	0
+d	196a0101	NodalCore C-1000 Content Classification Accelerator	0
+d	196a0102	NodalCore C-2000 Content Classification Accelerator	0
+d	196a0105	NodalCore C-3000 Content Classification Accelerator	1
+v	196d	Club-3D BV	0
 v	1971	AGEIA Technologies, Inc.	1	Producer of Physics Processing Units (PPU)
 d	19711011	Physics Processing Unit [PhysX]	1	First generation Physics Processing Unit by AGEIA
 s	1971101110430001	PhysX P1	1	PPU board using AGEIA PhysX made by ASUS
-v	197b	JMicron Technologies, Inc.	0	
-d	197b2360	JMicron 20360/20363 AHCI Controller	0	
-d	197b2361	JMB361 AHCI/IDE	0	
-s	197b236114627235	P965 Neo MS-7235 mainboard	1	
-d	197b2363	JMicron 20360/20363 AHCI Controller	0	
-d	197b2365	JMB365 AHCI/IDE	0	
-d	197b2366	JMB366 AHCI/IDE	0	
-d	197b2368	JMB368 IDE controller	1	
-v	1989	Montilio Inc.	0	
-d	19890001	RapidFile Bridge	0	
-d	19898001	RapidFile	0	
-v	1993	Innominate Security Technologies AG	0	
-v	199a	Pulse-LINK, Inc.	0	
-v	19a2	ServerEngines LLC	1	
-d	19a20200	BladeEngine 10Gb PCI-E iSCSI adapter	1	
-d	19a20201	BladeEngine 10Gb PCI-E Network Adpater	1	
-v	19a8	DAQDATA GmbH	0	
-v	19ac	Kasten Chase Applied Research	0	
-d	19ac0001	ACA2400 Crypto Accelerator	0	
-v	19ae	Progeny Systems Corporation	0	
-d	19ae0520	4135 HFT Interface Controller	0	
-v	19d4	Quixant Limited	0	
-v	19e2	Vector Informatik GmbH	0	
-v	19e7	NET (Network Equipment Technologies)	0	
-d	19e71001	STIX DSP Card	0	
-d	19e71002	STIX - 1 Port T1/E1 Card	0	
-d	19e71003	STIX - 2 Port T1/E1 Card	0	
-d	19e71004	STIX - 4 Port T1/E1 Card	0	
-d	19e71005	STIX - 4 Port FXS Card	0	
-v	1a03	ASPEED Technology, Inc.	0	
-d	1a032000	AST2000	0	
-v	1a07	Kvaser AB	1	
-d	1a070006	CAN interface PC104+ HS/HS	1	
-d	1a070007	CAN interface PCIcanx II HS or HS/HS	1	
-v	1a08	Sierra semiconductor	0	
-d	1a080000	SC15064	0	
-v	1a1d	GFaI e.V.	0	
-v	1a29	Fortinet, Inc.	0	
-v	1a51	Hectronic AB	0	
+v	197b	JMicron Technologies, Inc.	0
+d	197b2360	JMicron 20360/20363 AHCI Controller	0
+d	197b2361	JMB361 AHCI/IDE	0
+s	197b236114627235	P965 Neo MS-7235 mainboard	1
+d	197b2363	JMicron 20360/20363 AHCI Controller	0
+d	197b2365	JMB365 AHCI/IDE	0
+d	197b2366	JMB366 AHCI/IDE	0
+d	197b2368	JMB368 IDE controller	1
+v	1989	Montilio Inc.	0
+d	19890001	RapidFile Bridge	0
+d	19898001	RapidFile	0
+v	1993	Innominate Security Technologies AG	0
+v	199a	Pulse-LINK, Inc.	0
+v	19a2	ServerEngines LLC	1
+d	19a20200	BladeEngine 10Gb PCI-E iSCSI adapter	1
+d	19a20201	BladeEngine 10Gb PCI-E Network Adpater	1
+v	19a8	DAQDATA GmbH	0
+v	19ac	Kasten Chase Applied Research	0
+d	19ac0001	ACA2400 Crypto Accelerator	0
+v	19ae	Progeny Systems Corporation	0
+d	19ae0520	4135 HFT Interface Controller	0
+v	19d4	Quixant Limited	0
+v	19e2	Vector Informatik GmbH	0
+v	19e7	NET (Network Equipment Technologies)	0
+d	19e71001	STIX DSP Card	0
+d	19e71002	STIX - 1 Port T1/E1 Card	0
+d	19e71003	STIX - 2 Port T1/E1 Card	0
+d	19e71004	STIX - 4 Port T1/E1 Card	0
+d	19e71005	STIX - 4 Port FXS Card	0
+v	1a03	ASPEED Technology, Inc.	0
+d	1a032000	AST2000	0
+v	1a07	Kvaser AB	1
+d	1a070006	CAN interface PC104+ HS/HS	1
+d	1a070007	CAN interface PCIcanx II HS or HS/HS	1
+v	1a08	Sierra semiconductor	0
+d	1a080000	SC15064	0
+v	1a1d	GFaI e.V.	0
+v	1a29	Fortinet, Inc.	0
+v	1a51	Hectronic AB	0
 v	1a5d	Celoxica	1	http://www.celoxica.com/
-v	1a71	XenSource, Inc.	1	
-v	1a73	Violin Technologies, Inc	1	
-v	1a77	Lightfleet Corporation	1	
+v	1a71	XenSource, Inc.	1
+v	1a73	Violin Technologies, Inc	1
+v	1a77	Lightfleet Corporation	1
 v	1a8c	Verigy Pte. Ltd.	1	http://www.verigy.com/
-v	1b13	Jaton Corp	0	
-v	1c1c	Symphony	0	
-d	1c1c0001	82C101	0	
-v	1d44	DPT	0	
-d	1d44a400	PM2x24/PM3224	0	
-v	1de1	Tekram Technology Co.,Ltd.	0	
-d	1de10391	TRM-S1040	0	
-d	1de12020	DC-390	0	
-d	1de1690c	690c	0	
-d	1de1dc29	DC290	0	
-v	1fc0	Tumsan Oy	0	
-d	1fc00300	E2200 Dual E1/Rawpipe Card	0	
-v	1fc1	PathScale, Inc	0	
-d	1fc1000d	InfiniPath HT-400	0	
-d	1fc10010	InfiniPath PE-800	0	
-v	1fce	Cognio Inc.	0	
-d	1fce0001	Spectrum Analyzer PC Card (SAgE)	0	
-v	2000	Smart Link Ltd.	0	
-v	2001	Temporal Research Ltd	0	
-v	2001	uma	1	
-v	2003	Smart Link Ltd.	0	
-v	2004	Smart Link Ltd.	0	
-v	21c3	21st Century Computer Corp.	0	
+v	1b13	Jaton Corp	0
+v	1c1c	Symphony	0
+d	1c1c0001	82C101	0
+v	1d44	DPT	0
+d	1d44a400	PM2x24/PM3224	0
+v	1de1	Tekram Technology Co.,Ltd.	0
+d	1de10391	TRM-S1040	0
+d	1de12020	DC-390	0
+d	1de1690c	690c	0
+d	1de1dc29	DC290	0
+v	1fc0	Tumsan Oy	0
+d	1fc00300	E2200 Dual E1/Rawpipe Card	0
+v	1fc1	PathScale, Inc	0
+d	1fc1000d	InfiniPath HT-400	0
+d	1fc10010	InfiniPath PE-800	0
+v	1fce	Cognio Inc.	0
+d	1fce0001	Spectrum Analyzer PC Card (SAgE)	0
+v	2000	Smart Link Ltd.	0
+v	2001	Temporal Research Ltd	0
+v	2001	uma	1
+v	2003	Smart Link Ltd.	0
+v	2004	Smart Link Ltd.	0
+v	21c3	21st Century Computer Corp.	0
 v	22b8	Motorola, Inc.	0	(Probably only the Mobile Phone Division)
-v	2348	Racore	0	
-d	23482010	8142 100VG/AnyLAN	0	
-v	2646	Kingston Technologies	0	
-v	270b	Xantel Corporation	0	
-v	270f	Chaintech Computer Co. Ltd	0	
-v	2711	AVID Technology Inc.	0	
-v	2a15	3D Vision(?)	0	
-v	3000	Hansol Electronics Inc.	0	
-v	3059		1	
+v	2348	Racore	0
+d	23482010	8142 100VG/AnyLAN	0
+v	2646	Kingston Technologies	0
+v	270b	Xantel Corporation	0
+v	270f	Chaintech Computer Co. Ltd	0
+v	2711	AVID Technology Inc.	0
+v	2a15	3D Vision(?)	0
+v	3000	Hansol Electronics Inc.	0
+v	3059		1
 v	3136	Audiotrack	1	Audiotrack. a brand of Ego Systems
-v	3142	Post Impression Systems.	0	
-v	3344		1	
-v	3388	Hint Corp	0	
-d	33880013	HiNT HC4 PCI to ISDN bridge, Multimedia audio controller	0	
-d	33880014	HiNT HC4 PCI to ISDN bridge, Network controller	0	
-d	33880020	HB6 Universal PCI-PCI bridge (transparent mode)	0	
-d	33880021	HB6 Universal PCI-PCI bridge (non-transparent mode)	0	
-s	338800211775c200	C2K CompactPCI interface bridge	1	
-s	338800211775ce90	CE9	0	
-s	338800214c531050	CT7 mainboard	0	
-s	338800214c531080	CT8 mainboard	0	
-s	338800214c531090	Cx9 mainboard	0	
-s	338800214c5310a0	CA3/CR3 mainboard	0	
-s	338800214c533010	PPCI mezzanine (32-bit PMC)	0	
-s	338800214c533011	PPCI mezzanine (64-bit PMC)	0	
-s	338800214c534000	PMCCARR1 carrier board	0	
-d	33880022	HiNT HB4 PCI-PCI Bridge (PCI6150)	0	
-d	33880026	HB2 PCI-PCI Bridge	0	
-d	33881000		1	
-d	3388101a	E.Band [AudioTrak Inca88]	0	
-d	3388101b	E.Band [AudioTrak Inca88]	0	
-d	33888011	VXPro II Chipset	0	
-s	3388801133888011	VXPro II Chipset CPU to PCI Bridge	0	
-d	33888012	VXPro II Chipset	0	
-s	3388801233888012	VXPro II Chipset PCI to ISA Bridge	0	
-d	33888013	VXPro II IDE	0	
-s	3388801333888013	VXPro II Chipset EIDE Controller	0	
-v	3411	Quantum Designs (H.K.) Inc	0	
-v	3513	ARCOM Control Systems Ltd	0	
-v	3842	eVga.com. Corp.	0	
-d	3842c370	e-GeFORCE 6600 256 DDR PCI-e	0	
-v	38ef	4Links	0	
-v	3d3d	3DLabs	0	
-d	3d3d0001	GLINT 300SX	0	
-d	3d3d0002	GLINT 500TX	0	
-s	3d3d000200000000	GLoria L	0	
-d	3d3d0003	GLINT Delta	0	
-s	3d3d000300000000	GLoria XL	0	
-d	3d3d0004	Permedia	0	
-d	3d3d0005	Permedia	0	
-d	3d3d0006	GLINT MX	0	
-s	3d3d000600000000	GLoria XL	0	
-s	3d3d000610480a42	GLoria XXL	0	
-d	3d3d0007	3D Extreme	0	
-d	3d3d0008	GLINT Gamma G1	0	
-s	3d3d000810480a42	GLoria XXL	0	
-d	3d3d0009	Permedia II 2D+3D	0	
-s	3d3d000910400011	AccelStar II	0	
-s	3d3d000910480a42	GLoria XXL	0	
-s	3d3d000913e91000	6221L-4U	0	
-s	3d3d00093d3d0100	AccelStar II 3D Accelerator	0	
-s	3d3d00093d3d0111	Permedia 3:16	0	
-s	3d3d00093d3d0114	Santa Ana	0	
-s	3d3d00093d3d0116	Oxygen GVX1	0	
-s	3d3d00093d3d0119	Scirocco	0	
-s	3d3d00093d3d0120	Santa Ana PCL	0	
-s	3d3d00093d3d0125	Oxygen VX1	0	
-s	3d3d00093d3d0127	Permedia3 Create!	0	
-d	3d3d000a	GLINT R3	0	
-s	3d3d000a3d3d0121	Oxygen VX1	0	
-d	3d3d000c	GLINT R3 [Oxygen VX1]	0	
-s	3d3d000c3d3d0144	Oxygen VX1-4X AGP [Permedia 4]	0	
-d	3d3d000d	GLint R4 rev A	0	
-d	3d3d0011	GLint R4 rev B	0	
-d	3d3d0012	GLint R5 rev A	0	
-d	3d3d0013	GLint R5 rev B	0	
-d	3d3d0020	VP10 visual processor	0	
-d	3d3d0022	VP10 visual processor	0	
-d	3d3d0024	VP9 visual processor	0	
-d	3d3d0100	Permedia II 2D+3D	0	
-d	3d3d07a1	Wildcat III 6210	0	
-d	3d3d07a2	Sun XVR-500 Graphics Accelerator	0	
-d	3d3d07a3	Wildcat IV 7210	0	
-d	3d3d1004	Permedia	0	
-d	3d3d3d04	Permedia	0	
-d	3d3dffff	Glint VGA	0	
-v	4005	Avance Logic Inc.	0	
-d	40050300	ALS300 PCI Audio Device	0	
-d	40050308	ALS300+ PCI Audio Device	0	
-d	40050309	PCI Input Controller	0	
-d	40051064	ALG-2064	0	
-d	40052064	ALG-2064i	0	
-d	40052128	ALG-2364A GUI Accelerator	0	
-d	40052301	ALG-2301	0	
-d	40052302	ALG-2302	0	
-d	40052303	AVG-2302 GUI Accelerator	0	
-d	40052364	ALG-2364A	0	
-d	40052464	ALG-2464	0	
-d	40052501	ALG-2564A/25128A	0	
-d	40054000	ALS4000 Audio Chipset	0	
-s	4005400040054000	ALS4000 Audio Chipset	0	
-d	40054710	ALC200/200P	0	
-v	4033	Addtron Technology Co, Inc.	0	
-d	40331360	RTL8139 Ethernet	0	
-v	4143	Digital Equipment Corp	0	
-v	4144	Alpha Data	0	
-d	41440044	ADM-XRCIIPro	0	
-v	4148		1	
-v	416c	Aladdin Knowledge Systems	0	
-d	416c0100	AladdinCARD	0	
-d	416c0200	CPC	0	
-v	4321	Tata Power Strategic Electronics Division	0	
+v	3142	Post Impression Systems.	0
+v	3344		1
+v	3388	Hint Corp	0
+d	33880013	HiNT HC4 PCI to ISDN bridge, Multimedia audio controller	0
+d	33880014	HiNT HC4 PCI to ISDN bridge, Network controller	0
+d	33880020	HB6 Universal PCI-PCI bridge (transparent mode)	0
+d	33880021	HB6 Universal PCI-PCI bridge (non-transparent mode)	0
+s	338800211775c200	C2K CompactPCI interface bridge	1
+s	338800211775ce90	CE9	0
+s	338800214c531050	CT7 mainboard	0
+s	338800214c531080	CT8 mainboard	0
+s	338800214c531090	Cx9 mainboard	0
+s	338800214c5310a0	CA3/CR3 mainboard	0
+s	338800214c533010	PPCI mezzanine (32-bit PMC)	0
+s	338800214c533011	PPCI mezzanine (64-bit PMC)	0
+s	338800214c534000	PMCCARR1 carrier board	0
+d	33880022	HiNT HB4 PCI-PCI Bridge (PCI6150)	0
+d	33880026	HB2 PCI-PCI Bridge	0
+d	33881000		1
+d	3388101a	E.Band [AudioTrak Inca88]	0
+d	3388101b	E.Band [AudioTrak Inca88]	0
+d	33888011	VXPro II Chipset	0
+s	3388801133888011	VXPro II Chipset CPU to PCI Bridge	0
+d	33888012	VXPro II Chipset	0
+s	3388801233888012	VXPro II Chipset PCI to ISA Bridge	0
+d	33888013	VXPro II IDE	0
+s	3388801333888013	VXPro II Chipset EIDE Controller	0
+v	3411	Quantum Designs (H.K.) Inc	0
+v	3513	ARCOM Control Systems Ltd	0
+v	3842	eVga.com. Corp.	0
+d	3842c370	e-GeFORCE 6600 256 DDR PCI-e	0
+v	38ef	4Links	0
+v	3d3d	3DLabs	0
+d	3d3d0001	GLINT 300SX	0
+d	3d3d0002	GLINT 500TX	0
+s	3d3d000200000000	GLoria L	0
+d	3d3d0003	GLINT Delta	0
+s	3d3d000300000000	GLoria XL	0
+d	3d3d0004	Permedia	0
+d	3d3d0005	Permedia	0
+d	3d3d0006	GLINT MX	0
+s	3d3d000600000000	GLoria XL	0
+s	3d3d000610480a42	GLoria XXL	0
+d	3d3d0007	3D Extreme	0
+d	3d3d0008	GLINT Gamma G1	0
+s	3d3d000810480a42	GLoria XXL	0
+d	3d3d0009	Permedia II 2D+3D	0
+s	3d3d000910400011	AccelStar II	0
+s	3d3d000910480a42	GLoria XXL	0
+s	3d3d000913e91000	6221L-4U	0
+s	3d3d00093d3d0100	AccelStar II 3D Accelerator	0
+s	3d3d00093d3d0111	Permedia 3:16	0
+s	3d3d00093d3d0114	Santa Ana	0
+s	3d3d00093d3d0116	Oxygen GVX1	0
+s	3d3d00093d3d0119	Scirocco	0
+s	3d3d00093d3d0120	Santa Ana PCL	0
+s	3d3d00093d3d0125	Oxygen VX1	0
+s	3d3d00093d3d0127	Permedia3 Create!	0
+d	3d3d000a	GLINT R3	0
+s	3d3d000a3d3d0121	Oxygen VX1	0
+d	3d3d000c	GLINT R3 [Oxygen VX1]	0
+s	3d3d000c3d3d0144	Oxygen VX1-4X AGP [Permedia 4]	0
+d	3d3d000d	GLint R4 rev A	0
+d	3d3d0011	GLint R4 rev B	0
+d	3d3d0012	GLint R5 rev A	0
+d	3d3d0013	GLint R5 rev B	0
+d	3d3d0020	VP10 visual processor	0
+d	3d3d0022	VP10 visual processor	0
+d	3d3d0024	VP9 visual processor	0
+d	3d3d0100	Permedia II 2D+3D	0
+d	3d3d07a1	Wildcat III 6210	0
+d	3d3d07a2	Sun XVR-500 Graphics Accelerator	0
+d	3d3d07a3	Wildcat IV 7210	0
+d	3d3d1004	Permedia	0
+d	3d3d3d04	Permedia	0
+d	3d3dffff	Glint VGA	0
+v	4005	Avance Logic Inc.	0
+d	40050300	ALS300 PCI Audio Device	0
+d	40050308	ALS300+ PCI Audio Device	0
+d	40050309	PCI Input Controller	0
+d	40051064	ALG-2064	0
+d	40052064	ALG-2064i	0
+d	40052128	ALG-2364A GUI Accelerator	0
+d	40052301	ALG-2301	0
+d	40052302	ALG-2302	0
+d	40052303	AVG-2302 GUI Accelerator	0
+d	40052364	ALG-2364A	0
+d	40052464	ALG-2464	0
+d	40052501	ALG-2564A/25128A	0
+d	40054000	ALS4000 Audio Chipset	0
+s	4005400040054000	ALS4000 Audio Chipset	0
+d	40054710	ALC200/200P	0
+v	4033	Addtron Technology Co, Inc.	0
+d	40331360	RTL8139 Ethernet	0
+v	4143	Digital Equipment Corp	0
+v	4144	Alpha Data	0
+d	41440044	ADM-XRCIIPro	0
+v	4148		1
+v	416c	Aladdin Knowledge Systems	0
+d	416c0100	AladdinCARD	0
+d	416c0200	CPC	0
+v	4321	Tata Power Strategic Electronics Division	0
 v	4364	Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller	1	Name is how WinXP shows it.
-v	4444	Internext Compression Inc	0	
-d	44440016	iTVC16 (CX23416) MPEG-2 Encoder	0	
-s	4444001600700003	WinTV PVR 250	0	
-s	4444001600700009	WinTV PVR 150	0	
-s	4444001600700801	WinTV PVR 150	0	
-s	4444001600700807	WinTV PVR 150	0	
-s	4444001600704001	WinTV PVR 250	0	
-s	4444001600704009	WinTV PVR 250	0	
-s	4444001600704801	WinTV PVR 250	0	
-s	4444001600704803	WinTV PVR 250	0	
-s	4444001600708003	WinTV PVR 150	0	
-s	4444001600708801	WinTV PVR 150	0	
-s	444400160070c801	WinTV PVR 150	0	
-s	444400160070e807	WinTV PVR 500 (1st unit)	0	
-s	444400160070e817	WinTV PVR 500 (2nd unit)	0	
-s	444400160070ff92	WiNTV PVR-550	0	
-s	4444001602700801	WinTV PVR 150	0	
-s	4444001610fcd038	GV-MVP/RX2W (1st unit)	0	
-s	4444001610fcd039	GV-MVP/RX2W (2nd unit)	0	
-s	4444001612abfff3	MPG600	0	
-s	4444001612abffff	MPG600	0	
-s	444400161461c019	UltraTV 1500 MCE	0	
-s	4444001690050092	VideOh! AVC-2010	0	
-s	4444001690050093	VideOh! AVC-2410	0	
-d	44440803	iTVC15 MPEG-2 Encoder	0	
-s	4444080300704000	WinTV PVR-350	0	
-s	4444080300704001	WinTV PVR-250	0	
-s	4444080300704800	WinTV PVR-350 (V1)	0	
-s	4444080312ab0000	MPG160	0	
-s	444408031461a3ce	M179	0	
-s	444408031461a3cf	M179	0	
-v	4468	Bridgeport machines	0	
+v	4444	Internext Compression Inc	0
+d	44440016	iTVC16 (CX23416) MPEG-2 Encoder	0
+s	4444001600700003	WinTV PVR 250	0
+s	4444001600700009	WinTV PVR 150	0
+s	4444001600700801	WinTV PVR 150	0
+s	4444001600700807	WinTV PVR 150	0
+s	4444001600704001	WinTV PVR 250	0
+s	4444001600704009	WinTV PVR 250	0
+s	4444001600704801	WinTV PVR 250	0
+s	4444001600704803	WinTV PVR 250	0
+s	4444001600708003	WinTV PVR 150	0
+s	4444001600708801	WinTV PVR 150	0
+s	444400160070c801	WinTV PVR 150	0
+s	444400160070e807	WinTV PVR 500 (1st unit)	0
+s	444400160070e817	WinTV PVR 500 (2nd unit)	0
+s	444400160070ff92	WiNTV PVR-550	0
+s	4444001602700801	WinTV PVR 150	0
+s	4444001610fcd038	GV-MVP/RX2W (1st unit)	0
+s	4444001610fcd039	GV-MVP/RX2W (2nd unit)	0
+s	4444001612abfff3	MPG600	0
+s	4444001612abffff	MPG600	0
+s	444400161461c019	UltraTV 1500 MCE	0
+s	4444001690050092	VideOh! AVC-2010	0
+s	4444001690050093	VideOh! AVC-2410	0
+d	44440803	iTVC15 MPEG-2 Encoder	0
+s	4444080300704000	WinTV PVR-350	0
+s	4444080300704001	WinTV PVR-250	0
+s	4444080300704800	WinTV PVR-350 (V1)	0
+s	4444080312ab0000	MPG160	0
+s	444408031461a3ce	M179	0
+s	444408031461a3cf	M179	0
+v	4468	Bridgeport machines	0
 v	4523	Marvell Technology Group Ltd.	1	Pulled From Sony SZ120
-v	4594	Cogetec Informatique Inc	0	
-v	45fb	Baldor Electric Company	0	
-v	4680	Umax Computer Corp	0	
-v	4843	Hercules Computer Technology Inc	0	
-v	4916	RedCreek Communications Inc	0	
-d	49161960	RedCreek PCI adapter	0	
-v	4943	Growth Networks	0	
-v	494f	ACCES I/O Products, Inc.	0	
-d	494f10e8	LPCI-COM-8SM	0	
-v	4978	Axil Computer Inc	0	
-v	4a14	NetVin	0	
-d	4a145000	NV5000SC	0	
-s	4a1450004a145000	RT8029-Based Ethernet Adapter	0	
-v	4b10	Buslogic Inc.	0	
-v	4c48	LUNG HWA Electronics	0	
-v	4c53	SBS Technologies	0	
-d	4c530000	PLUSTEST device	0	
-s	4c5300004c533000	PLUSTEST card (PC104+)	0	
-s	4c5300004c533001	PLUSTEST card (PMC)	0	
-d	4c530001	PLUSTEST-MM device	0	
-s	4c5300014c533002	PLUSTEST-MM card (PMC)	0	
-v	4ca1	Seanix Technology Inc	0	
-v	4d51	MediaQ Inc.	0	
-d	4d510200	MQ-200	0	
-v	4d54	Microtechnica Co Ltd	0	
-v	4ddc	ILC Data Device Corp	0	
-d	4ddc0100	DD-42924I5-300 (ARINC 429 Data Bus)	0	
-d	4ddc0801	BU-65570I1 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0802	BU-65570I2 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0811	BU-65572I1 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0812	BU-65572I2 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0881	BU-65570T1 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0882	BU-65570T2 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0891	BU-65572T1 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0892	BU-65572T2 MIL-STD-1553 Test and Simulation	0	
-d	4ddc0901	BU-65565C1 MIL-STD-1553 Data Bus	0	
-d	4ddc0902	BU-65565C2 MIL-STD-1553 Data Bus	0	
-d	4ddc0903	BU-65565C3 MIL-STD-1553 Data Bus	0	
-d	4ddc0904	BU-65565C4 MIL-STD-1553 Data Bus	0	
-d	4ddc0b01	BU-65569I1 MIL-STD-1553 Data Bus	0	
-d	4ddc0b02	BU-65569I2 MIL-STD-1553 Data Bus	0	
-d	4ddc0b03	BU-65569I3 MIL-STD-1553 Data Bus	0	
-d	4ddc0b04	BU-65569I4 MIL-STD-1553 Data Bus	0	
-v	5046	GemTek Technology Corporation	0	
-d	50461001	PCI Radio	0	
-d	50461001		1	
-v	5053	Voyetra Technologies	0	
-d	50532010	Daytona Audio Adapter	0	
-v	5054		1	
-v	5136	S S Technologies	0	
-v	5143	Qualcomm Inc	0	
-v	5145	Ensoniq (Old)	0	
-d	51453031	Concert AudioPCI	0	
-v	5168	Animation Technologies Inc.	0	
-d	51680300	FlyDVB-S	0	
-d	51680301	FlyDVB-T	0	
-v	5301	Alliance Semiconductor Corp.	0	
-d	53010001	ProMotion aT3D	0	
-v	5333	S3 Inc.	0	
-d	53330551	Plato/PX (system)	0	
-d	53335631	86c325 [ViRGE]	0	
-d	53338800	86c866 [Vision 866]	0	
-d	53338801	86c964 [Vision 964]	0	
-d	53338810	86c764_0 [Trio 32 vers 0]	0	
-d	53338811	86c764/765 [Trio32/64/64V+]	0	
-d	53338812	86cM65 [Aurora64V+]	0	
-d	53338813	86c764_3 [Trio 32/64 vers 3]	0	
-d	53338814	86c767 [Trio 64UV+]	0	
-d	53338815	86cM65 [Aurora 128]	0	
-d	5333883d	86c988 [ViRGE/VX]	0	
-d	53338870	FireGL	0	
-d	53338880	86c868 [Vision 868 VRAM] vers 0	0	
-d	53338881	86c868 [Vision 868 VRAM] vers 1	0	
-d	53338882	86c868 [Vision 868 VRAM] vers 2	0	
-d	53338883	86c868 [Vision 868 VRAM] vers 3	0	
-d	533388b0	86c928 [Vision 928 VRAM] vers 0	0	
-d	533388b1	86c928 [Vision 928 VRAM] vers 1	0	
-d	533388b2	86c928 [Vision 928 VRAM] vers 2	0	
-d	533388b3	86c928 [Vision 928 VRAM] vers 3	0	
-d	533388c0	86c864 [Vision 864 DRAM] vers 0	0	
-d	533388c1	86c864 [Vision 864 DRAM] vers 1	0	
-d	533388c2	86c864 [Vision 864-P DRAM] vers 2	0	
-d	533388c3	86c864 [Vision 864-P DRAM] vers 3	0	
-d	533388d0	86c964 [Vision 964 VRAM] vers 0	0	
-d	533388d1	86c964 [Vision 964 VRAM] vers 1	0	
-d	533388d2	86c964 [Vision 964-P VRAM] vers 2	0	
-d	533388d3	86c964 [Vision 964-P VRAM] vers 3	0	
-d	533388f0	86c968 [Vision 968 VRAM] rev 0	0	
-d	533388f1	86c968 [Vision 968 VRAM] rev 1	0	
-d	533388f2	86c968 [Vision 968 VRAM] rev 2	0	
-d	533388f3	86c968 [Vision 968 VRAM] rev 3	0	
-d	53338900	86c755 [Trio 64V2/DX]	0	
-s	5333890053338900	86C775 Trio64V2/DX	0	
-d	53338901	86c775/86c785 [Trio 64V2/DX or /GX]	0	
-s	5333890153338901	86C775 Trio64V2/DX, 86C785 Trio64V2/GX	0	
-d	53338902	Plato/PX	0	
-d	53338903	Trio 3D business multimedia	0	
-d	53338904	Trio 64 3D	0	
-s	53338904101400db	Integrated Trio3D	0	
-s	5333890453338904	86C365 Trio3D AGP	0	
-d	53338905	Trio 64V+ family	0	
-d	53338906	Trio 64V+ family	0	
-d	53338907	Trio 64V+ family	0	
-d	53338908	Trio 64V+ family	0	
-d	53338909	Trio 64V+ family	0	
-d	5333890a	Trio 64V+ family	0	
-d	5333890b	Trio 64V+ family	0	
-d	5333890c	Trio 64V+ family	0	
-d	5333890d	Trio 64V+ family	0	
-d	5333890e	Trio 64V+ family	0	
-d	5333890f	Trio 64V+ family	0	
-d	53338a01	ViRGE/DX or /GX	0	
-s	53338a010e11b032	ViRGE/GX	0	
-s	53338a0110b41617	Nitro 3D	0	
-s	53338a0110b41717	Nitro 3D	0	
-s	53338a0153338a01	ViRGE/DX	0	
-d	53338a10	ViRGE/GX2	0	
-s	53338a1010928a10	Stealth 3D 4000	0	
-d	53338a13	86c368 [Trio 3D/2X]	0	
-s	53338a1353338a13	Trio3D/2X	0	
-d	53338a20	86c794 [Savage 3D]	0	
-s	53338a2053338a20	86C391 Savage3D	0	
-d	53338a21	86c390 [Savage 3D/MV]	0	
-s	53338a2153338a21	86C390 Savage3D/MV	0	
-d	53338a22	Savage 4	0	
-s	53338a2210338068	Savage 4	0	
-s	53338a2210338069	Savage 4	0	
-s	53338a2210338110	Savage 4 LT	0	
-s	53338a22105d0018	SR9 8Mb SDRAM	0	
-s	53338a22105d002a	SR9 Pro 16Mb SDRAM	0	
-s	53338a22105d003a	SR9 Pro 32Mb SDRAM	0	
-s	53338a22105d092f	SR9 Pro+ 16Mb SGRAM	0	
-s	53338a2210924207	Stealth III S540	0	
-s	53338a2210924800	Stealth III S540	0	
-s	53338a2210924807	SpeedStar A90	0	
-s	53338a2210924808	Stealth III S540	0	
-s	53338a2210924809	Stealth III S540	0	
-s	53338a221092480e	Stealth III S540	0	
-s	53338a2210924904	Stealth III S520	0	
-s	53338a2210924905	SpeedStar A200	0	
-s	53338a2210924a09	Stealth III S540	0	
-s	53338a2210924a0b	Stealth III S540 Xtreme	0	
-s	53338a2210924a0f	Stealth III S540	0	
-s	53338a2210924e01	Stealth III S540	0	
-s	53338a221102101d	3d Blaster Savage 4	0	
-s	53338a221102101e	3d Blaster Savage 4	0	
-s	53338a2253338100	86C394-397 Savage4 SDRAM 100	0	
-s	53338a2253338110	86C394-397 Savage4 SDRAM 110	0	
-s	53338a2253338125	86C394-397 Savage4 SDRAM 125	0	
-s	53338a2253338143	86C394-397 Savage4 SDRAM 143	0	
-s	53338a2253338a22	86C394-397 Savage4	0	
-s	53338a2253338a2e	86C394-397 Savage4 32bit	0	
-s	53338a2253339125	86C394-397 Savage4 SGRAM 125	0	
-s	53338a2253339143	86C394-397 Savage4 SGRAM 143	0	
-d	53338a23	Savage 4	0	
-d	53338a25	ProSavage PM133	0	
-d	53338a26	ProSavage KM133	0	
-d	53338c00	ViRGE/M3	0	
-d	53338c01	ViRGE/MX	0	
-s	53338c0111790001	ViRGE/MX	0	
-d	53338c02	ViRGE/MX+	0	
-d	53338c03	ViRGE/MX+MV	0	
-d	53338c10	86C270-294 Savage/MX-MV	0	
-d	53338c11	82C270-294 Savage/MX	0	
-d	53338c12	86C270-294 Savage/IX-MV	0	
-s	53338c121014017f	Thinkpad T20/T22	0	
-s	53338c1211790001	86C584 SuperSavage/IXC Toshiba	0	
-d	53338c13	86C270-294 Savage/IX	0	
-s	53338c1311790001	Magnia Z310	0	
-d	53338c22	SuperSavage MX/128	0	
-d	53338c24	SuperSavage MX/64	0	
-d	53338c26	SuperSavage MX/64C	0	
-d	53338c2a	SuperSavage IX/128 SDR	0	
-d	53338c2b	SuperSavage IX/128 DDR	0	
-d	53338c2c	SuperSavage IX/64 SDR	0	
-d	53338c2d	SuperSavage IX/64 DDR	0	
-d	53338c2e	SuperSavage IX/C SDR	0	
-s	53338c2e101401fc	ThinkPad T23 (2647-4MG)	0	
-d	53338c2f	SuperSavage IX/C DDR	0	
-d	53338d01	86C380 [ProSavageDDR K4M266]	0	
-d	53338d02	VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK)	0	
-d	53338d03	VT8751 [ProSavageDDR P4M266]	0	
-d	53338d04	VT8375 [ProSavage8 KM266/KL266]	0	
-d	53338e48	Chrome S27 PCIE	1	
-d	53339102	86C410 Savage 2000	0	
-s	5333910210925932	Viper II Z200	0	
-s	5333910210925934	Viper II Z200	0	
-s	5333910210925952	Viper II Z200	0	
-s	5333910210925954	Viper II Z200	0	
-s	5333910210925a35	Viper II Z200	0	
-s	5333910210925a37	Viper II Z200	0	
-s	5333910210925a55	Viper II Z200	0	
-s	5333910210925a57	Viper II Z200	0	
-d	5333ca00	SonicVibes	0	
-v	544c	Teralogic Inc	0	
-d	544c0350	TL880-based HDTV/ATSC tuner	0	
-v	5455	Technische University Berlin	0	
-d	54554458	S5933	0	
-v	5519	Cnet Technologies, Inc.	0	
-v	5544	Dunord Technologies	0	
-d	55440001	I-30xx Scanner Interface	0	
-v	5555	Genroco, Inc	0	
-d	55550003	TURBOstor HFP-832 [HiPPI NIC]	0	
-v	5654	VoiceTronix Pty Ltd	0	
-d	56543132	OpenSwitch12	0	
-v	5700	Netpower	0	
-v	5851	Exacq Technologies	0	
-v	5853	XenSource Inc.	1	
-v	5853	XenSource, Inc.	1	
-d	58530001	Xen Platform Device	1	
+v	4594	Cogetec Informatique Inc	0
+v	45fb	Baldor Electric Company	0
+v	4680	Umax Computer Corp	0
+v	4843	Hercules Computer Technology Inc	0
+v	4916	RedCreek Communications Inc	0
+d	49161960	RedCreek PCI adapter	0
+v	4943	Growth Networks	0
+v	494f	ACCES I/O Products, Inc.	0
+d	494f10e8	LPCI-COM-8SM	0
+v	4978	Axil Computer Inc	0
+v	4a14	NetVin	0
+d	4a145000	NV5000SC	0
+s	4a1450004a145000	RT8029-Based Ethernet Adapter	0
+v	4b10	Buslogic Inc.	0
+v	4c48	LUNG HWA Electronics	0
+v	4c53	SBS Technologies	0
+d	4c530000	PLUSTEST device	0
+s	4c5300004c533000	PLUSTEST card (PC104+)	0
+s	4c5300004c533001	PLUSTEST card (PMC)	0
+d	4c530001	PLUSTEST-MM device	0
+s	4c5300014c533002	PLUSTEST-MM card (PMC)	0
+v	4ca1	Seanix Technology Inc	0
+v	4d51	MediaQ Inc.	0
+d	4d510200	MQ-200	0
+v	4d54	Microtechnica Co Ltd	0
+v	4ddc	ILC Data Device Corp	0
+d	4ddc0100	DD-42924I5-300 (ARINC 429 Data Bus)	0
+d	4ddc0801	BU-65570I1 MIL-STD-1553 Test and Simulation	0
+d	4ddc0802	BU-65570I2 MIL-STD-1553 Test and Simulation	0
+d	4ddc0811	BU-65572I1 MIL-STD-1553 Test and Simulation	0
+d	4ddc0812	BU-65572I2 MIL-STD-1553 Test and Simulation	0
+d	4ddc0881	BU-65570T1 MIL-STD-1553 Test and Simulation	0
+d	4ddc0882	BU-65570T2 MIL-STD-1553 Test and Simulation	0
+d	4ddc0891	BU-65572T1 MIL-STD-1553 Test and Simulation	0
+d	4ddc0892	BU-65572T2 MIL-STD-1553 Test and Simulation	0
+d	4ddc0901	BU-65565C1 MIL-STD-1553 Data Bus	0
+d	4ddc0902	BU-65565C2 MIL-STD-1553 Data Bus	0
+d	4ddc0903	BU-65565C3 MIL-STD-1553 Data Bus	0
+d	4ddc0904	BU-65565C4 MIL-STD-1553 Data Bus	0
+d	4ddc0b01	BU-65569I1 MIL-STD-1553 Data Bus	0
+d	4ddc0b02	BU-65569I2 MIL-STD-1553 Data Bus	0
+d	4ddc0b03	BU-65569I3 MIL-STD-1553 Data Bus	0
+d	4ddc0b04	BU-65569I4 MIL-STD-1553 Data Bus	0
+v	5046	GemTek Technology Corporation	0
+d	50461001	PCI Radio	0
+d	50461001		1
+v	5053	Voyetra Technologies	0
+d	50532010	Daytona Audio Adapter	0
+v	5054		1
+v	5136	S S Technologies	0
+v	5143	Qualcomm Inc	0
+v	5145	Ensoniq (Old)	0
+d	51453031	Concert AudioPCI	0
+v	5168	Animation Technologies Inc.	0
+d	51680300	FlyDVB-S	0
+d	51680301	FlyDVB-T	0
+v	5301	Alliance Semiconductor Corp.	0
+d	53010001	ProMotion aT3D	0
+v	5333	S3 Inc.	0
+d	53330551	Plato/PX (system)	0
+d	53335631	86c325 [ViRGE]	0
+d	53338800	86c866 [Vision 866]	0
+d	53338801	86c964 [Vision 964]	0
+d	53338810	86c764_0 [Trio 32 vers 0]	0
+d	53338811	86c764/765 [Trio32/64/64V+]	0
+d	53338812	86cM65 [Aurora64V+]	0
+d	53338813	86c764_3 [Trio 32/64 vers 3]	0
+d	53338814	86c767 [Trio 64UV+]	0
+d	53338815	86cM65 [Aurora 128]	0
+d	5333883d	86c988 [ViRGE/VX]	0
+d	53338870	FireGL	0
+d	53338880	86c868 [Vision 868 VRAM] vers 0	0
+d	53338881	86c868 [Vision 868 VRAM] vers 1	0
+d	53338882	86c868 [Vision 868 VRAM] vers 2	0
+d	53338883	86c868 [Vision 868 VRAM] vers 3	0
+d	533388b0	86c928 [Vision 928 VRAM] vers 0	0
+d	533388b1	86c928 [Vision 928 VRAM] vers 1	0
+d	533388b2	86c928 [Vision 928 VRAM] vers 2	0
+d	533388b3	86c928 [Vision 928 VRAM] vers 3	0
+d	533388c0	86c864 [Vision 864 DRAM] vers 0	0
+d	533388c1	86c864 [Vision 864 DRAM] vers 1	0
+d	533388c2	86c864 [Vision 864-P DRAM] vers 2	0
+d	533388c3	86c864 [Vision 864-P DRAM] vers 3	0
+d	533388d0	86c964 [Vision 964 VRAM] vers 0	0
+d	533388d1	86c964 [Vision 964 VRAM] vers 1	0
+d	533388d2	86c964 [Vision 964-P VRAM] vers 2	0
+d	533388d3	86c964 [Vision 964-P VRAM] vers 3	0
+d	533388f0	86c968 [Vision 968 VRAM] rev 0	0
+d	533388f1	86c968 [Vision 968 VRAM] rev 1	0
+d	533388f2	86c968 [Vision 968 VRAM] rev 2	0
+d	533388f3	86c968 [Vision 968 VRAM] rev 3	0
+d	53338900	86c755 [Trio 64V2/DX]	0
+s	5333890053338900	86C775 Trio64V2/DX	0
+d	53338901	86c775/86c785 [Trio 64V2/DX or /GX]	0
+s	5333890153338901	86C775 Trio64V2/DX, 86C785 Trio64V2/GX	0
+d	53338902	Plato/PX	0
+d	53338903	Trio 3D business multimedia	0
+d	53338904	Trio 64 3D	0
+s	53338904101400db	Integrated Trio3D	0
+s	5333890453338904	86C365 Trio3D AGP	0
+d	53338905	Trio 64V+ family	0
+d	53338906	Trio 64V+ family	0
+d	53338907	Trio 64V+ family	0
+d	53338908	Trio 64V+ family	0
+d	53338909	Trio 64V+ family	0
+d	5333890a	Trio 64V+ family	0
+d	5333890b	Trio 64V+ family	0
+d	5333890c	Trio 64V+ family	0
+d	5333890d	Trio 64V+ family	0
+d	5333890e	Trio 64V+ family	0
+d	5333890f	Trio 64V+ family	0
+d	53338a01	ViRGE/DX or /GX	0
+s	53338a010e11b032	ViRGE/GX	0
+s	53338a0110b41617	Nitro 3D	0
+s	53338a0110b41717	Nitro 3D	0
+s	53338a0153338a01	ViRGE/DX	0
+d	53338a10	ViRGE/GX2	0
+s	53338a1010928a10	Stealth 3D 4000	0
+d	53338a13	86c368 [Trio 3D/2X]	0
+s	53338a1353338a13	Trio3D/2X	0
+d	53338a20	86c794 [Savage 3D]	0
+s	53338a2053338a20	86C391 Savage3D	0
+d	53338a21	86c390 [Savage 3D/MV]	0
+s	53338a2153338a21	86C390 Savage3D/MV	0
+d	53338a22	Savage 4	0
+s	53338a2210338068	Savage 4	0
+s	53338a2210338069	Savage 4	0
+s	53338a2210338110	Savage 4 LT	0
+s	53338a22105d0018	SR9 8Mb SDRAM	0
+s	53338a22105d002a	SR9 Pro 16Mb SDRAM	0
+s	53338a22105d003a	SR9 Pro 32Mb SDRAM	0
+s	53338a22105d092f	SR9 Pro+ 16Mb SGRAM	0
+s	53338a2210924207	Stealth III S540	0
+s	53338a2210924800	Stealth III S540	0
+s	53338a2210924807	SpeedStar A90	0
+s	53338a2210924808	Stealth III S540	0
+s	53338a2210924809	Stealth III S540	0
+s	53338a221092480e	Stealth III S540	0
+s	53338a2210924904	Stealth III S520	0
+s	53338a2210924905	SpeedStar A200	0
+s	53338a2210924a09	Stealth III S540	0
+s	53338a2210924a0b	Stealth III S540 Xtreme	0
+s	53338a2210924a0f	Stealth III S540	0
+s	53338a2210924e01	Stealth III S540	0
+s	53338a221102101d	3d Blaster Savage 4	0
+s	53338a221102101e	3d Blaster Savage 4	0
+s	53338a2253338100	86C394-397 Savage4 SDRAM 100	0
+s	53338a2253338110	86C394-397 Savage4 SDRAM 110	0
+s	53338a2253338125	86C394-397 Savage4 SDRAM 125	0
+s	53338a2253338143	86C394-397 Savage4 SDRAM 143	0
+s	53338a2253338a22	86C394-397 Savage4	0
+s	53338a2253338a2e	86C394-397 Savage4 32bit	0
+s	53338a2253339125	86C394-397 Savage4 SGRAM 125	0
+s	53338a2253339143	86C394-397 Savage4 SGRAM 143	0
+d	53338a23	Savage 4	0
+d	53338a25	ProSavage PM133	0
+d	53338a26	ProSavage KM133	0
+d	53338c00	ViRGE/M3	0
+d	53338c01	ViRGE/MX	0
+s	53338c0111790001	ViRGE/MX	0
+d	53338c02	ViRGE/MX+	0
+d	53338c03	ViRGE/MX+MV	0
+d	53338c10	86C270-294 Savage/MX-MV	0
+d	53338c11	82C270-294 Savage/MX	0
+d	53338c12	86C270-294 Savage/IX-MV	0
+s	53338c121014017f	Thinkpad T20/T22	0
+s	53338c1211790001	86C584 SuperSavage/IXC Toshiba	0
+d	53338c13	86C270-294 Savage/IX	0
+s	53338c1311790001	Magnia Z310	0
+d	53338c22	SuperSavage MX/128	0
+d	53338c24	SuperSavage MX/64	0
+d	53338c26	SuperSavage MX/64C	0
+d	53338c2a	SuperSavage IX/128 SDR	0
+d	53338c2b	SuperSavage IX/128 DDR	0
+d	53338c2c	SuperSavage IX/64 SDR	0
+d	53338c2d	SuperSavage IX/64 DDR	0
+d	53338c2e	SuperSavage IX/C SDR	0
+s	53338c2e101401fc	ThinkPad T23 (2647-4MG)	0
+d	53338c2f	SuperSavage IX/C DDR	0
+d	53338d01	86C380 [ProSavageDDR K4M266]	0
+d	53338d02	VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK)	0
+d	53338d03	VT8751 [ProSavageDDR P4M266]	0
+d	53338d04	VT8375 [ProSavage8 KM266/KL266]	0
+d	53338e48	Chrome S27 PCIE	1
+d	53339102	86C410 Savage 2000	0
+s	5333910210925932	Viper II Z200	0
+s	5333910210925934	Viper II Z200	0
+s	5333910210925952	Viper II Z200	0
+s	5333910210925954	Viper II Z200	0
+s	5333910210925a35	Viper II Z200	0
+s	5333910210925a37	Viper II Z200	0
+s	5333910210925a55	Viper II Z200	0
+s	5333910210925a57	Viper II Z200	0
+d	5333ca00	SonicVibes	0
+v	544c	Teralogic Inc	0
+d	544c0350	TL880-based HDTV/ATSC tuner	0
+v	5455	Technische University Berlin	0
+d	54554458	S5933	0
+v	5519	Cnet Technologies, Inc.	0
+v	5544	Dunord Technologies	0
+d	55440001	I-30xx Scanner Interface	0
+v	5555	Genroco, Inc	0
+d	55550003	TURBOstor HFP-832 [HiPPI NIC]	0
+v	5654	VoiceTronix Pty Ltd	0
+d	56543132	OpenSwitch12	0
+v	5700	Netpower	0
+v	5851	Exacq Technologies	0
+v	5853	XenSource Inc.	1
+v	5853	XenSource, Inc.	1
+d	58530001	Xen Platform Device	1
 v	5a37	ATI Technologies Inc RS480 PCI Bridge	1	acer aspire 5050-5410
-v	6356	UltraStor	0	
-v	6374	c't Magazin fuer Computertechnik	0	
-d	63746773	GPPCI	0	
-v	6409	Logitec Corp.	0	
-v	6666	Decision Computer International Co.	0	
-d	66660001	PCCOM4	0	
-d	66660002	PCCOM8	0	
-d	66660004	PCCOM2	0	
-d	66660101	PCI 8255/8254 I/O Card	0	
-v	7063	pcHDTV	0	
-d	70632000	HD-2000	0	
-d	70633000	HD-3000	0	
-d	70635500	HD5500 HDTV	0	
+v	6356	UltraStor	0
+v	6374	c't Magazin fuer Computertechnik	0
+d	63746773	GPPCI	0
+v	6409	Logitec Corp.	0
+v	6666	Decision Computer International Co.	0
+d	66660001	PCCOM4	0
+d	66660002	PCCOM8	0
+d	66660004	PCCOM2	0
+d	66660101	PCI 8255/8254 I/O Card	0
+v	7063	pcHDTV	0
+d	70632000	HD-2000	0
+d	70633000	HD-3000	0
+d	70635500	HD5500 HDTV	0
 v	7183	"ATI Radeon X1300 Series", "RV515", 0x7183	1	Lots of info located at http://ati.amd.com/developer/ATI_Device_IDs.txt
-v	71a3	"ATI Radeon X1300 Series Secondary", "RV515", 0x71A3	1	
+v	71a3	"ATI Radeon X1300 Series Secondary", "RV515", 0x71A3	1
 v	71c6	ATI RX-1650 Pro	1	04:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 71c6
 \n04:00.1 Display controller: ATI Technologies Inc Un
-v	7604	O.N. Electronic Co Ltd.	0	
-v	7bde	MIDAC Corporation	0	
-v	7fed	PowerTV	0	
-v	8008	Quancom Electronic GmbH	0	
-d	80080010	WDOG1 [PCI-Watchdog 1]	0	
-d	80080011	PWDOG2 [PCI-Watchdog 2]	0	
+v	7604	O.N. Electronic Co Ltd.	0
+v	7bde	MIDAC Corporation	0
+v	7fed	PowerTV	0
+v	8008	Quancom Electronic GmbH	0
+d	80080010	WDOG1 [PCI-Watchdog 1]	0
+d	80080011	PWDOG2 [PCI-Watchdog 2]	0
 v	807d	Asustek Computer, Inc.	0	Wrong ID used in subsystem ID of AsusTek PCI-USB2 PCI card.
-v	8086	Intel Corporation	0	
-d	80860007	82379AB	0	
-d	80860008	Extended Express System Support Controller	0	
-d	80860039	21145 Fast Ethernet	0	
-d	80860122	82437FX	0	
-d	80860309	80303 I/O Processor PCI-to-PCI Bridge	0	
-d	8086030d	80312 I/O Companion Chip PCI-to-PCI Bridge	0	
-d	80860326	6700/6702PXH I/OxAPIC Interrupt Controller A	0	
-d	80860327	6700PXH I/OxAPIC Interrupt Controller B	0	
-d	80860329	6700PXH PCI Express-to-PCI Bridge A	0	
-d	8086032a	6700PXH PCI Express-to-PCI Bridge B	0	
-d	8086032c	6702PXH PCI Express-to-PCI Bridge A	0	
-d	80860330	80332 [Dobson] I/O processor (A-Segment Bridge)	0	
-d	80860331	80332 [Dobson] I/O processor (A-Segment IOAPIC)	0	
-d	80860332	80332 [Dobson] I/O processor (B-Segment Bridge)	0	
-d	80860333	80332 [Dobson] I/O processor (B-Segment IOAPIC)	0	
-d	80860334	80332 [Dobson] I/O processor (ATU)	0	
-d	80860335	80331 [Lindsay] I/O processor (PCI-X Bridge)	0	
-d	80860336	80331 [Lindsay] I/O processor (ATU)	0	
-d	80860340	41210 [Lanai] Serial to Parallel PCI Bridge (A-Segment Bridge)	0	
-d	80860341	41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge)	0	
-d	80860370	80333 Segment-A PCI Express-to-PCI Express Bridge	0	
-d	80860371	80333 A-Bus IOAPIC	0	
-d	80860372	80333 Segment-B PCI Express-to-PCI Express Bridge	0	
-d	80860373	80333 B-Bus IOAPIC	0	
-d	80860374	80333 Address Translation Unit	0	
-d	80860482	82375EB/SB PCI to EISA Bridge	0	
-d	80860483	82424TX/ZX [Saturn] CPU to PCI bridge	0	
-d	80860484	82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge	0	
-d	80860486	82425EX/ZX [Aries] PCIset with ISA bridge	0	
-d	808604a3	82434LX/NX [Mercury/Neptune] Processor to PCI bridge	0	
-d	808604d0	82437FX [Triton FX]	0	
-d	80860500	E8870 Processor bus control	0	
-d	80860501	E8870 Memory controller	0	
+v	8086	Intel Corporation	0
+d	80860007	82379AB	0
+d	80860008	Extended Express System Support Controller	0
+d	80860039	21145 Fast Ethernet	0
+d	80860122	82437FX	0
+d	80860309	80303 I/O Processor PCI-to-PCI Bridge	0
+d	8086030d	80312 I/O Companion Chip PCI-to-PCI Bridge	0
+d	80860326	6700/6702PXH I/OxAPIC Interrupt Controller A	0
+d	80860327	6700PXH I/OxAPIC Interrupt Controller B	0
+d	80860329	6700PXH PCI Express-to-PCI Bridge A	0
+d	8086032a	6700PXH PCI Express-to-PCI Bridge B	0
+d	8086032c	6702PXH PCI Express-to-PCI Bridge A	0
+d	80860330	80332 [Dobson] I/O processor (A-Segment Bridge)	0
+d	80860331	80332 [Dobson] I/O processor (A-Segment IOAPIC)	0
+d	80860332	80332 [Dobson] I/O processor (B-Segment Bridge)	0
+d	80860333	80332 [Dobson] I/O processor (B-Segment IOAPIC)	0
+d	80860334	80332 [Dobson] I/O processor (ATU)	0
+d	80860335	80331 [Lindsay] I/O processor (PCI-X Bridge)	0
+d	80860336	80331 [Lindsay] I/O processor (ATU)	0
+d	80860340	41210 [Lanai] Serial to Parallel PCI Bridge (A-Segment Bridge)	0
+d	80860341	41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge)	0
+d	80860370	80333 Segment-A PCI Express-to-PCI Express Bridge	0
+d	80860371	80333 A-Bus IOAPIC	0
+d	80860372	80333 Segment-B PCI Express-to-PCI Express Bridge	0
+d	80860373	80333 B-Bus IOAPIC	0
+d	80860374	80333 Address Translation Unit	0
+d	80860482	82375EB/SB PCI to EISA Bridge	0
+d	80860483	82424TX/ZX [Saturn] CPU to PCI bridge	0
+d	80860484	82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge	0
+d	80860486	82425EX/ZX [Aries] PCIset with ISA bridge	0
+d	808604a3	82434LX/NX [Mercury/Neptune] Processor to PCI bridge	0
+d	808604d0	82437FX [Triton FX]	0
+d	80860500	E8870 Processor bus control	0
+d	80860501	E8870 Memory controller	0
 d	80860502	E8870 Scalability Port 0	0	and registers common to both SPs
 d	80860503	E8870 Scalability Port 1	0	and global performance monitoring
-d	80860510	E8870IO Hub Interface Port 0 registers (8-bit compatibility port)	0	
-d	80860511	E8870IO Hub Interface Port 1 registers	0	
-d	80860512	E8870IO Hub Interface Port 2 registers	0	
-d	80860513	E8870IO Hub Interface Port 3 registers	0	
-d	80860514	E8870IO Hub Interface Port 4 registers	0	
-d	80860515	E8870IO General SIOH registers	0	
-d	80860516	E8870IO RAS registers	0	
-d	80860530	E8870SP Scalability Port 0 registers	0	
-d	80860531	E8870SP Scalability Port 1 registers	0	
-d	80860532	E8870SP Scalability Port 2 registers	0	
-d	80860533	E8870SP Scalability Port 3 registers	0	
-d	80860534	E8870SP Scalability Port 4 registers	0	
-d	80860535	E8870SP Scalability Port 5 registers	0	
+d	80860510	E8870IO Hub Interface Port 0 registers (8-bit compatibility port)	0
+d	80860511	E8870IO Hub Interface Port 1 registers	0
+d	80860512	E8870IO Hub Interface Port 2 registers	0
+d	80860513	E8870IO Hub Interface Port 3 registers	0
+d	80860514	E8870IO Hub Interface Port 4 registers	0
+d	80860515	E8870IO General SIOH registers	0
+d	80860516	E8870IO RAS registers	0
+d	80860530	E8870SP Scalability Port 0 registers	0
+d	80860531	E8870SP Scalability Port 1 registers	0
+d	80860532	E8870SP Scalability Port 2 registers	0
+d	80860533	E8870SP Scalability Port 3 registers	0
+d	80860534	E8870SP Scalability Port 4 registers	0
+d	80860535	E8870SP Scalability Port 5 registers	0
 d	80860536	E8870SP Interleave registers 0 and 1	0	(bi-interleave 0) and global registers that are neither per-port nor per-interleave
 d	80860537	E8870SP Interleave registers 2 and 3	0	(bi-interleave 1)
-d	80860600	RAID Controller	0	
-s	80860600808601af	SRCZCR	0	
-s	80860600808601c1	ICP Vortex GDT8546RZ	0	
-s	80860600808601f7	SCRU32	0	
+d	80860600	RAID Controller	0
+s	80860600808601af	SRCZCR	0
+s	80860600808601c1	ICP Vortex GDT8546RZ	0
+s	80860600808601f7	SCRU32	0
 d	8086061f	80303 I/O Processor	0	uninitialized SRCU32 RAID Controller
-d	80860960	80960RP [i960 RP Microprocessor/Bridge]	0	
-d	80860962	80960RM [i960RM Bridge]	0	
-d	80860964	80960RP [i960 RP Microprocessor/Bridge]	0	
-d	80861000	82542 Gigabit Ethernet Controller	0	
-s	808610000e11b0df	NC1632 Gigabit Ethernet Adapter (1000-SX)	0	
-s	808610000e11b0e0	NC1633 Gigabit Ethernet Adapter (1000-LX)	0	
-s	808610000e11b123	NC1634 Gigabit Ethernet Adapter (1000-SX)	0	
-s	8086100010140119	Netfinity Gigabit Ethernet SX Adapter	0	
-s	8086100080861000	PRO/1000 Gigabit Server Adapter	0	
-d	80861001	82543GC Gigabit Ethernet Controller (Fiber)	0	
-s	808610010e11004a	NC6136 Gigabit Server Adapter	0	
-s	80861001101401ea	Netfinity Gigabit Ethernet SX Adapter	0	
-s	8086100180861002	PRO/1000 F Server Adapter	0	
-s	8086100180861003	PRO/1000 F Server Adapter	0	
-d	80861002	Pro 100 LAN+Modem 56 Cardbus II	0	
-s	808610028086200e	Pro 100 LAN+Modem 56 Cardbus II	0	
-s	8086100280862013	Pro 100 SR Mobile Combo Adapter	0	
-s	8086100280862017	Pro 100 S Combo Mobile Adapter	0	
-d	80861004	82543GC Gigabit Ethernet Controller (Copper)	0	
-s	808610040e110049	NC7132 Gigabit Upgrade Module	0	
-s	808610040e11b1a4	NC7131 Gigabit Server Adapter	0	
-s	80861004101410f2	Gigabit Ethernet Server Adapter	0	
-s	8086100480861004	PRO/1000 T Server Adapter	0	
-s	8086100480862004	PRO/1000 T Server Adapter	0	
-d	80861008	82544EI Gigabit Ethernet Controller (Copper)	0	
-s	8086100810140269	iSeries 1000/100/10 Ethernet Adapter	0	
-s	808610081028011c	PRO/1000 XT Network Connection	0	
-s	8086100880861107	PRO/1000 XT Server Adapter	0	
-s	8086100880862107	PRO/1000 XT Server Adapter	0	
-s	8086100880862110	PRO/1000 XT Desktop Adapter	0	
-s	8086100880863108	PRO/1000 XT Network Connection	0	
-d	80861009	82544EI Gigabit Ethernet Controller (Fiber)	0	
-s	8086100910140268	iSeries Gigabit Ethernet Adapter	0	
-s	8086100980861109	PRO/1000 XF Server Adapter	0	
-s	8086100980862109	PRO/1000 XF Server Adapter	0	
-d	8086100a	82540EM Gigabit Ethernet Controller	0	
-d	8086100c	82544GC Gigabit Ethernet Controller (Copper)	0	
-s	8086100c80861112	PRO/1000 T Desktop Adapter	0	
-s	8086100c80862112	PRO/1000 T Desktop Adapter	0	
-d	8086100d	82544GC Gigabit Ethernet Controller (LOM)	0	
-s	8086100d10280123	PRO/1000 XT Network Connection	0	
-s	8086100d1079891f	82544GC Based Network Connection	0	
-s	8086100d4c531080	CT8 mainboard	0	
-s	8086100d8086110d	82544GC Based Network Connection	0	
-d	8086100e	82540EM Gigabit Ethernet Controller	0	
-s	8086100e10140265	PRO/1000 MT Network Connection	0	
-s	8086100e10140267	PRO/1000 MT Network Connection	0	
-s	8086100e1014026a	PRO/1000 MT Network Connection	0	
-s	8086100e1028002e	Optiplex GX260	0	
-s	8086100e10280134	PowerEdge 600SC	0	
-s	8086100e10280151	PRO/1000 MT Network Connection	0	
-s	8086100e107b8920	PRO/1000 MT Desktop Adapter	0	
-s	8086100e8086001e	PRO/1000 MT Desktop Adapter	0	
-s	8086100e8086002e	PRO/1000 MT Desktop Adapter	0	
-s	8086100e80861376	PRO/1000 GT Desktop Adapter	0	
-s	8086100e80861476	PRO/1000 GT Desktop Adapter	0	
-d	8086100f	82545EM Gigabit Ethernet Controller (Copper)	0	
-s	8086100f10140269	iSeries 1000/100/10 Ethernet Adapter	0	
-s	8086100f1014028e	PRO/1000 MT Network Connection	0	
-s	8086100f80861000	PRO/1000 MT Network Connection	0	
-s	8086100f80861001	PRO/1000 MT Server Adapter	0	
-d	80861010	82546EB Gigabit Ethernet Controller (Copper)	0	
-s	808610100e1100db	NC7170 Gigabit Server Adapter	0	
-s	808610101014027c	PRO/1000 MT Dual Port Network Adapter	0	
-s	8086101018fb7872	RESlink-X	0	
-s	808610101fc10026	Niagara 2260 Bypass Card	0	
-s	808610104c531080	CT8 mainboard	0	
-s	808610104c5310a0	CA3/CR3 mainboard	0	
-s	8086101080861011	PRO/1000 MT Dual Port Server Adapter	0	
-s	8086101080861012	PRO/1000 MT Dual Port Server Adapter	0	
-s	808610108086101a	PRO/1000 MT Dual Port Network Connection	0	
-s	8086101080863424	SE7501HG2 Mainboard	0	
-d	80861011	82545EM Gigabit Ethernet Controller (Fiber)	0	
-s	8086101110140268	iSeries Gigabit Ethernet Adapter	0	
-s	8086101180861002	PRO/1000 MF Server Adapter	0	
-s	8086101180861003	PRO/1000 MF Server Adapter (LX)	0	
-d	80861012	82546EB Gigabit Ethernet Controller (Fiber)	0	
-s	808610120e1100dc	NC6170 Gigabit Server Adapter	0	
-s	8086101280861012	PRO/1000 MF Dual Port Server Adapter	0	
-d	80861013	82541EI Gigabit Ethernet Controller	0	
-s	8086101380860013	PRO/1000 MT Network Connection	0	
-s	8086101380861013	PRO/1000 MT Network Connection	0	
-s	8086101380861113	PRO/1000 MT Desktop Adapter	0	
-d	80861014	82541ER Gigabit Ethernet Controller	0	
-s	8086101480860014	PRO/1000 MT Desktop Connection	0	
-s	8086101480861014	PRO/1000 MT Network Connection	0	
-d	80861015	82540EM Gigabit Ethernet Controller (LOM)	0	
-s	8086101580861015	PRO/1000 MT Mobile Connection	0	
-d	80861016	82540EP Gigabit Ethernet Controller (Mobile)	0	
-s	808610161014052c	PRO/1000 MT Mobile Connection	0	
-s	8086101611790001	PRO/1000 MT Mobile Connection	0	
-s	8086101680861016	PRO/1000 MT Mobile Connection	0	
-d	80861017	82540EP Gigabit Ethernet Controller	0	
-s	8086101780861017	PR0/1000 MT Desktop Connection	0	
-d	80861018	82541EI Gigabit Ethernet Controller	0	
-s	8086101880861018	PRO/1000 MT Mobile Connection	0	
-d	80861019	82547EI Gigabit Ethernet Controller	0	
-s	8086101914581019	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808610191458e000	Intel Gigabit Ethernet (Kenai II)	0	
-s	8086101980861019	PRO/1000 CT Desktop Connection	0	
-s	808610198086301f	D865PERL mainboard	0	
-s	808610198086302c	Intel 82865G Mainboard (D865GBF)	0	
-s	8086101980863427	S875WP1-E mainboard	0	
-d	8086101a	82547EI Gigabit Ethernet Controller (Mobile)	0	
-s	8086101a8086101a	PRO/1000 CT Mobile Connection	0	
-d	8086101d	82546EB Gigabit Ethernet Controller	0	
-s	8086101d80861000	PRO/1000 MT Quad Port Server Adapter	0	
-d	8086101e	82540EP Gigabit Ethernet Controller (Mobile)	0	
-s	8086101e10140549	PRO/1000 MT Mobile Connection	0	
-s	8086101e11790001	PRO/1000 MT Mobile Connection	0	
-s	8086101e8086101e	PRO/1000 MT Mobile Connection	0	
-d	80861026	82545GM Gigabit Ethernet Controller	0	
-s	8086102610280169	Precision 470	0	
-s	8086102680861000	PRO/1000 MT Server Connection	0	
-s	8086102680861001	PRO/1000 MT Server Adapter	0	
-s	8086102680861002	PRO/1000 MT Server Adapter	0	
-s	8086102680861003	PRO/1000 GT Server Adapter	0	
-s	8086102680861026	PRO/1000 MT Server Connection	0	
-d	80861027	82545GM Gigabit Ethernet Controller	0	
-s	80861027103c3103	NC310F PCI-X Gigabit Server Adapter	0	
-s	8086102780861001	PRO/1000 MF Server Adapter(LX)	0	
-s	8086102780861002	PRO/1000 MF Server Adapter(LX)	0	
-s	8086102780861003	PRO/1000 MF Server Adapter(LX)	0	
-s	8086102780861027	PRO/1000 MF Server Adapter	0	
-d	80861028	82545GM Gigabit Ethernet Controller	0	
-s	8086102880861028	PRO/1000 MB Server Connection	0	
-d	80861029	82559 Ethernet Controller	0	
-d	80861030	82559 InBusiness 10/100	0	
-d	80861031	82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller	0	
-s	8086103110140209	ThinkPad A/T/X Series	0	
-s	80861031104d80e7	Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	80861031104d813c	Vaio PCG-GRV616G	0	
-s	80861031107b5350	EtherExpress PRO/100 VE	0	
-s	8086103111790001	EtherExpress PRO/100 VE	0	
-s	80861031144dc000	EtherExpress PRO/100 VE	0	
-s	80861031144dc001	EtherExpress PRO/100 VE	0	
-s	80861031144dc003	EtherExpress PRO/100 VE	0	
-s	80861031144dc006	vpr Matrix 170B4	0	
-d	80861032	82801CAM (ICH3) PRO/100 VE Ethernet Controller	0	
-d	80861033	82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller	0	
-d	80861034	82801CAM (ICH3) PRO/100 VM Ethernet Controller	0	
-d	80861035	82801CAM (ICH3)/82562EH (LOM) Ethernet Controller	0	
-d	80861036	82801CAM (ICH3) 82562EH Ethernet Controller	0	
-d	80861037	82801CAM (ICH3) Chipset Ethernet Controller	0	
-d	80861038	82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller	0	
-s	808610380e110098	Evo N600c	0	
-d	80861039	82801DB PRO/100 VE (LOM) Ethernet Controller	0	
-s	8086103910140267	NetVista A30p	0	
-d	8086103a	82801DB PRO/100 VE (CNR) Ethernet Controller	0	
-d	8086103b	82801DB PRO/100 VM (LOM) Ethernet Controller	0	
-d	8086103c	82801DB PRO/100 VM (CNR) Ethernet Controller	0	
-d	8086103d	82801DB PRO/100 VE (MOB) Ethernet Controller	0	
-s	8086103d10140522	Thinkpad R50e model 1634	0	
-d	8086103e	82801DB PRO/100 VM (MOB) Ethernet Controller	0	
-d	80861040	536EP Data Fax Modem	0	
-s	8086104016be1040	V.9X DSP Data Fax Modem	0	
-d	80861043	PRO/Wireless LAN 2100 3B Mini PCI Adapter	0	
-s	80861043103c08b0	tc1100 tablet	0	
-s	8086104380862522	Samsung P30 integrated WLAN	0	
-s	8086104380862527	MIM2000/Centrino	0	
-s	8086104380862581	Toshiba Satellite M10	0	
-d	80861048	PRO/10GbE LR Server Adapter	0	
-s	808610488086a01f	PRO/10GbE LR Server Adapter	0	
-s	808610488086a11f	PRO/10GbE LR Server Adapter	0	
-d	80861049	82566MM Gigabit Network Connection	0	
-d	8086104a	82566DM Gigabit Network Connection	0	
-d	8086104b	82566DC Gigabit Network Connection	0	
-d	8086104c	82562V 10/100 Network Connection	0	
-d	8086104d	82566MC Gigabit Network Connection	0	
-d	80861050	82562EZ 10/100 Ethernet Controller	0	
-s	808610501462728c	865PE Neo2 (MS-6728)	0	
-s	808610501462758c	MS-6758 (875P Neo)	0	
-s	8086105080863020	D865PERL mainboard	0	
-s	808610508086302f	Desktop Board D865GBF	0	
-s	8086105080863427	S875WP1-E mainboard	0	
-d	80861051	82801EB/ER (ICH5/ICH5R) integrated LAN Controller	0	
-d	80861052	PRO/100 VM Network Connection	0	
-d	80861053	PRO/100 VM Network Connection	0	
-d	80861054	PRO/100 VE Network Connection	0	
-d	80861055	PRO/100 VM Network Connection	0	
-d	80861056	PRO/100 VE Network Connection	0	
-d	80861057	PRO/100 VE Network Connection	0	
-d	80861059	82551QM Ethernet Controller	0	
-d	8086105b	82546GB Gigabit Ethernet Controller (Copper)	0	
-d	8086105e	82571EB Gigabit Ethernet Controller	0	
-s	8086105e103c7044	NC360T PCI Express Dual Port Gigabit Server Adapter	0	
-s	8086105e17756003	Telum GE-QT	0	
-s	8086105e8086005e	PRO/1000 PT Dual Port Server Connection	0	
-s	8086105e8086105e	PRO/1000 PT Dual Port Network Connection	0	
-s	8086105e8086115e	PRO/1000 PT Dual Port Server Adapter	0	
-s	8086105e8086116e	PRO/1000 PT Dual Port Server Adapter	0	
-s	8086105e8086125e	PRO/1000 PT Dual Port Server Adapter	0	
-s	8086105e8086135e	PRO/1000 PT Dual Port Server Adapter	0	
-d	8086105f	82571EB Gigabit Ethernet Controller	0	
-s	8086105f8086115f	PRO/1000 PF Dual Port Server Adapter	0	
-s	8086105f8086116f	PRO/1000 PF Dual Port Server Adapter	0	
-s	8086105f8086125f	PRO/1000 PF Dual Port Server Adapter	0	
-s	8086105f8086135f	PRO/1000 PF Dual Port Server Adapter	0	
-d	80861060	82571EB Gigabit Ethernet Controller	0	
-s	8086106080860060	PRO/1000 PB Dual Port Server Connection	0	
-s	8086106080861060	PRO/1000 PB Dual Port Server Connection	0	
-d	80861064	82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller	0	
-s	80861064104380f8	P5GD1-VW Mainboard	0	
-d	80861065	82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller	0	
-d	80861066	82562 EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller	0	
-d	80861067	82562 EM/EX/GX - PRO/100 VM Ethernet Controller	0	
-d	80861068	82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile	0	
-d	80861069	82562EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller Mobile	0	
-d	8086106a	82562G - PRO/100 VE (LOM) Ethernet Controller	0	
-d	8086106b	82562G - PRO/100 VE Ethernet Controller Mobile	0	
-d	80861075	82547GI Gigabit Ethernet Controller	0	
-s	8086107510280165	PowerEdge 750	0	
-s	8086107580860075	PRO/1000 CT Network Connection	0	
-s	8086107580861075	PRO/1000 CT Network Connection	0	
-d	80861076	82541GI Gigabit Ethernet Controller	0	
-s	8086107610280165	PowerEdge 750	0	
-s	808610761028019a	PowerEdge SC1425	0	
-s	8086107680860076	PRO/1000 MT Network Connection	0	
-s	8086107680861076	PRO/1000 MT Network Connection	0	
-s	8086107680861176	PRO/1000 MT Desktop Adapter	0	
-s	8086107680861276	PRO/1000 MT Network Adapter	0	
-d	80861077	82541GI Gigabit Ethernet Controller	0	
-s	8086107711790001	PRO/1000 MT Mobile Connection	0	
-s	8086107780860077	PRO/1000 MT Mobile Connection	0	
-s	8086107780861077	PRO/1000 MT Mobile Connection	0	
-d	80861078	82541ER Gigabit Ethernet Controller	0	
-s	8086107880861078	82541ER-based Network Connection	0	
-d	80861079	82546GB Gigabit Ethernet Controller	0	
-s	80861079103c12a6	Dual Port 1000Base-T [A9900A]	0	
-s	80861079103c12cf	Core Dual Port 1000Base-T [AB352A]	0	
-s	80861079177510d0	V5D Single Board Computer Gigabit Ethernet	0	
-s	808610791775ce90	CE9	0	
-s	808610791fc10027	Niagara 2261 Failover NIC	0	
-s	808610794c531090	Cx9 / Vx9 mainboard	0	
-s	808610794c5310b0	CL9 mainboard	0	
-s	8086107980860079	PRO/1000 MT Dual Port Network Connection	0	
-s	8086107980861079	PRO/1000 MT Dual Port Network Connection	0	
-s	8086107980861179	PRO/1000 MT Dual Port Server Adapter	0	
-s	808610798086117a	PRO/1000 MT Dual Port Server Adapter	0	
-d	8086107a	82546GB Gigabit Ethernet Controller	0	
-s	8086107a103c12a8	Dual Port 1000base-SX [A9899A]	0	
-s	8086107a8086107a	PRO/1000 MF Dual Port Server Adapter	0	
-s	8086107a8086127a	PRO/1000 MF Dual Port Server Adapter	0	
-d	8086107b	82546GB Gigabit Ethernet Controller	0	
-s	8086107b8086007b	PRO/1000 MB Dual Port Server Connection	0	
-s	8086107b8086107b	PRO/1000 MB Dual Port Server Connection	0	
-d	8086107c	82541PI Gigabit Ethernet Controller	0	
-s	8086107c80861376	PRO/1000 GT Desktop Adapter	0	
-s	8086107c80861476	PRO/1000 GT Desktop Adapter	0	
-d	8086107d	82572EI Gigabit Ethernet Controller (Copper)	0	
-s	8086107d80861082	PRO/1000 PT Server Adapter	0	
-s	8086107d80861092	PRO/1000 PT Server Adapter	0	
-d	8086107e	82572EI Gigabit Ethernet Controller (Fiber)	0	
-s	8086107e80861084	PRO/1000 PF Server Adapter	0	
-s	8086107e80861094	PRO/1000 PF Server Adapter	0	
-d	8086107f	82572EI Gigabit Ethernet Controller	0	
-d	80861080	FA82537EP 56K V.92 Data/Fax Modem PCI	0	
-d	80861081	631xESB/632xESB LAN Controller Copper	0	
-d	80861082	631xESB/632xESB LAN Controller fiber	0	
-d	80861083	631xESB/632xESB LAN Controller SERDES	0	
-d	80861084	631xESB/632xESB IDE Redirection	0	
-d	80861085	631xESB/632xESB Serial Port Redirection	0	
-d	80861086	631xESB/632xESB IPMI/KCS0	0	
-d	80861087	631xESB/632xESB UHCI Redirection	0	
-d	80861089	631xESB/632xESB BT	0	
-d	8086108a	82546GB Gigabit Ethernet Controller	0	
-s	8086108a8086108a	PRO/1000 P Dual Port Server Adapter	0	
-s	8086108a8086118a	PRO/1000 P Dual Port Server Adapter	0	
-d	8086108b	82573V Gigabit Ethernet Controller (Copper)	0	
-d	8086108c	82573E Gigabit Ethernet Controller (Copper)	0	
-d	8086108e	82573E KCS (Active Management)	0	
-d	8086108f	Active Management Technology - SOL	0	
-d	80861091	PRO/100 VM Network Connection	0	
-d	80861092	PRO/100 VE Network Connection	0	
-d	80861093	PRO/100 VM Network Connection	0	
-d	80861094	PRO/100 VE Network Connection	0	
-d	80861095	PRO/100 VE Network Connection	0	
-d	80861096	80003ES2LAN Gigabit Ethernet Controller (Copper)	0	
-d	80861097	631xESB/632xESB DPT LAN Controller (Fiber)	0	
-d	80861098	80003ES2LAN Gigabit Ethernet Controller (Serdes)	0	
-d	80861099	82546GB Gigabit Ethernet Controller (Copper)	0	
-s	8086109980861099	PRO/1000 GT Quad Port Server Adapter	0	
-d	8086109a	82573L Gigabit Ethernet Controller	0	
-s	8086109a1179ff10	PRO/1000 PL	0	
-s	8086109a17aa2001	ThinkPad T60	0	
-s	8086109a17aa207e	Thinkpad X60s	0	
-s	8086109a8086109a	PRO/1000 PL Network Connection	0	
-d	8086109b	82546GB PRO/1000 GF Quad Port Server Adapter	0	
-d	8086109e	82597EX 10GbE Ethernet Controller	0	
-s	8086109e8086a01f	PRO/10GbE CX4 Server Adapter	0	
-s	8086109e8086a11f	PRO/10GbE CX4 Server Adapter	0	
-d	808610a0	82571EB PRO/1000 AT Quad Port Bypass Adapter	0	
-d	808610a1	82571EB PRO/1000 AF Quad Port Bypass Adapter	0	
-d	808610a4	82571EB Gigabit Ethernet Controller	0	
-s	808610a4808610a4	PRO/1000 PT Quad Port Server Adapter	0	
-s	808610a4808611a4	PRO/1000 PT Quad Port Server Adapter	0	
-d	808610b0	82573L PRO/1000 PL Network Connection	0	
-d	808610b2	82573V PRO/1000 PM Network Connection	0	
-d	808610b3	82573E PRO/1000 PM Network Connection	0	
-d	808610b4	82573L PRO/1000 PL Network Connection	0	
-d	808610b5	82546GB Gigabit Ethernet Controller (Copper)	0	
-s	808610b5103c3109	NC340T PCI-X Quad-port Gigabit Server Adapter	0	
-s	808610b580861099	PRO/1000 GT Quad Port Server Adapter	0	
-s	808610b580861199	PRO/1000 GT Quad Port Server Adapter	0	
-d	808610b9	82572EI Gigabit Ethernet Controller (Copper)	0	
-s	808610b980861083	PRO/1000 PT Desktop Adapter	0	
-s	808610b980861093	PRO/1000 PT Desktop Adapter	0	
-d	808610ba	80003ES2LAN Gigabit Ethernet Controller (Copper)	0	
-d	808610bb	80003ES2LAN Gigabit Ethernet Controller (Serdes)	0	
-d	808610bc	82571EB Gigabit Ethernet Controller (Copper)	0	
-s	808610bc808610bc	PRO/1000 PT Quad Port LP Server Adapter	0	
-s	808610bc808611bc	PRO/1000 PT Quad Port LP Server Adapter	0	
-d	808610c4	82562GT 10/100 Network Connection	0	
-d	808610c5	82562G 10/100 Network Connection	0	
-d	80861107	PRO/1000 MF Server Adapter (LX)	0	
-d	80861130	82815 815 Chipset Host Bridge and Memory Controller Hub	0	
-s	8086113010251016	Travelmate 612 TX	0	
-s	8086113010438027	TUSL2-C Mainboard	0	
-s	80861130104d80df	Vaio PCG-FX403	0	
-s	8086113080864532	D815EEA2 mainboard	0	
-s	8086113080864557	D815EGEW Mainboard	0	
-d	80861131	82815 815 Chipset AGP Bridge	0	
-d	80861132	82815 CGC [Chipset Graphics Controller]	0	
-s	8086113210251016	Travelmate 612 TX	0	
-s	80861132104d80df	Vaio PCG-FX403	0	
-s	8086113280864532	D815EEA2 Mainboard	0	
-s	8086113280864541	D815EEA Motherboard	0	
-s	8086113280864557	D815EGEW Mainboard	0	
-d	80861161	82806AA PCI64 Hub Advanced Programmable Interrupt Controller	0	
-s	8086116180861161	82806AA PCI64 Hub APIC	0	
-d	80861162	Xscale 80200 Big Endian Companion Chip	0	
-d	80861200	IXP1200 Network Processor	0	
-s	80861200172a0000	AEP SSL Accelerator	0	
-d	80861209	8255xER/82551IT Fast Ethernet Controller	0	
-s	808612094c531050	CT7 mainboard	0	
-s	808612094c531051	CE7 mainboard	0	
-s	808612094c531070	PC6 mainboard	0	
-d	80861221	82092AA PCI to PCMCIA Bridge	0	
-d	80861222	82092AA IDE Controller	0	
-d	80861223	SAA7116	0	
-d	80861225	82452KX/GX [Orion]	0	
-d	80861226	82596 PRO/10 PCI	0	
-d	80861227	82865 EtherExpress PRO/100A	0	
-d	80861228	82556 EtherExpress PRO/100 Smart	0	
+d	80860960	80960RP [i960 RP Microprocessor/Bridge]	0
+d	80860962	80960RM [i960RM Bridge]	0
+d	80860964	80960RP [i960 RP Microprocessor/Bridge]	0
+d	80861000	82542 Gigabit Ethernet Controller	0
+s	808610000e11b0df	NC1632 Gigabit Ethernet Adapter (1000-SX)	0
+s	808610000e11b0e0	NC1633 Gigabit Ethernet Adapter (1000-LX)	0
+s	808610000e11b123	NC1634 Gigabit Ethernet Adapter (1000-SX)	0
+s	8086100010140119	Netfinity Gigabit Ethernet SX Adapter	0
+s	8086100080861000	PRO/1000 Gigabit Server Adapter	0
+d	80861001	82543GC Gigabit Ethernet Controller (Fiber)	0
+s	808610010e11004a	NC6136 Gigabit Server Adapter	0
+s	80861001101401ea	Netfinity Gigabit Ethernet SX Adapter	0
+s	8086100180861002	PRO/1000 F Server Adapter	0
+s	8086100180861003	PRO/1000 F Server Adapter	0
+d	80861002	Pro 100 LAN+Modem 56 Cardbus II	0
+s	808610028086200e	Pro 100 LAN+Modem 56 Cardbus II	0
+s	8086100280862013	Pro 100 SR Mobile Combo Adapter	0
+s	8086100280862017	Pro 100 S Combo Mobile Adapter	0
+d	80861004	82543GC Gigabit Ethernet Controller (Copper)	0
+s	808610040e110049	NC7132 Gigabit Upgrade Module	0
+s	808610040e11b1a4	NC7131 Gigabit Server Adapter	0
+s	80861004101410f2	Gigabit Ethernet Server Adapter	0
+s	8086100480861004	PRO/1000 T Server Adapter	0
+s	8086100480862004	PRO/1000 T Server Adapter	0
+d	80861008	82544EI Gigabit Ethernet Controller (Copper)	0
+s	8086100810140269	iSeries 1000/100/10 Ethernet Adapter	0
+s	808610081028011c	PRO/1000 XT Network Connection	0
+s	8086100880861107	PRO/1000 XT Server Adapter	0
+s	8086100880862107	PRO/1000 XT Server Adapter	0
+s	8086100880862110	PRO/1000 XT Desktop Adapter	0
+s	8086100880863108	PRO/1000 XT Network Connection	0
+d	80861009	82544EI Gigabit Ethernet Controller (Fiber)	0
+s	8086100910140268	iSeries Gigabit Ethernet Adapter	0
+s	8086100980861109	PRO/1000 XF Server Adapter	0
+s	8086100980862109	PRO/1000 XF Server Adapter	0
+d	8086100a	82540EM Gigabit Ethernet Controller	0
+d	8086100c	82544GC Gigabit Ethernet Controller (Copper)	0
+s	8086100c80861112	PRO/1000 T Desktop Adapter	0
+s	8086100c80862112	PRO/1000 T Desktop Adapter	0
+d	8086100d	82544GC Gigabit Ethernet Controller (LOM)	0
+s	8086100d10280123	PRO/1000 XT Network Connection	0
+s	8086100d1079891f	82544GC Based Network Connection	0
+s	8086100d4c531080	CT8 mainboard	0
+s	8086100d8086110d	82544GC Based Network Connection	0
+d	8086100e	82540EM Gigabit Ethernet Controller	0
+s	8086100e10140265	PRO/1000 MT Network Connection	0
+s	8086100e10140267	PRO/1000 MT Network Connection	0
+s	8086100e1014026a	PRO/1000 MT Network Connection	0
+s	8086100e1028002e	Optiplex GX260	0
+s	8086100e10280134	PowerEdge 600SC	0
+s	8086100e10280151	PRO/1000 MT Network Connection	0
+s	8086100e107b8920	PRO/1000 MT Desktop Adapter	0
+s	8086100e8086001e	PRO/1000 MT Desktop Adapter	0
+s	8086100e8086002e	PRO/1000 MT Desktop Adapter	0
+s	8086100e80861376	PRO/1000 GT Desktop Adapter	0
+s	8086100e80861476	PRO/1000 GT Desktop Adapter	0
+d	8086100f	82545EM Gigabit Ethernet Controller (Copper)	0
+s	8086100f10140269	iSeries 1000/100/10 Ethernet Adapter	0
+s	8086100f1014028e	PRO/1000 MT Network Connection	0
+s	8086100f80861000	PRO/1000 MT Network Connection	0
+s	8086100f80861001	PRO/1000 MT Server Adapter	0
+d	80861010	82546EB Gigabit Ethernet Controller (Copper)	0
+s	808610100e1100db	NC7170 Gigabit Server Adapter	0
+s	808610101014027c	PRO/1000 MT Dual Port Network Adapter	0
+s	8086101018fb7872	RESlink-X	0
+s	808610101fc10026	Niagara 2260 Bypass Card	0
+s	808610104c531080	CT8 mainboard	0
+s	808610104c5310a0	CA3/CR3 mainboard	0
+s	8086101080861011	PRO/1000 MT Dual Port Server Adapter	0
+s	8086101080861012	PRO/1000 MT Dual Port Server Adapter	0
+s	808610108086101a	PRO/1000 MT Dual Port Network Connection	0
+s	8086101080863424	SE7501HG2 Mainboard	0
+d	80861011	82545EM Gigabit Ethernet Controller (Fiber)	0
+s	8086101110140268	iSeries Gigabit Ethernet Adapter	0
+s	8086101180861002	PRO/1000 MF Server Adapter	0
+s	8086101180861003	PRO/1000 MF Server Adapter (LX)	0
+d	80861012	82546EB Gigabit Ethernet Controller (Fiber)	0
+s	808610120e1100dc	NC6170 Gigabit Server Adapter	0
+s	8086101280861012	PRO/1000 MF Dual Port Server Adapter	0
+d	80861013	82541EI Gigabit Ethernet Controller	0
+s	8086101380860013	PRO/1000 MT Network Connection	0
+s	8086101380861013	PRO/1000 MT Network Connection	0
+s	8086101380861113	PRO/1000 MT Desktop Adapter	0
+d	80861014	82541ER Gigabit Ethernet Controller	0
+s	8086101480860014	PRO/1000 MT Desktop Connection	0
+s	8086101480861014	PRO/1000 MT Network Connection	0
+d	80861015	82540EM Gigabit Ethernet Controller (LOM)	0
+s	8086101580861015	PRO/1000 MT Mobile Connection	0
+d	80861016	82540EP Gigabit Ethernet Controller (Mobile)	0
+s	808610161014052c	PRO/1000 MT Mobile Connection	0
+s	8086101611790001	PRO/1000 MT Mobile Connection	0
+s	8086101680861016	PRO/1000 MT Mobile Connection	0
+d	80861017	82540EP Gigabit Ethernet Controller	0
+s	8086101780861017	PR0/1000 MT Desktop Connection	0
+d	80861018	82541EI Gigabit Ethernet Controller	0
+s	8086101880861018	PRO/1000 MT Mobile Connection	0
+d	80861019	82547EI Gigabit Ethernet Controller	0
+s	8086101914581019	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808610191458e000	Intel Gigabit Ethernet (Kenai II)	0
+s	8086101980861019	PRO/1000 CT Desktop Connection	0
+s	808610198086301f	D865PERL mainboard	0
+s	808610198086302c	Intel 82865G Mainboard (D865GBF)	0
+s	8086101980863427	S875WP1-E mainboard	0
+d	8086101a	82547EI Gigabit Ethernet Controller (Mobile)	0
+s	8086101a8086101a	PRO/1000 CT Mobile Connection	0
+d	8086101d	82546EB Gigabit Ethernet Controller	0
+s	8086101d80861000	PRO/1000 MT Quad Port Server Adapter	0
+d	8086101e	82540EP Gigabit Ethernet Controller (Mobile)	0
+s	8086101e10140549	PRO/1000 MT Mobile Connection	0
+s	8086101e11790001	PRO/1000 MT Mobile Connection	0
+s	8086101e8086101e	PRO/1000 MT Mobile Connection	0
+d	80861026	82545GM Gigabit Ethernet Controller	0
+s	8086102610280169	Precision 470	0
+s	8086102680861000	PRO/1000 MT Server Connection	0
+s	8086102680861001	PRO/1000 MT Server Adapter	0
+s	8086102680861002	PRO/1000 MT Server Adapter	0
+s	8086102680861003	PRO/1000 GT Server Adapter	0
+s	8086102680861026	PRO/1000 MT Server Connection	0
+d	80861027	82545GM Gigabit Ethernet Controller	0
+s	80861027103c3103	NC310F PCI-X Gigabit Server Adapter	0
+s	8086102780861001	PRO/1000 MF Server Adapter(LX)	0
+s	8086102780861002	PRO/1000 MF Server Adapter(LX)	0
+s	8086102780861003	PRO/1000 MF Server Adapter(LX)	0
+s	8086102780861027	PRO/1000 MF Server Adapter	0
+d	80861028	82545GM Gigabit Ethernet Controller	0
+s	8086102880861028	PRO/1000 MB Server Connection	0
+d	80861029	82559 Ethernet Controller	0
+d	80861030	82559 InBusiness 10/100	0
+d	80861031	82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller	0
+s	8086103110140209	ThinkPad A/T/X Series	0
+s	80861031104d80e7	Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	80861031104d813c	Vaio PCG-GRV616G	0
+s	80861031107b5350	EtherExpress PRO/100 VE	0
+s	8086103111790001	EtherExpress PRO/100 VE	0
+s	80861031144dc000	EtherExpress PRO/100 VE	0
+s	80861031144dc001	EtherExpress PRO/100 VE	0
+s	80861031144dc003	EtherExpress PRO/100 VE	0
+s	80861031144dc006	vpr Matrix 170B4	0
+d	80861032	82801CAM (ICH3) PRO/100 VE Ethernet Controller	0
+d	80861033	82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller	0
+d	80861034	82801CAM (ICH3) PRO/100 VM Ethernet Controller	0
+d	80861035	82801CAM (ICH3)/82562EH (LOM) Ethernet Controller	0
+d	80861036	82801CAM (ICH3) 82562EH Ethernet Controller	0
+d	80861037	82801CAM (ICH3) Chipset Ethernet Controller	0
+d	80861038	82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller	0
+s	808610380e110098	Evo N600c	0
+d	80861039	82801DB PRO/100 VE (LOM) Ethernet Controller	0
+s	8086103910140267	NetVista A30p	0
+d	8086103a	82801DB PRO/100 VE (CNR) Ethernet Controller	0
+d	8086103b	82801DB PRO/100 VM (LOM) Ethernet Controller	0
+d	8086103c	82801DB PRO/100 VM (CNR) Ethernet Controller	0
+d	8086103d	82801DB PRO/100 VE (MOB) Ethernet Controller	0
+s	8086103d10140522	Thinkpad R50e model 1634	0
+d	8086103e	82801DB PRO/100 VM (MOB) Ethernet Controller	0
+d	80861040	536EP Data Fax Modem	0
+s	8086104016be1040	V.9X DSP Data Fax Modem	0
+d	80861043	PRO/Wireless LAN 2100 3B Mini PCI Adapter	0
+s	80861043103c08b0	tc1100 tablet	0
+s	8086104380862522	Samsung P30 integrated WLAN	0
+s	8086104380862527	MIM2000/Centrino	0
+s	8086104380862581	Toshiba Satellite M10	0
+d	80861048	PRO/10GbE LR Server Adapter	0
+s	808610488086a01f	PRO/10GbE LR Server Adapter	0
+s	808610488086a11f	PRO/10GbE LR Server Adapter	0
+d	80861049	82566MM Gigabit Network Connection	0
+d	8086104a	82566DM Gigabit Network Connection	0
+d	8086104b	82566DC Gigabit Network Connection	0
+d	8086104c	82562V 10/100 Network Connection	0
+d	8086104d	82566MC Gigabit Network Connection	0
+d	80861050	82562EZ 10/100 Ethernet Controller	0
+s	808610501462728c	865PE Neo2 (MS-6728)	0
+s	808610501462758c	MS-6758 (875P Neo)	0
+s	8086105080863020	D865PERL mainboard	0
+s	808610508086302f	Desktop Board D865GBF	0
+s	8086105080863427	S875WP1-E mainboard	0
+d	80861051	82801EB/ER (ICH5/ICH5R) integrated LAN Controller	0
+d	80861052	PRO/100 VM Network Connection	0
+d	80861053	PRO/100 VM Network Connection	0
+d	80861054	PRO/100 VE Network Connection	0
+d	80861055	PRO/100 VM Network Connection	0
+d	80861056	PRO/100 VE Network Connection	0
+d	80861057	PRO/100 VE Network Connection	0
+d	80861059	82551QM Ethernet Controller	0
+d	8086105b	82546GB Gigabit Ethernet Controller (Copper)	0
+d	8086105e	82571EB Gigabit Ethernet Controller	0
+s	8086105e103c7044	NC360T PCI Express Dual Port Gigabit Server Adapter	0
+s	8086105e17756003	Telum GE-QT	0
+s	8086105e8086005e	PRO/1000 PT Dual Port Server Connection	0
+s	8086105e8086105e	PRO/1000 PT Dual Port Network Connection	0
+s	8086105e8086115e	PRO/1000 PT Dual Port Server Adapter	0
+s	8086105e8086116e	PRO/1000 PT Dual Port Server Adapter	0
+s	8086105e8086125e	PRO/1000 PT Dual Port Server Adapter	0
+s	8086105e8086135e	PRO/1000 PT Dual Port Server Adapter	0
+d	8086105f	82571EB Gigabit Ethernet Controller	0
+s	8086105f8086115f	PRO/1000 PF Dual Port Server Adapter	0
+s	8086105f8086116f	PRO/1000 PF Dual Port Server Adapter	0
+s	8086105f8086125f	PRO/1000 PF Dual Port Server Adapter	0
+s	8086105f8086135f	PRO/1000 PF Dual Port Server Adapter	0
+d	80861060	82571EB Gigabit Ethernet Controller	0
+s	8086106080860060	PRO/1000 PB Dual Port Server Connection	0
+s	8086106080861060	PRO/1000 PB Dual Port Server Connection	0
+d	80861064	82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller	0
+s	80861064104380f8	P5GD1-VW Mainboard	0
+d	80861065	82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller	0
+d	80861066	82562 EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller	0
+d	80861067	82562 EM/EX/GX - PRO/100 VM Ethernet Controller	0
+d	80861068	82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile	0
+d	80861069	82562EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller Mobile	0
+d	8086106a	82562G - PRO/100 VE (LOM) Ethernet Controller	0
+d	8086106b	82562G - PRO/100 VE Ethernet Controller Mobile	0
+d	80861075	82547GI Gigabit Ethernet Controller	0
+s	8086107510280165	PowerEdge 750	0
+s	8086107580860075	PRO/1000 CT Network Connection	0
+s	8086107580861075	PRO/1000 CT Network Connection	0
+d	80861076	82541GI Gigabit Ethernet Controller	0
+s	8086107610280165	PowerEdge 750	0
+s	808610761028019a	PowerEdge SC1425	0
+s	8086107680860076	PRO/1000 MT Network Connection	0
+s	8086107680861076	PRO/1000 MT Network Connection	0
+s	8086107680861176	PRO/1000 MT Desktop Adapter	0
+s	8086107680861276	PRO/1000 MT Network Adapter	0
+d	80861077	82541GI Gigabit Ethernet Controller	0
+s	8086107711790001	PRO/1000 MT Mobile Connection	0
+s	8086107780860077	PRO/1000 MT Mobile Connection	0
+s	8086107780861077	PRO/1000 MT Mobile Connection	0
+d	80861078	82541ER Gigabit Ethernet Controller	0
+s	8086107880861078	82541ER-based Network Connection	0
+d	80861079	82546GB Gigabit Ethernet Controller	0
+s	80861079103c12a6	Dual Port 1000Base-T [A9900A]	0
+s	80861079103c12cf	Core Dual Port 1000Base-T [AB352A]	0
+s	80861079177510d0	V5D Single Board Computer Gigabit Ethernet	0
+s	808610791775ce90	CE9	0
+s	808610791fc10027	Niagara 2261 Failover NIC	0
+s	808610794c531090	Cx9 / Vx9 mainboard	0
+s	808610794c5310b0	CL9 mainboard	0
+s	8086107980860079	PRO/1000 MT Dual Port Network Connection	0
+s	8086107980861079	PRO/1000 MT Dual Port Network Connection	0
+s	8086107980861179	PRO/1000 MT Dual Port Server Adapter	0
+s	808610798086117a	PRO/1000 MT Dual Port Server Adapter	0
+d	8086107a	82546GB Gigabit Ethernet Controller	0
+s	8086107a103c12a8	Dual Port 1000base-SX [A9899A]	0
+s	8086107a8086107a	PRO/1000 MF Dual Port Server Adapter	0
+s	8086107a8086127a	PRO/1000 MF Dual Port Server Adapter	0
+d	8086107b	82546GB Gigabit Ethernet Controller	0
+s	8086107b8086007b	PRO/1000 MB Dual Port Server Connection	0
+s	8086107b8086107b	PRO/1000 MB Dual Port Server Connection	0
+d	8086107c	82541PI Gigabit Ethernet Controller	0
+s	8086107c80861376	PRO/1000 GT Desktop Adapter	0
+s	8086107c80861476	PRO/1000 GT Desktop Adapter	0
+d	8086107d	82572EI Gigabit Ethernet Controller (Copper)	0
+s	8086107d80861082	PRO/1000 PT Server Adapter	0
+s	8086107d80861092	PRO/1000 PT Server Adapter	0
+d	8086107e	82572EI Gigabit Ethernet Controller (Fiber)	0
+s	8086107e80861084	PRO/1000 PF Server Adapter	0
+s	8086107e80861094	PRO/1000 PF Server Adapter	0
+d	8086107f	82572EI Gigabit Ethernet Controller	0
+d	80861080	FA82537EP 56K V.92 Data/Fax Modem PCI	0
+d	80861081	631xESB/632xESB LAN Controller Copper	0
+d	80861082	631xESB/632xESB LAN Controller fiber	0
+d	80861083	631xESB/632xESB LAN Controller SERDES	0
+d	80861084	631xESB/632xESB IDE Redirection	0
+d	80861085	631xESB/632xESB Serial Port Redirection	0
+d	80861086	631xESB/632xESB IPMI/KCS0	0
+d	80861087	631xESB/632xESB UHCI Redirection	0
+d	80861089	631xESB/632xESB BT	0
+d	8086108a	82546GB Gigabit Ethernet Controller	0
+s	8086108a8086108a	PRO/1000 P Dual Port Server Adapter	0
+s	8086108a8086118a	PRO/1000 P Dual Port Server Adapter	0
+d	8086108b	82573V Gigabit Ethernet Controller (Copper)	0
+d	8086108c	82573E Gigabit Ethernet Controller (Copper)	0
+d	8086108e	82573E KCS (Active Management)	0
+d	8086108f	Active Management Technology - SOL	0
+d	80861091	PRO/100 VM Network Connection	0
+d	80861092	PRO/100 VE Network Connection	0
+d	80861093	PRO/100 VM Network Connection	0
+d	80861094	PRO/100 VE Network Connection	0
+d	80861095	PRO/100 VE Network Connection	0
+d	80861096	80003ES2LAN Gigabit Ethernet Controller (Copper)	0
+d	80861097	631xESB/632xESB DPT LAN Controller (Fiber)	0
+d	80861098	80003ES2LAN Gigabit Ethernet Controller (Serdes)	0
+d	80861099	82546GB Gigabit Ethernet Controller (Copper)	0
+s	8086109980861099	PRO/1000 GT Quad Port Server Adapter	0
+d	8086109a	82573L Gigabit Ethernet Controller	0
+s	8086109a1179ff10	PRO/1000 PL	0
+s	8086109a17aa2001	ThinkPad T60	0
+s	8086109a17aa207e	Thinkpad X60s	0
+s	8086109a8086109a	PRO/1000 PL Network Connection	0
+d	8086109b	82546GB PRO/1000 GF Quad Port Server Adapter	0
+d	8086109e	82597EX 10GbE Ethernet Controller	0
+s	8086109e8086a01f	PRO/10GbE CX4 Server Adapter	0
+s	8086109e8086a11f	PRO/10GbE CX4 Server Adapter	0
+d	808610a0	82571EB PRO/1000 AT Quad Port Bypass Adapter	0
+d	808610a1	82571EB PRO/1000 AF Quad Port Bypass Adapter	0
+d	808610a4	82571EB Gigabit Ethernet Controller	0
+s	808610a4808610a4	PRO/1000 PT Quad Port Server Adapter	0
+s	808610a4808611a4	PRO/1000 PT Quad Port Server Adapter	0
+d	808610b0	82573L PRO/1000 PL Network Connection	0
+d	808610b2	82573V PRO/1000 PM Network Connection	0
+d	808610b3	82573E PRO/1000 PM Network Connection	0
+d	808610b4	82573L PRO/1000 PL Network Connection	0
+d	808610b5	82546GB Gigabit Ethernet Controller (Copper)	0
+s	808610b5103c3109	NC340T PCI-X Quad-port Gigabit Server Adapter	0
+s	808610b580861099	PRO/1000 GT Quad Port Server Adapter	0
+s	808610b580861199	PRO/1000 GT Quad Port Server Adapter	0
+d	808610b9	82572EI Gigabit Ethernet Controller (Copper)	0
+s	808610b980861083	PRO/1000 PT Desktop Adapter	0
+s	808610b980861093	PRO/1000 PT Desktop Adapter	0
+d	808610ba	80003ES2LAN Gigabit Ethernet Controller (Copper)	0
+d	808610bb	80003ES2LAN Gigabit Ethernet Controller (Serdes)	0
+d	808610bc	82571EB Gigabit Ethernet Controller (Copper)	0
+s	808610bc808610bc	PRO/1000 PT Quad Port LP Server Adapter	0
+s	808610bc808611bc	PRO/1000 PT Quad Port LP Server Adapter	0
+d	808610c4	82562GT 10/100 Network Connection	0
+d	808610c5	82562G 10/100 Network Connection	0
+d	80861107	PRO/1000 MF Server Adapter (LX)	0
+d	80861130	82815 815 Chipset Host Bridge and Memory Controller Hub	0
+s	8086113010251016	Travelmate 612 TX	0
+s	8086113010438027	TUSL2-C Mainboard	0
+s	80861130104d80df	Vaio PCG-FX403	0
+s	8086113080864532	D815EEA2 mainboard	0
+s	8086113080864557	D815EGEW Mainboard	0
+d	80861131	82815 815 Chipset AGP Bridge	0
+d	80861132	82815 CGC [Chipset Graphics Controller]	0
+s	8086113210251016	Travelmate 612 TX	0
+s	80861132104d80df	Vaio PCG-FX403	0
+s	8086113280864532	D815EEA2 Mainboard	0
+s	8086113280864541	D815EEA Motherboard	0
+s	8086113280864557	D815EGEW Mainboard	0
+d	80861161	82806AA PCI64 Hub Advanced Programmable Interrupt Controller	0
+s	8086116180861161	82806AA PCI64 Hub APIC	0
+d	80861162	Xscale 80200 Big Endian Companion Chip	0
+d	80861200	IXP1200 Network Processor	0
+s	80861200172a0000	AEP SSL Accelerator	0
+d	80861209	8255xER/82551IT Fast Ethernet Controller	0
+s	808612094c531050	CT7 mainboard	0
+s	808612094c531051	CE7 mainboard	0
+s	808612094c531070	PC6 mainboard	0
+d	80861221	82092AA PCI to PCMCIA Bridge	0
+d	80861222	82092AA IDE Controller	0
+d	80861223	SAA7116	0
+d	80861225	82452KX/GX [Orion]	0
+d	80861226	82596 PRO/10 PCI	0
+d	80861227	82865 EtherExpress PRO/100A	0
+d	80861228	82556 EtherExpress PRO/100 Smart	0
 d	80861229	82557/8/9 [Ethernet Pro 100]	0	the revision field differentiates between them (1-3 is 82557, 4-5 is 82558, 6-8 is 82559, 9 is 82559ER)
-s	808612290e113001	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e113002	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e113003	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e113004	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e113005	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e113006	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e113007	82559 Fast Ethernet LOM with Alert on LAN*	0	
-s	808612290e11b01e	NC3120 Fast Ethernet NIC	0	
-s	808612290e11b01f	NC3122 Fast Ethernet NIC (dual port)	0	
-s	808612290e11b02f	NC1120 Ethernet NIC	0	
-s	808612290e11b04a	Netelligent 10/100TX NIC with Wake on LAN	0	
-s	808612290e11b0c6	NC3161 Fast Ethernet NIC (embedded, WOL)	0	
-s	808612290e11b0c7	NC3160 Fast Ethernet NIC (embedded)	0	
-s	808612290e11b0d7	NC3121 Fast Ethernet NIC (WOL)	0	
-s	808612290e11b0dd	NC3131 Fast Ethernet NIC (dual port)	0	
-s	808612290e11b0de	NC3132 Fast Ethernet Module (dual port)	0	
-s	808612290e11b0e1	NC3133 Fast Ethernet Module (100-FX)	0	
-s	808612290e11b134	NC3163 Fast Ethernet NIC (embedded, WOL)	0	
-s	808612290e11b13c	NC3162 Fast Ethernet NIC (embedded)	0	
-s	808612290e11b144	NC3123 Fast Ethernet NIC (WOL)	0	
-s	808612290e11b163	NC3134 Fast Ethernet NIC (dual port)	0	
-s	808612290e11b164	NC3135 Fast Ethernet Upgrade Module (dual port)	0	
-s	808612290e11b1a4	NC7131 Gigabit Server Adapter	0	
-s	808612291014005c	82558B Ethernet Pro 10/100	0	
-s	80861229101401bc	82559 Fast Ethernet LAN On Motherboard	0	
-s	80861229101401f1	10/100 Ethernet Server Adapter	0	
-s	80861229101401f2	10/100 Ethernet Server Adapter	0	
-s	8086122910140207	Ethernet Pro/100 S	0	
-s	8086122910140232	10/100 Dual Port Server Adapter	0	
-s	808612291014023a	ThinkPad R30	0	
-s	808612291014105c	Netfinity 10/100	0	
-s	8086122910142205	ThinkPad A22p	0	
-s	808612291014305c	10/100 EtherJet Management Adapter	0	
-s	808612291014405c	10/100 EtherJet Adapter with Alert on LAN	0	
-s	808612291014505c	10/100 EtherJet Secure Management Adapter	0	
-s	808612291014605c	10/100 EtherJet Secure Management Adapter	0	
-s	808612291014705c	10/100 Netfinity 10/100 Ethernet Security Adapter	0	
-s	808612291014805c	10/100 Netfinity 10/100 Ethernet Security Adapter	0	
-s	808612291028009b	PowerEdge 2500/2550	0	
-s	80861229102800ce	PowerEdge 1400	0	
-s	8086122910338000	PC-9821X-B06	0	
-s	8086122910338016	PK-UG-X006	0	
-s	808612291033801f	PK-UG-X006	0	
-s	8086122910338026	PK-UG-X006	0	
-s	8086122910338063	82559-based Fast Ethernet Adapter	0	
-s	8086122910338064	82559-based Fast Ethernet Adapter	0	
-s	80861229103c10c0	NetServer 10/100TX	0	
-s	80861229103c10c3	NetServer 10/100TX	0	
-s	80861229103c10ca	NetServer 10/100TX	0	
-s	80861229103c10cb	NetServer 10/100TX	0	
-s	80861229103c10e3	NetServer 10/100TX	0	
-s	80861229103c10e4	NetServer 10/100TX	0	
-s	80861229103c1200	NetServer 10/100TX	0	
-s	80861229108e10cf	EtherExpress PRO/100(B)	0	
-s	8086122910c31100	SmartEther100 SC1100	0	
-s	8086122910cf1115	8255x-based Ethernet Adapter (10/100)	0	
-s	8086122910cf1143	8255x-based Ethernet Adapter (10/100)	0	
-s	80861229110a008b	82551QM Fast Ethernet Multifuction PCI/CardBus Controller	0	
-s	8086122911790001	8255x-based Ethernet Adapter (10/100)	0	
-s	8086122911790002	PCI FastEther LAN on Docker	0	
-s	8086122911790003	8255x-based Fast Ethernet	0	
-s	8086122912592560	AT-2560 100	0	
-s	8086122912592561	AT-2560 100 FX Ethernet Adapter	0	
-s	8086122912660001	NE10/100 Adapter	0	
-s	8086122913e91000	6221L-4U	0	
-s	80861229144d2501	SEM-2000 MiniPCI LAN Adapter	0	
-s	80861229144d2502	SEM-2100IL MiniPCI LAN Adapter	0	
-s	8086122916681100	EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)	0	
-s	808612291775ce90	CE9	0	
-s	808612294c531080	CT8 mainboard	0	
-s	808612294c5310e0	PSL09 PrPMC	0	
-s	8086122980860001	EtherExpress PRO/100B (TX)	0	
-s	8086122980860002	EtherExpress PRO/100B (T4)	0	
-s	8086122980860003	EtherExpress PRO/10+	0	
-s	8086122980860004	EtherExpress PRO/100 WfM	0	
-s	8086122980860005	82557 10/100	0	
-s	8086122980860006	82557 10/100 with Wake on LAN	0	
-s	8086122980860007	82558 10/100 Adapter	0	
-s	8086122980860008	82558 10/100 with Wake on LAN	0	
-s	808612298086000a	EtherExpress PRO/100+ Management Adapter	0	
-s	808612298086000b	EtherExpress PRO/100+	0	
-s	808612298086000c	EtherExpress PRO/100+ Management Adapter	0	
-s	808612298086000d	EtherExpress PRO/100+ Alert On LAN II* Adapter	0	
-s	808612298086000e	EtherExpress PRO/100+ Management Adapter with Alert On LAN*	0	
-s	808612298086000f	EtherExpress PRO/100 Desktop Adapter	0	
-s	8086122980860010	EtherExpress PRO/100 S Management Adapter	0	
-s	8086122980860011	EtherExpress PRO/100 S Management Adapter	0	
-s	8086122980860012	EtherExpress PRO/100 S Advanced Management Adapter (D)	0	
-s	8086122980860013	EtherExpress PRO/100 S Advanced Management Adapter (E)	0	
-s	8086122980860030	EtherExpress PRO/100  Management Adapter with Alert On LAN* GC	0	
-s	8086122980860031	EtherExpress PRO/100 Desktop Adapter	0	
-s	8086122980860040	EtherExpress PRO/100 S Desktop Adapter	0	
-s	8086122980860041	EtherExpress PRO/100 S Desktop Adapter	0	
-s	8086122980860042	EtherExpress PRO/100 Desktop Adapter	0	
-s	8086122980860050	EtherExpress PRO/100 S Desktop Adapter	0	
-s	8086122980861009	EtherExpress PRO/100+ Server Adapter	0	
-s	808612298086100c	EtherExpress PRO/100+ Server Adapter (PILA8470B)	0	
-s	8086122980861012	EtherExpress PRO/100 S Server Adapter (D)	0	
-s	8086122980861013	EtherExpress PRO/100 S Server Adapter (E)	0	
-s	8086122980861015	EtherExpress PRO/100 S Dual Port Server Adapter	0	
-s	8086122980861017	EtherExpress PRO/100+ Dual Port Server Adapter	0	
-s	8086122980861030	EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server	0	
-s	8086122980861040	EtherExpress PRO/100 S Server Adapter	0	
-s	8086122980861041	EtherExpress PRO/100 S Server Adapter	0	
-s	8086122980861042	EtherExpress PRO/100 Server Adapter	0	
-s	8086122980861050	EtherExpress PRO/100 S Server Adapter	0	
-s	8086122980861051	EtherExpress PRO/100 Server Adapter	0	
-s	8086122980861052	EtherExpress PRO/100 Server Adapter	0	
-s	80861229808610f0	EtherExpress PRO/100+ Dual Port Adapter	0	
-s	8086122980862009	EtherExpress PRO/100 S Mobile Adapter	0	
-s	808612298086200d	EtherExpress PRO/100 Cardbus	0	
-s	808612298086200e	EtherExpress PRO/100 LAN+V90 Cardbus Modem	0	
-s	808612298086200f	EtherExpress PRO/100 SR Mobile Adapter	0	
-s	8086122980862010	EtherExpress PRO/100 S Mobile Combo Adapter	0	
-s	8086122980862013	EtherExpress PRO/100 SR Mobile Combo Adapter	0	
-s	8086122980862016	EtherExpress PRO/100 S Mobile Adapter	0	
-s	8086122980862017	EtherExpress PRO/100 S Combo Mobile Adapter	0	
-s	8086122980862018	EtherExpress PRO/100 SR Mobile Adapter	0	
-s	8086122980862019	EtherExpress PRO/100 SR Combo Mobile Adapter	0	
-s	8086122980862101	EtherExpress PRO/100 P Mobile Adapter	0	
-s	8086122980862102	EtherExpress PRO/100 SP Mobile Adapter	0	
-s	8086122980862103	EtherExpress PRO/100 SP Mobile Adapter	0	
-s	8086122980862104	EtherExpress PRO/100 SP Mobile Adapter	0	
-s	8086122980862105	EtherExpress PRO/100 SP Mobile Adapter	0	
-s	8086122980862106	EtherExpress PRO/100 P Mobile Adapter	0	
-s	8086122980862107	EtherExpress PRO/100 Network Connection	0	
-s	8086122980862108	EtherExpress PRO/100 Network Connection	0	
-s	8086122980862200	EtherExpress PRO/100 P Mobile Combo Adapter	0	
-s	8086122980862201	EtherExpress PRO/100 P Mobile Combo Adapter	0	
-s	8086122980862202	EtherExpress PRO/100 SP Mobile Combo Adapter	0	
-s	8086122980862203	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862204	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862205	EtherExpress PRO/100 SP Mobile Combo Adapter	0	
-s	8086122980862206	EtherExpress PRO/100 SP Mobile Combo Adapter	0	
-s	8086122980862207	EtherExpress PRO/100 SP Mobile Combo Adapter	0	
-s	8086122980862208	EtherExpress PRO/100 P Mobile Combo Adapter	0	
-s	8086122980862402	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862407	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862408	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862409	EtherExpress PRO/100+ MiniPCI	0	
-s	808612298086240f	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862410	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862411	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862412	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980862413	EtherExpress PRO/100+ MiniPCI	0	
-s	8086122980863000	82559 Fast Ethernet LAN on Motherboard	0	
-s	8086122980863001	82559 Fast Ethernet LOM with Basic Alert on LAN*	0	
-s	8086122980863002	82559 Fast Ethernet LOM with Alert on LAN II*	0	
-s	8086122980863006	EtherExpress PRO/100 S Network Connection	0	
-s	8086122980863007	EtherExpress PRO/100 S Network Connection	0	
-s	8086122980863008	EtherExpress PRO/100 Network Connection	0	
-s	8086122980863010	EtherExpress PRO/100 S Network Connection	0	
-s	8086122980863011	EtherExpress PRO/100 S Network Connection	0	
-s	8086122980863012	EtherExpress PRO/100 Network Connection	0	
-s	808612298086301a	S845WD1-E mainboard	0	
-s	8086122980863411	SDS2 Mainboard	0	
-d	8086122d	430FX - 82437FX TSC [Triton I]	0	
-d	8086122e	82371FB PIIX ISA [Triton I]	0	
-d	80861230	82371FB PIIX IDE [Triton I]	0	
-d	80861231	DSVD Modem	0	
-d	80861234	430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX)	0	
-d	80861235	430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP)	0	
-d	80861237	440FX - 82441FX PMC [Natoma]	0	
-d	80861239	82371FB PIIX IDE Interface	0	
-d	8086123b	82380PB PCI to PCI Docking Bridge	0	
-d	8086123c	82380AB (MISA) Mobile PCI-to-ISA Bridge	0	
-d	8086123d	683053 Programmable Interrupt Device	0	
-d	8086123e	82466GX (IHPC) Integrated Hot-Plug Controller (hidden mode)	0	
-d	8086123f	82466GX Integrated Hot-Plug Controller (IHPC)	0	
-d	80861240	82752 (752) AGP Graphics Accelerator	0	
-d	8086124b	82380FB (MPCI2) Mobile Docking Controller	0	
-d	80861250	430HX - 82439HX TXC [Triton II]	0	
-d	80861360	82806AA PCI64 Hub PCI Bridge	0	
-d	80861361	82806AA PCI64 Hub Controller (HRes)	0	
-s	8086136180861361	82806AA PCI64 Hub Controller (HRes)	0	
-s	8086136180868000	82806AA PCI64 Hub Controller (HRes)	0	
-d	80861460	82870P2 P64H2 Hub PCI Bridge	0	
-d	80861461	82870P2 P64H2 I/OxAPIC	0	
-s	8086146115d93480	P4DP6	0	
-s	808614614c531090	Cx9/Vx9 mainboard	0	
-d	80861462	82870P2 P64H2 Hot Plug Controller	0	
-d	80861960	80960RP [i960RP Microprocessor]	0	
-s	80861960101e0431	MegaRAID 431 RAID Controller	0	
-s	80861960101e0438	MegaRAID 438 Ultra2 LVD RAID Controller	0	
-s	80861960101e0466	MegaRAID 466 Express Plus RAID Controller	0	
-s	80861960101e0467	MegaRAID 467 Enterprise 1500 RAID Controller	0	
-s	80861960101e0490	MegaRAID 490 Express 300 RAID Controller	0	
-s	80861960101e0762	MegaRAID 762 Express RAID Controller	0	
-s	80861960101e09a0	PowerEdge Expandable RAID Controller 2/SC	0	
-s	8086196010280467	PowerEdge Expandable RAID Controller 2/DC	0	
-s	8086196010281111	PowerEdge Expandable RAID Controller 2/SC	0	
-s	80861960103c03a2	MegaRAID	0	
-s	80861960103c10c6	MegaRAID 438, NetRAID-3Si	0	
-s	80861960103c10c7	MegaRAID T5, Integrated NetRAID	0	
-s	80861960103c10cc	MegaRAID, Integrated NetRAID	0	
-s	80861960103c10cd	NetRAID-1Si	0	
-s	80861960105a0000	SuperTrak	0	
-s	80861960105a2168	SuperTrak Pro	0	
-s	80861960105a5168	SuperTrak66/100	0	
-s	8086196011111111	MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC	0	
-s	8086196011111112	PowerEdge Expandable RAID Controller 2/SC	0	
-s	80861960113c03a2	MegaRAID	0	
-s	80861960e4bf1010	CG1-RADIO	0	
-s	80861960e4bf1020	CU2-QUARTET	0	
-s	80861960e4bf1040	CU1-CHORUS	0	
-s	80861960e4bf3100	CX1-BAND	0	
-d	80861962	80960RM [i960RM Microprocessor]	0	
-s	80861962105a0000	SuperTrak SX6000 I2O CPU	0	
-d	80861a21	82840 840 (Carmel) Chipset Host Bridge (Hub A)	0	
-d	80861a23	82840 840 (Carmel) Chipset AGP Bridge	0	
-d	80861a24	82840 840 (Carmel) Chipset PCI Bridge (Hub B)	0	
-d	80861a30	82845 845 (Brookdale) Chipset Host Bridge	0	
-s	80861a301028010e	Optiplex GX240	0	
-d	80861a31	82845 845 (Brookdale) Chipset AGP Bridge	0	
-d	80861a38	5000 Series Chipset DMA Engine	0	
-d	80861a48	PRO/10GbE SR Server Adapter	0	
-d	80861b48	82597EX 10GbE Ethernet Controller	0	
-s	80861b488086a01f	PRO/10GbE LR Server Adapter	0	
-s	80861b488086a11f	PRO/10GbE LR Server Adapter	0	
-d	80862410	82801AA ISA Bridge (LPC)	0	
-d	80862411	82801AA IDE	0	
-d	80862412	82801AA USB	0	
-d	80862413	82801AA SMBus	0	
-d	80862415	82801AA AC'97 Audio	0	
-s	8086241510280095	Precision Workstation 220 Integrated Digital Audio	0	
-s	80862415110a0051	Activy 2xx	0	
-s	8086241511d40040	SoundMAX Integrated Digital Audio	0	
-s	8086241511d40048	SoundMAX Integrated Digital Audio	0	
-s	8086241511d45340	SoundMAX Integrated Digital Audio	0	
-s	8086241517341025	Activy 3xx	0	
-d	80862416	82801AA AC'97 Modem	0	
-d	80862418	82801AA PCI Bridge	0	
-d	80862420	82801AB ISA Bridge (LPC)	0	
-d	80862421	82801AB IDE	0	
-d	80862422	82801AB USB	0	
-d	80862423	82801AB SMBus	0	
-d	80862425	82801AB AC'97 Audio	0	
-s	8086242511d40040	SoundMAX Integrated Digital Audio	0	
-s	8086242511d40048	SoundMAX Integrated Digital Audio	0	
-d	80862426	82801AB AC'97 Modem	0	
-d	80862428	82801AB PCI Bridge	0	
-d	80862440	82801BA ISA Bridge (LPC)	0	
-s	8086244080865744	S845WD1-E	0	
-d	80862442	82801BA/BAM USB (Hub #1)	0	
-s	80862442101401c6	Netvista A40/A40p	0	
-s	8086244210251016	Travelmate 612 TX	0	
-s	80862442102800c7	Dimension 8100	0	
-s	808624421028010e	Optiplex GX240	0	
-s	8086244210438027	TUSL2-C Mainboard	0	
-s	80862442104d80df	Vaio PCG-FX403	0	
-s	80862442147b0507	TH7II-RAID	0	
-s	8086244280864532	D815EEA2 mainboard	0	
-s	8086244280864557	D815EGEW Mainboard	0	
-s	8086244280865744	S845WD1-E mainboard	0	
-d	80862443	82801BA/BAM SMBus	0	
-s	80862443101401c6	Netvista A40/A40p	0	
-s	8086244310251016	Travelmate 612 TX	0	
-s	80862443102800c7	Dimension 8100	0	
-s	808624431028010e	Optiplex GX240	0	
-s	8086244310438027	TUSL2-C Mainboard	0	
-s	80862443104d80df	Vaio PCG-FX403	0	
-s	80862443147b0507	TH7II-RAID	0	
-s	8086244380864532	D815EEA2 mainboard	0	
-s	8086244380864557	D815EGEW Mainboard	0	
-s	8086244380865744	S845WD1-E mainboard	0	
-d	80862444	82801BA/BAM USB (Hub #2)	0	
-s	8086244410251016	Travelmate 612 TX	0	
-s	80862444102800c7	Dimension 8100	0	
-s	808624441028010e	Optiplex GX240	0	
-s	8086244410438027	TUSL2-C Mainboard	0	
-s	80862444104d80df	Vaio PCG-FX403	0	
-s	80862444147b0507	TH7II-RAID	0	
-s	8086244480864532	D815EEA2 mainboard	0	
-s	8086244480865744	S845WD1-E mainboard	0	
-d	80862445	82801BA/BAM AC'97 Audio	0	
-s	808624450e11000b	Compaq Deskpro EN Audio	0	
-s	808624450e110088	Evo D500	0	
-s	80862445101401c6	Netvista A40/A40p	0	
-s	8086244510251016	Travelmate 612 TX	0	
-s	80862445104d80df	Vaio PCG-FX403	0	
-s	8086244514623370	STAC9721 AC	0	
-s	80862445147b0507	TH7II-RAID	0	
-s	8086244580864557	D815EGEW Mainboard	0	
-d	80862446	82801BA/BAM AC'97 Modem	0	
-s	8086244610251016	Travelmate 612 TX	0	
-s	80862446104d80df	Vaio PCG-FX403	0	
-d	80862448	82801 Mobile PCI Bridge	0	
-s	80862448103c099c	NX6110/NC6120	0	
-s	80862448144dc00c	P30 notebook	0	
-s	8086244817341055	Amilo M1420	0	
-d	80862449	82801BA/BAM/CA/CAM Ethernet Controller	0	
-s	808624490e110012	EtherExpress PRO/100 VM	0	
-s	808624490e110091	EtherExpress PRO/100 VE	0	
-s	80862449101401ce	EtherExpress PRO/100 VE	0	
-s	80862449101401dc	EtherExpress PRO/100 VE	0	
-s	80862449101401eb	EtherExpress PRO/100 VE	0	
-s	80862449101401ec	EtherExpress PRO/100 VE	0	
-s	8086244910140202	EtherExpress PRO/100 VE	0	
-s	8086244910140205	EtherExpress PRO/100 VE	0	
-s	8086244910140217	EtherExpress PRO/100 VE	0	
-s	8086244910140234	EtherExpress PRO/100 VE	0	
-s	808624491014023d	EtherExpress PRO/100 VE	0	
-s	8086244910140244	EtherExpress PRO/100 VE	0	
-s	8086244910140245	EtherExpress PRO/100 VE	0	
-s	8086244910140265	PRO/100 VE Desktop Connection	0	
-s	8086244910140267	PRO/100 VE Desktop Connection	0	
-s	808624491014026a	PRO/100 VE Desktop Connection	0	
-s	80862449109f315d	EtherExpress PRO/100 VE	0	
-s	80862449109f3181	EtherExpress PRO/100 VE	0	
-s	808624491179ff01	PRO/100 VE Network Connection	0	
-s	8086244911867801	EtherExpress PRO/100 VE	0	
-s	80862449144d2602	HomePNA 1M CNR	0	
-s	8086244980863010	EtherExpress PRO/100 VE	0	
-s	8086244980863011	EtherExpress PRO/100 VM	0	
-s	8086244980863012	82562EH based Phoneline	0	
-s	8086244980863013	EtherExpress PRO/100 VE	0	
-s	8086244980863014	EtherExpress PRO/100 VM	0	
-s	8086244980863015	82562EH based Phoneline	0	
-s	8086244980863016	EtherExpress PRO/100 P Mobile Combo	0	
-s	8086244980863017	EtherExpress PRO/100 P Mobile	0	
-s	8086244980863018	EtherExpress PRO/100	0	
-d	8086244a	82801BAM IDE U100	0	
-s	8086244a10251016	Travelmate 612TX	0	
-s	8086244a104d80df	Vaio PCG-FX403	0	
-d	8086244b	82801BA IDE U100	0	
-s	8086244b101401c6	Netvista A40/A40p	0	
-s	8086244b102800c7	Dimension 8100	0	
-s	8086244b1028010e	Optiplex GX240	0	
-s	8086244b10438027	TUSL2-C Mainboard	0	
-s	8086244b147b0507	TH7II-RAID	0	
-s	8086244b80864532	D815EEA2 mainboard	0	
-s	8086244b80864557	D815EGEW Mainboard	0	
-s	8086244b80865744	S845WD1-E mainboard	0	
-d	8086244c	82801BAM ISA Bridge (LPC)	0	
-d	8086244e	82801 PCI Bridge	0	
-s	8086244e10140267	NetVista A30p	0	
-d	80862450	82801E ISA Bridge (LPC)	0	
-d	80862452	82801E USB	0	
-d	80862453	82801E SMBus	0	
-d	80862459	82801E Ethernet Controller 0	0	
-d	8086245b	82801E IDE U100	0	
-d	8086245d	82801E Ethernet Controller 1	0	
-d	8086245e	82801E PCI Bridge	0	
-d	80862480	82801CA LPC Interface Controller	0	
-d	80862482	82801CA/CAM USB (Hub #1)	0	
-s	808624820e110030	Evo N600c	0	
-s	8086248210140220	ThinkPad A/T/X Series	0	
-s	80862482104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	8086248215d93480	P4DP6	0	
-s	8086248280861958	vpr Matrix 170B4	0	
-s	8086248280863424	SE7501HG2 Mainboard	0	
-s	8086248280864541	Latitude C640	0	
-d	80862483	82801CA/CAM SMBus Controller	0	
-s	8086248310140220	ThinkPad A/T/X Series	0	
-s	80862483104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	8086248315d93480	P4DP6	0	
-s	8086248380861958	vpr Matrix 170B4	0	
-d	80862484	82801CA/CAM USB (Hub #2)	0	
-s	808624840e110030	Evo N600c	0	
-s	8086248410140220	ThinkPad A/T/X Series	0	
-s	80862484104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	8086248415d93480	P4DP6	0	
-s	8086248480861958	vpr Matrix 170B4	0	
-d	80862485	82801CA/CAM AC'97 Audio Controller	0	
-s	8086248510135959	Crystal WMD Audio Codec	0	
-s	8086248510140222	ThinkPad T23 (2647-4MG) or A30/A30p (2652/2653)	0	
-s	8086248510140508	ThinkPad T30	0	
-s	808624851014051c	ThinkPad A/T/X Series	0	
-s	80862485104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	80862485144dc006	vpr Matrix 170B4	0	
-d	80862486	82801CA/CAM AC'97 Modem Controller	0	
-s	8086248610140223	ThinkPad A/T/X Series	0	
-s	8086248610140503	ThinkPad R31 2656BBG	0	
-s	808624861014051a	ThinkPad A/T/X Series	0	
-s	80862486101f1025	620 Series	0	
-s	80862486104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	80862486134d4c21	Dell Inspiron 2100 internal modem	0	
-s	80862486144d2115	vpr Matrix 170B4 internal modem	0	
-s	8086248614f15421	MD56ORD V.92 MDC Modem	0	
-d	80862487	82801CA/CAM USB (Hub #3)	0	
-s	808624870e110030	Evo N600c	0	
-s	8086248710140220	ThinkPad A/T/X Series	0	
-s	80862487104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	8086248715d93480	P4DP6	0	
-s	8086248780861958	vpr Matrix 170B4	0	
-d	8086248a	82801CAM IDE U100	0	
-s	8086248a0e110030	Evo N600c	0	
-s	8086248a10140220	ThinkPad A/T/X Series	0	
-s	8086248a104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-s	8086248a80861958	vpr Matrix 170B4	0	
-s	8086248a80864541	Latitude C640	0	
-d	8086248b	82801CA Ultra ATA Storage Controller	0	
-s	8086248b15d93480	P4DP6	0	
-d	8086248c	82801CAM ISA Bridge (LPC)	0	
-d	808624c0	82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge	0	
-s	808624c010140267	NetVista A30p	0	
-s	808624c014625800	845PE Max (MS-6580)	0	
-d	808624c1	82801DBL (ICH4-L) IDE Controller	0	
-d	808624c2	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1	0	
-s	808624c210140267	NetVista A30p	0	
-s	808624c21014052d	Thinkpad R50e model 1634	0	
-s	808624c21025005a	TravelMate 290	0	
-s	808624c210280126	Optiplex GX260	0	
-s	808624c210280163	Latitude D505	0	
-s	808624c210280196	Inspiron 5160	0	
-s	808624c2103c088c	NC8000 laptop	0	
-s	808624c2103c0890	NC6000 laptop	0	
-s	808624c2103c08b0	tc1100 tablet	0	
-s	808624c210718160	MIM2000	0	
-s	808624c2144dc00c	P30 notebook	0	
-s	808624c214625800	845PE Max (MS-6580)	0	
-s	808624c215092990	Averatec 5110H laptop	0	
-s	808624c217341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-s	808624c217341055	Amilo M1420	0	
-s	808624c24c531090	Cx9 / Vx9 mainboard	0	
-s	808624c280864541	Latitude D400	0	
-d	808624c3	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller	0	
-s	808624c310140267	NetVista A30p	0	
-s	808624c31014052d	Thinkpad R50e model 1634	0	
-s	808624c31025005a	TravelMate 290	0	
-s	808624c310280126	Optiplex GX260	0	
-s	808624c3103c088c	NC8000 laptop	0	
-s	808624c3103c0890	NC6000 laptop	0	
-s	808624c3103c08b0	tc1100 tablet	0	
-s	808624c310718160	MIM2000	0	
-s	808624c3145824c2	GA-8PE667 Ultra	0	
-s	808624c314625800	845PE Max (MS-6580)	0	
-s	808624c317341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-s	808624c317341055	Amilo M1420	0	
-s	808624c34c531090	Cx9 / Vx9 mainboard	0	
-d	808624c4	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2	0	
-s	808624c410140267	NetVista A30p	0	
-s	808624c41014052d	Thinkpad R50e model 1634	0	
-s	808624c41025005a	TravelMate 290	0	
-s	808624c410280126	Optiplex GX260	0	
-s	808624c410280163	Latitude D505	0	
-s	808624c410280196	Inspiron 5160	0	
-s	808624c4103c088c	NC8000 laptop	0	
-s	808624c4103c0890	NC6000 laptop	0	
-s	808624c4103c08b0	tc1100 tablet	0	
-s	808624c410718160	MIM2000	0	
-s	808624c4144dc00c	P30 notebook	0	
-s	808624c414625800	845PE Max (MS-6580)	0	
-s	808624c415092990	Averatec 5110H	0	
-s	808624c417341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-s	808624c44c531090	Cx9 / Vx9 mainboard	0	
-s	808624c480864541	Latitude D400	0	
-d	808624c5	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller	0	
-s	808624c50e1100b8	Analog Devices Inc. codec [SoundMAX]	0	
-s	808624c510140267	NetVista A30p	0	
-s	808624c51014055f	Thinkpad R50e model 1634	0	
-s	808624c51025005a	TravelMate 290	0	
-s	808624c510280139	Latitude D400	0	
-s	808624c510280163	Latitude D505	0	
-s	808624c510280196	Inspiron 5160	0	
-s	808624c5103c088c	NC8000 laptop	0	
-s	808624c5103c0890	NC6000 laptop	0	
-s	808624c5103c08b0	tc1100 tablet	0	
-s	808624c510718160	MIM2000	0	
-s	808624c5144dc00c	P30 notebook	0	
-s	808624c51458a002	GA-8PE667 Ultra	0	
-s	808624c514625800	845PE Max (MS-6580)	0	
-s	808624c517341005	D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T	0	
-s	808624c517341055	Amilo M1420	0	
-d	808624c6	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller	0	
-s	808624c610140559	Thinkpad R50e model 1634	0	
-s	808624c61025003c	Aspire 2001WLCi (Compal CL50 motherboard) implementation	0	
-s	808624c61025005a	TravelMate 290	0	
-s	808624c610280196	Inspiron 5160	0	
-s	808624c6103c088c	NC8000 laptop	0	
-s	808624c6103c0890	NC6000 laptop	0	
-s	808624c6103c08b0	tc1100 tablet	0	
-s	808624c610718160	MIM2000	0	
-s	808624c6144dc00c	P30 notebook	0	
-d	808624c7	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3	0	
-s	808624c710140267	NetVista A30p	0	
-s	808624c71014052d	Thinkpad R50e model 1634	0	
-s	808624c71025005a	TravelMate 290	0	
-s	808624c710280126	Optiplex GX260	0	
-s	808624c710280163	Latitude D505	0	
-s	808624c710280196	Inspiron 5160	0	
-s	808624c7103c088c	NC8000 laptop	0	
-s	808624c7103c0890	NC6000 laptop	0	
-s	808624c7103c08b0	tc1100 tablet	0	
-s	808624c710718160	MIM2000	0	
-s	808624c7144dc00c	P30 notebook	0	
-s	808624c714625800	845PE Max (MS-6580)	0	
-s	808624c715092990	Averatec 5110H	0	
-s	808624c717341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-s	808624c74c531090	Cx9 / Vx9 mainboard	0	
-s	808624c780864541	Latitude D400	0	
-d	808624ca	82801DBM (ICH4-M) IDE Controller	0	
-s	808624ca1014052d	Thinkpad R50e model 1634	0	
-s	808624ca1025005a	TravelMate 290	0	
-s	808624ca10280163	Latitude D505	0	
-s	808624ca10280196	Inspiron 5160	0	
-s	808624ca103c088c	NC8000 laptop	0	
-s	808624ca103c0890	NC6000 laptop	0	
-s	808624ca103c08b0	tc1100 tablet	0	
-s	808624ca10718160	MIM2000	0	
-s	808624ca144dc00c	P30 notebook	0	
-s	808624ca17341055	Amilo M1420	0	
-s	808624ca80864541	Latitude D400	0	
-d	808624cb	82801DB (ICH4) IDE Controller	0	
-s	808624cb10140267	NetVista A30p	0	
-s	808624cb10280126	Optiplex GX260	0	
-s	808624cb145824c2	GA-8PE667 Ultra	0	
-s	808624cb14625800	845PE Max (MS-6580)	0	
-s	808624cb17341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-s	808624cb4c531090	Cx9 / Vx9 mainboard	0	
-d	808624cc	82801DBM (ICH4-M) LPC Interface Bridge	0	
-s	808624cc144dc00c	P30 notebook	0	
-s	808624cc17341055	Amilo M1420	0	
-d	808624cd	82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller	0	
-s	808624cd10140267	NetVista A30p	0	
-s	808624cd1014052e	Thinkpad R50e model 1634	0	
-s	808624cd1025005a	TravelMate 290	0	
-s	808624cd1028011d	Latitude D600	0	
-s	808624cd10280126	Optiplex GX260	0	
-s	808624cd10280139	Latitude D400	0	
-s	808624cd10280163	Latitude D505	0	
-s	808624cd10280196	Inspiron 5160	0	
-s	808624cd103c088c	NC8000 laptop	0	
-s	808624cd103c0890	NC6000 laptop	0	
-s	808624cd103c08b0	tc1100 tablet	0	
-s	808624cd10718160	MIM2000	0	
-s	808624cd1179ff00	Satellite 2430	0	
-s	808624cd144dc00c	P30 notebook	0	
-s	808624cd14623981	845PE Max (MS-6580)	0	
-s	808624cd15091968	Averatec 5110H	0	
-s	808624cd17341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-s	808624cd17341055	Amilo M1420	0	
-s	808624cd4c531090	Cx9 / Vx9 mainboard	0	
-d	808624d0	82801EB/ER (ICH5/ICH5R) LPC Interface Bridge	0	
-d	808624d1	82801EB (ICH5) SATA Controller	0	
-s	808624d110280169	Precision 470	0	
-s	808624d11028019a	PowerEdge SC1425	0	
-s	808624d1103c12bc	d530 CMT (DG746A)	0	
-s	808624d1104380a6	P4P800 SE Mainboard	0	
-s	808624d1145824d1	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624d114627280	865PE Neo2 (MS-6728)	0	
-s	808624d115d94580	P4SCE Mainboard	0	
-s	808624d180863427	S875WP1-E mainboard	0	
-s	808624d180864246	Desktop Board D865GBF	0	
-s	808624d180864c43	Desktop Board D865GLC	0	
-s	808624d18086524c	D865PERL mainboard	0	
-d	808624d2	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1	0	
-s	808624d2101402ed	xSeries server mainboard	0	
-s	808624d210280169	Precision 470	0	
-s	808624d210280183	PowerEdge 1800	0	
-s	808624d21028019a	PowerEdge SC1425	0	
-s	808624d2103c006a	NX9500	0	
-s	808624d2103c12bc	d530 CMT (DG746A)	0	
-s	808624d2104380a6	P5P800-MX Mainboard	0	
-s	808624d2145824d2	GA-8IPE1000/8KNXP motherboard	0	
-s	808624d214627280	865PE Neo2 (MS-6728)	0	
-s	808624d215d94580	P4SCE Mainboard	0	
-s	808624d21734101c	Primergy RX300 S2	0	
-s	808624d280863427	S875WP1-E mainboard	0	
-s	808624d280864246	Desktop Board D865GBF	0	
-s	808624d280864c43	Desktop Board D865GLC	0	
-s	808624d28086524c	D865PERL mainboard	0	
-d	808624d3	82801EB/ER (ICH5/ICH5R) SMBus Controller	0	
-s	808624d3101402ed	xSeries server mainboard	0	
-s	808624d310280156	Precision 360	0	
-s	808624d310280169	Precision 470	0	
-s	808624d3103c12bc	d330 uT	0	
-s	808624d3104380a6	P4P800 Mainboard	0	
-s	808624d3145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624d314627280	865PE Neo2 (MS-6728)	0	
-s	808624d315d94580	P4SCE Mainboard	0	
-s	808624d31734101c	Primergy RX300 S2	0	
-s	808624d380863427	S875WP1-E mainboard	0	
-s	808624d380864246	Desktop Board D865GBF	0	
-s	808624d380864c43	Desktop Board D865GLC	0	
-s	808624d38086524c	D865PERL mainboard	0	
-d	808624d4	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2	0	
-s	808624d4101402ed	xSeries server mainboard	0	
-s	808624d410280169	Precision 470	0	
-s	808624d410280183	PowerEdge 1800	0	
-s	808624d41028019a	PowerEdge SC1425	0	
-s	808624d4103c006a	NX9500	0	
-s	808624d4103c12bc	d530 CMT (DG746A)	0	
-s	808624d4104380a6	P5P800-MX Mainboard	0	
-s	808624d4145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624d414627280	865PE Neo2 (MS-6728)	0	
-s	808624d415d94580	P4SCE Mainboard	0	
-s	808624d41734101c	Primergy RX300 S2	0	
-s	808624d480863427	S875WP1-E mainboard	0	
-s	808624d480864246	Desktop Board D865GBF	0	
-s	808624d480864c43	Desktop Board D865GLC	0	
-s	808624d48086524c	D865PERL mainboard	0	
-d	808624d5	82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller	0	
-s	808624d5100a147b	Abit IS7-E motherboard	0	
-s	808624d510280169	Precision 470	0	
-s	808624d5103c006a	NX9500	0	
-s	808624d5103c12bc	d330 uT	0	
-s	808624d5104380f3	P4P800 Mainboard	0	
-s	808624d51043810f	P5P800-MX Mainboard	0	
-s	808624d51458a002	GA-8IPE1000/8KNXP motherboard	0	
-s	808624d514620080	65PE Neo2-V (MS-6788) mainboard	0	
-s	808624d514627280	865PE Neo2 (MS-6728)	0	
-s	808624d58086a000	D865PERL mainboard	0	
-s	808624d58086e000	D865PERL mainboard	0	
-s	808624d58086e001	Desktop Board D865GBF	0	
-s	808624d58086e002	SoundMax Intergrated Digital Audio	0	
-d	808624d6	82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller	0	
-s	808624d6103c006a	NX9500	0	
-d	808624d7	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3	0	
-s	808624d7101402ed	xSeries server mainboard	0	
-s	808624d710280169	Precision 470	0	
-s	808624d710280183	PowerEdge 1800	0	
-s	808624d7103c006a	NX9500	0	
-s	808624d7103c12bc	d530 CMT (DG746A)	0	
-s	808624d7104380a6	P5P800-MX Mainboard	0	
-s	808624d7145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624d714627280	865PE Neo2 (MS-6728)	0	
-s	808624d715d94580	P4SCE Mainboard	0	
-s	808624d71734101c	Primergy RX300 S2	0	
-s	808624d780863427	S875WP1-E mainboard	0	
-s	808624d780864246	Desktop Board D865GBF	0	
-s	808624d780864c43	Desktop Board D865GLC	0	
-s	808624d78086524c	D865PERL mainboard	0	
-d	808624db	82801EB/ER (ICH5/ICH5R) IDE Controller	0	
-s	808624db101402ed	xSeries server mainboard	0	
-s	808624db10280169	Precision 470	0	
-s	808624db1028019a	PowerEdge SC1425	0	
-s	808624db103c006a	NX9500	0	
-s	808624db103c12bc	d530 CMT (DG746A)	0	
-s	808624db104380a6	P5P800-MX Mainboard	0	
-s	808624db145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624db14627280	865PE Neo2 (MS-6728)	0	
-s	808624db14627580	MSI 875P	0	
-s	808624db15d94580	P4SCE Mainboard	0	
-s	808624db1734101c	Primergy RX300 S2	0	
-s	808624db808624db	P4C800 Mainboard	0	
-s	808624db80863427	S875WP1-E mainboard	0	
-s	808624db80864246	Desktop Board D865GBF	0	
-s	808624db80864c43	Desktop Board D865GLC	0	
-s	808624db8086524c	D865PERL mainboard	0	
-d	808624dc	82801EB (ICH5) LPC Interface Bridge	0	
-d	808624dd	82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller	0	
-s	808624dd101402ed	xSeries server mainboard	0	
-s	808624dd10280169	Precision 470	0	
-s	808624dd10280183	PowerEdge 1800	0	
-s	808624dd1028019a	PowerEdge SC1425	0	
-s	808624dd103c006a	NX9500	0	
-s	808624dd103c12bc	d530 CMT (DG746A)	0	
-s	808624dd104380a6	P5P800-MX Mainboard	0	
-s	808624dd14585006	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624dd14627280	865PE Neo2 (MS-6728)	0	
-s	808624dd80863427	S875WP1-E mainboard	0	
-s	808624dd80864246	Desktop Board D865GBF	0	
-s	808624dd80864c43	Desktop Board D865GLC	0	
-s	808624dd8086524c	D865PERL mainboard	0	
-d	808624de	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4	0	
-s	808624de101402ed	xSeries server mainboard	0	
-s	808624de10280169	Precision 470	0	
-s	808624de104380a6	P5P800-MX Mainboard	0	
-s	808624de145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-s	808624de14627280	865PE Neo2 (MS-6728)	0	
-s	808624de15d94580	P4SCE Mainboard	0	
-s	808624de1734101c	Primergy RX300 S2	0	
-s	808624de80863427	S875WP1-E mainboard	0	
-s	808624de80864246	Desktop Board D865GBF	0	
-s	808624de80864c43	Desktop Board D865GLC	0	
-s	808624de8086524c	D865PERL mainboard	0	
-d	808624df	82801ER (ICH5R) SATA Controller	0	
-d	80862500	82820 820 (Camino) Chipset Host Bridge (MCH)	0	
-s	8086250010280095	Precision Workstation 220 Chipset	0	
-s	808625001043801c	P3C-2000 system chipset	0	
-d	80862501	82820 820 (Camino) Chipset Host Bridge (MCH)	0	
-s	808625011043801c	P3C-2000 system chipset	0	
-d	8086250b	82820 820 (Camino) Chipset Host Bridge	0	
-d	8086250f	82820 820 (Camino) Chipset AGP Bridge	0	
-d	80862520	82805AA MTH Memory Translator Hub	0	
-d	80862521	82804AA MRH-S Memory Repeater Hub for SDRAM	0	
-d	80862530	82850 850 (Tehama) Chipset Host Bridge (MCH)	0	
-s	80862530102800c7	Dimension 8100	0	
-s	80862530147b0507	TH7II-RAID	0	
-d	80862531	82860 860 (Wombat) Chipset Host Bridge (MCH)	0	
-d	80862532	82850 850 (Tehama) Chipset AGP Bridge	0	
-d	80862533	82860 860 (Wombat) Chipset AGP Bridge	0	
-d	80862534	82860 860 (Wombat) Chipset PCI Bridge	0	
-d	80862540	E7500 Memory Controller Hub	0	
-s	8086254015d93480	P4DP6	0	
-d	80862541	E7500/E7501 Host RASUM Controller	0	
-s	8086254115d93480	P4DP6	0	
-s	808625414c531090	Cx9 / Vx9 mainboard	0	
-s	8086254180863424	SE7501HG2 Mainboard	0	
-d	80862543	E7500/E7501 Hub Interface B PCI-to-PCI Bridge	0	
-d	80862544	E7500/E7501 Hub Interface B RASUM Controller	0	
-s	808625444c531090	Cx9 / Vx9 mainboard	0	
-d	80862545	E7500/E7501 Hub Interface C PCI-to-PCI Bridge	0	
-d	80862546	E7500/E7501 Hub Interface C RASUM Controller	0	
-d	80862547	E7500/E7501 Hub Interface D PCI-to-PCI Bridge	0	
-d	80862548	E7500/E7501 Hub Interface D RASUM Controller	0	
-d	8086254c	E7501 Memory Controller Hub	0	
-s	8086254c4c531090	Cx9 / Vx9 mainboard	0	
-s	8086254c80863424	SE7501HG2 Mainboard	0	
-d	80862550	E7505 Memory Controller Hub	0	
-d	80862551	E7505/E7205 Series RAS Controller	0	
-d	80862552	E7505/E7205 PCI-to-AGP Bridge	0	
-d	80862553	E7505 Hub Interface B PCI-to-PCI Bridge	0	
-d	80862554	E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller	0	
-d	8086255d	E7205 Memory Controller Hub	0	
-d	80862560	82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface	0	
-s	8086256010280126	Optiplex GX260	0	
-s	8086256014582560	GA-8PE667 Ultra	0	
-s	8086256014625800	845PE Max (MS-6580)	0	
-d	80862561	82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge	0	
-d	80862562	82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device	0	
-s	808625620e1100b9	Evo D510 SFF	0	
-s	8086256210140267	NetVista A30p	0	
-s	8086256217341004	D1451 Mainboard (SCENIC N300, i845GV)	0	
-d	80862570	82865G/PE/P DRAM Controller/Host-Hub Interface	0	
-s	80862570103c006a	NX9500	0	
-s	80862570103c12bc	d330 uT	0	
-s	80862570104380f2	P5P800-MX Mainboard	0	
-s	8086257014582570	GA-8IPE1000 Pro2 motherboard (865PE)	0	
-d	80862571	82865G/PE/P PCI to AGP Controller	0	
-d	80862572	82865G Integrated Graphics Controller	0	
-s	808625721028019d	Dimension 3000	0	
-s	80862572103c12bc	D530 sff(dc578av)	0	
-s	80862572104380a5	P5P800-MX Mainboard	0	
-s	8086257280864246	Desktop Board D865GBF	0	
-s	8086257280864c43	Desktop Board D865GLC	0	
-d	80862573	82865G/PE/P PCI to CSA Bridge	0	
-d	80862576	82865G/PE/P Processor to I/O Memory Interface	0	
-d	80862578	82875P/E7210 Memory Controller Hub	0	
-s	8086257814582578	GA-8KNXP motherboard (875P)	0	
-s	8086257814627580	MS-6758 (875P Neo)	0	
-s	8086257815d94580	P4SCE Motherboard	0	
-d	80862579	82875P Processor to AGP Controller	0	
-d	8086257b	82875P/E7210 Processor to PCI to CSA Bridge	0	
-d	8086257e	82875P/E7210 Processor to I/O Memory Interface	0	
-d	80862580	82915G/P/GV/GL/PL/910GL Memory Controller Hub	0	
-s	8086258014582580	GA-8I915ME-G Mainboard	0	
-s	8086258014627028	915P/G Neo2	0	
-s	808625801734105b	Scenic W620	0	
-d	80862581	82915G/P/GV/GL/PL/910GL PCI Express Root Port	0	
-d	80862582	82915G/GV/910GL Integrated Graphics Controller	0	
-s	8086258210281079	Optiplex GX280	0	
-s	80862582103c3006	DC7100 SFF(DX878AV)	0	
-s	8086258210432582	P5GD1-VW Mainboard	0	
-s	8086258214582582	GA-8I915ME-G Mainboard	0	
-s	808625821734105b	Scenic W620	0	
-d	80862584	82925X/XE Memory Controller Hub	0	
-d	80862585	82925X/XE PCI Express Root Port	0	
-d	80862588	E7220/E7221 Memory Controller Hub	0	
-d	80862589	E7220/E7221 PCI Express Root Port	0	
-d	8086258a	E7221 Integrated Graphics Controller	0	
-d	80862590	Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller	0	
-s	8086259010280182	Dell Latidude C610	0	
-s	80862590103c099c	NX6110/NC6120	0	
-s	80862590a30481b7	Vaio VGN-S3XP	0	
-d	80862591	Mobile 915GM/PM Express PCI Express Root Port	0	
-d	80862592	Mobile 915GM/GMS/910GML Express Graphics Controller	0	
-s	80862592103c099c	NX6110/NC6120	0	
-s	80862592103c308a	NC6220	0	
-s	8086259210431881	GMA 900 915GM Integrated Graphics	0	
-d	808625a1	6300ESB LPC Interface Controller	0	
-d	808625a2	6300ESB PATA Storage Controller	0	
-s	808625a2177510d0	V5D Single Board Computer IDE	0	
-s	808625a21775ce90	CE9	0	
-s	808625a24c5310b0	CL9 mainboard	0	
-s	808625a24c5310e0	PSL09 PrPMC	0	
-d	808625a3	6300ESB SATA Storage Controller	0	
-s	808625a31775ce90	CE9	0	
-s	808625a34c5310b0	CL9 mainboard	0	
-s	808625a34c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625a34c5310e0	PSL09 PrPMC	0	
-d	808625a4	6300ESB SMBus Controller	0	
-s	808625a4177510d0	V5D Single Board Computer	0	
-s	808625a41775ce90	CE9	0	
-s	808625a44c5310b0	CL9 mainboard	0	
-s	808625a44c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625a44c5310e0	PSL09 PrPMC	0	
-d	808625a6	6300ESB AC'97 Audio Controller	0	
-s	808625a61775ce90	CE9	0	
-s	808625a64c5310b0	CL9 mainboard	0	
-d	808625a7	6300ESB AC'97 Modem Controller	0	
-d	808625a9	6300ESB USB Universal Host Controller	0	
-s	808625a9177510d0	V5D Single Board Computer USB	0	
-s	808625a91775ce90	CE9	0	
-s	808625a94c5310b0	CL9 mainboard	0	
-s	808625a94c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625a94c5310e0	PSL09 PrPMC	0	
-d	808625aa	6300ESB USB Universal Host Controller	0	
-s	808625aa1775ce90	CE9	0	
-s	808625aa4c5310b0	CL9 mainboard	0	
-s	808625aa4c5310e0	PSL09 PrPMC	0	
-d	808625ab	6300ESB Watchdog Timer	0	
-s	808625ab177510d0	V5D Single Board Computer	0	
-s	808625ab1775ce90	CE9	0	
-s	808625ab4c5310b0	CL9 mainboard	0	
-s	808625ab4c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625ab4c5310e0	PSL09 PrPMC	0	
-d	808625ac	6300ESB I/O Advanced Programmable Interrupt Controller	0	
-s	808625ac177510d0	V5D Single Board Computer	0	
-s	808625ac1775ce90	CE9	0	
-s	808625ac4c5310b0	CL9 mainboard	0	
-s	808625ac4c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625ac4c5310e0	PSL09 PrPMC	0	
-d	808625ad	6300ESB USB2 Enhanced Host Controller	0	
-s	808625ad177510d0	V5D Single Board Computer USB 2.0	0	
-s	808625ad1775ce90	CE9	0	
-s	808625ad4c5310b0	CL9 mainboard	0	
-s	808625ad4c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625ad4c5310e0	PSL09 PrPMC	0	
-d	808625ae	6300ESB 64-bit PCI-X Bridge	0	
-d	808625b0	6300ESB SATA RAID Controller	0	
-s	808625b04c5310d0	Telum ASLP10 Processor AMC	0	
-s	808625b04c5310e0	PSL09 PrPMC	0	
-d	808625c0	5000X Chipset Memory Controller Hub	0	
-d	808625d0	5000Z Chipset Memory Controller Hub	0	
-d	808625d4	5000V Chipset Memory Controller Hub	0	
-d	808625d8	5000P Chipset Memory Controller Hub	0	
-d	808625e2	5000 Series Chipset PCI Express x4 Port 2	0	
-d	808625e3	5000 Series Chipset PCI Express x4 Port 3	0	
-d	808625e4	5000 Series Chipset PCI Express x4 Port 4	0	
-d	808625e5	5000 Series Chipset PCI Express x4 Port 5	0	
-d	808625e6	5000 Series Chipset PCI Express x4 Port 6	0	
-d	808625e7	5000 Series Chipset PCI Express x4 Port 7	0	
-d	808625f0	5000 Series Chipset FSB Registers	0	
-d	808625f1	5000 Series Chipset Reserved Registers	0	
-d	808625f3	5000 Series Chipset Reserved Registers	0	
-d	808625f5	5000 Series Chipset FBD Registers	0	
-d	808625f6	5000 Series Chipset FBD Registers	0	
-d	808625f7	5000 Series Chipset PCI Express x8 Port 2-3	0	
-d	808625f8	5000 Series Chipset PCI Express x8 Port 4-5	0	
-d	808625f9	5000 Series Chipset PCI Express x8 Port 6-7	0	
-d	808625fa	5000X Chipset PCI Express x16 Port 4-7	0	
-d	80862600	E8500/E8501 Hub Interface 1.5	0	
-d	80862601	E8500/E8501 PCI Express x4 Port D	0	
-d	80862602	E8500/E8501 PCI Express x4 Port C0	0	
-d	80862603	E8500/E8501 PCI Express x4 Port C1	0	
-d	80862604	E8500/E8501 PCI Express x4 Port B0	0	
-d	80862605	E8500/E8501 PCI Express x4 Port B1	0	
-d	80862606	E8500/E8501 PCI Express x4 Port A0	0	
-d	80862607	E8500/E8501 PCI Express x4 Port A1	0	
-d	80862608	E8500/E8501 PCI Express x8 Port C	0	
-d	80862609	E8500/E8501 PCI Express x8 Port B	0	
-d	8086260a	E8500/E8501 PCI Express x8 Port A	0	
-d	8086260c	E8500/E8501 IMI Registers	0	
-d	80862610	E8500/E8501 FSB Registers	0	
-d	80862611	E8500/E8501 Address Mapping Registers	0	
-d	80862612	E8500/E8501 RAS Registers	0	
-d	80862613	E8500/E8501 Reserved Registers	0	
-d	80862614	E8500/E8501 Reserved Registers	0	
-d	80862615	E8500/E8501 Miscellaneous Registers	0	
-d	80862617	E8500/E8501 Reserved Registers	0	
-d	80862618	E8500/E8501 Reserved Registers	0	
-d	80862619	E8500/E8501 Reserved Registers	0	
-d	8086261a	E8500/E8501 Reserved Registers	0	
-d	8086261b	E8500/E8501 Reserved Registers	0	
-d	8086261c	E8500/E8501 Reserved Registers	0	
-d	8086261d	E8500/E8501 Reserved Registers	0	
-d	8086261e	E8500/E8501 Reserved Registers	0	
-d	80862620	E8500/E8501 eXternal Memory Bridge	0	
-d	80862621	E8500/E8501 XMB Miscellaneous Registers	0	
-d	80862622	E8500/E8501 XMB Memory Interleaving Registers	0	
-d	80862623	E8500/E8501 XMB DDR Initialization and Calibration	0	
-d	80862624	E8500/E8501 XMB Reserved Registers	0	
-d	80862625	E8500/E8501 XMB Reserved Registers	0	
-d	80862626	E8500/E8501 XMB Reserved Registers	0	
-d	80862627	E8500/E8501 XMB Reserved Registers	0	
-d	80862640	82801FB/FR (ICH6/ICH6R) LPC Interface Bridge	0	
-s	8086264014627028	915P/G Neo2	0	
-s	808626401734105c	Scenic W620	0	
-d	80862641	82801FBM (ICH6M) LPC Interface Bridge	0	
-s	80862641103c099c	NX6110/NC6120	0	
-d	80862642	82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge	0	
-d	80862651	82801FB/FW (ICH6/ICH6W) SATA Controller	0	
-s	8086265110280179	Optiplex GX280	0	
-s	8086265110432601	P5GD1-VW Mainboard	0	
-s	808626511734105c	Scenic W620	0	
-s	8086265180864147	D915GAG Motherboard	0	
-d	80862652	82801FR/FRW (ICH6R/ICH6RW) SATA Controller	0	
-s	8086265214627028	915P/G Neo2	0	
-d	80862653	82801FBM (ICH6M) SATA Controller	0	
-d	80862658	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1	0	
-s	8086265810280179	Optiplex GX280	0	
-s	80862658103c099c	NX6110/NC6120	0	
-s	80862658104380a6	P5GD1-VW Mainboard	0	
-s	8086265814582558	GA-8I915ME-G Mainboard	0	
-s	8086265814627028	915P/G Neo2	0	
-s	808626581734105c	Scenic W620	0	
-d	80862659	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2	0	
-s	8086265910280179	Optiplex GX280	0	
-s	80862659103c099c	NX6110/NC6120	0	
-s	80862659104380a6	P5GD1-VW Mainboard	0	
-s	8086265914582659	GA-8I915ME-G Mainboard	0	
-s	8086265914627028	915P/G Neo2	0	
-s	808626591734105c	Scenic W620	0	
-d	8086265a	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3	0	
-s	8086265a10280179	Optiplex GX280	0	
-s	8086265a103c099c	NX6110/NC6120	0	
-s	8086265a104380a6	P5GD1-VW Mainboard	0	
-s	8086265a1458265a	GA-8I915ME-G Mainboard	0	
-s	8086265a14627028	915P/G Neo2	0	
-s	8086265a1734105c	Scenic W620	0	
-d	8086265b	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4	0	
-s	8086265b10280179	Optiplex GX280	0	
-s	8086265b103c099c	NX6110/NC6120	0	
-s	8086265b104380a6	P5GD1-VW Mainboard	0	
-s	8086265b1458265a	GA-8I915ME-G Mainboard	0	
-s	8086265b14627028	915P/G Neo2	0	
-s	8086265b1734105c	Scenic W620	0	
-d	8086265c	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller	0	
-s	8086265c10280179	Optiplex GX280	0	
-s	8086265c103c099c	NX6110/NC6120	0	
-s	8086265c104380a6	P5GD1-VW Mainboard	0	
-s	8086265c14585006	GA-8I915ME-G Mainboard	0	
-s	8086265c14627028	915P/G Neo2	0	
-s	8086265c1734105c	Scenic W620	0	
-s	8086265c8086265c	Dimension 3100	0	
-d	80862660	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1	0	
-s	80862660103c099c	NX6110/NC6120	0	
-d	80862662	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2	0	
-d	80862664	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3	0	
-d	80862666	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4	0	
-d	80862668	82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller	0	
+s	808612290e113001	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e113002	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e113003	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e113004	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e113005	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e113006	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e113007	82559 Fast Ethernet LOM with Alert on LAN*	0
+s	808612290e11b01e	NC3120 Fast Ethernet NIC	0
+s	808612290e11b01f	NC3122 Fast Ethernet NIC (dual port)	0
+s	808612290e11b02f	NC1120 Ethernet NIC	0
+s	808612290e11b04a	Netelligent 10/100TX NIC with Wake on LAN	0
+s	808612290e11b0c6	NC3161 Fast Ethernet NIC (embedded, WOL)	0
+s	808612290e11b0c7	NC3160 Fast Ethernet NIC (embedded)	0
+s	808612290e11b0d7	NC3121 Fast Ethernet NIC (WOL)	0
+s	808612290e11b0dd	NC3131 Fast Ethernet NIC (dual port)	0
+s	808612290e11b0de	NC3132 Fast Ethernet Module (dual port)	0
+s	808612290e11b0e1	NC3133 Fast Ethernet Module (100-FX)	0
+s	808612290e11b134	NC3163 Fast Ethernet NIC (embedded, WOL)	0
+s	808612290e11b13c	NC3162 Fast Ethernet NIC (embedded)	0
+s	808612290e11b144	NC3123 Fast Ethernet NIC (WOL)	0
+s	808612290e11b163	NC3134 Fast Ethernet NIC (dual port)	0
+s	808612290e11b164	NC3135 Fast Ethernet Upgrade Module (dual port)	0
+s	808612290e11b1a4	NC7131 Gigabit Server Adapter	0
+s	808612291014005c	82558B Ethernet Pro 10/100	0
+s	80861229101401bc	82559 Fast Ethernet LAN On Motherboard	0
+s	80861229101401f1	10/100 Ethernet Server Adapter	0
+s	80861229101401f2	10/100 Ethernet Server Adapter	0
+s	8086122910140207	Ethernet Pro/100 S	0
+s	8086122910140232	10/100 Dual Port Server Adapter	0
+s	808612291014023a	ThinkPad R30	0
+s	808612291014105c	Netfinity 10/100	0
+s	8086122910142205	ThinkPad A22p	0
+s	808612291014305c	10/100 EtherJet Management Adapter	0
+s	808612291014405c	10/100 EtherJet Adapter with Alert on LAN	0
+s	808612291014505c	10/100 EtherJet Secure Management Adapter	0
+s	808612291014605c	10/100 EtherJet Secure Management Adapter	0
+s	808612291014705c	10/100 Netfinity 10/100 Ethernet Security Adapter	0
+s	808612291014805c	10/100 Netfinity 10/100 Ethernet Security Adapter	0
+s	808612291028009b	PowerEdge 2500/2550	0
+s	80861229102800ce	PowerEdge 1400	0
+s	8086122910338000	PC-9821X-B06	0
+s	8086122910338016	PK-UG-X006	0
+s	808612291033801f	PK-UG-X006	0
+s	8086122910338026	PK-UG-X006	0
+s	8086122910338063	82559-based Fast Ethernet Adapter	0
+s	8086122910338064	82559-based Fast Ethernet Adapter	0
+s	80861229103c10c0	NetServer 10/100TX	0
+s	80861229103c10c3	NetServer 10/100TX	0
+s	80861229103c10ca	NetServer 10/100TX	0
+s	80861229103c10cb	NetServer 10/100TX	0
+s	80861229103c10e3	NetServer 10/100TX	0
+s	80861229103c10e4	NetServer 10/100TX	0
+s	80861229103c1200	NetServer 10/100TX	0
+s	80861229108e10cf	EtherExpress PRO/100(B)	0
+s	8086122910c31100	SmartEther100 SC1100	0
+s	8086122910cf1115	8255x-based Ethernet Adapter (10/100)	0
+s	8086122910cf1143	8255x-based Ethernet Adapter (10/100)	0
+s	80861229110a008b	82551QM Fast Ethernet Multifuction PCI/CardBus Controller	0
+s	8086122911790001	8255x-based Ethernet Adapter (10/100)	0
+s	8086122911790002	PCI FastEther LAN on Docker	0
+s	8086122911790003	8255x-based Fast Ethernet	0
+s	8086122912592560	AT-2560 100	0
+s	8086122912592561	AT-2560 100 FX Ethernet Adapter	0
+s	8086122912660001	NE10/100 Adapter	0
+s	8086122913e91000	6221L-4U	0
+s	80861229144d2501	SEM-2000 MiniPCI LAN Adapter	0
+s	80861229144d2502	SEM-2100IL MiniPCI LAN Adapter	0
+s	8086122916681100	EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)	0
+s	808612291775ce90	CE9	0
+s	808612294c531080	CT8 mainboard	0
+s	808612294c5310e0	PSL09 PrPMC	0
+s	8086122980860001	EtherExpress PRO/100B (TX)	0
+s	8086122980860002	EtherExpress PRO/100B (T4)	0
+s	8086122980860003	EtherExpress PRO/10+	0
+s	8086122980860004	EtherExpress PRO/100 WfM	0
+s	8086122980860005	82557 10/100	0
+s	8086122980860006	82557 10/100 with Wake on LAN	0
+s	8086122980860007	82558 10/100 Adapter	0
+s	8086122980860008	82558 10/100 with Wake on LAN	0
+s	808612298086000a	EtherExpress PRO/100+ Management Adapter	0
+s	808612298086000b	EtherExpress PRO/100+	0
+s	808612298086000c	EtherExpress PRO/100+ Management Adapter	0
+s	808612298086000d	EtherExpress PRO/100+ Alert On LAN II* Adapter	0
+s	808612298086000e	EtherExpress PRO/100+ Management Adapter with Alert On LAN*	0
+s	808612298086000f	EtherExpress PRO/100 Desktop Adapter	0
+s	8086122980860010	EtherExpress PRO/100 S Management Adapter	0
+s	8086122980860011	EtherExpress PRO/100 S Management Adapter	0
+s	8086122980860012	EtherExpress PRO/100 S Advanced Management Adapter (D)	0
+s	8086122980860013	EtherExpress PRO/100 S Advanced Management Adapter (E)	0
+s	8086122980860030	EtherExpress PRO/100  Management Adapter with Alert On LAN* GC	0
+s	8086122980860031	EtherExpress PRO/100 Desktop Adapter	0
+s	8086122980860040	EtherExpress PRO/100 S Desktop Adapter	0
+s	8086122980860041	EtherExpress PRO/100 S Desktop Adapter	0
+s	8086122980860042	EtherExpress PRO/100 Desktop Adapter	0
+s	8086122980860050	EtherExpress PRO/100 S Desktop Adapter	0
+s	8086122980861009	EtherExpress PRO/100+ Server Adapter	0
+s	808612298086100c	EtherExpress PRO/100+ Server Adapter (PILA8470B)	0
+s	8086122980861012	EtherExpress PRO/100 S Server Adapter (D)	0
+s	8086122980861013	EtherExpress PRO/100 S Server Adapter (E)	0
+s	8086122980861015	EtherExpress PRO/100 S Dual Port Server Adapter	0
+s	8086122980861017	EtherExpress PRO/100+ Dual Port Server Adapter	0
+s	8086122980861030	EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server	0
+s	8086122980861040	EtherExpress PRO/100 S Server Adapter	0
+s	8086122980861041	EtherExpress PRO/100 S Server Adapter	0
+s	8086122980861042	EtherExpress PRO/100 Server Adapter	0
+s	8086122980861050	EtherExpress PRO/100 S Server Adapter	0
+s	8086122980861051	EtherExpress PRO/100 Server Adapter	0
+s	8086122980861052	EtherExpress PRO/100 Server Adapter	0
+s	80861229808610f0	EtherExpress PRO/100+ Dual Port Adapter	0
+s	8086122980862009	EtherExpress PRO/100 S Mobile Adapter	0
+s	808612298086200d	EtherExpress PRO/100 Cardbus	0
+s	808612298086200e	EtherExpress PRO/100 LAN+V90 Cardbus Modem	0
+s	808612298086200f	EtherExpress PRO/100 SR Mobile Adapter	0
+s	8086122980862010	EtherExpress PRO/100 S Mobile Combo Adapter	0
+s	8086122980862013	EtherExpress PRO/100 SR Mobile Combo Adapter	0
+s	8086122980862016	EtherExpress PRO/100 S Mobile Adapter	0
+s	8086122980862017	EtherExpress PRO/100 S Combo Mobile Adapter	0
+s	8086122980862018	EtherExpress PRO/100 SR Mobile Adapter	0
+s	8086122980862019	EtherExpress PRO/100 SR Combo Mobile Adapter	0
+s	8086122980862101	EtherExpress PRO/100 P Mobile Adapter	0
+s	8086122980862102	EtherExpress PRO/100 SP Mobile Adapter	0
+s	8086122980862103	EtherExpress PRO/100 SP Mobile Adapter	0
+s	8086122980862104	EtherExpress PRO/100 SP Mobile Adapter	0
+s	8086122980862105	EtherExpress PRO/100 SP Mobile Adapter	0
+s	8086122980862106	EtherExpress PRO/100 P Mobile Adapter	0
+s	8086122980862107	EtherExpress PRO/100 Network Connection	0
+s	8086122980862108	EtherExpress PRO/100 Network Connection	0
+s	8086122980862200	EtherExpress PRO/100 P Mobile Combo Adapter	0
+s	8086122980862201	EtherExpress PRO/100 P Mobile Combo Adapter	0
+s	8086122980862202	EtherExpress PRO/100 SP Mobile Combo Adapter	0
+s	8086122980862203	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862204	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862205	EtherExpress PRO/100 SP Mobile Combo Adapter	0
+s	8086122980862206	EtherExpress PRO/100 SP Mobile Combo Adapter	0
+s	8086122980862207	EtherExpress PRO/100 SP Mobile Combo Adapter	0
+s	8086122980862208	EtherExpress PRO/100 P Mobile Combo Adapter	0
+s	8086122980862402	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862407	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862408	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862409	EtherExpress PRO/100+ MiniPCI	0
+s	808612298086240f	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862410	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862411	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862412	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980862413	EtherExpress PRO/100+ MiniPCI	0
+s	8086122980863000	82559 Fast Ethernet LAN on Motherboard	0
+s	8086122980863001	82559 Fast Ethernet LOM with Basic Alert on LAN*	0
+s	8086122980863002	82559 Fast Ethernet LOM with Alert on LAN II*	0
+s	8086122980863006	EtherExpress PRO/100 S Network Connection	0
+s	8086122980863007	EtherExpress PRO/100 S Network Connection	0
+s	8086122980863008	EtherExpress PRO/100 Network Connection	0
+s	8086122980863010	EtherExpress PRO/100 S Network Connection	0
+s	8086122980863011	EtherExpress PRO/100 S Network Connection	0
+s	8086122980863012	EtherExpress PRO/100 Network Connection	0
+s	808612298086301a	S845WD1-E mainboard	0
+s	8086122980863411	SDS2 Mainboard	0
+d	8086122d	430FX - 82437FX TSC [Triton I]	0
+d	8086122e	82371FB PIIX ISA [Triton I]	0
+d	80861230	82371FB PIIX IDE [Triton I]	0
+d	80861231	DSVD Modem	0
+d	80861234	430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX)	0
+d	80861235	430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP)	0
+d	80861237	440FX - 82441FX PMC [Natoma]	0
+d	80861239	82371FB PIIX IDE Interface	0
+d	8086123b	82380PB PCI to PCI Docking Bridge	0
+d	8086123c	82380AB (MISA) Mobile PCI-to-ISA Bridge	0
+d	8086123d	683053 Programmable Interrupt Device	0
+d	8086123e	82466GX (IHPC) Integrated Hot-Plug Controller (hidden mode)	0
+d	8086123f	82466GX Integrated Hot-Plug Controller (IHPC)	0
+d	80861240	82752 (752) AGP Graphics Accelerator	0
+d	8086124b	82380FB (MPCI2) Mobile Docking Controller	0
+d	80861250	430HX - 82439HX TXC [Triton II]	0
+d	80861360	82806AA PCI64 Hub PCI Bridge	0
+d	80861361	82806AA PCI64 Hub Controller (HRes)	0
+s	8086136180861361	82806AA PCI64 Hub Controller (HRes)	0
+s	8086136180868000	82806AA PCI64 Hub Controller (HRes)	0
+d	80861460	82870P2 P64H2 Hub PCI Bridge	0
+d	80861461	82870P2 P64H2 I/OxAPIC	0
+s	8086146115d93480	P4DP6	0
+s	808614614c531090	Cx9/Vx9 mainboard	0
+d	80861462	82870P2 P64H2 Hot Plug Controller	0
+d	80861960	80960RP [i960RP Microprocessor]	0
+s	80861960101e0431	MegaRAID 431 RAID Controller	0
+s	80861960101e0438	MegaRAID 438 Ultra2 LVD RAID Controller	0
+s	80861960101e0466	MegaRAID 466 Express Plus RAID Controller	0
+s	80861960101e0467	MegaRAID 467 Enterprise 1500 RAID Controller	0
+s	80861960101e0490	MegaRAID 490 Express 300 RAID Controller	0
+s	80861960101e0762	MegaRAID 762 Express RAID Controller	0
+s	80861960101e09a0	PowerEdge Expandable RAID Controller 2/SC	0
+s	8086196010280467	PowerEdge Expandable RAID Controller 2/DC	0
+s	8086196010281111	PowerEdge Expandable RAID Controller 2/SC	0
+s	80861960103c03a2	MegaRAID	0
+s	80861960103c10c6	MegaRAID 438, NetRAID-3Si	0
+s	80861960103c10c7	MegaRAID T5, Integrated NetRAID	0
+s	80861960103c10cc	MegaRAID, Integrated NetRAID	0
+s	80861960103c10cd	NetRAID-1Si	0
+s	80861960105a0000	SuperTrak	0
+s	80861960105a2168	SuperTrak Pro	0
+s	80861960105a5168	SuperTrak66/100	0
+s	8086196011111111	MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC	0
+s	8086196011111112	PowerEdge Expandable RAID Controller 2/SC	0
+s	80861960113c03a2	MegaRAID	0
+s	80861960e4bf1010	CG1-RADIO	0
+s	80861960e4bf1020	CU2-QUARTET	0
+s	80861960e4bf1040	CU1-CHORUS	0
+s	80861960e4bf3100	CX1-BAND	0
+d	80861962	80960RM [i960RM Microprocessor]	0
+s	80861962105a0000	SuperTrak SX6000 I2O CPU	0
+d	80861a21	82840 840 (Carmel) Chipset Host Bridge (Hub A)	0
+d	80861a23	82840 840 (Carmel) Chipset AGP Bridge	0
+d	80861a24	82840 840 (Carmel) Chipset PCI Bridge (Hub B)	0
+d	80861a30	82845 845 (Brookdale) Chipset Host Bridge	0
+s	80861a301028010e	Optiplex GX240	0
+d	80861a31	82845 845 (Brookdale) Chipset AGP Bridge	0
+d	80861a38	5000 Series Chipset DMA Engine	0
+d	80861a48	PRO/10GbE SR Server Adapter	0
+d	80861b48	82597EX 10GbE Ethernet Controller	0
+s	80861b488086a01f	PRO/10GbE LR Server Adapter	0
+s	80861b488086a11f	PRO/10GbE LR Server Adapter	0
+d	80862410	82801AA ISA Bridge (LPC)	0
+d	80862411	82801AA IDE	0
+d	80862412	82801AA USB	0
+d	80862413	82801AA SMBus	0
+d	80862415	82801AA AC'97 Audio	0
+s	8086241510280095	Precision Workstation 220 Integrated Digital Audio	0
+s	80862415110a0051	Activy 2xx	0
+s	8086241511d40040	SoundMAX Integrated Digital Audio	0
+s	8086241511d40048	SoundMAX Integrated Digital Audio	0
+s	8086241511d45340	SoundMAX Integrated Digital Audio	0
+s	8086241517341025	Activy 3xx	0
+d	80862416	82801AA AC'97 Modem	0
+d	80862418	82801AA PCI Bridge	0
+d	80862420	82801AB ISA Bridge (LPC)	0
+d	80862421	82801AB IDE	0
+d	80862422	82801AB USB	0
+d	80862423	82801AB SMBus	0
+d	80862425	82801AB AC'97 Audio	0
+s	8086242511d40040	SoundMAX Integrated Digital Audio	0
+s	8086242511d40048	SoundMAX Integrated Digital Audio	0
+d	80862426	82801AB AC'97 Modem	0
+d	80862428	82801AB PCI Bridge	0
+d	80862440	82801BA ISA Bridge (LPC)	0
+s	8086244080865744	S845WD1-E	0
+d	80862442	82801BA/BAM USB (Hub #1)	0
+s	80862442101401c6	Netvista A40/A40p	0
+s	8086244210251016	Travelmate 612 TX	0
+s	80862442102800c7	Dimension 8100	0
+s	808624421028010e	Optiplex GX240	0
+s	8086244210438027	TUSL2-C Mainboard	0
+s	80862442104d80df	Vaio PCG-FX403	0
+s	80862442147b0507	TH7II-RAID	0
+s	8086244280864532	D815EEA2 mainboard	0
+s	8086244280864557	D815EGEW Mainboard	0
+s	8086244280865744	S845WD1-E mainboard	0
+d	80862443	82801BA/BAM SMBus	0
+s	80862443101401c6	Netvista A40/A40p	0
+s	8086244310251016	Travelmate 612 TX	0
+s	80862443102800c7	Dimension 8100	0
+s	808624431028010e	Optiplex GX240	0
+s	8086244310438027	TUSL2-C Mainboard	0
+s	80862443104d80df	Vaio PCG-FX403	0
+s	80862443147b0507	TH7II-RAID	0
+s	8086244380864532	D815EEA2 mainboard	0
+s	8086244380864557	D815EGEW Mainboard	0
+s	8086244380865744	S845WD1-E mainboard	0
+d	80862444	82801BA/BAM USB (Hub #2)	0
+s	8086244410251016	Travelmate 612 TX	0
+s	80862444102800c7	Dimension 8100	0
+s	808624441028010e	Optiplex GX240	0
+s	8086244410438027	TUSL2-C Mainboard	0
+s	80862444104d80df	Vaio PCG-FX403	0
+s	80862444147b0507	TH7II-RAID	0
+s	8086244480864532	D815EEA2 mainboard	0
+s	8086244480865744	S845WD1-E mainboard	0
+d	80862445	82801BA/BAM AC'97 Audio	0
+s	808624450e11000b	Compaq Deskpro EN Audio	0
+s	808624450e110088	Evo D500	0
+s	80862445101401c6	Netvista A40/A40p	0
+s	8086244510251016	Travelmate 612 TX	0
+s	80862445104d80df	Vaio PCG-FX403	0
+s	8086244514623370	STAC9721 AC	0
+s	80862445147b0507	TH7II-RAID	0
+s	8086244580864557	D815EGEW Mainboard	0
+d	80862446	82801BA/BAM AC'97 Modem	0
+s	8086244610251016	Travelmate 612 TX	0
+s	80862446104d80df	Vaio PCG-FX403	0
+d	80862448	82801 Mobile PCI Bridge	0
+s	80862448103c099c	NX6110/NC6120	0
+s	80862448144dc00c	P30 notebook	0
+s	8086244817341055	Amilo M1420	0
+d	80862449	82801BA/BAM/CA/CAM Ethernet Controller	0
+s	808624490e110012	EtherExpress PRO/100 VM	0
+s	808624490e110091	EtherExpress PRO/100 VE	0
+s	80862449101401ce	EtherExpress PRO/100 VE	0
+s	80862449101401dc	EtherExpress PRO/100 VE	0
+s	80862449101401eb	EtherExpress PRO/100 VE	0
+s	80862449101401ec	EtherExpress PRO/100 VE	0
+s	8086244910140202	EtherExpress PRO/100 VE	0
+s	8086244910140205	EtherExpress PRO/100 VE	0
+s	8086244910140217	EtherExpress PRO/100 VE	0
+s	8086244910140234	EtherExpress PRO/100 VE	0
+s	808624491014023d	EtherExpress PRO/100 VE	0
+s	8086244910140244	EtherExpress PRO/100 VE	0
+s	8086244910140245	EtherExpress PRO/100 VE	0
+s	8086244910140265	PRO/100 VE Desktop Connection	0
+s	8086244910140267	PRO/100 VE Desktop Connection	0
+s	808624491014026a	PRO/100 VE Desktop Connection	0
+s	80862449109f315d	EtherExpress PRO/100 VE	0
+s	80862449109f3181	EtherExpress PRO/100 VE	0
+s	808624491179ff01	PRO/100 VE Network Connection	0
+s	8086244911867801	EtherExpress PRO/100 VE	0
+s	80862449144d2602	HomePNA 1M CNR	0
+s	8086244980863010	EtherExpress PRO/100 VE	0
+s	8086244980863011	EtherExpress PRO/100 VM	0
+s	8086244980863012	82562EH based Phoneline	0
+s	8086244980863013	EtherExpress PRO/100 VE	0
+s	8086244980863014	EtherExpress PRO/100 VM	0
+s	8086244980863015	82562EH based Phoneline	0
+s	8086244980863016	EtherExpress PRO/100 P Mobile Combo	0
+s	8086244980863017	EtherExpress PRO/100 P Mobile	0
+s	8086244980863018	EtherExpress PRO/100	0
+d	8086244a	82801BAM IDE U100	0
+s	8086244a10251016	Travelmate 612TX	0
+s	8086244a104d80df	Vaio PCG-FX403	0
+d	8086244b	82801BA IDE U100	0
+s	8086244b101401c6	Netvista A40/A40p	0
+s	8086244b102800c7	Dimension 8100	0
+s	8086244b1028010e	Optiplex GX240	0
+s	8086244b10438027	TUSL2-C Mainboard	0
+s	8086244b147b0507	TH7II-RAID	0
+s	8086244b80864532	D815EEA2 mainboard	0
+s	8086244b80864557	D815EGEW Mainboard	0
+s	8086244b80865744	S845WD1-E mainboard	0
+d	8086244c	82801BAM ISA Bridge (LPC)	0
+d	8086244e	82801 PCI Bridge	0
+s	8086244e10140267	NetVista A30p	0
+d	80862450	82801E ISA Bridge (LPC)	0
+d	80862452	82801E USB	0
+d	80862453	82801E SMBus	0
+d	80862459	82801E Ethernet Controller 0	0
+d	8086245b	82801E IDE U100	0
+d	8086245d	82801E Ethernet Controller 1	0
+d	8086245e	82801E PCI Bridge	0
+d	80862480	82801CA LPC Interface Controller	0
+d	80862482	82801CA/CAM USB (Hub #1)	0
+s	808624820e110030	Evo N600c	0
+s	8086248210140220	ThinkPad A/T/X Series	0
+s	80862482104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	8086248215d93480	P4DP6	0
+s	8086248280861958	vpr Matrix 170B4	0
+s	8086248280863424	SE7501HG2 Mainboard	0
+s	8086248280864541	Latitude C640	0
+d	80862483	82801CA/CAM SMBus Controller	0
+s	8086248310140220	ThinkPad A/T/X Series	0
+s	80862483104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	8086248315d93480	P4DP6	0
+s	8086248380861958	vpr Matrix 170B4	0
+d	80862484	82801CA/CAM USB (Hub #2)	0
+s	808624840e110030	Evo N600c	0
+s	8086248410140220	ThinkPad A/T/X Series	0
+s	80862484104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	8086248415d93480	P4DP6	0
+s	8086248480861958	vpr Matrix 170B4	0
+d	80862485	82801CA/CAM AC'97 Audio Controller	0
+s	8086248510135959	Crystal WMD Audio Codec	0
+s	8086248510140222	ThinkPad T23 (2647-4MG) or A30/A30p (2652/2653)	0
+s	8086248510140508	ThinkPad T30	0
+s	808624851014051c	ThinkPad A/T/X Series	0
+s	80862485104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	80862485144dc006	vpr Matrix 170B4	0
+d	80862486	82801CA/CAM AC'97 Modem Controller	0
+s	8086248610140223	ThinkPad A/T/X Series	0
+s	8086248610140503	ThinkPad R31 2656BBG	0
+s	808624861014051a	ThinkPad A/T/X Series	0
+s	80862486101f1025	620 Series	0
+s	80862486104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	80862486134d4c21	Dell Inspiron 2100 internal modem	0
+s	80862486144d2115	vpr Matrix 170B4 internal modem	0
+s	8086248614f15421	MD56ORD V.92 MDC Modem	0
+d	80862487	82801CA/CAM USB (Hub #3)	0
+s	808624870e110030	Evo N600c	0
+s	8086248710140220	ThinkPad A/T/X Series	0
+s	80862487104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	8086248715d93480	P4DP6	0
+s	8086248780861958	vpr Matrix 170B4	0
+d	8086248a	82801CAM IDE U100	0
+s	8086248a0e110030	Evo N600c	0
+s	8086248a10140220	ThinkPad A/T/X Series	0
+s	8086248a104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+s	8086248a80861958	vpr Matrix 170B4	0
+s	8086248a80864541	Latitude C640	0
+d	8086248b	82801CA Ultra ATA Storage Controller	0
+s	8086248b15d93480	P4DP6	0
+d	8086248c	82801CAM ISA Bridge (LPC)	0
+d	808624c0	82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge	0
+s	808624c010140267	NetVista A30p	0
+s	808624c014625800	845PE Max (MS-6580)	0
+d	808624c1	82801DBL (ICH4-L) IDE Controller	0
+d	808624c2	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1	0
+s	808624c210140267	NetVista A30p	0
+s	808624c21014052d	Thinkpad R50e model 1634	0
+s	808624c21025005a	TravelMate 290	0
+s	808624c210280126	Optiplex GX260	0
+s	808624c210280163	Latitude D505	0
+s	808624c210280196	Inspiron 5160	0
+s	808624c2103c088c	NC8000 laptop	0
+s	808624c2103c0890	NC6000 laptop	0
+s	808624c2103c08b0	tc1100 tablet	0
+s	808624c210718160	MIM2000	0
+s	808624c2144dc00c	P30 notebook	0
+s	808624c214625800	845PE Max (MS-6580)	0
+s	808624c215092990	Averatec 5110H laptop	0
+s	808624c217341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+s	808624c217341055	Amilo M1420	0
+s	808624c24c531090	Cx9 / Vx9 mainboard	0
+s	808624c280864541	Latitude D400	0
+d	808624c3	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller	0
+s	808624c310140267	NetVista A30p	0
+s	808624c31014052d	Thinkpad R50e model 1634	0
+s	808624c31025005a	TravelMate 290	0
+s	808624c310280126	Optiplex GX260	0
+s	808624c3103c088c	NC8000 laptop	0
+s	808624c3103c0890	NC6000 laptop	0
+s	808624c3103c08b0	tc1100 tablet	0
+s	808624c310718160	MIM2000	0
+s	808624c3145824c2	GA-8PE667 Ultra	0
+s	808624c314625800	845PE Max (MS-6580)	0
+s	808624c317341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+s	808624c317341055	Amilo M1420	0
+s	808624c34c531090	Cx9 / Vx9 mainboard	0
+d	808624c4	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2	0
+s	808624c410140267	NetVista A30p	0
+s	808624c41014052d	Thinkpad R50e model 1634	0
+s	808624c41025005a	TravelMate 290	0
+s	808624c410280126	Optiplex GX260	0
+s	808624c410280163	Latitude D505	0
+s	808624c410280196	Inspiron 5160	0
+s	808624c4103c088c	NC8000 laptop	0
+s	808624c4103c0890	NC6000 laptop	0
+s	808624c4103c08b0	tc1100 tablet	0
+s	808624c410718160	MIM2000	0
+s	808624c4144dc00c	P30 notebook	0
+s	808624c414625800	845PE Max (MS-6580)	0
+s	808624c415092990	Averatec 5110H	0
+s	808624c417341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+s	808624c44c531090	Cx9 / Vx9 mainboard	0
+s	808624c480864541	Latitude D400	0
+d	808624c5	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller	0
+s	808624c50e1100b8	Analog Devices Inc. codec [SoundMAX]	0
+s	808624c510140267	NetVista A30p	0
+s	808624c51014055f	Thinkpad R50e model 1634	0
+s	808624c51025005a	TravelMate 290	0
+s	808624c510280139	Latitude D400	0
+s	808624c510280163	Latitude D505	0
+s	808624c510280196	Inspiron 5160	0
+s	808624c5103c088c	NC8000 laptop	0
+s	808624c5103c0890	NC6000 laptop	0
+s	808624c5103c08b0	tc1100 tablet	0
+s	808624c510718160	MIM2000	0
+s	808624c5144dc00c	P30 notebook	0
+s	808624c51458a002	GA-8PE667 Ultra	0
+s	808624c514625800	845PE Max (MS-6580)	0
+s	808624c517341005	D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T	0
+s	808624c517341055	Amilo M1420	0
+d	808624c6	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller	0
+s	808624c610140559	Thinkpad R50e model 1634	0
+s	808624c61025003c	Aspire 2001WLCi (Compal CL50 motherboard) implementation	0
+s	808624c61025005a	TravelMate 290	0
+s	808624c610280196	Inspiron 5160	0
+s	808624c6103c088c	NC8000 laptop	0
+s	808624c6103c0890	NC6000 laptop	0
+s	808624c6103c08b0	tc1100 tablet	0
+s	808624c610718160	MIM2000	0
+s	808624c6144dc00c	P30 notebook	0
+d	808624c7	82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3	0
+s	808624c710140267	NetVista A30p	0
+s	808624c71014052d	Thinkpad R50e model 1634	0
+s	808624c71025005a	TravelMate 290	0
+s	808624c710280126	Optiplex GX260	0
+s	808624c710280163	Latitude D505	0
+s	808624c710280196	Inspiron 5160	0
+s	808624c7103c088c	NC8000 laptop	0
+s	808624c7103c0890	NC6000 laptop	0
+s	808624c7103c08b0	tc1100 tablet	0
+s	808624c710718160	MIM2000	0
+s	808624c7144dc00c	P30 notebook	0
+s	808624c714625800	845PE Max (MS-6580)	0
+s	808624c715092990	Averatec 5110H	0
+s	808624c717341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+s	808624c74c531090	Cx9 / Vx9 mainboard	0
+s	808624c780864541	Latitude D400	0
+d	808624ca	82801DBM (ICH4-M) IDE Controller	0
+s	808624ca1014052d	Thinkpad R50e model 1634	0
+s	808624ca1025005a	TravelMate 290	0
+s	808624ca10280163	Latitude D505	0
+s	808624ca10280196	Inspiron 5160	0
+s	808624ca103c088c	NC8000 laptop	0
+s	808624ca103c0890	NC6000 laptop	0
+s	808624ca103c08b0	tc1100 tablet	0
+s	808624ca10718160	MIM2000	0
+s	808624ca144dc00c	P30 notebook	0
+s	808624ca17341055	Amilo M1420	0
+s	808624ca80864541	Latitude D400	0
+d	808624cb	82801DB (ICH4) IDE Controller	0
+s	808624cb10140267	NetVista A30p	0
+s	808624cb10280126	Optiplex GX260	0
+s	808624cb145824c2	GA-8PE667 Ultra	0
+s	808624cb14625800	845PE Max (MS-6580)	0
+s	808624cb17341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+s	808624cb4c531090	Cx9 / Vx9 mainboard	0
+d	808624cc	82801DBM (ICH4-M) LPC Interface Bridge	0
+s	808624cc144dc00c	P30 notebook	0
+s	808624cc17341055	Amilo M1420	0
+d	808624cd	82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller	0
+s	808624cd10140267	NetVista A30p	0
+s	808624cd1014052e	Thinkpad R50e model 1634	0
+s	808624cd1025005a	TravelMate 290	0
+s	808624cd1028011d	Latitude D600	0
+s	808624cd10280126	Optiplex GX260	0
+s	808624cd10280139	Latitude D400	0
+s	808624cd10280163	Latitude D505	0
+s	808624cd10280196	Inspiron 5160	0
+s	808624cd103c088c	NC8000 laptop	0
+s	808624cd103c0890	NC6000 laptop	0
+s	808624cd103c08b0	tc1100 tablet	0
+s	808624cd10718160	MIM2000	0
+s	808624cd1179ff00	Satellite 2430	0
+s	808624cd144dc00c	P30 notebook	0
+s	808624cd14623981	845PE Max (MS-6580)	0
+s	808624cd15091968	Averatec 5110H	0
+s	808624cd17341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+s	808624cd17341055	Amilo M1420	0
+s	808624cd4c531090	Cx9 / Vx9 mainboard	0
+d	808624d0	82801EB/ER (ICH5/ICH5R) LPC Interface Bridge	0
+d	808624d1	82801EB (ICH5) SATA Controller	0
+s	808624d110280169	Precision 470	0
+s	808624d11028019a	PowerEdge SC1425	0
+s	808624d1103c12bc	d530 CMT (DG746A)	0
+s	808624d1104380a6	P4P800 SE Mainboard	0
+s	808624d1145824d1	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624d114627280	865PE Neo2 (MS-6728)	0
+s	808624d115d94580	P4SCE Mainboard	0
+s	808624d180863427	S875WP1-E mainboard	0
+s	808624d180864246	Desktop Board D865GBF	0
+s	808624d180864c43	Desktop Board D865GLC	0
+s	808624d18086524c	D865PERL mainboard	0
+d	808624d2	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1	0
+s	808624d2101402ed	xSeries server mainboard	0
+s	808624d210280169	Precision 470	0
+s	808624d210280183	PowerEdge 1800	0
+s	808624d21028019a	PowerEdge SC1425	0
+s	808624d2103c006a	NX9500	0
+s	808624d2103c12bc	d530 CMT (DG746A)	0
+s	808624d2104380a6	P5P800-MX Mainboard	0
+s	808624d2145824d2	GA-8IPE1000/8KNXP motherboard	0
+s	808624d214627280	865PE Neo2 (MS-6728)	0
+s	808624d215d94580	P4SCE Mainboard	0
+s	808624d21734101c	Primergy RX300 S2	0
+s	808624d280863427	S875WP1-E mainboard	0
+s	808624d280864246	Desktop Board D865GBF	0
+s	808624d280864c43	Desktop Board D865GLC	0
+s	808624d28086524c	D865PERL mainboard	0
+d	808624d3	82801EB/ER (ICH5/ICH5R) SMBus Controller	0
+s	808624d3101402ed	xSeries server mainboard	0
+s	808624d310280156	Precision 360	0
+s	808624d310280169	Precision 470	0
+s	808624d3103c12bc	d330 uT	0
+s	808624d3104380a6	P4P800 Mainboard	0
+s	808624d3145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624d314627280	865PE Neo2 (MS-6728)	0
+s	808624d315d94580	P4SCE Mainboard	0
+s	808624d31734101c	Primergy RX300 S2	0
+s	808624d380863427	S875WP1-E mainboard	0
+s	808624d380864246	Desktop Board D865GBF	0
+s	808624d380864c43	Desktop Board D865GLC	0
+s	808624d38086524c	D865PERL mainboard	0
+d	808624d4	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2	0
+s	808624d4101402ed	xSeries server mainboard	0
+s	808624d410280169	Precision 470	0
+s	808624d410280183	PowerEdge 1800	0
+s	808624d41028019a	PowerEdge SC1425	0
+s	808624d4103c006a	NX9500	0
+s	808624d4103c12bc	d530 CMT (DG746A)	0
+s	808624d4104380a6	P5P800-MX Mainboard	0
+s	808624d4145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624d414627280	865PE Neo2 (MS-6728)	0
+s	808624d415d94580	P4SCE Mainboard	0
+s	808624d41734101c	Primergy RX300 S2	0
+s	808624d480863427	S875WP1-E mainboard	0
+s	808624d480864246	Desktop Board D865GBF	0
+s	808624d480864c43	Desktop Board D865GLC	0
+s	808624d48086524c	D865PERL mainboard	0
+d	808624d5	82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller	0
+s	808624d5100a147b	Abit IS7-E motherboard	0
+s	808624d510280169	Precision 470	0
+s	808624d5103c006a	NX9500	0
+s	808624d5103c12bc	d330 uT	0
+s	808624d5104380f3	P4P800 Mainboard	0
+s	808624d51043810f	P5P800-MX Mainboard	0
+s	808624d51458a002	GA-8IPE1000/8KNXP motherboard	0
+s	808624d514620080	65PE Neo2-V (MS-6788) mainboard	0
+s	808624d514627280	865PE Neo2 (MS-6728)	0
+s	808624d58086a000	D865PERL mainboard	0
+s	808624d58086e000	D865PERL mainboard	0
+s	808624d58086e001	Desktop Board D865GBF	0
+s	808624d58086e002	SoundMax Intergrated Digital Audio	0
+d	808624d6	82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller	0
+s	808624d6103c006a	NX9500	0
+d	808624d7	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3	0
+s	808624d7101402ed	xSeries server mainboard	0
+s	808624d710280169	Precision 470	0
+s	808624d710280183	PowerEdge 1800	0
+s	808624d7103c006a	NX9500	0
+s	808624d7103c12bc	d530 CMT (DG746A)	0
+s	808624d7104380a6	P5P800-MX Mainboard	0
+s	808624d7145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624d714627280	865PE Neo2 (MS-6728)	0
+s	808624d715d94580	P4SCE Mainboard	0
+s	808624d71734101c	Primergy RX300 S2	0
+s	808624d780863427	S875WP1-E mainboard	0
+s	808624d780864246	Desktop Board D865GBF	0
+s	808624d780864c43	Desktop Board D865GLC	0
+s	808624d78086524c	D865PERL mainboard	0
+d	808624db	82801EB/ER (ICH5/ICH5R) IDE Controller	0
+s	808624db101402ed	xSeries server mainboard	0
+s	808624db10280169	Precision 470	0
+s	808624db1028019a	PowerEdge SC1425	0
+s	808624db103c006a	NX9500	0
+s	808624db103c12bc	d530 CMT (DG746A)	0
+s	808624db104380a6	P5P800-MX Mainboard	0
+s	808624db145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624db14627280	865PE Neo2 (MS-6728)	0
+s	808624db14627580	MSI 875P	0
+s	808624db15d94580	P4SCE Mainboard	0
+s	808624db1734101c	Primergy RX300 S2	0
+s	808624db808624db	P4C800 Mainboard	0
+s	808624db80863427	S875WP1-E mainboard	0
+s	808624db80864246	Desktop Board D865GBF	0
+s	808624db80864c43	Desktop Board D865GLC	0
+s	808624db8086524c	D865PERL mainboard	0
+d	808624dc	82801EB (ICH5) LPC Interface Bridge	0
+d	808624dd	82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller	0
+s	808624dd101402ed	xSeries server mainboard	0
+s	808624dd10280169	Precision 470	0
+s	808624dd10280183	PowerEdge 1800	0
+s	808624dd1028019a	PowerEdge SC1425	0
+s	808624dd103c006a	NX9500	0
+s	808624dd103c12bc	d530 CMT (DG746A)	0
+s	808624dd104380a6	P5P800-MX Mainboard	0
+s	808624dd14585006	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624dd14627280	865PE Neo2 (MS-6728)	0
+s	808624dd80863427	S875WP1-E mainboard	0
+s	808624dd80864246	Desktop Board D865GBF	0
+s	808624dd80864c43	Desktop Board D865GLC	0
+s	808624dd8086524c	D865PERL mainboard	0
+d	808624de	82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4	0
+s	808624de101402ed	xSeries server mainboard	0
+s	808624de10280169	Precision 470	0
+s	808624de104380a6	P5P800-MX Mainboard	0
+s	808624de145824d2	GA-8IPE1000 Pro2 motherboard (865PE)	0
+s	808624de14627280	865PE Neo2 (MS-6728)	0
+s	808624de15d94580	P4SCE Mainboard	0
+s	808624de1734101c	Primergy RX300 S2	0
+s	808624de80863427	S875WP1-E mainboard	0
+s	808624de80864246	Desktop Board D865GBF	0
+s	808624de80864c43	Desktop Board D865GLC	0
+s	808624de8086524c	D865PERL mainboard	0
+d	808624df	82801ER (ICH5R) SATA Controller	0
+d	80862500	82820 820 (Camino) Chipset Host Bridge (MCH)	0
+s	8086250010280095	Precision Workstation 220 Chipset	0
+s	808625001043801c	P3C-2000 system chipset	0
+d	80862501	82820 820 (Camino) Chipset Host Bridge (MCH)	0
+s	808625011043801c	P3C-2000 system chipset	0
+d	8086250b	82820 820 (Camino) Chipset Host Bridge	0
+d	8086250f	82820 820 (Camino) Chipset AGP Bridge	0
+d	80862520	82805AA MTH Memory Translator Hub	0
+d	80862521	82804AA MRH-S Memory Repeater Hub for SDRAM	0
+d	80862530	82850 850 (Tehama) Chipset Host Bridge (MCH)	0
+s	80862530102800c7	Dimension 8100	0
+s	80862530147b0507	TH7II-RAID	0
+d	80862531	82860 860 (Wombat) Chipset Host Bridge (MCH)	0
+d	80862532	82850 850 (Tehama) Chipset AGP Bridge	0
+d	80862533	82860 860 (Wombat) Chipset AGP Bridge	0
+d	80862534	82860 860 (Wombat) Chipset PCI Bridge	0
+d	80862540	E7500 Memory Controller Hub	0
+s	8086254015d93480	P4DP6	0
+d	80862541	E7500/E7501 Host RASUM Controller	0
+s	8086254115d93480	P4DP6	0
+s	808625414c531090	Cx9 / Vx9 mainboard	0
+s	8086254180863424	SE7501HG2 Mainboard	0
+d	80862543	E7500/E7501 Hub Interface B PCI-to-PCI Bridge	0
+d	80862544	E7500/E7501 Hub Interface B RASUM Controller	0
+s	808625444c531090	Cx9 / Vx9 mainboard	0
+d	80862545	E7500/E7501 Hub Interface C PCI-to-PCI Bridge	0
+d	80862546	E7500/E7501 Hub Interface C RASUM Controller	0
+d	80862547	E7500/E7501 Hub Interface D PCI-to-PCI Bridge	0
+d	80862548	E7500/E7501 Hub Interface D RASUM Controller	0
+d	8086254c	E7501 Memory Controller Hub	0
+s	8086254c4c531090	Cx9 / Vx9 mainboard	0
+s	8086254c80863424	SE7501HG2 Mainboard	0
+d	80862550	E7505 Memory Controller Hub	0
+d	80862551	E7505/E7205 Series RAS Controller	0
+d	80862552	E7505/E7205 PCI-to-AGP Bridge	0
+d	80862553	E7505 Hub Interface B PCI-to-PCI Bridge	0
+d	80862554	E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller	0
+d	8086255d	E7205 Memory Controller Hub	0
+d	80862560	82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface	0
+s	8086256010280126	Optiplex GX260	0
+s	8086256014582560	GA-8PE667 Ultra	0
+s	8086256014625800	845PE Max (MS-6580)	0
+d	80862561	82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge	0
+d	80862562	82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device	0
+s	808625620e1100b9	Evo D510 SFF	0
+s	8086256210140267	NetVista A30p	0
+s	8086256217341004	D1451 Mainboard (SCENIC N300, i845GV)	0
+d	80862570	82865G/PE/P DRAM Controller/Host-Hub Interface	0
+s	80862570103c006a	NX9500	0
+s	80862570103c12bc	d330 uT	0
+s	80862570104380f2	P5P800-MX Mainboard	0
+s	8086257014582570	GA-8IPE1000 Pro2 motherboard (865PE)	0
+d	80862571	82865G/PE/P PCI to AGP Controller	0
+d	80862572	82865G Integrated Graphics Controller	0
+s	808625721028019d	Dimension 3000	0
+s	80862572103c12bc	D530 sff(dc578av)	0
+s	80862572104380a5	P5P800-MX Mainboard	0
+s	8086257280864246	Desktop Board D865GBF	0
+s	8086257280864c43	Desktop Board D865GLC	0
+d	80862573	82865G/PE/P PCI to CSA Bridge	0
+d	80862576	82865G/PE/P Processor to I/O Memory Interface	0
+d	80862578	82875P/E7210 Memory Controller Hub	0
+s	8086257814582578	GA-8KNXP motherboard (875P)	0
+s	8086257814627580	MS-6758 (875P Neo)	0
+s	8086257815d94580	P4SCE Motherboard	0
+d	80862579	82875P Processor to AGP Controller	0
+d	8086257b	82875P/E7210 Processor to PCI to CSA Bridge	0
+d	8086257e	82875P/E7210 Processor to I/O Memory Interface	0
+d	80862580	82915G/P/GV/GL/PL/910GL Memory Controller Hub	0
+s	8086258014582580	GA-8I915ME-G Mainboard	0
+s	8086258014627028	915P/G Neo2	0
+s	808625801734105b	Scenic W620	0
+d	80862581	82915G/P/GV/GL/PL/910GL PCI Express Root Port	0
+d	80862582	82915G/GV/910GL Integrated Graphics Controller	0
+s	8086258210281079	Optiplex GX280	0
+s	80862582103c3006	DC7100 SFF(DX878AV)	0
+s	8086258210432582	P5GD1-VW Mainboard	0
+s	8086258214582582	GA-8I915ME-G Mainboard	0
+s	808625821734105b	Scenic W620	0
+d	80862584	82925X/XE Memory Controller Hub	0
+d	80862585	82925X/XE PCI Express Root Port	0
+d	80862588	E7220/E7221 Memory Controller Hub	0
+d	80862589	E7220/E7221 PCI Express Root Port	0
+d	8086258a	E7221 Integrated Graphics Controller	0
+d	80862590	Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller	0
+s	8086259010280182	Dell Latidude C610	0
+s	80862590103c099c	NX6110/NC6120	0
+s	80862590a30481b7	Vaio VGN-S3XP	0
+d	80862591	Mobile 915GM/PM Express PCI Express Root Port	0
+d	80862592	Mobile 915GM/GMS/910GML Express Graphics Controller	0
+s	80862592103c099c	NX6110/NC6120	0
+s	80862592103c308a	NC6220	0
+s	8086259210431881	GMA 900 915GM Integrated Graphics	0
+d	808625a1	6300ESB LPC Interface Controller	0
+d	808625a2	6300ESB PATA Storage Controller	0
+s	808625a2177510d0	V5D Single Board Computer IDE	0
+s	808625a21775ce90	CE9	0
+s	808625a24c5310b0	CL9 mainboard	0
+s	808625a24c5310e0	PSL09 PrPMC	0
+d	808625a3	6300ESB SATA Storage Controller	0
+s	808625a31775ce90	CE9	0
+s	808625a34c5310b0	CL9 mainboard	0
+s	808625a34c5310d0	Telum ASLP10 Processor AMC	0
+s	808625a34c5310e0	PSL09 PrPMC	0
+d	808625a4	6300ESB SMBus Controller	0
+s	808625a4177510d0	V5D Single Board Computer	0
+s	808625a41775ce90	CE9	0
+s	808625a44c5310b0	CL9 mainboard	0
+s	808625a44c5310d0	Telum ASLP10 Processor AMC	0
+s	808625a44c5310e0	PSL09 PrPMC	0
+d	808625a6	6300ESB AC'97 Audio Controller	0
+s	808625a61775ce90	CE9	0
+s	808625a64c5310b0	CL9 mainboard	0
+d	808625a7	6300ESB AC'97 Modem Controller	0
+d	808625a9	6300ESB USB Universal Host Controller	0
+s	808625a9177510d0	V5D Single Board Computer USB	0
+s	808625a91775ce90	CE9	0
+s	808625a94c5310b0	CL9 mainboard	0
+s	808625a94c5310d0	Telum ASLP10 Processor AMC	0
+s	808625a94c5310e0	PSL09 PrPMC	0
+d	808625aa	6300ESB USB Universal Host Controller	0
+s	808625aa1775ce90	CE9	0
+s	808625aa4c5310b0	CL9 mainboard	0
+s	808625aa4c5310e0	PSL09 PrPMC	0
+d	808625ab	6300ESB Watchdog Timer	0
+s	808625ab177510d0	V5D Single Board Computer	0
+s	808625ab1775ce90	CE9	0
+s	808625ab4c5310b0	CL9 mainboard	0
+s	808625ab4c5310d0	Telum ASLP10 Processor AMC	0
+s	808625ab4c5310e0	PSL09 PrPMC	0
+d	808625ac	6300ESB I/O Advanced Programmable Interrupt Controller	0
+s	808625ac177510d0	V5D Single Board Computer	0
+s	808625ac1775ce90	CE9	0
+s	808625ac4c5310b0	CL9 mainboard	0
+s	808625ac4c5310d0	Telum ASLP10 Processor AMC	0
+s	808625ac4c5310e0	PSL09 PrPMC	0
+d	808625ad	6300ESB USB2 Enhanced Host Controller	0
+s	808625ad177510d0	V5D Single Board Computer USB 2.0	0
+s	808625ad1775ce90	CE9	0
+s	808625ad4c5310b0	CL9 mainboard	0
+s	808625ad4c5310d0	Telum ASLP10 Processor AMC	0
+s	808625ad4c5310e0	PSL09 PrPMC	0
+d	808625ae	6300ESB 64-bit PCI-X Bridge	0
+d	808625b0	6300ESB SATA RAID Controller	0
+s	808625b04c5310d0	Telum ASLP10 Processor AMC	0
+s	808625b04c5310e0	PSL09 PrPMC	0
+d	808625c0	5000X Chipset Memory Controller Hub	0
+d	808625d0	5000Z Chipset Memory Controller Hub	0
+d	808625d4	5000V Chipset Memory Controller Hub	0
+d	808625d8	5000P Chipset Memory Controller Hub	0
+d	808625e2	5000 Series Chipset PCI Express x4 Port 2	0
+d	808625e3	5000 Series Chipset PCI Express x4 Port 3	0
+d	808625e4	5000 Series Chipset PCI Express x4 Port 4	0
+d	808625e5	5000 Series Chipset PCI Express x4 Port 5	0
+d	808625e6	5000 Series Chipset PCI Express x4 Port 6	0
+d	808625e7	5000 Series Chipset PCI Express x4 Port 7	0
+d	808625f0	5000 Series Chipset FSB Registers	0
+d	808625f1	5000 Series Chipset Reserved Registers	0
+d	808625f3	5000 Series Chipset Reserved Registers	0
+d	808625f5	5000 Series Chipset FBD Registers	0
+d	808625f6	5000 Series Chipset FBD Registers	0
+d	808625f7	5000 Series Chipset PCI Express x8 Port 2-3	0
+d	808625f8	5000 Series Chipset PCI Express x8 Port 4-5	0
+d	808625f9	5000 Series Chipset PCI Express x8 Port 6-7	0
+d	808625fa	5000X Chipset PCI Express x16 Port 4-7	0
+d	80862600	E8500/E8501 Hub Interface 1.5	0
+d	80862601	E8500/E8501 PCI Express x4 Port D	0
+d	80862602	E8500/E8501 PCI Express x4 Port C0	0
+d	80862603	E8500/E8501 PCI Express x4 Port C1	0
+d	80862604	E8500/E8501 PCI Express x4 Port B0	0
+d	80862605	E8500/E8501 PCI Express x4 Port B1	0
+d	80862606	E8500/E8501 PCI Express x4 Port A0	0
+d	80862607	E8500/E8501 PCI Express x4 Port A1	0
+d	80862608	E8500/E8501 PCI Express x8 Port C	0
+d	80862609	E8500/E8501 PCI Express x8 Port B	0
+d	8086260a	E8500/E8501 PCI Express x8 Port A	0
+d	8086260c	E8500/E8501 IMI Registers	0
+d	80862610	E8500/E8501 FSB Registers	0
+d	80862611	E8500/E8501 Address Mapping Registers	0
+d	80862612	E8500/E8501 RAS Registers	0
+d	80862613	E8500/E8501 Reserved Registers	0
+d	80862614	E8500/E8501 Reserved Registers	0
+d	80862615	E8500/E8501 Miscellaneous Registers	0
+d	80862617	E8500/E8501 Reserved Registers	0
+d	80862618	E8500/E8501 Reserved Registers	0
+d	80862619	E8500/E8501 Reserved Registers	0
+d	8086261a	E8500/E8501 Reserved Registers	0
+d	8086261b	E8500/E8501 Reserved Registers	0
+d	8086261c	E8500/E8501 Reserved Registers	0
+d	8086261d	E8500/E8501 Reserved Registers	0
+d	8086261e	E8500/E8501 Reserved Registers	0
+d	80862620	E8500/E8501 eXternal Memory Bridge	0
+d	80862621	E8500/E8501 XMB Miscellaneous Registers	0
+d	80862622	E8500/E8501 XMB Memory Interleaving Registers	0
+d	80862623	E8500/E8501 XMB DDR Initialization and Calibration	0
+d	80862624	E8500/E8501 XMB Reserved Registers	0
+d	80862625	E8500/E8501 XMB Reserved Registers	0
+d	80862626	E8500/E8501 XMB Reserved Registers	0
+d	80862627	E8500/E8501 XMB Reserved Registers	0
+d	80862640	82801FB/FR (ICH6/ICH6R) LPC Interface Bridge	0
+s	8086264014627028	915P/G Neo2	0
+s	808626401734105c	Scenic W620	0
+d	80862641	82801FBM (ICH6M) LPC Interface Bridge	0
+s	80862641103c099c	NX6110/NC6120	0
+d	80862642	82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge	0
+d	80862651	82801FB/FW (ICH6/ICH6W) SATA Controller	0
+s	8086265110280179	Optiplex GX280	0
+s	8086265110432601	P5GD1-VW Mainboard	0
+s	808626511734105c	Scenic W620	0
+s	8086265180864147	D915GAG Motherboard	0
+d	80862652	82801FR/FRW (ICH6R/ICH6RW) SATA Controller	0
+s	8086265214627028	915P/G Neo2	0
+d	80862653	82801FBM (ICH6M) SATA Controller	0
+d	80862658	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1	0
+s	8086265810280179	Optiplex GX280	0
+s	80862658103c099c	NX6110/NC6120	0
+s	80862658104380a6	P5GD1-VW Mainboard	0
+s	8086265814582558	GA-8I915ME-G Mainboard	0
+s	8086265814627028	915P/G Neo2	0
+s	808626581734105c	Scenic W620	0
+d	80862659	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2	0
+s	8086265910280179	Optiplex GX280	0
+s	80862659103c099c	NX6110/NC6120	0
+s	80862659104380a6	P5GD1-VW Mainboard	0
+s	8086265914582659	GA-8I915ME-G Mainboard	0
+s	8086265914627028	915P/G Neo2	0
+s	808626591734105c	Scenic W620	0
+d	8086265a	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3	0
+s	8086265a10280179	Optiplex GX280	0
+s	8086265a103c099c	NX6110/NC6120	0
+s	8086265a104380a6	P5GD1-VW Mainboard	0
+s	8086265a1458265a	GA-8I915ME-G Mainboard	0
+s	8086265a14627028	915P/G Neo2	0
+s	8086265a1734105c	Scenic W620	0
+d	8086265b	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4	0
+s	8086265b10280179	Optiplex GX280	0
+s	8086265b103c099c	NX6110/NC6120	0
+s	8086265b104380a6	P5GD1-VW Mainboard	0
+s	8086265b1458265a	GA-8I915ME-G Mainboard	0
+s	8086265b14627028	915P/G Neo2	0
+s	8086265b1734105c	Scenic W620	0
+d	8086265c	82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller	0
+s	8086265c10280179	Optiplex GX280	0
+s	8086265c103c099c	NX6110/NC6120	0
+s	8086265c104380a6	P5GD1-VW Mainboard	0
+s	8086265c14585006	GA-8I915ME-G Mainboard	0
+s	8086265c14627028	915P/G Neo2	0
+s	8086265c1734105c	Scenic W620	0
+s	8086265c8086265c	Dimension 3100	0
+d	80862660	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1	0
+s	80862660103c099c	NX6110/NC6120	0
+d	80862662	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2	0
+d	80862664	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3	0
+d	80862666	82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4	0
+d	80862668	82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller	0
 s	80862668103c2a09	PufferM-UL8E	0	based on the PTGD1-LA motherboard
-s	808626681043814e	P5GD1-VW Mainboard	0	
-d	8086266a	82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller	0	
-s	8086266a10280179	Optiplex GX280	0	
-s	8086266a104380a6	P5GD1-VW Mainboard	0	
-s	8086266a1458266a	GA-8I915ME-G Mainboard	0	
-s	8086266a14627028	915P/G Neo2	0	
-s	8086266a1734105c	Scenic W620	0	
-d	8086266c	82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller	0	
-d	8086266d	82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller	0	
-s	8086266d1025006a	Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)	0	
-s	8086266d103c099c	NX6110/NC6120	0	
-d	8086266e	82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller	0	
-s	8086266e1025006a	Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)	0	
-s	8086266e10280179	Optiplex GX280	0	
-s	8086266e10280182	Latitude D610 Laptop	0	
-s	8086266e10280188	Inspiron 6000 laptop	0	
-s	8086266e103c0944	Compaq NC6220	0	
-s	8086266e103c099c	NX6110/NC6120	0	
-s	8086266e103c3006	DC7100 SFF(DX878AV)	0	
-s	8086266e1458a002	GA-8I915ME-G Mainboard	0	
-s	8086266e152d0745	Packard Bell A8550 Laptop	0	
-s	8086266e1734105a	Scenic W620	0	
-d	8086266f	82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller	0	
-s	8086266f103c099c	NX6110/NC6120	0	
-s	8086266f104380a6	P5GD1-VW Mainboard	0	
-s	8086266f1458266f	GA-8I915ME-G Mainboard	0	
-s	8086266f14627028	915P/G Neo2	0	
-s	8086266f1734105c	Scenic W620	0	
-d	80862670	631xESB/632xESB/3100 Chipset LPC Interface Controller	0	
-d	80862680	631xESB/632xESB/3100 Chipset SATA Storage Controller IDE	0	
-d	80862681	631xESB/632xESB SATA Storage Controller AHCI	0	
-d	80862682	631xESB/632xESB SATA Storage Controller RAID	0	
-d	80862683	631xESB/632xESB SATA Storage Controller RAID	0	
-d	80862688	631xESB/632xESB/3100 Chipset UHCI USB Controller #1	0	
-d	80862689	631xESB/632xESB/3100 Chipset UHCI USB Controller #2	0	
-d	8086268a	631xESB/632xESB/3100 Chipset UHCI USB Controller #3	0	
-d	8086268b	631xESB/632xESB/3100 Chipset UHCI USB Controller #4	0	
-d	8086268c	631xESB/632xESB/3100 Chipset EHCI USB2 Controller	0	
-d	80862690	631xESB/632xESB/3100 Chipset PCI Express Root Port 1	0	
-d	80862692	631xESB/632xESB/3100 Chipset PCI Express Root Port 2	0	
-d	80862694	631xESB/632xESB/3100 Chipset PCI Express Root Port 3	0	
-d	80862696	631xESB/632xESB/3100 Chipset PCI Express Root Port 4	0	
-d	80862698	631xESB/632xESB AC '97 Audio Controller	0	
-d	80862699	631xESB/632xESB AC '97 Modem Controller	0	
-d	8086269a	631xESB/632xESB High Definition Audio Controller	0	
-d	8086269b	631xESB/632xESB/3100 Chipset SMBus Controller	0	
-d	8086269e	631xESB/632xESB IDE Controller	0	
-d	80862770	82945G/GZ/P/PL Memory Controller Hub	0	
-s	80862770107b5048	E4500	0	
-s	808627708086544e	DeskTop Board D945GTP	0	
-d	80862771	82945G/GZ/P/PL PCI Express Root Port	0	
-d	80862772	82945G/GZ Integrated Graphics Controller	0	
-s	808627728086544e	DeskTop Board D945GTP	0	
-d	80862774	82955X Memory Controller Hub	0	
-d	80862775	82955X PCI Express Root Port	0	
-d	80862776	82945G/GZ Integrated Graphics Controller	0	
-d	80862778	E7230/3000/3010 Memory Controller Hub	0	
-d	80862779	E7230/3000/3010 PCI Express Root Port	0	
-d	8086277a	82975X/3010 PCI Express Root Port	0	
-d	8086277c	82975X Memory Controller Hub	0	
-d	8086277d	82975X PCI Express Root Port	0	
-d	80862782	82915G Integrated Graphics Controller	0	
-s	8086278210432582	P5GD1-VW Mainboard	0	
-s	808627821734105b	Scenic W620	0	
-d	80862792	Mobile 915GM/GMS/910GML Express Graphics Controller	0	
-s	80862792103c099c	NX6110/NC6120	0	
-s	8086279210431881	GMA 900 915GM Integrated Graphics	0	
-d	808627a0	Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub	0	
-s	808627a0103c30a1	NC2400	0	
-s	808627a017aa2017	Thinkpad R60e model 0657	0	
-d	808627a1	Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port	0	
-d	808627a2	Mobile 945GM/GMS/940GML Express Integrated Graphics Controller	0	
-s	808627a2103c30a1	NC2400	0	
-s	808627a217aa201a	Thinkpad R60e model 0657	0	
-d	808627a6	Mobile 945GM/GMS/940GML Express Integrated Graphics Controller	0	
-s	808627a6103c30a1	NC2400	0	
-s	808627a617aa201a	Thinkpad R60e model 0657	0	
-d	808627b0	82801GH (ICH7DH) LPC Interface Bridge	0	
-d	808627b8	82801GB/GR (ICH7 Family) LPC Interface Bridge	0	
-s	808627b8107b5048	E4500	0	
-s	808627b88086544e	DeskTop Board D945GTP	0	
-d	808627b9	82801GBM (ICH7-M) LPC Interface Bridge	0	
-s	808627b9103c30a1	NC2400	0	
-s	808627b910f78338	Panasonic CF-Y5 laptop	0	
-s	808627b917aa2009	ThinkPad T60/R60 series	0	
-d	808627bd	82801GHM (ICH7-M DH) LPC Interface Bridge	0	
-d	808627c0	82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller IDE	0	
-s	808627c0107b5048	E4500	0	
-s	808627c08086544e	DeskTop Board D945GTP	0	
-d	808627c1	82801GR/GH (ICH7 Family) Serial ATA Storage Controller AHCI	0	
-d	808627c3	82801GR/GH (ICH7 Family) Serial ATA Storage Controller RAID	0	
-d	808627c4	82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE	0	
-d	808627c5	82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI	0	
-s	808627c517aa200d	Thinkpad R60e model 0657	0	
-d	808627c6	82801GHM (ICH7-M DH) Serial ATA Storage Controller RAID	0	
-d	808627c8	82801G (ICH7 Family) USB UHCI #1	0	
-s	808627c8103c30a1	NC2400	0	
-s	808627c8107b5048	E4500	0	
-s	808627c817aa200a	ThinkPad T60/R60 series	0	
-s	808627c88086544e	DeskTop Board D945GTP	0	
-d	808627c9	82801G (ICH7 Family) USB UHCI #2	0	
-s	808627c9103c30a1	NC2400	0	
-s	808627c9107b5048	E4500	0	
-s	808627c917aa200a	ThinkPad T60/R60 series	0	
-s	808627c98086544e	DeskTop Board D945GTP	0	
-d	808627ca	82801G (ICH7 Family) USB UHCI #3	0	
-s	808627ca103c30a1	NC2400	0	
-s	808627ca107b5048	E4500	0	
-s	808627ca17aa200a	ThinkPad T60/R60 series	0	
-s	808627ca8086544e	DeskTop Board D945GTP	0	
-d	808627cb	82801G (ICH7 Family) USB UHCI #4	0	
-s	808627cb103c30a1	NC2400	0	
-s	808627cb107b5048	E4500	0	
-s	808627cb17aa200a	ThinkPad T60/R60 series	0	
-s	808627cb8086544e	DeskTop Board D945GTP	0	
-d	808627cc	82801G (ICH7 Family) USB2 EHCI Controller	0	
-s	808627cc103c30a1	NC2400	0	
-s	808627cc17aa200b	ThinkPad T60/R60 series	0	
-s	808627cc8086544e	DeskTop Board D945GTP	0	
-d	808627d0	82801G (ICH7 Family) PCI Express Port 1	0	
-d	808627d2	82801G (ICH7 Family) PCI Express Port 2	0	
-d	808627d4	82801G (ICH7 Family) PCI Express Port 3	0	
-d	808627d6	82801G (ICH7 Family) PCI Express Port 4	0	
-d	808627d8	82801G (ICH7 Family) High Definition Audio Controller	0	
-s	808627d8103c30a1	NC2400	0	
-s	808627d8107b5048	E4500	0	
-s	808627d810f78338	Panasonic CF-Y5 laptop	0	
-s	808627d81179ff31	Toshiba America Information Systems:AC97 Data Fax SoftModem with SmartCP	0	
-s	808627d8152d0753	Softmodem	0	
-s	808627d817aa2010	ThinkPad T60/R60 series	0	
-d	808627da	82801G (ICH7 Family) SMBus Controller	0	
-s	808627da10f78338	Panasonic CF-Y5 laptop	0	
-s	808627da17aa200f	ThinkPad T60/R60 series	0	
-s	808627da8086544e	DeskTop Board D945GTP	0	
-d	808627dc	82801G (ICH7 Family) LAN Controller	0	
-s	808627dc8086308d	DeskTop Board D945GTP	0	
-d	808627dd	82801G (ICH7 Family) AC'97 Modem Controller	0	
-d	808627de	82801G (ICH7 Family) AC'97 Audio Controller	0	
-d	808627df	82801G (ICH7 Family) IDE Controller	0	
-s	808627df103c30a1	NC2400	0	
-s	808627df107b5048	E4500	0	
-s	808627df10f78338	Panasonic CF-Y5 laptop	0	
-s	808627df17aa200c	Thinkpad R60e model 0657	0	
-s	808627df8086544e	DeskTop Board D945GTP	0	
-d	808627e0	82801GR/GH/GHM (ICH7 Family) PCI Express Port 5	0	
-d	808627e2	82801GR/GH/GHM (ICH7 Family) PCI Express Port 6	0	
-d	80862810	82801HB/HR (ICH8/R) LPC Interface Controller	0	
-d	80862811	Mobile LPC Interface Controller	0	
-d	80862812	82801HH (ICH8DH) LPC Interface Controller	0	
-d	80862814	82801HO (ICH8DO) LPC Interface Controller	0	
-d	80862815	Mobile LPC Interface Controller	0	
-d	80862820	82801H (ICH8 Family) 4 port SATA IDE Controller	0	
-s	8086282014627235	P965 Neo MS-7235 mainboard	0	
-d	80862821	82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller	0	
-d	80862822	82801HR/HO/HH (ICH8R/DO/DH) SATA RAID Controller	0	
-d	80862824	82801HB (ICH8) 4 port SATA AHCI Controller	0	
-d	80862825	82801H (ICH8 Family) 2 port SATA IDE Controller	0	
-s	8086282514627235	P965 Neo MS-7235 mainboard	0	
-d	80862828	Mobile SATA IDE Controller	0	
-d	80862829	Mobile SATA AHCI Controller	0	
-d	8086282a	Mobile SATA RAID Controller	0	
-d	80862830	82801H (ICH8 Family) USB UHCI #1	0	
-s	8086283014627235	P965 Neo MS-7235 mainboard	0	
-d	80862831	82801H (ICH8 Family) USB UHCI #2	0	
-s	8086283114627235	P965 Neo MS-7235 mainboard	0	
-d	80862832	82801H (ICH8 Family) USB UHCI #3	0	
-d	80862834	82801H (ICH8 Family) USB UHCI #4	0	
-s	8086283414627235	P965 Neo MS-7235 mainboard	0	
-d	80862835	82801H (ICH8 Family) USB UHCI #5	0	
-d	80862836	82801H (ICH8 Family) USB2 EHCI #1	0	
-s	8086283614627235	P965 Neo MS-7235 mainboard	0	
-d	8086283a	82801H (ICH8 Family) USB2 EHCI #2	0	
-d	8086283e	82801H (ICH8 Family) SMBus Controller	0	
-s	8086283e14627235	P965 Neo MS-7235 mainboard	0	
-d	8086283f	82801H (ICH8 Family) PCI Express Port 1	0	
-d	80862841	82801H (ICH8 Family) PCI Express Port 2	0	
-d	80862843	82801H (ICH8 Family) PCI Express Port 3	0	
-d	80862845	82801H (ICH8 Family) PCI Express Port 4	0	
-d	80862847	82801H (ICH8 Family) PCI Express Port 5	0	
-d	80862849	82801H (ICH8 Family) PCI Express Port 6	0	
-d	8086284b	82801H (ICH8 Family) HD Audio Controller	0	
-d	8086284f	82801H (ICH8 Family) Thermal Reporting Device	0	
-d	80862850	Mobile IDE Controller	0	
-d	80862910	LPC Interface Controller	0	
-d	80862920	4 port SATA IDE Controller	0	
-d	80862921	2 port SATA IDE Controller	0	
-d	80862922	6 port SATA AHCI Controller	0	
-d	80862923	4 port SATA AHCI Controller	0	
-d	80862925	SATA RAID Controller	0	
-d	80862926	2 port SATA IDE Controller	0	
-d	80862928	Mobile 2 port SATA IDE Controller	0	
-d	8086292d	Mobile 2 port SATA IDE Controller	0	
-d	8086292e	Mobile 1 port SATA IDE Controller	0	
-d	80862930	SMBus Controller	0	
-d	80862932	Thermal Subsystem	0	
-d	80862934	USB UHCI Controller #1	0	
-d	80862935	USB UHCI Controller #2	0	
-d	80862936	USB UHCI Controller #3	0	
-d	80862937	USB UHCI Controller #4	0	
-d	80862938	USB UHCI Controller #5	0	
-d	80862939	USB UHCI Controller #6	0	
-d	8086293a	USB2 EHCI Controller #1	0	
-d	8086293c	USB2 EHCI Controller #2	0	
-d	8086293e	HD Audio Controller	0	
-d	80862940	PCI Express Port 1	0	
-d	80862942	PCI Express Port 2	0	
-d	80862944	PCI Express Port 3	0	
-d	80862946	PCI Express Port 4	0	
-d	80862948	PCI Express Port 5	0	
-d	8086294a	PCI Express Port 6	0	
-d	8086294c	Gigabit Ethernet Controller	0	
-d	80862970	82946GZ/PL/GL Memory Controller Hub	0	
-d	80862971	82946GZ/PL/GL PCI Express Root Port	0	
-d	80862972	82946GZ/GL Integrated Graphics Controller	0	
-d	80862973	82946GZ/GL Integrated Graphics Controller	0	
-d	80862974	82946GZ/GL HECI Controller	0	
-d	80862975	82946GZ/GL HECI Controller	0	
-d	80862976	82946GZ/GL PT IDER Controller	0	
-d	80862977	82946GZ/GL KT Controller	0	
-d	80862980	965 G1 Memory Controller Hub	0	
-d	80862981	965 G1 PCI Express Root Port	0	
-d	80862982	965 G1 Integrated Graphics Controller	0	
-d	80862990	82Q963/Q965 Memory Controller Hub	0	
-d	80862991	82Q963/Q965 PCI Express Root Port	0	
-d	80862992	82Q963/Q965 Integrated Graphics Controller	0	
-d	80862993	82Q963/Q965 Integrated Graphics Controller	0	
-d	80862994	82Q963/Q965 HECI Controller	0	
-d	80862995	82Q963/Q965 HECI Controller	0	
-d	80862996	82Q963/Q965 PT IDER Controller	0	
-d	80862997	82Q963/Q965 KT Controller	0	
-d	808629a0	82P965/G965 Memory Controller Hub	0	
-d	808629a1	82P965/G965 PCI Express Root Port	0	
-d	808629a2	82G965 Integrated Graphics Controller	0	
-d	808629a3	82G965 Integrated Graphics Controller	0	
-d	808629a4	82P965/G965 HECI Controller	0	
-d	808629a5	82P965/G965 HECI Controller	0	
-d	808629a6	82P965/G965 PT IDER Controller	0	
-d	808629a7	82P965/G965 KT Controller	0	
-d	808629b0	DRAM Controller	0	
-d	808629b1	PCI Express Root Port	0	
-d	808629b2	Integrated Graphics Controller	0	
-d	808629b3	Integrated Graphics Controller	0	
-d	808629b4	HECI Controller	0	
-d	808629b5	HECI Controller	0	
-d	808629b6	PT IDER Controller	0	
-d	808629b7	Serial KT Controller	0	
-d	808629c0	DRAM Controller	0	
-d	808629c1	PCI Express Root Port	0	
-d	808629c2	Integrated Graphics Controller	0	
-d	808629c3	Integrated Graphics Controller	0	
-d	808629c4	HECI Controller	0	
-d	808629c5	HECI Controller	0	
-d	808629c6	PT IDER Controller	0	
-d	808629c7	Serial KT Controller	0	
-d	808629cf	Virtual HECI Controller	0	
-d	808629e0	DRAM Controller	0	
-d	808629e1	Host-Primary PCI Express Bridge	0	
-d	808629e4	HECI Controller	0	
-d	808629e5	HECI Controller	0	
-d	808629e6	PT IDER Controller	0	
-d	808629e7	Serial KT Controller	0	
-d	808629e9	Host-Secondary PCI Express Bridge	0	
-d	808629f0	Server DRAM Controller	0	
-d	808629f1	Server Host-Primary PCI Express Bridge	0	
-d	808629f4	Server HECI Controller	0	
-d	808629f5	Server HECI Controller	0	
-d	808629f6	Server PT IDER Controller	0	
-d	808629f7	Server Serial KT Controller	0	
-d	808629f9	Server Host-Secondary PCI Express Bridge	0	
-d	80862a00	Mobile Memory Controller Hub	0	
-d	80862a01	Mobile PCI Express Root Port	0	
-d	80862a02	Mobile Integrated Graphics Controller	0	
-d	80862a03	Mobile Integrated Graphics Controller	0	
-d	80862a04	Mobile HECI Controller	0	
-d	80862a05	Mobile HECI Controller	0	
-d	80862a06	Mobile PT IDER Controller	0	
-d	80862a07	Mobile KT Controller	0	
-d	80863092	Integrated RAID	0	
-d	80863200	GD31244 PCI-X SATA HBA	0	
-s	808632001775c200	C2K onboard SATA host bus adapter	0	
-d	80863340	82855PM Processor to I/O Controller	0	
-s	808633401025005a	TravelMate 290	0	
-s	80863340103c088c	NC8000 laptop	0	
-s	80863340103c0890	NC6000 laptop	0	
-s	80863340103c08b0	tc1100 tablet	0	
-s	80863340144dc00c	P30 notebook	0	
-d	80863341	82855PM Processor to AGP Controller	0	
-s	80863341144dc00c	P30 notebook	0	
-d	80863500	6311ESB/6321ESB PCI Express Upstream Port	0	
-d	80863501	6310ESB PCI Express Upstream Port	0	
-d	80863504	6311ESB/6321ESB I/OxAPIC Interrupt Controller	0	
-d	80863505	6310ESB I/OxAPIC Interrupt Controller	0	
-d	8086350c	6311ESB/6321ESB PCI Express to PCI-X Bridge	0	
-d	8086350d	6310ESB PCI Express to PCI-X Bridge	0	
-d	80863510	6311ESB/6321ESB PCI Express Downstream Port E1	0	
-d	80863511	6310ESB PCI Express Downstream Port E1	0	
-d	80863514	6311ESB/6321ESB PCI Express Downstream Port E2	0	
-d	80863515	6310ESB PCI Express Downstream Port E2	0	
-d	80863518	6311ESB/6321ESB PCI Express Downstream Port E3	0	
-d	80863519	6310ESB PCI Express Downstream Port E3	0	
-d	80863575	82830 830 Chipset Host Bridge	0	
-s	808635750e110030	Evo N600c	0	
-s	808635751014021d	ThinkPad A/T/X Series	0	
-s	80863575104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0	
-d	80863576	82830 830 Chipset AGP Bridge	0	
-d	80863577	82830 CGC [Chipset Graphics Controller]	0	
-s	8086357710140513	ThinkPad A/T/X Series	0	
-d	80863578	82830 830 Chipset Host Bridge	0	
-d	80863580	82852/82855 GM/GME/PM/GMV Processor to I/O Controller	0	
-s	808635801014055c	Thinkpad R50e model 1634	0	
-s	8086358010280139	Latitude D400	0	
-s	8086358010280163	Latitude D505	0	
-s	8086358010280196	Inspiron 5160	0	
-s	8086358017341055	Amilo M1420	0	
-s	80863580177510d0	V5D Single Board Computer	0	
-s	808635801775ce90	CE9	0	
-s	808635804c5310b0	CL9 mainboard	0	
-s	808635804c5310e0	PSL09 PrPMC	0	
-d	80863581	82852/82855 GM/GME/PM/GMV Processor to AGP Controller	0	
-s	8086358117341055	Amilo M1420	0	
-d	80863582	82852/855GM Integrated Graphics Device	0	
-s	8086358210140562	Thinkpad R50e model 1634	0	
-s	8086358210280139	Latitude D400	0	
-s	8086358210280163	Latitude D505	0	
-s	80863582177510d0	V5D Single Board Computer VGA	0	
-s	808635821775ce90	CE9	0	
-s	808635824c5310b0	CL9 mainboard	0	
-s	808635824c5310e0	PSL09 PrPMC	0	
-d	80863584	82852/82855 GM/GME/PM/GMV Processor to I/O Controller	0	
-s	808635841014055d	Thinkpad R50e model 1634	0	
-s	8086358410280139	Latitude D400	0	
-s	8086358410280163	Latitude D505	0	
-s	8086358410280196	Inspiron 5160	0	
-s	8086358417341055	Amilo M1420	0	
-s	80863584177510d0	V5D Single Board Computer	0	
-s	808635841775ce90	CE9	0	
-s	808635844c5310b0	CL9 mainboard	0	
-s	808635844c5310e0	PSL09 PrPMC	0	
-d	80863585	82852/82855 GM/GME/PM/GMV Processor to I/O Controller	0	
-s	808635851014055e	Thinkpad R50e model 1634	0	
-s	8086358510280139	Latitude D400	0	
-s	8086358510280163	Latitude D505	0	
-s	8086358510280196	Inspiron 5160	0	
-s	8086358517341055	Amilo M1420	0	
-s	80863585177510d0	V5D Single Board Computer	0	
-s	808635851775ce90	CE9	0	
-s	808635854c5310b0	CL9 mainboard	0	
-s	808635854c5310e0	PSL09 PrPMC	0	
-d	80863590	E7520 Memory Controller Hub	0	
-s	808635901028019a	PowerEdge SC1425	0	
-s	808635901734103e	Primergy RX300 S2	0	
-s	808635904c5310d0	Telum ASLP10 Processor AMC	0	
-d	80863591	E7525/E7520 Error Reporting Registers	0	
-s	8086359110280169	Precision 470	0	
-s	808635914c5310d0	Telum ASLP10 Processor AMC	0	
-d	80863592	E7320 Memory Controller Hub	0	
-d	80863593	E7320 Error Reporting Registers	0	
-d	80863594	E7520 DMA Controller	0	
-s	808635944c5310d0	Telum ASLP10 Processor AMC	0	
-d	80863595	E7525/E7520/E7320 PCI Express Port A	0	
-d	80863596	E7525/E7520/E7320 PCI Express Port A1	0	
-d	80863597	E7525/E7520 PCI Express Port B	0	
-d	80863598	E7520 PCI Express Port B1	0	
-d	80863599	E7520 PCI Express Port C	0	
-d	8086359a	E7520 PCI Express Port C1	0	
-d	8086359b	E7525/E7520/E7320 Extended Configuration Registers	0	
-d	8086359e	E7525 Memory Controller Hub	0	
-s	8086359e10280169	Precision 470	0	
-d	808635b0	3100 Chipset Memory I/O Controller Hub	0	
-d	808635b1	3100 DRAM Controller Error Reporting Registers	0	
-d	808635b5	3100 Chipset Enhanced DMA Controller	0	
-d	808635b6	3100 Chipset PCI Express Port A	0	
-d	808635b7	3100 Chipset PCI Express Port A1	0	
-d	808635c8	3100 Extended Configuration Test Overflow Registers	0	
-d	80863600	Server Memory Controller Hub	0	
-d	80863604	Server PCI Express Port 1	0	
-d	80863605	Server PCI Express Port 2	0	
-d	80863606	Server PCI Express Port 3	0	
-d	80863607	Server PCI Express Port 4	0	
-d	80863608	Server PCI Express Port 5	0	
-d	80863609	Server PCI Express Port 6	0	
-d	8086360a	Server PCI Express Port 7	0	
-d	8086360b	Server IOAT DMA Controller	0	
-d	8086360c	Server FSB Registers	0	
-d	8086360d	Server Snoop Filter Registers	0	
-d	8086360e	Server Reserved Registers	0	
-d	8086360f	Server FBD Branch 0 Registers	0	
-d	80863610	Server FBD Branch 1 Registers	0	
-d	80864220	PRO/Wireless 2200BG Network Connection	0	
-s	8086422027318086	WLAN-Adapter	0	
-d	80864222	PRO/Wireless 3945ABG Network Connection	0	
-s	8086422280861005	PRO/Wireless 3945BG Network Connection	0	
-s	8086422280861034	PRO/Wireless 3945BG Network Connection	0	
-s	8086422280861044	PRO/Wireless 3945BG Network Connection	0	
-d	80864223	PRO/Wireless 2915ABG Network Connection	0	
-s	808642231351103c	Compaq NC6220	0	
-d	80864224	PRO/Wireless 2915ABG Network Connection	0	
-d	80864227	PRO/Wireless 3945ABG Network Connection	0	
-s	8086422780861011	Thinkpad  X60s, R60e model 0657	0	
-s	8086422780861014	PRO/Wireless 3945BG Network Connection	0	
-d	80865001	Pro/DSL 2100 Modem	0	
-d	80865200	EtherExpress PRO/100 Intelligent Server	0	
-d	80865201	EtherExpress PRO/100 Intelligent Server	0	
-s	8086520180860001	EtherExpress PRO/100 Server Ethernet Adapter	0	
-d	8086530d	80310 IOP [IO Processor]	0	
-d	80867000	82371SB PIIX3 ISA [Natoma/Triton II]	0	
-d	80867010	82371SB PIIX3 IDE [Natoma/Triton II]	0	
-d	80867020	82371SB PIIX3 USB [Natoma/Triton II]	0	
-d	80867030	430VX - 82437VX TVX [Triton VX]	0	
-d	80867050	Intercast Video Capture Card	0	
-d	80867051	PB 642365-003 (Business Video Conferencing Card)	0	
-d	80867100	430TX - 82439TX MTXC	0	
-d	80867110	82371AB/EB/MB PIIX4 ISA	0	
-s	8086711015ad1976	virtualHW v3	0	
-d	80867111	82371AB/EB/MB PIIX4 IDE	0	
-s	8086711115ad1976	virtualHW v3	0	
-d	80867112	82371AB/EB/MB PIIX4 USB	0	
-s	8086711215ad1976	virtualHW v3	0	
-d	80867113	82371AB/EB/MB PIIX4 ACPI	0	
-s	8086711315ad1976	virtualHW v3	0	
-d	80867120	82810 GMCH [Graphics Memory Controller Hub]	0	
-s	808671204c531040	CL7 mainboard	0	
-s	808671204c531060	PC7 mainboard	0	
-d	80867121	82810 CGC [Chipset Graphics Controller]	0	
-s	808671214c531040	CL7 mainboard	0	
-s	808671214c531060	PC7 mainboard	0	
-s	8086712180864341	Cayman (CA810) Mainboard	0	
-d	80867122	82810 DC-100 GMCH [Graphics Memory Controller Hub]	0	
-d	80867123	82810 DC-100 CGC [Chipset Graphics Controller]	0	
-d	80867124	82810E DC-133 GMCH [Graphics Memory Controller Hub]	0	
-d	80867125	82810E DC-133 CGC [Chipset Graphics Controller]	0	
-d	80867126	82810 DC-133 System and Graphics Controller	0	
-d	80867128	82810-M DC-100 System and Graphics Controller	0	
-d	8086712a	82810-M DC-133 System and Graphics Controller	0	
-d	80867180	440LX/EX - 82443LX/EX Host bridge	0	
-d	80867181	440LX/EX - 82443LX/EX AGP bridge	0	
-d	80867190	440BX/ZX/DX - 82443BX/ZX/DX Host bridge	0	
-s	808671900e110500	Armada 1750 Laptop System Chipset	0	
-s	808671900e11b110	Armada M700/E500	0	
-s	808671901028008e	PowerEdge 1300 mainboard	0	
-s	8086719011790001	Toshiba Tecra 8100 Laptop System Chipset	0	
-s	8086719015ad1976	virtualHW v3	0	
-s	808671904c531050	CT7 mainboard	0	
-s	808671904c531051	CE7 mainboard	0	
-d	80867191	440BX/ZX/DX - 82443BX/ZX/DX AGP bridge	0	
-s	808671911028008e	PowerEdge 1300 mainboard	0	
-d	80867192	440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)	0	
-s	808671920e110460	Armada 1700 Laptop System Chipset	0	
-s	808671924c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0	
-d	80867194	82440MX Host Bridge	0	
-s	8086719410330000	Versa Note Vxi	0	
-s	808671944c5310a0	CA3/CR3 mainboard	0	
-d	80867195	82440MX AC'97 Audio Controller	0	
-s	80867195103380cc	Versa Note VXi	0	
-s	8086719510cf1099	QSound_SigmaTel Stac97 PCI Audio	0	
-s	8086719511d40040	SoundMAX Integrated Digital Audio	0	
-s	8086719511d40048	SoundMAX Integrated Digital Audio	0	
-d	80867196	82440MX AC'97 Modem Controller	0	
-d	80867198	82440MX ISA Bridge	0	
-d	80867199	82440MX EIDE Controller	0	
-d	8086719a	82440MX USB Universal Host Controller	0	
-d	8086719b	82440MX Power Management Controller	0	
-d	808671a0	440GX - 82443GX Host bridge	0	
-s	808671a04c531050	CT7 mainboard	0	
-s	808671a04c531051	CE7 mainboard	0	
-d	808671a1	440GX - 82443GX AGP bridge	0	
-d	808671a2	440GX - 82443GX Host bridge (AGP disabled)	0	
-s	808671a24c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0	
-d	80867600	82372FB PIIX5 ISA	0	
-d	80867601	82372FB PIIX5 IDE	0	
-d	80867602	82372FB PIIX5 USB	0	
-d	80867603	82372FB PIIX5 SMBus	0	
-d	80867800	82740 (i740) AGP Graphics Accelerator	0	
-s	80867800003d0008	Starfighter AGP	0	
-s	80867800003d000b	Starfighter AGP	0	
-s	8086780010920100	Stealth II G460	0	
-s	8086780010b4201a	Lightspeed 740	0	
-s	8086780010b4202f	Lightspeed 740	0	
-s	8086780080860000	Terminator 2x/i	0	
-s	8086780080860100	Intel740 Graphics Accelerator	0	
-d	808684c4	450KX/GX [Orion] - 82454KX/GX PCI bridge	0	
-d	808684c5	450KX/GX [Orion] - 82453KX/GX Memory controller	0	
-d	808684ca	450NX - 82451NX Memory & I/O Controller	0	
-d	808684cb	450NX - 82454NX/84460GX PCI Expander Bridge	0	
-d	808684e0	460GX - 84460GX System Address Controller (SAC)	0	
-d	808684e1	460GX - 84460GX System Data Controller (SDC)	0	
-d	808684e2	460GX - 84460GX AGP Bridge (GXB function 2)	0	
-d	808684e3	460GX - 84460GX Memory Address Controller (MAC)	0	
-d	808684e4	460GX - 84460GX Memory Data Controller (MDC)	0	
-d	808684e6	460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB)	0	
-d	808684ea	460GX - 84460GX AGP Bridge (GXB function 1)	0	
-d	80868500	IXP4XX Network Processor (IXP420/421/422/425/IXC1100)	0	
-s	8086850019930ded	mGuard-PCI AV#2	0	
-s	8086850019930dee	mGuard-PCI AV#1	0	
-s	8086850019930def	mGuard-PCI AV#0	0	
-d	80869000	IXP2000 Family Network Processor	0	
-d	80869001	IXP2400 Network Processor	0	
-d	80869002	IXP2300 Network Processor	0	
-d	80869004	IXP2800 Network Processor	0	
-d	80869621	Integrated RAID	0	
-d	80869622	Integrated RAID	0	
-d	80869641	Integrated RAID	0	
-d	808696a1	Integrated RAID	0	
-d	8086a620	6400/6402 Advanced Memory Buffer (AMB)	0	
-d	8086b152	21152 PCI-to-PCI Bridge	0	
+s	808626681043814e	P5GD1-VW Mainboard	0
+d	8086266a	82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller	0
+s	8086266a10280179	Optiplex GX280	0
+s	8086266a104380a6	P5GD1-VW Mainboard	0
+s	8086266a1458266a	GA-8I915ME-G Mainboard	0
+s	8086266a14627028	915P/G Neo2	0
+s	8086266a1734105c	Scenic W620	0
+d	8086266c	82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller	0
+d	8086266d	82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller	0
+s	8086266d1025006a	Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)	0
+s	8086266d103c099c	NX6110/NC6120	0
+d	8086266e	82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller	0
+s	8086266e1025006a	Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)	0
+s	8086266e10280179	Optiplex GX280	0
+s	8086266e10280182	Latitude D610 Laptop	0
+s	8086266e10280188	Inspiron 6000 laptop	0
+s	8086266e103c0944	Compaq NC6220	0
+s	8086266e103c099c	NX6110/NC6120	0
+s	8086266e103c3006	DC7100 SFF(DX878AV)	0
+s	8086266e1458a002	GA-8I915ME-G Mainboard	0
+s	8086266e152d0745	Packard Bell A8550 Laptop	0
+s	8086266e1734105a	Scenic W620	0
+d	8086266f	82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller	0
+s	8086266f103c099c	NX6110/NC6120	0
+s	8086266f104380a6	P5GD1-VW Mainboard	0
+s	8086266f1458266f	GA-8I915ME-G Mainboard	0
+s	8086266f14627028	915P/G Neo2	0
+s	8086266f1734105c	Scenic W620	0
+d	80862670	631xESB/632xESB/3100 Chipset LPC Interface Controller	0
+d	80862680	631xESB/632xESB/3100 Chipset SATA Storage Controller IDE	0
+d	80862681	631xESB/632xESB SATA Storage Controller AHCI	0
+d	80862682	631xESB/632xESB SATA Storage Controller RAID	0
+d	80862683	631xESB/632xESB SATA Storage Controller RAID	0
+d	80862688	631xESB/632xESB/3100 Chipset UHCI USB Controller #1	0
+d	80862689	631xESB/632xESB/3100 Chipset UHCI USB Controller #2	0
+d	8086268a	631xESB/632xESB/3100 Chipset UHCI USB Controller #3	0
+d	8086268b	631xESB/632xESB/3100 Chipset UHCI USB Controller #4	0
+d	8086268c	631xESB/632xESB/3100 Chipset EHCI USB2 Controller	0
+d	80862690	631xESB/632xESB/3100 Chipset PCI Express Root Port 1	0
+d	80862692	631xESB/632xESB/3100 Chipset PCI Express Root Port 2	0
+d	80862694	631xESB/632xESB/3100 Chipset PCI Express Root Port 3	0
+d	80862696	631xESB/632xESB/3100 Chipset PCI Express Root Port 4	0
+d	80862698	631xESB/632xESB AC '97 Audio Controller	0
+d	80862699	631xESB/632xESB AC '97 Modem Controller	0
+d	8086269a	631xESB/632xESB High Definition Audio Controller	0
+d	8086269b	631xESB/632xESB/3100 Chipset SMBus Controller	0
+d	8086269e	631xESB/632xESB IDE Controller	0
+d	80862770	82945G/GZ/P/PL Memory Controller Hub	0
+s	80862770107b5048	E4500	0
+s	808627708086544e	DeskTop Board D945GTP	0
+d	80862771	82945G/GZ/P/PL PCI Express Root Port	0
+d	80862772	82945G/GZ Integrated Graphics Controller	0
+s	808627728086544e	DeskTop Board D945GTP	0
+d	80862774	82955X Memory Controller Hub	0
+d	80862775	82955X PCI Express Root Port	0
+d	80862776	82945G/GZ Integrated Graphics Controller	0
+d	80862778	E7230/3000/3010 Memory Controller Hub	0
+d	80862779	E7230/3000/3010 PCI Express Root Port	0
+d	8086277a	82975X/3010 PCI Express Root Port	0
+d	8086277c	82975X Memory Controller Hub	0
+d	8086277d	82975X PCI Express Root Port	0
+d	80862782	82915G Integrated Graphics Controller	0
+s	8086278210432582	P5GD1-VW Mainboard	0
+s	808627821734105b	Scenic W620	0
+d	80862792	Mobile 915GM/GMS/910GML Express Graphics Controller	0
+s	80862792103c099c	NX6110/NC6120	0
+s	8086279210431881	GMA 900 915GM Integrated Graphics	0
+d	808627a0	Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub	0
+s	808627a0103c30a1	NC2400	0
+s	808627a017aa2017	Thinkpad R60e model 0657	0
+d	808627a1	Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port	0
+d	808627a2	Mobile 945GM/GMS/940GML Express Integrated Graphics Controller	0
+s	808627a2103c30a1	NC2400	0
+s	808627a217aa201a	Thinkpad R60e model 0657	0
+d	808627a6	Mobile 945GM/GMS/940GML Express Integrated Graphics Controller	0
+s	808627a6103c30a1	NC2400	0
+s	808627a617aa201a	Thinkpad R60e model 0657	0
+d	808627b0	82801GH (ICH7DH) LPC Interface Bridge	0
+d	808627b8	82801GB/GR (ICH7 Family) LPC Interface Bridge	0
+s	808627b8107b5048	E4500	0
+s	808627b88086544e	DeskTop Board D945GTP	0
+d	808627b9	82801GBM (ICH7-M) LPC Interface Bridge	0
+s	808627b9103c30a1	NC2400	0
+s	808627b910f78338	Panasonic CF-Y5 laptop	0
+s	808627b917aa2009	ThinkPad T60/R60 series	0
+d	808627bd	82801GHM (ICH7-M DH) LPC Interface Bridge	0
+d	808627c0	82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller IDE	0
+s	808627c0107b5048	E4500	0
+s	808627c08086544e	DeskTop Board D945GTP	0
+d	808627c1	82801GR/GH (ICH7 Family) Serial ATA Storage Controller AHCI	0
+d	808627c3	82801GR/GH (ICH7 Family) Serial ATA Storage Controller RAID	0
+d	808627c4	82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE	0
+d	808627c5	82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI	0
+s	808627c517aa200d	Thinkpad R60e model 0657	0
+d	808627c6	82801GHM (ICH7-M DH) Serial ATA Storage Controller RAID	0
+d	808627c8	82801G (ICH7 Family) USB UHCI #1	0
+s	808627c8103c30a1	NC2400	0
+s	808627c8107b5048	E4500	0
+s	808627c817aa200a	ThinkPad T60/R60 series	0
+s	808627c88086544e	DeskTop Board D945GTP	0
+d	808627c9	82801G (ICH7 Family) USB UHCI #2	0
+s	808627c9103c30a1	NC2400	0
+s	808627c9107b5048	E4500	0
+s	808627c917aa200a	ThinkPad T60/R60 series	0
+s	808627c98086544e	DeskTop Board D945GTP	0
+d	808627ca	82801G (ICH7 Family) USB UHCI #3	0
+s	808627ca103c30a1	NC2400	0
+s	808627ca107b5048	E4500	0
+s	808627ca17aa200a	ThinkPad T60/R60 series	0
+s	808627ca8086544e	DeskTop Board D945GTP	0
+d	808627cb	82801G (ICH7 Family) USB UHCI #4	0
+s	808627cb103c30a1	NC2400	0
+s	808627cb107b5048	E4500	0
+s	808627cb17aa200a	ThinkPad T60/R60 series	0
+s	808627cb8086544e	DeskTop Board D945GTP	0
+d	808627cc	82801G (ICH7 Family) USB2 EHCI Controller	0
+s	808627cc103c30a1	NC2400	0
+s	808627cc17aa200b	ThinkPad T60/R60 series	0
+s	808627cc8086544e	DeskTop Board D945GTP	0
+d	808627d0	82801G (ICH7 Family) PCI Express Port 1	0
+d	808627d2	82801G (ICH7 Family) PCI Express Port 2	0
+d	808627d4	82801G (ICH7 Family) PCI Express Port 3	0
+d	808627d6	82801G (ICH7 Family) PCI Express Port 4	0
+d	808627d8	82801G (ICH7 Family) High Definition Audio Controller	0
+s	808627d8103c30a1	NC2400	0
+s	808627d8107b5048	E4500	0
+s	808627d810f78338	Panasonic CF-Y5 laptop	0
+s	808627d81179ff31	Toshiba America Information Systems:AC97 Data Fax SoftModem with SmartCP	0
+s	808627d8152d0753	Softmodem	0
+s	808627d817aa2010	ThinkPad T60/R60 series	0
+d	808627da	82801G (ICH7 Family) SMBus Controller	0
+s	808627da10f78338	Panasonic CF-Y5 laptop	0
+s	808627da17aa200f	ThinkPad T60/R60 series	0
+s	808627da8086544e	DeskTop Board D945GTP	0
+d	808627dc	82801G (ICH7 Family) LAN Controller	0
+s	808627dc8086308d	DeskTop Board D945GTP	0
+d	808627dd	82801G (ICH7 Family) AC'97 Modem Controller	0
+d	808627de	82801G (ICH7 Family) AC'97 Audio Controller	0
+d	808627df	82801G (ICH7 Family) IDE Controller	0
+s	808627df103c30a1	NC2400	0
+s	808627df107b5048	E4500	0
+s	808627df10f78338	Panasonic CF-Y5 laptop	0
+s	808627df17aa200c	Thinkpad R60e model 0657	0
+s	808627df8086544e	DeskTop Board D945GTP	0
+d	808627e0	82801GR/GH/GHM (ICH7 Family) PCI Express Port 5	0
+d	808627e2	82801GR/GH/GHM (ICH7 Family) PCI Express Port 6	0
+d	80862810	82801HB/HR (ICH8/R) LPC Interface Controller	0
+d	80862811	Mobile LPC Interface Controller	0
+d	80862812	82801HH (ICH8DH) LPC Interface Controller	0
+d	80862814	82801HO (ICH8DO) LPC Interface Controller	0
+d	80862815	Mobile LPC Interface Controller	0
+d	80862820	82801H (ICH8 Family) 4 port SATA IDE Controller	0
+s	8086282014627235	P965 Neo MS-7235 mainboard	0
+d	80862821	82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller	0
+d	80862822	82801HR/HO/HH (ICH8R/DO/DH) SATA RAID Controller	0
+d	80862824	82801HB (ICH8) 4 port SATA AHCI Controller	0
+d	80862825	82801H (ICH8 Family) 2 port SATA IDE Controller	0
+s	8086282514627235	P965 Neo MS-7235 mainboard	0
+d	80862828	Mobile SATA IDE Controller	0
+d	80862829	Mobile SATA AHCI Controller	0
+d	8086282a	Mobile SATA RAID Controller	0
+d	80862830	82801H (ICH8 Family) USB UHCI #1	0
+s	8086283014627235	P965 Neo MS-7235 mainboard	0
+d	80862831	82801H (ICH8 Family) USB UHCI #2	0
+s	8086283114627235	P965 Neo MS-7235 mainboard	0
+d	80862832	82801H (ICH8 Family) USB UHCI #3	0
+d	80862834	82801H (ICH8 Family) USB UHCI #4	0
+s	8086283414627235	P965 Neo MS-7235 mainboard	0
+d	80862835	82801H (ICH8 Family) USB UHCI #5	0
+d	80862836	82801H (ICH8 Family) USB2 EHCI #1	0
+s	8086283614627235	P965 Neo MS-7235 mainboard	0
+d	8086283a	82801H (ICH8 Family) USB2 EHCI #2	0
+d	8086283e	82801H (ICH8 Family) SMBus Controller	0
+s	8086283e14627235	P965 Neo MS-7235 mainboard	0
+d	8086283f	82801H (ICH8 Family) PCI Express Port 1	0
+d	80862841	82801H (ICH8 Family) PCI Express Port 2	0
+d	80862843	82801H (ICH8 Family) PCI Express Port 3	0
+d	80862845	82801H (ICH8 Family) PCI Express Port 4	0
+d	80862847	82801H (ICH8 Family) PCI Express Port 5	0
+d	80862849	82801H (ICH8 Family) PCI Express Port 6	0
+d	8086284b	82801H (ICH8 Family) HD Audio Controller	0
+d	8086284f	82801H (ICH8 Family) Thermal Reporting Device	0
+d	80862850	Mobile IDE Controller	0
+d	80862910	LPC Interface Controller	0
+d	80862920	4 port SATA IDE Controller	0
+d	80862921	2 port SATA IDE Controller	0
+d	80862922	6 port SATA AHCI Controller	0
+d	80862923	4 port SATA AHCI Controller	0
+d	80862925	SATA RAID Controller	0
+d	80862926	2 port SATA IDE Controller	0
+d	80862928	Mobile 2 port SATA IDE Controller	0
+d	8086292d	Mobile 2 port SATA IDE Controller	0
+d	8086292e	Mobile 1 port SATA IDE Controller	0
+d	80862930	SMBus Controller	0
+d	80862932	Thermal Subsystem	0
+d	80862934	USB UHCI Controller #1	0
+d	80862935	USB UHCI Controller #2	0
+d	80862936	USB UHCI Controller #3	0
+d	80862937	USB UHCI Controller #4	0
+d	80862938	USB UHCI Controller #5	0
+d	80862939	USB UHCI Controller #6	0
+d	8086293a	USB2 EHCI Controller #1	0
+d	8086293c	USB2 EHCI Controller #2	0
+d	8086293e	HD Audio Controller	0
+d	80862940	PCI Express Port 1	0
+d	80862942	PCI Express Port 2	0
+d	80862944	PCI Express Port 3	0
+d	80862946	PCI Express Port 4	0
+d	80862948	PCI Express Port 5	0
+d	8086294a	PCI Express Port 6	0
+d	8086294c	Gigabit Ethernet Controller	0
+d	80862970	82946GZ/PL/GL Memory Controller Hub	0
+d	80862971	82946GZ/PL/GL PCI Express Root Port	0
+d	80862972	82946GZ/GL Integrated Graphics Controller	0
+d	80862973	82946GZ/GL Integrated Graphics Controller	0
+d	80862974	82946GZ/GL HECI Controller	0
+d	80862975	82946GZ/GL HECI Controller	0
+d	80862976	82946GZ/GL PT IDER Controller	0
+d	80862977	82946GZ/GL KT Controller	0
+d	80862980	965 G1 Memory Controller Hub	0
+d	80862981	965 G1 PCI Express Root Port	0
+d	80862982	965 G1 Integrated Graphics Controller	0
+d	80862990	82Q963/Q965 Memory Controller Hub	0
+d	80862991	82Q963/Q965 PCI Express Root Port	0
+d	80862992	82Q963/Q965 Integrated Graphics Controller	0
+d	80862993	82Q963/Q965 Integrated Graphics Controller	0
+d	80862994	82Q963/Q965 HECI Controller	0
+d	80862995	82Q963/Q965 HECI Controller	0
+d	80862996	82Q963/Q965 PT IDER Controller	0
+d	80862997	82Q963/Q965 KT Controller	0
+d	808629a0	82P965/G965 Memory Controller Hub	0
+d	808629a1	82P965/G965 PCI Express Root Port	0
+d	808629a2	82G965 Integrated Graphics Controller	0
+d	808629a3	82G965 Integrated Graphics Controller	0
+d	808629a4	82P965/G965 HECI Controller	0
+d	808629a5	82P965/G965 HECI Controller	0
+d	808629a6	82P965/G965 PT IDER Controller	0
+d	808629a7	82P965/G965 KT Controller	0
+d	808629b0	DRAM Controller	0
+d	808629b1	PCI Express Root Port	0
+d	808629b2	Integrated Graphics Controller	0
+d	808629b3	Integrated Graphics Controller	0
+d	808629b4	HECI Controller	0
+d	808629b5	HECI Controller	0
+d	808629b6	PT IDER Controller	0
+d	808629b7	Serial KT Controller	0
+d	808629c0	DRAM Controller	0
+d	808629c1	PCI Express Root Port	0
+d	808629c2	Integrated Graphics Controller	0
+d	808629c3	Integrated Graphics Controller	0
+d	808629c4	HECI Controller	0
+d	808629c5	HECI Controller	0
+d	808629c6	PT IDER Controller	0
+d	808629c7	Serial KT Controller	0
+d	808629cf	Virtual HECI Controller	0
+d	808629e0	DRAM Controller	0
+d	808629e1	Host-Primary PCI Express Bridge	0
+d	808629e4	HECI Controller	0
+d	808629e5	HECI Controller	0
+d	808629e6	PT IDER Controller	0
+d	808629e7	Serial KT Controller	0
+d	808629e9	Host-Secondary PCI Express Bridge	0
+d	808629f0	Server DRAM Controller	0
+d	808629f1	Server Host-Primary PCI Express Bridge	0
+d	808629f4	Server HECI Controller	0
+d	808629f5	Server HECI Controller	0
+d	808629f6	Server PT IDER Controller	0
+d	808629f7	Server Serial KT Controller	0
+d	808629f9	Server Host-Secondary PCI Express Bridge	0
+d	80862a00	Mobile Memory Controller Hub	0
+d	80862a01	Mobile PCI Express Root Port	0
+d	80862a02	Mobile Integrated Graphics Controller	0
+d	80862a03	Mobile Integrated Graphics Controller	0
+d	80862a04	Mobile HECI Controller	0
+d	80862a05	Mobile HECI Controller	0
+d	80862a06	Mobile PT IDER Controller	0
+d	80862a07	Mobile KT Controller	0
+d	80863092	Integrated RAID	0
+d	80863200	GD31244 PCI-X SATA HBA	0
+s	808632001775c200	C2K onboard SATA host bus adapter	0
+d	80863340	82855PM Processor to I/O Controller	0
+s	808633401025005a	TravelMate 290	0
+s	80863340103c088c	NC8000 laptop	0
+s	80863340103c0890	NC6000 laptop	0
+s	80863340103c08b0	tc1100 tablet	0
+s	80863340144dc00c	P30 notebook	0
+d	80863341	82855PM Processor to AGP Controller	0
+s	80863341144dc00c	P30 notebook	0
+d	80863500	6311ESB/6321ESB PCI Express Upstream Port	0
+d	80863501	6310ESB PCI Express Upstream Port	0
+d	80863504	6311ESB/6321ESB I/OxAPIC Interrupt Controller	0
+d	80863505	6310ESB I/OxAPIC Interrupt Controller	0
+d	8086350c	6311ESB/6321ESB PCI Express to PCI-X Bridge	0
+d	8086350d	6310ESB PCI Express to PCI-X Bridge	0
+d	80863510	6311ESB/6321ESB PCI Express Downstream Port E1	0
+d	80863511	6310ESB PCI Express Downstream Port E1	0
+d	80863514	6311ESB/6321ESB PCI Express Downstream Port E2	0
+d	80863515	6310ESB PCI Express Downstream Port E2	0
+d	80863518	6311ESB/6321ESB PCI Express Downstream Port E3	0
+d	80863519	6310ESB PCI Express Downstream Port E3	0
+d	80863575	82830 830 Chipset Host Bridge	0
+s	808635750e110030	Evo N600c	0
+s	808635751014021d	ThinkPad A/T/X Series	0
+s	80863575104d80e7	VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP	0
+d	80863576	82830 830 Chipset AGP Bridge	0
+d	80863577	82830 CGC [Chipset Graphics Controller]	0
+s	8086357710140513	ThinkPad A/T/X Series	0
+d	80863578	82830 830 Chipset Host Bridge	0
+d	80863580	82852/82855 GM/GME/PM/GMV Processor to I/O Controller	0
+s	808635801014055c	Thinkpad R50e model 1634	0
+s	8086358010280139	Latitude D400	0
+s	8086358010280163	Latitude D505	0
+s	8086358010280196	Inspiron 5160	0
+s	8086358017341055	Amilo M1420	0
+s	80863580177510d0	V5D Single Board Computer	0
+s	808635801775ce90	CE9	0
+s	808635804c5310b0	CL9 mainboard	0
+s	808635804c5310e0	PSL09 PrPMC	0
+d	80863581	82852/82855 GM/GME/PM/GMV Processor to AGP Controller	0
+s	8086358117341055	Amilo M1420	0
+d	80863582	82852/855GM Integrated Graphics Device	0
+s	8086358210140562	Thinkpad R50e model 1634	0
+s	8086358210280139	Latitude D400	0
+s	8086358210280163	Latitude D505	0
+s	80863582177510d0	V5D Single Board Computer VGA	0
+s	808635821775ce90	CE9	0
+s	808635824c5310b0	CL9 mainboard	0
+s	808635824c5310e0	PSL09 PrPMC	0
+d	80863584	82852/82855 GM/GME/PM/GMV Processor to I/O Controller	0
+s	808635841014055d	Thinkpad R50e model 1634	0
+s	8086358410280139	Latitude D400	0
+s	8086358410280163	Latitude D505	0
+s	8086358410280196	Inspiron 5160	0
+s	8086358417341055	Amilo M1420	0
+s	80863584177510d0	V5D Single Board Computer	0
+s	808635841775ce90	CE9	0
+s	808635844c5310b0	CL9 mainboard	0
+s	808635844c5310e0	PSL09 PrPMC	0
+d	80863585	82852/82855 GM/GME/PM/GMV Processor to I/O Controller	0
+s	808635851014055e	Thinkpad R50e model 1634	0
+s	8086358510280139	Latitude D400	0
+s	8086358510280163	Latitude D505	0
+s	8086358510280196	Inspiron 5160	0
+s	8086358517341055	Amilo M1420	0
+s	80863585177510d0	V5D Single Board Computer	0
+s	808635851775ce90	CE9	0
+s	808635854c5310b0	CL9 mainboard	0
+s	808635854c5310e0	PSL09 PrPMC	0
+d	80863590	E7520 Memory Controller Hub	0
+s	808635901028019a	PowerEdge SC1425	0
+s	808635901734103e	Primergy RX300 S2	0
+s	808635904c5310d0	Telum ASLP10 Processor AMC	0
+d	80863591	E7525/E7520 Error Reporting Registers	0
+s	8086359110280169	Precision 470	0
+s	808635914c5310d0	Telum ASLP10 Processor AMC	0
+d	80863592	E7320 Memory Controller Hub	0
+d	80863593	E7320 Error Reporting Registers	0
+d	80863594	E7520 DMA Controller	0
+s	808635944c5310d0	Telum ASLP10 Processor AMC	0
+d	80863595	E7525/E7520/E7320 PCI Express Port A	0
+d	80863596	E7525/E7520/E7320 PCI Express Port A1	0
+d	80863597	E7525/E7520 PCI Express Port B	0
+d	80863598	E7520 PCI Express Port B1	0
+d	80863599	E7520 PCI Express Port C	0
+d	8086359a	E7520 PCI Express Port C1	0
+d	8086359b	E7525/E7520/E7320 Extended Configuration Registers	0
+d	8086359e	E7525 Memory Controller Hub	0
+s	8086359e10280169	Precision 470	0
+d	808635b0	3100 Chipset Memory I/O Controller Hub	0
+d	808635b1	3100 DRAM Controller Error Reporting Registers	0
+d	808635b5	3100 Chipset Enhanced DMA Controller	0
+d	808635b6	3100 Chipset PCI Express Port A	0
+d	808635b7	3100 Chipset PCI Express Port A1	0
+d	808635c8	3100 Extended Configuration Test Overflow Registers	0
+d	80863600	Server Memory Controller Hub	0
+d	80863604	Server PCI Express Port 1	0
+d	80863605	Server PCI Express Port 2	0
+d	80863606	Server PCI Express Port 3	0
+d	80863607	Server PCI Express Port 4	0
+d	80863608	Server PCI Express Port 5	0
+d	80863609	Server PCI Express Port 6	0
+d	8086360a	Server PCI Express Port 7	0
+d	8086360b	Server IOAT DMA Controller	0
+d	8086360c	Server FSB Registers	0
+d	8086360d	Server Snoop Filter Registers	0
+d	8086360e	Server Reserved Registers	0
+d	8086360f	Server FBD Branch 0 Registers	0
+d	80863610	Server FBD Branch 1 Registers	0
+d	80864220	PRO/Wireless 2200BG Network Connection	0
+s	8086422027318086	WLAN-Adapter	0
+d	80864222	PRO/Wireless 3945ABG Network Connection	0
+s	8086422280861005	PRO/Wireless 3945BG Network Connection	0
+s	8086422280861034	PRO/Wireless 3945BG Network Connection	0
+s	8086422280861044	PRO/Wireless 3945BG Network Connection	0
+d	80864223	PRO/Wireless 2915ABG Network Connection	0
+s	808642231351103c	Compaq NC6220	0
+d	80864224	PRO/Wireless 2915ABG Network Connection	0
+d	80864227	PRO/Wireless 3945ABG Network Connection	0
+s	8086422780861011	Thinkpad  X60s, R60e model 0657	0
+s	8086422780861014	PRO/Wireless 3945BG Network Connection	0
+d	80865001	Pro/DSL 2100 Modem	0
+d	80865200	EtherExpress PRO/100 Intelligent Server	0
+d	80865201	EtherExpress PRO/100 Intelligent Server	0
+s	8086520180860001	EtherExpress PRO/100 Server Ethernet Adapter	0
+d	8086530d	80310 IOP [IO Processor]	0
+d	80867000	82371SB PIIX3 ISA [Natoma/Triton II]	0
+d	80867010	82371SB PIIX3 IDE [Natoma/Triton II]	0
+d	80867020	82371SB PIIX3 USB [Natoma/Triton II]	0
+d	80867030	430VX - 82437VX TVX [Triton VX]	0
+d	80867050	Intercast Video Capture Card	0
+d	80867051	PB 642365-003 (Business Video Conferencing Card)	0
+d	80867100	430TX - 82439TX MTXC	0
+d	80867110	82371AB/EB/MB PIIX4 ISA	0
+s	8086711015ad1976	virtualHW v3	0
+d	80867111	82371AB/EB/MB PIIX4 IDE	0
+s	8086711115ad1976	virtualHW v3	0
+d	80867112	82371AB/EB/MB PIIX4 USB	0
+s	8086711215ad1976	virtualHW v3	0
+d	80867113	82371AB/EB/MB PIIX4 ACPI	0
+s	8086711315ad1976	virtualHW v3	0
+d	80867120	82810 GMCH [Graphics Memory Controller Hub]	0
+s	808671204c531040	CL7 mainboard	0
+s	808671204c531060	PC7 mainboard	0
+d	80867121	82810 CGC [Chipset Graphics Controller]	0
+s	808671214c531040	CL7 mainboard	0
+s	808671214c531060	PC7 mainboard	0
+s	8086712180864341	Cayman (CA810) Mainboard	0
+d	80867122	82810 DC-100 GMCH [Graphics Memory Controller Hub]	0
+d	80867123	82810 DC-100 CGC [Chipset Graphics Controller]	0
+d	80867124	82810E DC-133 GMCH [Graphics Memory Controller Hub]	0
+d	80867125	82810E DC-133 CGC [Chipset Graphics Controller]	0
+d	80867126	82810 DC-133 System and Graphics Controller	0
+d	80867128	82810-M DC-100 System and Graphics Controller	0
+d	8086712a	82810-M DC-133 System and Graphics Controller	0
+d	80867180	440LX/EX - 82443LX/EX Host bridge	0
+d	80867181	440LX/EX - 82443LX/EX AGP bridge	0
+d	80867190	440BX/ZX/DX - 82443BX/ZX/DX Host bridge	0
+s	808671900e110500	Armada 1750 Laptop System Chipset	0
+s	808671900e11b110	Armada M700/E500	0
+s	808671901028008e	PowerEdge 1300 mainboard	0
+s	8086719011790001	Toshiba Tecra 8100 Laptop System Chipset	0
+s	8086719015ad1976	virtualHW v3	0
+s	808671904c531050	CT7 mainboard	0
+s	808671904c531051	CE7 mainboard	0
+d	80867191	440BX/ZX/DX - 82443BX/ZX/DX AGP bridge	0
+s	808671911028008e	PowerEdge 1300 mainboard	0
+d	80867192	440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)	0
+s	808671920e110460	Armada 1700 Laptop System Chipset	0
+s	808671924c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0
+d	80867194	82440MX Host Bridge	0
+s	8086719410330000	Versa Note Vxi	0
+s	808671944c5310a0	CA3/CR3 mainboard	0
+d	80867195	82440MX AC'97 Audio Controller	0
+s	80867195103380cc	Versa Note VXi	0
+s	8086719510cf1099	QSound_SigmaTel Stac97 PCI Audio	0
+s	8086719511d40040	SoundMAX Integrated Digital Audio	0
+s	8086719511d40048	SoundMAX Integrated Digital Audio	0
+d	80867196	82440MX AC'97 Modem Controller	0
+d	80867198	82440MX ISA Bridge	0
+d	80867199	82440MX EIDE Controller	0
+d	8086719a	82440MX USB Universal Host Controller	0
+d	8086719b	82440MX Power Management Controller	0
+d	808671a0	440GX - 82443GX Host bridge	0
+s	808671a04c531050	CT7 mainboard	0
+s	808671a04c531051	CE7 mainboard	0
+d	808671a1	440GX - 82443GX AGP bridge	0
+d	808671a2	440GX - 82443GX Host bridge (AGP disabled)	0
+s	808671a24c531000	CC7/CR7/CP7/VC7/VP7/VR7 mainboard	0
+d	80867600	82372FB PIIX5 ISA	0
+d	80867601	82372FB PIIX5 IDE	0
+d	80867602	82372FB PIIX5 USB	0
+d	80867603	82372FB PIIX5 SMBus	0
+d	80867800	82740 (i740) AGP Graphics Accelerator	0
+s	80867800003d0008	Starfighter AGP	0
+s	80867800003d000b	Starfighter AGP	0
+s	8086780010920100	Stealth II G460	0
+s	8086780010b4201a	Lightspeed 740	0
+s	8086780010b4202f	Lightspeed 740	0
+s	8086780080860000	Terminator 2x/i	0
+s	8086780080860100	Intel740 Graphics Accelerator	0
+d	808684c4	450KX/GX [Orion] - 82454KX/GX PCI bridge	0
+d	808684c5	450KX/GX [Orion] - 82453KX/GX Memory controller	0
+d	808684ca	450NX - 82451NX Memory & I/O Controller	0
+d	808684cb	450NX - 82454NX/84460GX PCI Expander Bridge	0
+d	808684e0	460GX - 84460GX System Address Controller (SAC)	0
+d	808684e1	460GX - 84460GX System Data Controller (SDC)	0
+d	808684e2	460GX - 84460GX AGP Bridge (GXB function 2)	0
+d	808684e3	460GX - 84460GX Memory Address Controller (MAC)	0
+d	808684e4	460GX - 84460GX Memory Data Controller (MDC)	0
+d	808684e6	460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB)	0
+d	808684ea	460GX - 84460GX AGP Bridge (GXB function 1)	0
+d	80868500	IXP4XX Network Processor (IXP420/421/422/425/IXC1100)	0
+s	8086850019930ded	mGuard-PCI AV#2	0
+s	8086850019930dee	mGuard-PCI AV#1	0
+s	8086850019930def	mGuard-PCI AV#0	0
+d	80869000	IXP2000 Family Network Processor	0
+d	80869001	IXP2400 Network Processor	0
+d	80869002	IXP2300 Network Processor	0
+d	80869004	IXP2800 Network Processor	0
+d	80869621	Integrated RAID	0
+d	80869622	Integrated RAID	0
+d	80869641	Integrated RAID	0
+d	808696a1	Integrated RAID	0
+d	8086a620	6400/6402 Advanced Memory Buffer (AMB)	0
+d	8086b152	21152 PCI-to-PCI Bridge	0
 d	8086b154	21154 PCI-to-PCI Bridge	0	observed, and documented in Intel revision note; new mask of 1011:0026
-d	8086b555	21555 Non transparent PCI-to-PCI Bridge	0	
-s	8086b55512c75005	SS7HD PCI Adaptor Card	0	
-s	8086b55512c75006	SS7HDC cPCI Adaptor Card	0	
-s	8086b55512d9000a	PCI VoIP Gateway	0	
-s	8086b5554c531050	CT7 mainboard	0	
-s	8086b5554c531051	CE7 mainboard	0	
-s	8086b555e4bf1000	CC8-1-BLUES	0	
-v	8384	Sigmatel	1	
-d	83847618	High Definition Audio Codec	1	
+d	8086b555	21555 Non transparent PCI-to-PCI Bridge	0
+s	8086b55512c75005	SS7HD PCI Adaptor Card	0
+s	8086b55512c75006	SS7HDC cPCI Adaptor Card	0
+s	8086b55512d9000a	PCI VoIP Gateway	0
+s	8086b5554c531050	CT7 mainboard	0
+s	8086b5554c531051	CE7 mainboard	0
+s	8086b555e4bf1000	CC8-1-BLUES	0
+v	8384	Sigmatel	1
+d	83847618	High Definition Audio Codec	1
 d	83847670	High Definition Audio	1	Sigmatel 9770
 d	83847672	High Definition Audio	1	Sigmatel 9772
-v	8401	TRENDware International Inc.	0	
-v	8686	ScaleMP	0	
-d	86861010	vSMPowered system controller [vSMP CTL]	0	
-v	8800	Trigem Computer Inc.	0	
-d	88002008	Video assistent component	0	
-v	8866	T-Square Design Inc.	0	
-v	8888	Silicon Magic	0	
-v	8912	TRX	0	
+v	8401	TRENDware International Inc.	0
+v	8686	ScaleMP	0
+d	86861010	vSMPowered system controller [vSMP CTL]	0
+v	8800	Trigem Computer Inc.	0
+d	88002008	Video assistent component	0
+v	8866	T-Square Design Inc.	0
+v	8888	Silicon Magic	0
+v	8912	TRX	0
 v	8c4a	Winbond	0	8c4a is not Winbond but there is a board misprogrammed
-d	8c4a1980	W89C940 misprogrammed [ne2k]	0	
-v	8e0e	Computone Corporation	0	
-v	8e2e	KTI	0	
-d	8e2e3000	ET32P2	0	
-v	9004	Adaptec	0	
-d	90040078	AHA-2940U_CN	0	
-d	90041078	AIC-7810	0	
-d	90041160	AIC-1160 [Family Fibre Channel Adapter]	0	
-d	90042178	AIC-7821	0	
-d	90043860	AHA-2930CU	0	
-d	90043b78	AHA-4844W/4844UW	0	
-d	90045075	AIC-755x	0	
-d	90045078	AHA-7850	0	
-s	9004507890047850	AHA-2904/Integrated AIC-7850	0	
-d	90045175	AIC-755x	0	
-d	90045178	AIC-7851	0	
-d	90045275	AIC-755x	0	
-d	90045278	AIC-7852	0	
-d	90045375	AIC-755x	0	
-d	90045378	AIC-7850	0	
-d	90045475	AIC-755x	0	
-d	90045478	AIC-7850	0	
-d	90045575	AVA-2930	0	
-d	90045578	AIC-7855	0	
-d	90045647	ANA-7711 TCP Offload Engine	0	
-s	9004564790047710	ANA-7711F TCP Offload Engine - Optical	0	
-s	9004564790047711	ANA-7711LP TCP Offload Engine - Copper	0	
-d	90045675	AIC-755x	0	
-d	90045678	AIC-7856	0	
-d	90045775	AIC-755x	0	
-d	90045778	AIC-7850	0	
-d	90045800	AIC-5800	0	
-d	90045900	ANA-5910/5930/5940 ATM155 & 25 LAN Adapter	0	
-d	90045905	ANA-5910A/5930A/5940A ATM Adapter	0	
-d	90046038	AIC-3860	0	
-d	90046075	AIC-1480 / APA-1480	0	
-s	9004607590047560	AIC-1480 / APA-1480 Cardbus	0	
-d	90046078	AIC-7860	0	
-d	90046178	AIC-7861	0	
-s	9004617890047861	AHA-2940AU Single	0	
-d	90046278	AIC-7860	0	
-d	90046378	AIC-7860	0	
-d	90046478	AIC-786x	0	
-d	90046578	AIC-786x	0	
-d	90046678	AIC-786x	0	
-d	90046778	AIC-786x	0	
-d	90046915	ANA620xx/ANA69011A	0	
-s	9004691590040008	ANA69011A/TX 10/100	0	
-s	9004691590040009	ANA69011A/TX 10/100	0	
-s	9004691590040010	ANA62022 2-port 10/100	0	
-s	9004691590040018	ANA62044 4-port 10/100	0	
-s	9004691590040019	ANA62044 4-port 10/100	0	
-s	9004691590040020	ANA62022 2-port 10/100	0	
-s	9004691590040028	ANA69011A/TX 10/100	0	
-s	9004691590048008	ANA69011A/TX 64 bit 10/100	0	
-s	9004691590048009	ANA69011A/TX 64 bit 10/100	0	
-s	9004691590048010	ANA62022 2-port 64 bit 10/100	0	
-s	9004691590048018	ANA62044 4-port 64 bit 10/100	0	
-s	9004691590048019	ANA62044 4-port 64 bit 10/100	0	
-s	9004691590048020	ANA62022 2-port 64 bit 10/100	0	
-s	9004691590048028	ANA69011A/TX 64 bit 10/100	0	
-d	90047078	AHA-294x / AIC-7870	0	
-d	90047178	AHA-2940/2940W / AIC-7871	0	
-d	90047278	AHA-3940/3940W / AIC-7872	0	
-d	90047378	AHA-3985 / AIC-7873	0	
-d	90047478	AHA-2944/2944W / AIC-7874	0	
-d	90047578	AHA-3944/3944W / AIC-7875	0	
-d	90047678	AHA-4944W/UW / AIC-7876	0	
-d	90047710	ANA-7711F Network Accelerator Card (NAC) - Optical	0	
-d	90047711	ANA-7711C Network Accelerator Card (NAC) - Copper	0	
-d	90047778	AIC-787x	0	
-d	90047810	AIC-7810	0	
-d	90047815	AIC-7815 RAID+Memory Controller IC	0	
-s	9004781590047815	ARO-1130U2 RAID Controller	0	
-s	9004781590047840	AIC-7815 RAID+Memory Controller IC	0	
-d	90047850	AIC-7850	0	
-d	90047855	AHA-2930	0	
-d	90047860	AIC-7860	0	
-d	90047870	AIC-7870	0	
-d	90047871	AHA-2940	0	
-d	90047872	AHA-3940	0	
-d	90047873	AHA-3980	0	
-d	90047874	AHA-2944	0	
-d	90047880	AIC-7880P	0	
-d	90047890	AIC-7890	0	
-d	90047891	AIC-789x	0	
-d	90047892	AIC-789x	0	
-d	90047893	AIC-789x	0	
-d	90047894	AIC-789x	0	
-d	90047895	AHA-2940U/UW / AHA-39xx / AIC-7895	0	
-s	9004789590047890	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0	
-s	9004789590047891	AHA-2940U/2940UW Dual	0	
-s	9004789590047892	AHA-3940AU/AUW/AUWD/UWD	0	
-s	9004789590047894	AHA-3944AUWD	0	
-s	9004789590047895	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0	
-s	9004789590047896	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0	
-s	9004789590047897	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0	
-d	90047896	AIC-789x	0	
-d	90047897	AIC-789x	0	
-d	90048078	AIC-7880U	0	
-s	9004807890047880	AIC-7880P Ultra/Ultra Wide SCSI Chipset	0	
-d	90048178	AHA-2940U/UW/D / AIC-7881U	0	
-s	9004817890047881	AHA-2940UW SCSI Host Adapter	0	
-d	90048278	AHA-3940U/UW/UWD / AIC-7882U	0	
-d	90048378	AHA-3940U/UW / AIC-7883U	0	
-d	90048478	AHA-2944UW / AIC-7884U	0	
-d	90048578	AHA-3944U/UWD / AIC-7885	0	
-d	90048678	AHA-4944UW / AIC-7886	0	
-d	90048778	AHA-2940UW Pro / AIC-788x	0	
-s	9004877890047887	2940UW Pro Ultra-Wide SCSI Controller	0	
-d	90048878	AHA-2930UW / AIC-7888	0	
-s	9004887890047888	AHA-2930UW SCSI Controller	0	
-d	90048b78	ABA-1030	0	
-d	9004ec78	AHA-4944W/UW	0	
-v	9005	Adaptec	0	
-d	90050010	AHA-2940U2/U2W	0	
-s	9005001090052180	AHA-2940U2 SCSI Controller	0	
-s	9005001090058100	AHA-2940U2B SCSI Controller	0	
-s	900500109005a100	AHA-2940U2B SCSI Controller	0	
-s	900500109005a180	AHA-2940U2W SCSI Controller	0	
-s	900500109005e100	AHA-2950U2B SCSI Controller	0	
-d	90050011	AHA-2930U2	0	
-d	90050013	78902	0	
-s	9005001390050003	AAA-131U2 Array1000 1 Channel RAID Controller	0	
-s	900500139005000f	AIC7890_ARO	0	
-d	9005001f	AHA-2940U2/U2W / 7890/7891	0	
-s	9005001f9005000f	2940U2W SCSI Controller	0	
-s	9005001f9005a180	2940U2W SCSI Controller	0	
-d	90050020	AIC-7890	0	
-d	9005002f	AIC-7890	0	
-d	90050030	AIC-7890	0	
-d	9005003f	AIC-7890	0	
-d	90050050	AHA-3940U2x/395U2x	0	
-s	900500509005f500	AHA-3950U2B	0	
-s	900500509005ffff	AHA-3950U2B	0	
-d	90050051	AHA-3950U2D	0	
-s	900500519005b500	AHA-3950U2D	0	
-d	90050053	AIC-7896 SCSI Controller	0	
-s	900500539005ffff	AIC-7896 SCSI Controller mainboard implementation	0	
-d	9005005f	AIC-7896U2/7897U2	0	
-d	90050080	AIC-7892A U160/m	0	
-s	900500800e11e2a0	Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter	0	
-s	9005008090056220	AHA-29160C	0	
-s	90050080900562a0	29160N Ultra160 SCSI Controller	0	
-s	900500809005e220	29160LP Low Profile Ultra160 SCSI Controller	0	
-s	900500809005e2a0	29160 Ultra160 SCSI Controller	0	
-d	90050081	AIC-7892B U160/m	0	
-s	90050081900562a1	19160 Ultra160 SCSI Controller	0	
-d	90050083	AIC-7892D U160/m	0	
-d	9005008f	AIC-7892P U160/m	0	
-s	9005008f11790001	Magnia Z310	0	
-s	9005008f15d99005	Onboard SCSI Host Adapter	0	
-d	90050092	Adaptec VIDEOH! AVC-2010	1	
-d	90050093	Adaptec VIDEOH! AVC-2410	1	
-d	900500c0	AHA-3960D / AIC-7899A U160/m	0	
-s	900500c00e11f620	Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter	0	
-s	900500c09005f620	AHA-3960D U160/m	0	
-d	900500c1	AIC-7899B U160/m	0	
-d	900500c3	AIC-7899D U160/m	0	
-d	900500c5	RAID subsystem HBA	0	
-s	900500c5102800c5	PowerEdge 2400,2500,2550,4400	0	
-d	900500cf	AIC-7899P U160/m	0	
-s	900500cf102800ce	PowerEdge 1400	0	
-s	900500cf102800d1	PowerEdge 2550	0	
-s	900500cf102800d9	PowerEdge 2500	0	
-s	900500cf10f12462	Thunder K7 S2462	0	
-s	900500cf15d99005	Onboard SCSI Host Adapter	0	
-s	900500cf80863411	SDS2 Mainboard	0	
-d	90050241	Serial ATA II RAID 1420SA	0	
-d	90050250	ServeRAID Controller	0	
-s	9005025010140279	ServeRAID-xx	0	
-s	900502501014028c	ServeRAID-xx	0	
-d	90050279	ServeRAID 6M	0	
-d	90050283	AAC-RAID	0	
-s	9005028390050283	Catapult	0	
-d	90050284	AAC-RAID	0	
-s	9005028490050284	Tomcat	0	
-d	90050285	AAC-RAID	0	
-s	900502850e110295	SATA 6Ch (Bearcat)	0	
-s	90050285101402f2	ServeRAID 8i	0	
-s	9005028510280287	PowerEdge Expandable RAID Controller 320/DC	0	
-s	9005028510280291	CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)	0	
-s	90050285103c3227	AAR-2610SA	0	
-s	9005028517aa0286	Legend S220 (Legend Crusader)	0	
-s	9005028517aa0287	Legend S230 (Legend Vulcan)	0	
-s	9005028590050285	2200S (Vulcan)	0	
-s	9005028590050286	2120S (Crusader)	0	
-s	9005028590050287	2200S (Vulcan-2m)	0	
-s	9005028590050288	3230S (Harrier)	0	
-s	9005028590050289	3240S (Tornado)	0	
+d	8c4a1980	W89C940 misprogrammed [ne2k]	0
+v	8e0e	Computone Corporation	0
+v	8e2e	KTI	0
+d	8e2e3000	ET32P2	0
+v	9004	Adaptec	0
+d	90040078	AHA-2940U_CN	0
+d	90041078	AIC-7810	0
+d	90041160	AIC-1160 [Family Fibre Channel Adapter]	0
+d	90042178	AIC-7821	0
+d	90043860	AHA-2930CU	0
+d	90043b78	AHA-4844W/4844UW	0
+d	90045075	AIC-755x	0
+d	90045078	AHA-7850	0
+s	9004507890047850	AHA-2904/Integrated AIC-7850	0
+d	90045175	AIC-755x	0
+d	90045178	AIC-7851	0
+d	90045275	AIC-755x	0
+d	90045278	AIC-7852	0
+d	90045375	AIC-755x	0
+d	90045378	AIC-7850	0
+d	90045475	AIC-755x	0
+d	90045478	AIC-7850	0
+d	90045575	AVA-2930	0
+d	90045578	AIC-7855	0
+d	90045647	ANA-7711 TCP Offload Engine	0
+s	9004564790047710	ANA-7711F TCP Offload Engine - Optical	0
+s	9004564790047711	ANA-7711LP TCP Offload Engine - Copper	0
+d	90045675	AIC-755x	0
+d	90045678	AIC-7856	0
+d	90045775	AIC-755x	0
+d	90045778	AIC-7850	0
+d	90045800	AIC-5800	0
+d	90045900	ANA-5910/5930/5940 ATM155 & 25 LAN Adapter	0
+d	90045905	ANA-5910A/5930A/5940A ATM Adapter	0
+d	90046038	AIC-3860	0
+d	90046075	AIC-1480 / APA-1480	0
+s	9004607590047560	AIC-1480 / APA-1480 Cardbus	0
+d	90046078	AIC-7860	0
+d	90046178	AIC-7861	0
+s	9004617890047861	AHA-2940AU Single	0
+d	90046278	AIC-7860	0
+d	90046378	AIC-7860	0
+d	90046478	AIC-786x	0
+d	90046578	AIC-786x	0
+d	90046678	AIC-786x	0
+d	90046778	AIC-786x	0
+d	90046915	ANA620xx/ANA69011A	0
+s	9004691590040008	ANA69011A/TX 10/100	0
+s	9004691590040009	ANA69011A/TX 10/100	0
+s	9004691590040010	ANA62022 2-port 10/100	0
+s	9004691590040018	ANA62044 4-port 10/100	0
+s	9004691590040019	ANA62044 4-port 10/100	0
+s	9004691590040020	ANA62022 2-port 10/100	0
+s	9004691590040028	ANA69011A/TX 10/100	0
+s	9004691590048008	ANA69011A/TX 64 bit 10/100	0
+s	9004691590048009	ANA69011A/TX 64 bit 10/100	0
+s	9004691590048010	ANA62022 2-port 64 bit 10/100	0
+s	9004691590048018	ANA62044 4-port 64 bit 10/100	0
+s	9004691590048019	ANA62044 4-port 64 bit 10/100	0
+s	9004691590048020	ANA62022 2-port 64 bit 10/100	0
+s	9004691590048028	ANA69011A/TX 64 bit 10/100	0
+d	90047078	AHA-294x / AIC-7870	0
+d	90047178	AHA-2940/2940W / AIC-7871	0
+d	90047278	AHA-3940/3940W / AIC-7872	0
+d	90047378	AHA-3985 / AIC-7873	0
+d	90047478	AHA-2944/2944W / AIC-7874	0
+d	90047578	AHA-3944/3944W / AIC-7875	0
+d	90047678	AHA-4944W/UW / AIC-7876	0
+d	90047710	ANA-7711F Network Accelerator Card (NAC) - Optical	0
+d	90047711	ANA-7711C Network Accelerator Card (NAC) - Copper	0
+d	90047778	AIC-787x	0
+d	90047810	AIC-7810	0
+d	90047815	AIC-7815 RAID+Memory Controller IC	0
+s	9004781590047815	ARO-1130U2 RAID Controller	0
+s	9004781590047840	AIC-7815 RAID+Memory Controller IC	0
+d	90047850	AIC-7850	0
+d	90047855	AHA-2930	0
+d	90047860	AIC-7860	0
+d	90047870	AIC-7870	0
+d	90047871	AHA-2940	0
+d	90047872	AHA-3940	0
+d	90047873	AHA-3980	0
+d	90047874	AHA-2944	0
+d	90047880	AIC-7880P	0
+d	90047890	AIC-7890	0
+d	90047891	AIC-789x	0
+d	90047892	AIC-789x	0
+d	90047893	AIC-789x	0
+d	90047894	AIC-789x	0
+d	90047895	AHA-2940U/UW / AHA-39xx / AIC-7895	0
+s	9004789590047890	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0
+s	9004789590047891	AHA-2940U/2940UW Dual	0
+s	9004789590047892	AHA-3940AU/AUW/AUWD/UWD	0
+s	9004789590047894	AHA-3944AUWD	0
+s	9004789590047895	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0
+s	9004789590047896	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0
+s	9004789590047897	AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B	0
+d	90047896	AIC-789x	0
+d	90047897	AIC-789x	0
+d	90048078	AIC-7880U	0
+s	9004807890047880	AIC-7880P Ultra/Ultra Wide SCSI Chipset	0
+d	90048178	AHA-2940U/UW/D / AIC-7881U	0
+s	9004817890047881	AHA-2940UW SCSI Host Adapter	0
+d	90048278	AHA-3940U/UW/UWD / AIC-7882U	0
+d	90048378	AHA-3940U/UW / AIC-7883U	0
+d	90048478	AHA-2944UW / AIC-7884U	0
+d	90048578	AHA-3944U/UWD / AIC-7885	0
+d	90048678	AHA-4944UW / AIC-7886	0
+d	90048778	AHA-2940UW Pro / AIC-788x	0
+s	9004877890047887	2940UW Pro Ultra-Wide SCSI Controller	0
+d	90048878	AHA-2930UW / AIC-7888	0
+s	9004887890047888	AHA-2930UW SCSI Controller	0
+d	90048b78	ABA-1030	0
+d	9004ec78	AHA-4944W/UW	0
+v	9005	Adaptec	0
+d	90050010	AHA-2940U2/U2W	0
+s	9005001090052180	AHA-2940U2 SCSI Controller	0
+s	9005001090058100	AHA-2940U2B SCSI Controller	0
+s	900500109005a100	AHA-2940U2B SCSI Controller	0
+s	900500109005a180	AHA-2940U2W SCSI Controller	0
+s	900500109005e100	AHA-2950U2B SCSI Controller	0
+d	90050011	AHA-2930U2	0
+d	90050013	78902	0
+s	9005001390050003	AAA-131U2 Array1000 1 Channel RAID Controller	0
+s	900500139005000f	AIC7890_ARO	0
+d	9005001f	AHA-2940U2/U2W / 7890/7891	0
+s	9005001f9005000f	2940U2W SCSI Controller	0
+s	9005001f9005a180	2940U2W SCSI Controller	0
+d	90050020	AIC-7890	0
+d	9005002f	AIC-7890	0
+d	90050030	AIC-7890	0
+d	9005003f	AIC-7890	0
+d	90050050	AHA-3940U2x/395U2x	0
+s	900500509005f500	AHA-3950U2B	0
+s	900500509005ffff	AHA-3950U2B	0
+d	90050051	AHA-3950U2D	0
+s	900500519005b500	AHA-3950U2D	0
+d	90050053	AIC-7896 SCSI Controller	0
+s	900500539005ffff	AIC-7896 SCSI Controller mainboard implementation	0
+d	9005005f	AIC-7896U2/7897U2	0
+d	90050080	AIC-7892A U160/m	0
+s	900500800e11e2a0	Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter	0
+s	9005008090056220	AHA-29160C	0
+s	90050080900562a0	29160N Ultra160 SCSI Controller	0
+s	900500809005e220	29160LP Low Profile Ultra160 SCSI Controller	0
+s	900500809005e2a0	29160 Ultra160 SCSI Controller	0
+d	90050081	AIC-7892B U160/m	0
+s	90050081900562a1	19160 Ultra160 SCSI Controller	0
+d	90050083	AIC-7892D U160/m	0
+d	9005008f	AIC-7892P U160/m	0
+s	9005008f11790001	Magnia Z310	0
+s	9005008f15d99005	Onboard SCSI Host Adapter	0
+d	90050092	Adaptec VIDEOH! AVC-2010	1
+d	90050093	Adaptec VIDEOH! AVC-2410	1
+d	900500c0	AHA-3960D / AIC-7899A U160/m	0
+s	900500c00e11f620	Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter	0
+s	900500c09005f620	AHA-3960D U160/m	0
+d	900500c1	AIC-7899B U160/m	0
+d	900500c3	AIC-7899D U160/m	0
+d	900500c5	RAID subsystem HBA	0
+s	900500c5102800c5	PowerEdge 2400,2500,2550,4400	0
+d	900500cf	AIC-7899P U160/m	0
+s	900500cf102800ce	PowerEdge 1400	0
+s	900500cf102800d1	PowerEdge 2550	0
+s	900500cf102800d9	PowerEdge 2500	0
+s	900500cf10f12462	Thunder K7 S2462	0
+s	900500cf15d99005	Onboard SCSI Host Adapter	0
+s	900500cf80863411	SDS2 Mainboard	0
+d	90050241	Serial ATA II RAID 1420SA	0
+d	90050250	ServeRAID Controller	0
+s	9005025010140279	ServeRAID-xx	0
+s	900502501014028c	ServeRAID-xx	0
+d	90050279	ServeRAID 6M	0
+d	90050283	AAC-RAID	0
+s	9005028390050283	Catapult	0
+d	90050284	AAC-RAID	0
+s	9005028490050284	Tomcat	0
+d	90050285	AAC-RAID	0
+s	900502850e110295	SATA 6Ch (Bearcat)	0
+s	90050285101402f2	ServeRAID 8i	0
+s	9005028510280287	PowerEdge Expandable RAID Controller 320/DC	0
+s	9005028510280291	CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)	0
+s	90050285103c3227	AAR-2610SA	0
+s	9005028517aa0286	Legend S220 (Legend Crusader)	0
+s	9005028517aa0287	Legend S230 (Legend Vulcan)	0
+s	9005028590050285	2200S (Vulcan)	0
+s	9005028590050286	2120S (Crusader)	0
+s	9005028590050287	2200S (Vulcan-2m)	0
+s	9005028590050288	3230S (Harrier)	0
+s	9005028590050289	3240S (Tornado)	0
 s	900502859005028a	ASR-2020ZCR	0	Some early versions reported 2020S
 s	900502859005028b	ASR-2025ZCR (Terminator)	0	Some early versions reported 2025S
-s	900502859005028e	ASR-2020SA (Skyhawk)	0	
-s	900502859005028f	ASR-2025SA	0	
-s	9005028590050290	AAR-2410SA PCI SATA 4ch (Jaguar II)	0	
-s	9005028590050292	AAR-2810SA PCI SATA 8ch (Corsair-8)	0	
-s	9005028590050293	AAR-21610SA PCI SATA 16ch (Corsair-16)	0	
-s	9005028590050294	ESD SO-DIMM PCI-X SATA ZCR (Prowler)	0	
-s	9005028590050296	ASR-2240S	0	
-s	9005028590050297	ASR-4005SAS	0	
-s	9005028590050298	ASR-4000SAS	0	
+s	900502859005028e	ASR-2020SA (Skyhawk)	0
+s	900502859005028f	ASR-2025SA	0
+s	9005028590050290	AAR-2410SA PCI SATA 4ch (Jaguar II)	0
+s	9005028590050292	AAR-2810SA PCI SATA 8ch (Corsair-8)	0
+s	9005028590050293	AAR-21610SA PCI SATA 16ch (Corsair-16)	0
+s	9005028590050294	ESD SO-DIMM PCI-X SATA ZCR (Prowler)	0
+s	9005028590050296	ASR-2240S	0
+s	9005028590050297	ASR-4005SAS	0
+s	9005028590050298	ASR-4000SAS	0
 s	9005028590050298	ASR-4000	1	Dropping SAS from the name, as product also supports SATA
-s	9005028590050299	ASR-4800SAS	0	
-s	900502859005029a	4805SAS	0	
+s	9005028590050299	ASR-4800SAS	0
+s	900502859005029a	4805SAS	0
 s	90050285900502a4	ICP ICP9085LI	1	9005:0286:9005:02A4 is incorrect
 s	90050285900502a5	ICP ICP5085BR	1	9005:0286:9005:02A5 is incorrect
-s	90050285900502b5	ASR5800	0	
-s	90050285900502b6	ASR5805	0	
-s	90050285900502b7	ASR5808	0	
+s	90050285900502b5	ASR5800	0
+s	90050285900502b6	ASR5805	0
+s	90050285900502b7	ASR5808	0
 s	90050285900502b8	ICP5445SL	1	ICP Vendor
 s	90050285900502b9	ICP5085SL	1	ICP Vendor
 s	90050285900502ba	ICP5805SL	1	ICP Vendor
-s	90050285900502bb	3405	1	
-s	90050285900502bc	3805	1	
-s	90050285900502bd	31205	1	
-s	90050285900502be	31605	1	
-s	90050285900502bf	ICP ICP5045BL	1	
-s	90050285900502c0	ICP ICP5085BL	1	
-s	90050285900502c1	ICP ICP5125BR	1	
-s	90050285900502c2	ICP ICP5165BR	1	
-s	90050285900502c3	51205	1	
-s	90050285900502c4	51605	1	
-s	90050285900502c5	ICP ICP5125SL	1	
-s	90050285900502c6	ICP ICP5165SL	1	
-d	90050286	AAC-RAID (Rocket)	0	
-s	900502861014034d	8s	0	
-s	9005028610149540	ServeRAID 8k/8k-l4	0	
-s	9005028610149580	ServeRAID 8k/8k-l8	0	
-s	900502869005028c	ASR-2230S + ASR-2230SLP PCI-X (Lancer)	0	
-s	900502869005028d	ASR-2130S	0	
-s	900502869005029b	ASR-2820SA	0	
-s	900502869005029c	ASR-2620SA	0	
-s	900502869005029d	ASR-2420SA	0	
-s	900502869005029e	ICP ICP9024R0	0	
-s	900502869005029f	ICP ICP9014R0	0	
-s	90050286900502a0	ICP ICP9047MA	0	
-s	90050286900502a1	ICP ICP9087MA	0	
-s	90050286900502a2	3800SAS	0	
+s	90050285900502bb	3405	1
+s	90050285900502bc	3805	1
+s	90050285900502bd	31205	1
+s	90050285900502be	31605	1
+s	90050285900502bf	ICP ICP5045BL	1
+s	90050285900502c0	ICP ICP5085BL	1
+s	90050285900502c1	ICP ICP5125BR	1
+s	90050285900502c2	ICP ICP5165BR	1
+s	90050285900502c3	51205	1
+s	90050285900502c4	51605	1
+s	90050285900502c5	ICP ICP5125SL	1
+s	90050285900502c6	ICP ICP5165SL	1
+d	90050286	AAC-RAID (Rocket)	0
+s	900502861014034d	8s	0
+s	9005028610149540	ServeRAID 8k/8k-l4	0
+s	9005028610149580	ServeRAID 8k/8k-l8	0
+s	900502869005028c	ASR-2230S + ASR-2230SLP PCI-X (Lancer)	0
+s	900502869005028d	ASR-2130S	0
+s	900502869005029b	ASR-2820SA	0
+s	900502869005029c	ASR-2620SA	0
+s	900502869005029d	ASR-2420SA	0
+s	900502869005029e	ICP ICP9024R0	0
+s	900502869005029f	ICP ICP9014R0	0
+s	90050286900502a0	ICP ICP9047MA	0
+s	90050286900502a1	ICP ICP9087MA	0
+s	90050286900502a2	3800SAS	0
 s	90050286900502a2	3800	1	Dropping SAS from the name, as product also supports SATA
-s	90050286900502a3	ICP ICP5445AU	0	
-s	90050286900502a4	ICP ICP9085LI	0	
-s	90050286900502a5	ICP ICP5085BR	0	
-s	90050286900502a6	ICP9067MA	0	
-s	90050286900502a7	3805SAS	0	
+s	90050286900502a3	ICP ICP5445AU	0
+s	90050286900502a4	ICP ICP9085LI	0
+s	90050286900502a5	ICP ICP5085BR	0
+s	90050286900502a6	ICP9067MA	0
+s	90050286900502a7	3805SAS	0
 s	90050286900502a7	3805	1	Dropping SAS from the name, as product also supports SATA
-s	90050286900502a8	3400SAS	0	
+s	90050286900502a8	3400SAS	0
 s	90050286900502a8	3400	1	Dropping SAS from the name, as product also supports SATA
-s	90050286900502a9	ICP ICP5085AU	0	
-s	90050286900502aa	ICP ICP5045AU	0	
-s	90050286900502ac	1800SAS	0	
+s	90050286900502a9	ICP ICP5085AU	0
+s	90050286900502aa	ICP ICP5045AU	0
+s	90050286900502ac	1800SAS	0
 s	90050286900502ac	1800	1	Dropping SAS from the name, as product also supports SATA
-s	90050286900502b3	ASR-2400SAS	0	
+s	90050286900502b3	ASR-2400SAS	0
 s	90050286900502b3	2400	1	Dropping SAS from the name, as product also supports SATA
-s	90050286900502b4	ICP ICP5045AL	0	
-s	9005028690050800	Callisto	0	
-d	90050410	AIC-9410W SAS (Razor HBA RAID)	0	
-s	9005041090050410	ASC-48300(Spirit RAID)	0	
-s	9005041090050411	ASC-58300 (Oakmont RAID)	0	
-d	90050412	AIC-9410W SAS (Razor HBA non-RAID)	0	
-s	9005041290050412	ASC-48300 (Spirit non-RAID)	0	
-s	9005041290050413	ASC-58300 (Oakmont non-RAID)	0	
-d	9005041e	AIC-9410W SAS (Razor ASIC non-RAID)	0	
-d	9005041f	AIC-9410W SAS (Razor ASIC RAID)	0	
-s	9005041f9005041f	AIC-9410W SAS (Razor ASIC RAID)	0	
-d	90050430	AIC-9405W SAS (Razor-Lite HBA RAID)	0	
-s	9005043090050430	ASC-44300 (Spirit-Lite RAID)	0	
-d	90050432	AIC-9405W SAS (Razor-Lite HBA non-RAID)	0	
-s	9005043290050432	ASC-44300 (Spirit-Lite non-RAID)	0	
-d	9005043e	AIC-9405W SAS (Razor-Lite ASIC non-RAID)	0	
-d	9005043f	AIC-9405W SAS (Razor-Lite ASIC RAID)	0	
-d	9005043f		1	
-d	90050500	Obsidian chipset SCSI controller	0	
-s	90050500101402c1	PCI-X DDR 3Gb SAS Adapter (572A/572C)	0	
-s	90050500101402c2	PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)	0	
-d	90050503	Scamp chipset SCSI controller	0	
-s	90050503101402bf	Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)	0	
-s	90050503101402d5	Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)	0	
-d	90050910	AUA-3100B	0	
-d	9005091e	AUA-3100B	0	
-d	90058000	ASC-29320A U320	0	
-d	9005800f	AIC-7901 U320	0	
-d	90058010	ASC-39320 U320	0	
-d	90058011	ASC-39320D	0	
-s	900580110e1100ac	ASC-39320D U320	0	
-s	9005801190050041	ASC-39320D U320	0	
-d	90058012	ASC-29320 U320	0	
-d	90058013	ASC-29320B U320	0	
-d	90058014	ASC-29320LP U320	0	
-d	90058015	ASC-39320B U320	0	
-d	90058016	ASC-39320A U320	0	
-d	90058017	ASC-29320ALP U320	0	
-s	9005801790050044	ASC-29320ALP PCIx U320	1	
-s	9005801790050045	ASC-29320LPE PCIe U320	1	
-d	9005801c	ASC-39320D U320	0	
-d	9005801d	AIC-7902B U320	0	
-d	9005801e	AIC-7901A U320	0	
-d	9005801f	AIC-7902 U320	0	
-s	9005801f17341011	Primergy RX300	0	
-d	90058080	ASC-29320A U320 w/HostRAID	0	
-d	9005808f	AIC-7901 U320 w/HostRAID	0	
-d	90058090	ASC-39320 U320 w/HostRAID	0	
-d	90058091	ASC-39320D U320 w/HostRAID	0	
-d	90058092	ASC-29320 U320 w/HostRAID	0	
-d	90058093	ASC-29320B U320 w/HostRAID	0	
-d	90058094	ASC-29320LP U320 w/HostRAID	0	
-d	90058095	ASC-39320(B) U320 w/HostRAID	0	
-d	90058096	ASC-39320A U320 w/HostRAID	0	
-d	90058097	ASC-29320ALP U320 w/HostRAID	0	
-d	9005809c	ASC-39320D(B) U320 w/HostRAID	0	
-d	9005809d	AIC-7902(B) U320 w/HostRAID	0	
-d	9005809e	AIC-7901A U320 w/HostRAID	0	
-d	9005809f	AIC-7902 U320 w/HostRAID	0	
-v	9054	uma	1	
-v	907f	Atronics	0	
-d	907f2015	IDE-2015PL	0	
+s	90050286900502b4	ICP ICP5045AL	0
+s	9005028690050800	Callisto	0
+d	90050410	AIC-9410W SAS (Razor HBA RAID)	0
+s	9005041090050410	ASC-48300(Spirit RAID)	0
+s	9005041090050411	ASC-58300 (Oakmont RAID)	0
+d	90050412	AIC-9410W SAS (Razor HBA non-RAID)	0
+s	9005041290050412	ASC-48300 (Spirit non-RAID)	0
+s	9005041290050413	ASC-58300 (Oakmont non-RAID)	0
+d	9005041e	AIC-9410W SAS (Razor ASIC non-RAID)	0
+d	9005041f	AIC-9410W SAS (Razor ASIC RAID)	0
+s	9005041f9005041f	AIC-9410W SAS (Razor ASIC RAID)	0
+d	90050430	AIC-9405W SAS (Razor-Lite HBA RAID)	0
+s	9005043090050430	ASC-44300 (Spirit-Lite RAID)	0
+d	90050432	AIC-9405W SAS (Razor-Lite HBA non-RAID)	0
+s	9005043290050432	ASC-44300 (Spirit-Lite non-RAID)	0
+d	9005043e	AIC-9405W SAS (Razor-Lite ASIC non-RAID)	0
+d	9005043f	AIC-9405W SAS (Razor-Lite ASIC RAID)	0
+d	9005043f		1
+d	90050500	Obsidian chipset SCSI controller	0
+s	90050500101402c1	PCI-X DDR 3Gb SAS Adapter (572A/572C)	0
+s	90050500101402c2	PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)	0
+d	90050503	Scamp chipset SCSI controller	0
+s	90050503101402bf	Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)	0
+s	90050503101402d5	Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)	0
+d	90050910	AUA-3100B	0
+d	9005091e	AUA-3100B	0
+d	90058000	ASC-29320A U320	0
+d	9005800f	AIC-7901 U320	0
+d	90058010	ASC-39320 U320	0
+d	90058011	ASC-39320D	0
+s	900580110e1100ac	ASC-39320D U320	0
+s	9005801190050041	ASC-39320D U320	0
+d	90058012	ASC-29320 U320	0
+d	90058013	ASC-29320B U320	0
+d	90058014	ASC-29320LP U320	0
+d	90058015	ASC-39320B U320	0
+d	90058016	ASC-39320A U320	0
+d	90058017	ASC-29320ALP U320	0
+s	9005801790050044	ASC-29320ALP PCIx U320	1
+s	9005801790050045	ASC-29320LPE PCIe U320	1
+d	9005801c	ASC-39320D U320	0
+d	9005801d	AIC-7902B U320	0
+d	9005801e	AIC-7901A U320	0
+d	9005801f	AIC-7902 U320	0
+s	9005801f17341011	Primergy RX300	0
+d	90058080	ASC-29320A U320 w/HostRAID	0
+d	9005808f	AIC-7901 U320 w/HostRAID	0
+d	90058090	ASC-39320 U320 w/HostRAID	0
+d	90058091	ASC-39320D U320 w/HostRAID	0
+d	90058092	ASC-29320 U320 w/HostRAID	0
+d	90058093	ASC-29320B U320 w/HostRAID	0
+d	90058094	ASC-29320LP U320 w/HostRAID	0
+d	90058095	ASC-39320(B) U320 w/HostRAID	0
+d	90058096	ASC-39320A U320 w/HostRAID	0
+d	90058097	ASC-29320ALP U320 w/HostRAID	0
+d	9005809c	ASC-39320D(B) U320 w/HostRAID	0
+d	9005809d	AIC-7902(B) U320 w/HostRAID	0
+d	9005809e	AIC-7901A U320 w/HostRAID	0
+d	9005809f	AIC-7902 U320 w/HostRAID	0
+v	9054	uma	1
+v	907f	Atronics	0
+d	907f2015	IDE-2015PL	0
 v	9110	Micro-Star International Co., Ltd.	1	NV34 [GeForce FX 5200] - MSI FX5200-TD128 (MS-8911 V 2.0)
-v	919a	Gigapixel Corp	0	
-v	9412	Holtek	0	
-d	94126565	6565	0	
-v	9699	Omni Media Technology Inc	0	
-d	96996565	6565	0	
-v	9710	NetMos Technology	0	
-d	97107780	USB IRDA-port	0	
-d	97109805	PCI 1 port parallel adapter	0	
-d	97109815	PCI 9815 Multi-I/O Controller	0	
-s	9710981510000020	2P0S (2 port parallel adaptor)	0	
-d	97109835	PCI 9835 Multi-I/O Controller	0	
-s	9710983510000002	2S (16C550 UART)	0	
-s	9710983510000012	1P2S	0	
-d	97109845	PCI 9845 Multi-I/O Controller	0	
-s	9710984510000004	0P4S (4 port 16550A serial card)	0	
-s	9710984510000006	0P6S (6 port 16550a serial card)	0	
-d	97109855	PCI 9855 Multi-I/O Controller	0	
-s	9710985510000014	1P4S	0	
-v	9902	Stargen Inc.	0	
-d	99020001	SG2010 PCI over Starfabric Bridge	0	
-d	99020002	SG2010 PCI to Starfabric Gateway	0	
-d	99020003	SG1010 Starfabric Switch and PCI Bridge	0	
-v	a0a0	AOPEN Inc.	0	
-v	a0f1	UNISYS Corporation	0	
-v	a200	NEC Corporation	0	
-v	a259	Hewlett Packard	0	
-v	a25b	Hewlett Packard GmbH PL24-MKT	0	
-v	a304	Sony	0	
-v	a727	3Com Corporation	0	
-d	a7270013	3CRPAG175 Wireless PC Card	0	
-v	aa42	Scitex Digital Video	0	
-v	ac1e	Digital Receiver Technology Inc	0	
-v	ac3d	Actuality Systems	0	
-v	aecb	Adrienne Electronics Corporation	0	
-d	aecb6250	VITC/LTC Timecode Reader card [PCI-VLTC/RDR]	0	
-v	affe	Sirrix AG security technologies	0	
-d	affe02e1	PCI2E1 2-port ISDN E1 interface	0	
-d	affedead	Sirrix.PCI4S0 4-port ISDN S0 interface	0	
+v	919a	Gigapixel Corp	0
+v	9412	Holtek	0
+d	94126565	6565	0
+v	9699	Omni Media Technology Inc	0
+d	96996565	6565	0
+v	9710	NetMos Technology	0
+d	97107780	USB IRDA-port	0
+d	97109805	PCI 1 port parallel adapter	0
+d	97109815	PCI 9815 Multi-I/O Controller	0
+s	9710981510000020	2P0S (2 port parallel adaptor)	0
+d	97109835	PCI 9835 Multi-I/O Controller	0
+s	9710983510000002	2S (16C550 UART)	0
+s	9710983510000012	1P2S	0
+d	97109845	PCI 9845 Multi-I/O Controller	0
+s	9710984510000004	0P4S (4 port 16550A serial card)	0
+s	9710984510000006	0P6S (6 port 16550a serial card)	0
+d	97109855	PCI 9855 Multi-I/O Controller	0
+s	9710985510000014	1P4S	0
+v	9902	Stargen Inc.	0
+d	99020001	SG2010 PCI over Starfabric Bridge	0
+d	99020002	SG2010 PCI to Starfabric Gateway	0
+d	99020003	SG1010 Starfabric Switch and PCI Bridge	0
+v	a0a0	AOPEN Inc.	0
+v	a0f1	UNISYS Corporation	0
+v	a200	NEC Corporation	0
+v	a259	Hewlett Packard	0
+v	a25b	Hewlett Packard GmbH PL24-MKT	0
+v	a304	Sony	0
+v	a727	3Com Corporation	0
+d	a7270013	3CRPAG175 Wireless PC Card	0
+v	aa42	Scitex Digital Video	0
+v	ac1e	Digital Receiver Technology Inc	0
+v	ac3d	Actuality Systems	0
+v	aecb	Adrienne Electronics Corporation	0
+d	aecb6250	VITC/LTC Timecode Reader card [PCI-VLTC/RDR]	0
+v	affe	Sirrix AG security technologies	0
+d	affe02e1	PCI2E1 2-port ISDN E1 interface	0
+d	affedead	Sirrix.PCI4S0 4-port ISDN S0 interface	0
 v	b10b	Uakron PCI Project	0	Not registered officially
-v	b1b3	Shiva Europe Limited	0	
+v	b1b3	Shiva Europe Limited	0
 v	bd11	Pinnacle Systems, Inc. (Wrong ID)	0	Pinnacle should be 11bd, but they got it wrong several times --mj
-v	c001	TSI Telsys	0	
-v	c0a9	Micron/Crucial Technology	0	
-v	c0de	Motorola	0	
-v	c0fe	Motion Engineering, Inc.	0	
-v	ca50	Varian Australia Pty Ltd	0	
-v	cafe	Chrysalis-ITS	0	
-d	cafe0003	Luna K3 Hardware Security Module	0	
-v	cccc	Catapult Communications	0	
-v	ccec	Curtiss-Wright Controls Embedded Computing	0	
-v	cddd	Tyzx, Inc.	0	
-d	cddd0101	DeepSea 1 High Speed Stereo Vision Frame Grabber	0	
-d	cddd0200	DeepSea 2 High Speed Stereo Vision Frame Grabber	0	
-v	d161	Digium, Inc.	0	
-d	d1610205	Wildcard TE205P	0	
-d	d1610210	Wildcard TE210P	0	
-d	d1610405	Wildcard TE405P Quad-Span togglable E1/T1/J1 card 5.0v	0	
-d	d1610406	Wildcard TE406P Quad-Span togglable E1/T1/J1 echo cancellation card 5.0v	0	
-d	d1610410	Wildcard TE410P Quad-Span togglable E1/T1/J1 card 3.3v	0	
-d	d1610411	Wildcard TE411P Quad-Span togglable E1/T1/J1 echo cancellation card 3.3v	0	
-d	d1612400	Wildcard TDM2400P	0	
-v	d4d4	Dy4 Systems Inc	0	
-d	d4d40601	PCI Mezzanine Card	0	
-v	d531	I+ME ACTIA GmbH	0	
-v	d84d	Exsys	0	
-v	dead	Indigita Corporation	0	
-v	deaf	Middle Digital Inc.	0	
-d	deaf9050	PC Weasel Virtual VGA	0	
-d	deaf9051	PC Weasel Serial Port	0	
-d	deaf9052	PC Weasel Watchdog Timer	0	
-v	e000	Winbond	0	
-d	e000e000	W89C940	0	
-v	e159	Tiger Jet Network Inc.	0	
-d	e1590001	Tiger3XX Modem/ISDN interface	0	
-s	e159000100590001	128k ISDN-S/T Adapter	0	
-s	e159000100590003	128k ISDN-U Adapter	0	
-s	e159000100a70001	TELES.S0/PCI 2.x ISDN Adapter	0	
-s	e159000180860003	Digium X100P/X101P analogue PSTN FXO interface	0	
-d	e1590002	Tiger100APC ISDN chipset	0	
-v	e4bf	EKF Elektronik GmbH	0	
-v	e55e	Essence Technology, Inc.	0	
-v	ea01	Eagle Technology	0	
-d	ea01000a	PCI-773 Temperature Card	0	
-d	ea010032	PCI-730 & PC104P-30 Card	0	
-d	ea01003e	PCI-762 Opto-Isolator Card	0	
-d	ea010041	PCI-763 Reed Relay Card	0	
-d	ea010043	PCI-769 Opto-Isolator Reed Relay Combo Card	0	
-d	ea010046	PCI-766 Analog Output Card	0	
-d	ea010052	PCI-703 Analog I/O Card	0	
-d	ea010800	PCI-800 Digital I/O Card	0	
+v	c001	TSI Telsys	0
+v	c0a9	Micron/Crucial Technology	0
+v	c0de	Motorola	0
+v	c0fe	Motion Engineering, Inc.	0
+v	ca50	Varian Australia Pty Ltd	0
+v	cafe	Chrysalis-ITS	0
+d	cafe0003	Luna K3 Hardware Security Module	0
+v	cccc	Catapult Communications	0
+v	ccec	Curtiss-Wright Controls Embedded Computing	0
+v	cddd	Tyzx, Inc.	0
+d	cddd0101	DeepSea 1 High Speed Stereo Vision Frame Grabber	0
+d	cddd0200	DeepSea 2 High Speed Stereo Vision Frame Grabber	0
+v	d161	Digium, Inc.	0
+d	d1610205	Wildcard TE205P	0
+d	d1610210	Wildcard TE210P	0
+d	d1610405	Wildcard TE405P Quad-Span togglable E1/T1/J1 card 5.0v	0
+d	d1610406	Wildcard TE406P Quad-Span togglable E1/T1/J1 echo cancellation card 5.0v	0
+d	d1610410	Wildcard TE410P Quad-Span togglable E1/T1/J1 card 3.3v	0
+d	d1610411	Wildcard TE411P Quad-Span togglable E1/T1/J1 echo cancellation card 3.3v	0
+d	d1612400	Wildcard TDM2400P	0
+v	d4d4	Dy4 Systems Inc	0
+d	d4d40601	PCI Mezzanine Card	0
+v	d531	I+ME ACTIA GmbH	0
+v	d84d	Exsys	0
+v	dead	Indigita Corporation	0
+v	deaf	Middle Digital Inc.	0
+d	deaf9050	PC Weasel Virtual VGA	0
+d	deaf9051	PC Weasel Serial Port	0
+d	deaf9052	PC Weasel Watchdog Timer	0
+v	e000	Winbond	0
+d	e000e000	W89C940	0
+v	e159	Tiger Jet Network Inc.	0
+d	e1590001	Tiger3XX Modem/ISDN interface	0
+s	e159000100590001	128k ISDN-S/T Adapter	0
+s	e159000100590003	128k ISDN-U Adapter	0
+s	e159000100a70001	TELES.S0/PCI 2.x ISDN Adapter	0
+s	e159000180860003	Digium X100P/X101P analogue PSTN FXO interface	0
+d	e1590002	Tiger100APC ISDN chipset	0
+v	e4bf	EKF Elektronik GmbH	0
+v	e55e	Essence Technology, Inc.	0
+v	ea01	Eagle Technology	0
+d	ea01000a	PCI-773 Temperature Card	0
+d	ea010032	PCI-730 & PC104P-30 Card	0
+d	ea01003e	PCI-762 Opto-Isolator Card	0
+d	ea010041	PCI-763 Reed Relay Card	0
+d	ea010043	PCI-769 Opto-Isolator Reed Relay Combo Card	0
+d	ea010046	PCI-766 Analog Output Card	0
+d	ea010052	PCI-703 Analog I/O Card	0
+d	ea010800	PCI-800 Digital I/O Card	0
 v	ea60	RME	0	The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID.
-d	ea609896	Digi32	0	
-d	ea609897	Digi32 Pro	0	
-d	ea609898	Digi32/8	0	
-v	eabb	Aashima Technology B.V.	0	
-v	eace	Endace Measurement Systems, Ltd	0	
-d	eace3100	DAG 3.10 OC-3/OC-12	0	
-d	eace3200	DAG 3.2x OC-3/OC-12	0	
-d	eace320e	DAG 3.2E Fast Ethernet	0	
-d	eace340e	DAG 3.4E Fast Ethernet	0	
-d	eace341e	DAG 3.41E Fast Ethernet	0	
-d	eace3500	DAG 3.5 OC-3/OC-12	0	
-d	eace351c	DAG 3.5ECM Fast Ethernet	0	
-d	eace4100	DAG 4.10 OC-48	0	
-d	eace4110	DAG 4.11 OC-48	0	
-d	eace4220	DAG 4.2 OC-48	0	
-d	eace422e	DAG 4.2E Dual Gigabit Ethernet	0	
-v	ec80	Belkin Corporation	0	
-d	ec80ec00	F5D6000	0	
-v	ecc0	Echo Digital Audio Corporation	0	
-v	edd8	ARK Logic Inc	0	
-d	edd8a091	1000PV [Stingray]	0	
-d	edd8a099	2000PV [Stingray]	0	
-d	edd8a0a1	2000MT	0	
-d	edd8a0a9	2000MI	0	
-v	f1d0	AJA Video	0	
-d	f1d0c0fe	Xena HS/HD-R	0	
-d	f1d0c0ff	Kona/Xena 2	0	
-d	f1d0cafe	Kona SD	0	
-d	f1d0cfee	Xena LS/SD-22-DA/SD-DA	0	
-d	f1d0dcaf	Kona HD	0	
-d	f1d0dfee	Xena HD-DA	0	
-d	f1d0efac	Xena SD-MM/SD-22-MM	0	
-d	f1d0facd	Xena HD-MM	0	
-v	fa57	Interagon AS	0	
-d	fa570001	PMC [Pattern Matching Chip]	0	
-v	fab7	Fabric7 Systems, Inc.	0	
-v	febd	Ultraview Corp.	0	
+d	ea609896	Digi32	0
+d	ea609897	Digi32 Pro	0
+d	ea609898	Digi32/8	0
+v	eabb	Aashima Technology B.V.	0
+v	eace	Endace Measurement Systems, Ltd	0
+d	eace3100	DAG 3.10 OC-3/OC-12	0
+d	eace3200	DAG 3.2x OC-3/OC-12	0
+d	eace320e	DAG 3.2E Fast Ethernet	0
+d	eace340e	DAG 3.4E Fast Ethernet	0
+d	eace341e	DAG 3.41E Fast Ethernet	0
+d	eace3500	DAG 3.5 OC-3/OC-12	0
+d	eace351c	DAG 3.5ECM Fast Ethernet	0
+d	eace4100	DAG 4.10 OC-48	0
+d	eace4110	DAG 4.11 OC-48	0
+d	eace4220	DAG 4.2 OC-48	0
+d	eace422e	DAG 4.2E Dual Gigabit Ethernet	0
+v	ec80	Belkin Corporation	0
+d	ec80ec00	F5D6000	0
+v	ecc0	Echo Digital Audio Corporation	0
+v	edd8	ARK Logic Inc	0
+d	edd8a091	1000PV [Stingray]	0
+d	edd8a099	2000PV [Stingray]	0
+d	edd8a0a1	2000MT	0
+d	edd8a0a9	2000MI	0
+v	f1d0	AJA Video	0
+d	f1d0c0fe	Xena HS/HD-R	0
+d	f1d0c0ff	Kona/Xena 2	0
+d	f1d0cafe	Kona SD	0
+d	f1d0cfee	Xena LS/SD-22-DA/SD-DA	0
+d	f1d0dcaf	Kona HD	0
+d	f1d0dfee	Xena HD-DA	0
+d	f1d0efac	Xena SD-MM/SD-22-MM	0
+d	f1d0facd	Xena HD-MM	0
+v	fa57	Interagon AS	0
+d	fa570001	PMC [Pattern Matching Chip]	0
+v	fab7	Fabric7 Systems, Inc.	0
+v	febd	Ultraview Corp.	0
 v	feda	Broadcom Inc	0	Nee Epigram
-d	fedaa0fa	BCM4210 iLine10 HomePNA 2.0	0	
-d	fedaa10e	BCM4230 iLine10 HomePNA 2.0	0	
-v	fede	Fedetec Inc.	0	
-d	fede0003	TABIC PCI v3	0	
-v	fffd	XenSource, Inc.	0	
-d	fffd0101	PCI Event Channel Controller	0	
-v	fffe	VMWare Inc	0	
-d	fffe0405	Virtual SVGA 4.0	0	
-d	fffe0710	Virtual SVGA	0	
-v	ffff	Illegal Vendor ID	0	
+d	fedaa0fa	BCM4210 iLine10 HomePNA 2.0	0
+d	fedaa10e	BCM4230 iLine10 HomePNA 2.0	0
+v	fede	Fedetec Inc.	0
+d	fede0003	TABIC PCI v3	0
+v	fffd	XenSource, Inc.	0
+d	fffd0101	PCI Event Channel Controller	0
+v	fffe	VMWare Inc	0
+d	fffe0405	Virtual SVGA 4.0	0
+d	fffe0710	Virtual SVGA	0
+v	ffff	Illegal Vendor ID	0

Modified: trunk/vidix/pci_db2c.awk
==============================================================================
--- trunk/vidix/pci_db2c.awk	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/pci_db2c.awk	Wed May 13 04:58:57 2009	(r29305)
@@ -68,7 +68,7 @@ BEGIN {
     }
     first_pass=1;
     init_name_db();
-    while(getline <in_file) 
+    while(getline <in_file)
     {
 # count up lines
 	line++;
@@ -235,8 +235,8 @@ function get_short_vendor_name(from)
   for(i=2;i<=n;i++) svendor=sprintf("%s%s%s", svendor, length(name[i])?"_":"", name[i]);
   new_name = svendor;
   vend_suffix = 2;
-# check for unique 
-  while(new_name in vendor_names) 
+# check for unique
+  while(new_name in vendor_names)
   {
     new_name = sprintf("%s%u", svendor, vend_suffix)
     vend_suffix = vend_suffix + 1;
@@ -257,8 +257,8 @@ function get_short_device_name(from_name
   for(i=2;i<=n;i++) sdevice=sprintf("%s%s%s", sdevice, length(name[i])?"_":"", name[i]);
   new_name = sdevice;
   dev_suffix = 2;
-# check for unique 
-  while(new_name in device_names) 
+# check for unique
+  while(new_name in device_names)
   {
     new_name = sprintf("%s%u", sdevice, dev_suffix)
     dev_suffix = dev_suffix + 1;
@@ -279,8 +279,8 @@ function get_short_subdevice_name(from_n
   for(i=2;i<=n;i++) ssdevice=sprintf("%s%s%s", ssdevice, length(name[i])?"_":"", name[i]);
   new_name = ssdevice;
   sdev_suffix = 2;
-# check for unique 
-  while(new_name in subdevice_names) 
+# check for unique
+  while(new_name in subdevice_names)
   {
     new_name = sprintf("%s%u", ssdevice, sdev_suffix)
     sdev_suffix = sdev_suffix + 1;

Modified: trunk/vidix/pm3_regs.h
==============================================================================
--- trunk/vidix/pm3_regs.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/pm3_regs.h	Wed May 13 04:58:57 2009	(r29305)
@@ -1,7 +1,7 @@
 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/pm3_regs.h,v 1.9 2001/11/20 00:09:15 alanh Exp $ */
 
 /*
- * glint register file 
+ * glint register file
  *
  * Copyright by Sven Luther
  * Authors: Sven Luther, <luther at dpt-info.u-strasbg.fr>
@@ -9,7 +9,7 @@
  *
  * this work is sponsored by Appian Graphics.
  *
- */ 
+ */
 
 #ifndef MPLAYER_PM3_REGS_H
 #define MPLAYER_PM3_REGS_H
@@ -82,7 +82,7 @@
 	#define PM3ByApertureMode_DOUBLE_WRITE_32MB		(6<<22)
 
 #define PM3ByAperture2Mode					0x0328
-	
+
 /**********************************************
 *  GLINT Permedia3 Memory Control (0x1000)    *
 ***********************************************/
@@ -1061,7 +1061,7 @@ extern void *pm3_reg_base;
 
 #define WRITE_REG(offset,val)				\
     *(volatile unsigned long *)(((unsigned char *)(pm3_reg_base)) + (offset)) = (val)
-	
+
 #define READ_REG(offset)					\
     *(volatile unsigned long *)(((unsigned char *)(pm3_reg_base)) + (offset))
 
@@ -1070,7 +1070,7 @@ extern void *pm3_reg_base;
 	unsigned long temp;					\
 	temp = READ_REG(offset);				\
 	WRITE_REG(offset,temp|(val));			\
-    } 
+    }
 
 #define UPDATE_CLEAR_REG(offset,val)			\
     {								\

Modified: trunk/vidix/pm3_vid.c
==============================================================================
--- trunk/vidix/pm3_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/pm3_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -65,7 +65,7 @@ static vidix_capability_t pm3_cap =
     { 0, 0, 0, 0 }
 };
 
-static unsigned short pm3_card_ids[] = 
+static unsigned short pm3_card_ids[] =
 {
     DEVICE_3DLABS_GLINT_R3
 };
@@ -173,7 +173,7 @@ static int pm3_query_fourcc(vidix_fourcc
     return ENOSYS;
 }
 
-#define FORMAT_RGB8888	PM3VideoOverlayMode_COLORFORMAT_RGB8888 
+#define FORMAT_RGB8888	PM3VideoOverlayMode_COLORFORMAT_RGB8888
 #define FORMAT_RGB4444	PM3VideoOverlayMode_COLORFORMAT_RGB4444
 #define FORMAT_RGB5551	PM3VideoOverlayMode_COLORFORMAT_RGB5551
 #define FORMAT_RGB565	PM3VideoOverlayMode_COLORFORMAT_RGB565
@@ -306,9 +306,9 @@ static int pm3_config_playback(vidix_pla
     RAMDAC_SET_REG(PM3RD_VideoOverlayXEndLow, (info->dest.x+drw_w) & 0xff);
     RAMDAC_SET_REG(PM3RD_VideoOverlayXEndHigh,
 		   ((info->dest.x+drw_w) & 0xf00)>>8);
-    RAMDAC_SET_REG(PM3RD_VideoOverlayYStartLow, (info->dest.y & 0xff)); 
+    RAMDAC_SET_REG(PM3RD_VideoOverlayYStartLow, (info->dest.y & 0xff));
     RAMDAC_SET_REG(PM3RD_VideoOverlayYStartHigh, (info->dest.y & 0xf00)>>8);
-    RAMDAC_SET_REG(PM3RD_VideoOverlayYEndLow, (info->dest.y+drw_h) & 0xff); 
+    RAMDAC_SET_REG(PM3RD_VideoOverlayYEndLow, (info->dest.y+drw_h) & 0xff);
     RAMDAC_SET_REG(PM3RD_VideoOverlayYEndHigh,
 		   ((info->dest.y+drw_h) & 0xf00)>>8);
 
@@ -323,7 +323,7 @@ static int pm3_config_playback(vidix_pla
 	PM3VideoOverlayMode_BUFFERSYNC_MANUAL |
 	PM3VideoOverlayMode_FLIP_VIDEO;
 
-    overlay_control = 
+    overlay_control =
 	PM3RD_VideoOverlayControl_KEY_COLOR |
 	PM3RD_VideoOverlayControl_MODE_MAINKEY |
 	PM3RD_VideoOverlayControl_DIRECTCOLOR_ENABLED;

Modified: trunk/vidix/radeon_vid.c
==============================================================================
--- trunk/vidix/radeon_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/radeon_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -105,19 +105,19 @@ typedef struct bes_registers_s
   uint32_t test;
   /* Configurable stuff */
   int double_buff;
-  
+
   int brightness;
   int saturation;
-  
+
   int ckey_on;
   uint32_t graphics_key_clr;
   uint32_t graphics_key_msk;
   uint32_t ckey_cntl;
   uint32_t merge_cntl;
-  
+
   int deinterlace_on;
   uint32_t deinterlace_pattern;
-  
+
   unsigned chip_flags;
 } bes_registers_t;
 
@@ -130,7 +130,7 @@ typedef struct video_registers_s
 
 static bes_registers_t besr;
 #define DECLARE_VREG(name) { #name, name, 0 }
-static const video_registers_t vregs[] = 
+static const video_registers_t vregs[] =
 {
   DECLARE_VREG(VIDEOMUX_CNTL),
   DECLARE_VREG(VIPPAD_MASK),
@@ -288,7 +288,7 @@ typedef struct ati_card_ids_s
     unsigned flags;
 }ati_card_ids_t;
 
-static const ati_card_ids_t ati_card_ids[] = 
+static const ati_card_ids_t ati_card_ids[] =
 {
 #ifdef RAGE128
  /*
@@ -522,7 +522,7 @@ static const ati_card_ids_t ati_card_ids
 
 
 static void * radeon_mmio_base = 0;
-static void * radeon_mem_base = 0; 
+static void * radeon_mem_base = 0;
 static int32_t radeon_overlay_off = 0;
 static uint32_t radeon_ram_size = 0;
 
@@ -668,7 +668,7 @@ static uint32_t radeon_get_xres( void )
 {
   uint32_t xres,h_total;
 #ifndef RAGE128
-  if(rinfo.hasCRTC2 && 
+  if(rinfo.hasCRTC2 &&
        (rinfo.dviDispType == MT_CTV || rinfo.dviDispType == MT_STV))
 	h_total = INREG(CRTC2_H_TOTAL_DISP);
   else
@@ -682,7 +682,7 @@ static uint32_t radeon_get_yres( void )
 {
   uint32_t yres,v_total;
 #ifndef RAGE128
-  if(rinfo.hasCRTC2 && 
+  if(rinfo.hasCRTC2 &&
        (rinfo.dviDispType == MT_CTV || rinfo.dviDispType == MT_STV))
 	v_total = INREG(CRTC2_V_TOTAL_DISP);
   else
@@ -697,7 +697,7 @@ static void radeon_wait_vsync(void)
     int i;
 
     OUTREG(GEN_INT_STATUS, VSYNC_INT_AK);
-    for (i = 0; i < 2000000; i++) 
+    for (i = 0; i < 2000000; i++)
     {
 	if (INREG(GEN_INT_STATUS) & VSYNC_INT) break;
     }
@@ -1000,7 +1000,7 @@ static void radeon_set_transform(float b
 	CAdjGCr = sat * (OvHueSin * trans[ref].RefGCb + OvHueCos * trans[ref].RefGCr);
 	CAdjBCb = sat * OvHueCos * trans[ref].RefBCb;
 	CAdjBCr = sat * OvHueSin * trans[ref].RefBCb;
-    
+
 	OvLuma = CAdjLuma;
 	OvRCb = CAdjRCb;
 	OvRCr = CAdjRCr;
@@ -1010,11 +1010,11 @@ static void radeon_set_transform(float b
 	OvBCr = CAdjBCr;
 	OvROff = RedAdj + CAdjOff -
 		OvLuma * Loff - (OvRCb + OvRCr) * Coff;
-	OvGOff = GreenAdj + CAdjOff - 
+	OvGOff = GreenAdj + CAdjOff -
 		OvLuma * Loff - (OvGCb + OvGCr) * Coff;
-	OvBOff = BlueAdj + CAdjOff - 
+	OvBOff = BlueAdj + CAdjOff -
 		OvLuma * Loff - (OvBCb + OvBCr) * Coff;
-   
+
 	dwOvROff = ((int)(OvROff * 2.0)) & 0x1fff;
 	dwOvGOff = (int)(OvGOff * 2.0) & 0x1fff;
 	dwOvBOff = (int)(OvBOff * 2.0) & 0x1fff;
@@ -1038,7 +1038,7 @@ static void radeon_set_transform(float b
 }
 
 /* Gamma curve definition */
-typedef struct 
+typedef struct
 {
 	unsigned int gammaReg;
 	unsigned int gammaSlope;
@@ -1046,7 +1046,7 @@ typedef struct 
 }GAMMA_SETTINGS;
 
 /* Recommended gamma curve parameters */
-static const GAMMA_SETTINGS r200_def_gamma[18] = 
+static const GAMMA_SETTINGS r200_def_gamma[18] =
 {
 	{OV0_GAMMA_0_F, 0x100, 0x0000},
 	{OV0_GAMMA_10_1F, 0x100, 0x0020},
@@ -1068,7 +1068,7 @@ static const GAMMA_SETTINGS r200_def_gam
 	{OV0_GAMMA_3C0_3FF, 0x100, 0x0700}
 };
 
-static const GAMMA_SETTINGS r100_def_gamma[6] = 
+static const GAMMA_SETTINGS r100_def_gamma[6] =
 {
 	{OV0_GAMMA_0_F, 0x100, 0x0000},
 	{OV0_GAMMA_10_1F, 0x100, 0x0020},
@@ -1114,7 +1114,7 @@ static void make_default_gamma_correctio
     }
 }
 #endif
-	
+
 static void radeon_vid_make_default(void)
 {
 #ifdef RAGE128
@@ -1147,7 +1147,7 @@ static int find_chip(unsigned chip_id)
 static pciinfo_t pci_info;
 static int probed=0;
 
-static vidix_capability_t def_cap = 
+static vidix_capability_t def_cap =
 {
 #ifdef RAGE128
     "BES driver for Rage128 cards",
@@ -1296,11 +1296,11 @@ static int radeon_init(void)
 {
   int err;
 
-  if(!probed) 
+  if(!probed)
   {
     printf(RADEON_MSG" Driver was not probed but is being initializing\n");
     return EINTR;
-  }    
+  }
   if((radeon_mmio_base = map_phys_mem(pci_info.base2,0xFFFF))==(void *)-1) return ENOMEM;
   radeon_ram_size = INREG(CONFIG_MEMSIZE);
   /* mem size is bits [28:0], mask off the rest. Range: from 1Mb up to 512 Mb */
@@ -1320,7 +1320,7 @@ static int radeon_init(void)
       printf(RADEON_MSG" Working around buggy RS482 Radeon Xpress 200 Memory Detection\n");
       radeon_ram_size = (INREG(CONFIG_MEMSIZE) + 0x100000) << 2;
       radeon_ram_size &=  CONFIG_MEMSIZE_MASK;
-  } 
+  }
 #else
   /* Rage Mobility (rage128) also has memsize bug */
   if (radeon_ram_size == 0 &&
@@ -1340,7 +1340,7 @@ static int radeon_init(void)
   {
     memset(&rinfo,0,sizeof(rinfo_t));
     if((besr.chip_flags&R_100) != R_100) rinfo.hasCRTC2 = 1;
-    
+
     radeon_get_moninfo(&rinfo);
 	if(rinfo.hasCRTC2) {
 	    printf(RADEON_MSG" DVI port has %s monitor connected\n",GET_MON_NAME(rinfo.dviDispType));
@@ -1351,7 +1351,7 @@ static int radeon_init(void)
   }
 #endif
   save_regs();
-  return 0;  
+  return 0;
 }
 
 static void radeon_destroy(void)
@@ -1364,7 +1364,7 @@ static void radeon_destroy(void)
 static int radeon_get_caps(vidix_capability_t *to)
 {
   memcpy(to,&def_cap,sizeof(vidix_capability_t));
-  return 0; 
+  return 0;
 }
 
 /*
@@ -1378,14 +1378,14 @@ typedef struct fourcc_desc_s
     unsigned max_srcw;
 }fourcc_desc_t;
 
-static const fourcc_desc_t supported_fourcc[] = 
+static const fourcc_desc_t supported_fourcc[] =
 {
   { IMGFMT_Y800, 1567 },
   { IMGFMT_YVU9, 1567 },
   { IMGFMT_IF09, 1567 },
   { IMGFMT_YV12, 1567 },
   { IMGFMT_I420, 1567 },
-  { IMGFMT_IYUV, 1567 }, 
+  { IMGFMT_IYUV, 1567 },
   { IMGFMT_UYVY, 1551 },
   { IMGFMT_YUY2, 1551 },
   { IMGFMT_YVYU, 1551 },
@@ -1445,7 +1445,7 @@ static void radeon_vid_stop_video( void 
     OUTREG(OV0_EXCLUSIVE_HORZ, 0);
     OUTREG(OV0_AUTO_FLIP_CNTL, 0);   /* maybe */
     OUTREG(OV0_FILTER_CNTL, FILTER_HARDCODED_COEF);
-#ifdef RAGE128    
+#ifdef RAGE128
     OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_NE);
 #else
     OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_EQ);
@@ -2289,7 +2289,7 @@ static void ComputeXStartEnd(
     }
     val_OV0_P3_X_START = val_OV0_P2_X_START;
     val_OV0_P3_X_END = val_OV0_P2_X_END;
-    
+
     besr.p1_x_start_end = (val_OV0_P1_X_END&0x7ff) | ((val_OV0_P1_X_START&0x7ff)<<16);
     besr.p2_x_start_end = (val_OV0_P2_X_END&0x7ff) | ((val_OV0_P2_X_START&0x7ff)<<16);
     besr.p3_x_start_end = (val_OV0_P3_X_END&0x7ff) | ((val_OV0_P3_X_START&0x7ff)<<16);
@@ -2594,19 +2594,19 @@ static int radeon_vid_init_video( vidix_
 	case IMGFMT_IYUV:
 	case IMGFMT_YV12:
 	case IMGFMT_I420: pitch = (src_w + mpitch) & ~mpitch;
-			  config->dest.pitch.y = 
-			  config->dest.pitch.u = 
+			  config->dest.pitch.y =
+			  config->dest.pitch.u =
 			  config->dest.pitch.v = best_pitch;
 			  break;
 	/* RGB 4:4:4:4 */
 	case IMGFMT_RGB32:
 	case IMGFMT_BGR32: pitch = (src_w*4 + mpitch) & ~mpitch;
-			  config->dest.pitch.y = 
-			  config->dest.pitch.u = 
+			  config->dest.pitch.y =
+			  config->dest.pitch.u =
 			  config->dest.pitch.v = best_pitch;
 			  break;
 	/* 4:2:2 */
-	
+
 	default: /* RGB15, RGB16, YVYU, UYVY, YUY2 */
 			  pitch = ((src_w*2) + mpitch) & ~mpitch;
 			  config->dest.pitch.y =
@@ -2914,7 +2914,7 @@ static int radeon_vid_init_video( vidix_
 				    ((tmp << 12) & 0x70000000);
 
 	    tmp = ((top >> 1) & 0x0000ffff) + 0x00018000;
-	    besr.p23_v_accum_init = (is_420||is_410) ? 
+	    besr.p23_v_accum_init = (is_420||is_410) ?
 				    ((tmp << 4) & OV0_P23_V_ACCUM_INIT_MASK)
 				    |(OV0_P23_MAX_LN_IN_PER_LN_OUT & 1) : 0;
 	}
@@ -3074,7 +3074,7 @@ static void radeon_compute_framesize(vid
 		info->frame_size = awidth*info->src.h;
 		break;
     /* YUY2 YVYU, RGB15, RGB16 */
-    default:	
+    default:
 		awidth = (info->src.w*2 + (pitch-1)) & ~(pitch-1);
 		info->frame_size = awidth*info->src.h;
 		break;
@@ -3091,7 +3091,7 @@ static int radeon_config_playback(vidix_
   if(info->num_frames==1) besr.double_buff=0;
   else			  besr.double_buff=1;
   radeon_compute_framesize(info);
-    
+
   rgb_size = radeon_get_xres()*radeon_get_yres()*((radeon_vid_get_dbpp()+7)/8);
   nfr = info->num_frames;
   radeon_video_size = radeon_ram_size;
@@ -3120,7 +3120,7 @@ static int radeon_config_playback(vidix_
   if(nfr <= 0) return EINVAL;
   info->num_frames = nfr;
   besr.vid_nbufs = info->num_frames;
-  info->dga_addr = (char *)radeon_mem_base + radeon_overlay_off;  
+  info->dga_addr = (char *)radeon_mem_base + radeon_overlay_off;
   radeon_vid_init_video(info);
   return 0;
 }
@@ -3283,7 +3283,7 @@ static int radeon_playback_set_deint(con
   }
   else OUTREG(OV0_SCALE_CNTL,sflg & (~SCALER_ADAPTIVE_DEINT));
   OUTREG(OV0_REG_LOAD_CNTL,		0);
-  return 0;  
+  return 0;
 }
 
 static int radeon_playback_get_deint(vidix_deinterlace_t * info)
@@ -3421,7 +3421,7 @@ VDXDriver radeon_drv = {
   "radeon",
 #endif
   NULL,
-    
+
   .probe = radeon_probe,
   .get_caps = radeon_get_caps,
   .query_fourcc = radeon_query_fourcc,

Modified: trunk/vidix/s3_regs.h
==============================================================================
--- trunk/vidix/s3_regs.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/s3_regs.h	Wed May 13 04:58:57 2009	(r29305)
@@ -30,8 +30,8 @@
 #define	S3_SAVAGE_MOBILE_SERIES(chip) ((chip==S3_SAVAGE_MX) || (chip==S3_SUPERSAVAGE))
 #define S3_SAVAGE_SERIES(chip) ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE2000))
 
-/* 
- * Chip tags.  These are used to group the adapters into 
+/*
+ * Chip tags.  These are used to group the adapters into
  * related families.
  */
 enum S3CHIPTAGS {
@@ -54,7 +54,7 @@ enum S3CHIPTAGS {
 #define S3_NEWMMIO_REGSIZE		0x0010000	/* 64KB */
 #define S3_NEWMMIO_REGSIZE_SAVAGE	0x0080000	/* 512KB */
 
-#define BASE_FREQ			14.31818	
+#define BASE_FREQ			14.31818
 
 /*
  * There are two different streams engines used in the S3 line.
@@ -167,7 +167,7 @@ do { \
 #define HSCALING_Shift    0
 #define HSCALING_Mask     (((1L << 16)-1) << HSCALING_Shift)
 #define HSCALING(w0,w1)   ((((unsigned int)(((double)w0/(double)w1) * (1 << 15))) << HSCALING_Shift) & HSCALING_Mask)
-                                                                                                                    
+
 #define VSCALING_Shift    0
 #define VSCALING_Mask     (((1L << 20)-1) << VSCALING_Shift)
 #define VSCALING(h0,h1)   ((((unsigned int) (((double)h0/(double)h1) * (1 << 15))) << VSCALING_Shift) & VSCALING_Mask)

Modified: trunk/vidix/s3_vid.c
==============================================================================
--- trunk/vidix/s3_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/s3_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -41,12 +41,12 @@
 
 static void S3SetColorKeyOld (void);
 static void S3SetColorKeyNew (void);
-static void S3SetColorKey2000 (void); 
+static void S3SetColorKey2000 (void);
 static void (*S3SetColorKey) (void) = NULL;
 
 static void S3SetColorOld (void);
 static void S3SetColorNew (void);
-static void S3SetColor2000 (void); 
+static void S3SetColor2000 (void);
 static void (*S3SetColor) (void) = NULL;
 
 static void S3DisplayVideoOld (void);
@@ -305,7 +305,7 @@ static void S3DisplayVideoOld (void)
     ssControl = ((info->src_w - 1) << 1) - ((info->drw_w - 1) & 0xffff);
     ssControl |= GetBlendForFourCC (info->format) << 24;
     if (info->src_w != info->drw_w)
-      ssControl |= 2 << 28; 
+      ssControl |= 2 << 28;
 
     OUTREG (SSTREAM_CONTROL_REG, ssControl);
     OUTREG (SSTREAM_STRETCH_REG, (((info->src_w - info->drw_w) & 0x7ff) << 16) | (info->src_w - 1));
@@ -658,7 +658,7 @@ static int s3_init (void)
     break;
 
   case S3_SAVAGE4:
-    /* 
+    /*
      * The Savage4 has one ugly special case to consider.  On
      * systems with 4 banks of 2Mx32 SDRAM, the BIOS says 4MB
      * when it really means 8MB.  Why do it the same when you
@@ -726,7 +726,7 @@ static int is_supported_fourcc (uint32_t
 {
   switch (fourcc)
   {
-//FIXME: Burst Command Interface should be used 
+//FIXME: Burst Command Interface should be used
 // for planar to packed conversion
 //    case IMGFMT_YV12:
 //    case IMGFMT_I420:

Modified: trunk/vidix/sis_vid.c
==============================================================================
--- trunk/vidix/sis_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sis_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -1494,7 +1494,7 @@ static void set_hue(uint8_t hue)
 VDXDriver sis_drv = {
   "sis",
   NULL,
-    
+
   .probe = sis_probe,
   .get_caps = sis_get_caps,
   .query_fourcc = sis_query_fourcc,

Modified: trunk/vidix/sysdep/AsmMacros_x86.h
==============================================================================
--- trunk/vidix/sysdep/AsmMacros_x86.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/AsmMacros_x86.h	Wed May 13 04:58:57 2009	(r29305)
@@ -92,7 +92,7 @@ extern int svgahelper_initialized;
 static __inline__ void svga_outb(short port, char value)
 {
     io_t iov;
-    
+
     iov.val = value;
     iov.port = port;
     ioctl(svgahelper_fd, SVGALIB_HELPER_IOCSOUTB, &iov);
@@ -101,7 +101,7 @@ static __inline__ void svga_outb(short p
 static __inline__ void svga_outw(short port, char value)
 {
     io_t iov;
-    
+
     iov.val = value;
     iov.port = port;
     ioctl(svgahelper_fd, SVGALIB_HELPER_IOCSOUTW, &iov);
@@ -110,7 +110,7 @@ static __inline__ void svga_outw(short p
 static __inline__ void svga_outl(short port, unsigned int value)
 {
     io_t iov;
-    
+
     iov.val = value;
     iov.port = port;
     ioctl(svgahelper_fd, SVGALIB_HELPER_IOCSOUTL, &iov);
@@ -119,30 +119,30 @@ static __inline__ void svga_outl(short p
 static __inline__ unsigned int svga_inb(short port)
 {
     io_t iov;
-    
+
     iov.port = port;
     ioctl(svgahelper_fd, SVGALIB_HELPER_IOCGINB, &iov);
-    
+
     return iov.val;
 }
 
 static __inline__ unsigned int svga_inw(short port)
 {
     io_t iov;
-    
+
     iov.port = port;
     ioctl(svgahelper_fd, SVGALIB_HELPER_IOCGINW, &iov);
-    
+
     return iov.val;
 }
 
 static __inline__ unsigned int svga_inl(short port)
 {
     io_t iov;
-    
+
     iov.port = port;
     ioctl(svgahelper_fd, SVGALIB_HELPER_IOCGINL, &iov);
-    
+
     return iov.val;
 }
 #endif /* CONIFG_SVGAHELPER */
@@ -161,7 +161,7 @@ static __inline__ void outb(short port,c
     if (dhahelper_initialized == 1)
     {
 	dhahelper_port_t _port;
-	
+
 	_port.operation = PORT_OP_WRITE;
 	_port.addr = port;
 	_port.size = 1;
@@ -189,7 +189,7 @@ static __inline__ void outw(short port,s
     if (dhahelper_initialized == 1)
     {
 	dhahelper_port_t _port;
-	
+
 	_port.operation = PORT_OP_WRITE;
 	_port.addr = port;
 	_port.size = 2;
@@ -217,7 +217,7 @@ static __inline__ void outl(short port,u
     if (dhahelper_initialized == 1)
     {
 	dhahelper_port_t _port;
-	
+
 	_port.operation = PORT_OP_WRITE;
 	_port.addr = port;
 	_port.size = 4;
@@ -246,7 +246,7 @@ static __inline__ unsigned int inb(short
     if (dhahelper_initialized == 1)
     {
 	dhahelper_port_t _port;
-	
+
 	_port.operation = PORT_OP_READ;
 	_port.addr = port;
 	_port.size = 1;
@@ -276,7 +276,7 @@ static __inline__ unsigned int inw(short
     if (dhahelper_initialized == 1)
     {
 	dhahelper_port_t _port;
-	
+
 	_port.operation = PORT_OP_READ;
 	_port.addr = port;
 	_port.size = 2;
@@ -306,7 +306,7 @@ static __inline__ unsigned int inl(short
     if (dhahelper_initialized == 1)
     {
 	dhahelper_port_t _port;
-	
+
 	_port.operation = PORT_OP_READ;
 	_port.addr = port;
 	_port.size = 4;

Modified: trunk/vidix/sysdep/libdha_os2.c
==============================================================================
--- trunk/vidix/sysdep/libdha_os2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/libdha_os2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -5,24 +5,24 @@
  *			<Holger.Veit at gmd.de>
  * Modified 1996 by Sebastien Marineau <marineau at genie.uottawa.ca>
  *
- * Permission is hereby granted, free of charge, to any person obtaining a 
- * copy of this software and associated documentation files (the "Software"), 
- * to deal in the Software without restriction, including without limitation 
- * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
- * and/or sell copies of the Software, and to permit persons to whom the 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
  * Software is furnished to do so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in
  * all copies or substantial portions of the Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL 
- * HOLGER VEIT  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * HOLGER VEIT  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
- * 
+ *
  * Except as contained in this notice, the name of Holger Veit shall not be
  * used in advertising or otherwise to promote the sale, use or other dealings
  * in this Software without prior written authorization from Holger Veit.
@@ -140,7 +140,7 @@ void unmap_phys_mem(void * base, unsigne
 /* and changing it appropriately to call this with the virtual adress	  */
 /* If the above mapping function is only called once, then we can store   */
 /* the virtual adress and use it here.... 				  */
-	
+
 	par.addr	= (ULONG)base;
 	par.size	= 0xffffffff; /* This is the virtual address parameter. Set this to ignore */
 	plen 		= sizeof(par);
@@ -156,6 +156,6 @@ void unmap_phys_mem(void * base, unsigne
  * the other pointers will immediately become invalid. We avoid closing
  * driver for now, but this should be fixed for server exit
  */
- 
+
 	if(!callcount) close_mmap();
 }

Modified: trunk/vidix/sysdep/libdha_win32.c
==============================================================================
--- trunk/vidix/sysdep/libdha_win32.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/libdha_win32.c	Wed May 13 04:58:57 2009	(r29305)
@@ -32,17 +32,17 @@ typedef struct MapDevRequest
 #define FILE_DEVICE_UNKNOWN             0x00000022
 #define METHOD_NEITHER                  3
 
-    
+
 int IsWinNT(void) {
   OSVERSIONINFO OSVersionInfo;
   OSVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
   GetVersionEx(&OSVersionInfo);
   return OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT;
-}  
+}
+
+static HANDLE hDriver = INVALID_HANDLE_VALUE;
+
 
-static HANDLE hDriver = INVALID_HANDLE_VALUE;  
-    
-    
 /* Memory Map a piece of Real Memory */
 void *map_phys_mem(unsigned long base, unsigned long size) {
   if(!IsWinNT()){

Modified: trunk/vidix/sysdep/pci_alpha.c
==============================================================================
--- trunk/vidix/sysdep/pci_alpha.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_alpha.c	Wed May 13 04:58:57 2009	(r29305)
@@ -19,7 +19,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     unsigned long retval;

Modified: trunk/vidix/sysdep/pci_arm32.c
==============================================================================
--- trunk/vidix/sysdep/pci_arm32.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_arm32.c	Wed May 13 04:58:57 2009	(r29305)
@@ -10,7 +10,7 @@ static int pci_config_type( void )
   unsigned char tmp1, tmp2;
   int retval;
     retval = 0;
- 
+
     outb(PCI_MODE2_ENABLE_REG, 0x00);
     outb(PCI_MODE2_FORWARD_REG, 0x00);
     tmp1 = inb(PCI_MODE2_ENABLE_REG);
@@ -50,7 +50,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     unsigned long config_cmd;

Modified: trunk/vidix/sysdep/pci_ia64.c
==============================================================================
--- trunk/vidix/sysdep/pci_ia64.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_ia64.c	Wed May 13 04:58:57 2009	(r29305)
@@ -10,7 +10,7 @@ static int pci_config_type( void )
   unsigned char tmp1, tmp2;
   int retval;
     retval = 0;
- 
+
     outb(PCI_MODE2_ENABLE_REG, 0x00);
     outb(PCI_MODE2_FORWARD_REG, 0x00);
     tmp1 = inb(PCI_MODE2_ENABLE_REG);
@@ -50,7 +50,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     unsigned long config_cmd;

Modified: trunk/vidix/sysdep/pci_linux.c
==============================================================================
--- trunk/vidix/sysdep/pci_linux.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_linux.c	Wed May 13 04:58:57 2009	(r29305)
@@ -69,14 +69,14 @@ static int pci_config_type(void)
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     pcic_t p;
-    
+
     p.address = cmd;
     p.pcipos = (bus << 8) | dev | (func << 5);
-    
+
     if (ioctl(svgahelper_fd, SVGALIB_HELPER_IOCGPCIINL, &p))
 	return -1;
 
@@ -116,10 +116,10 @@ static __inline__ int enable_os_io(void)
 
 #if defined(__powerpc__) && defined(__linux__)
 /* should be fixed? */
-#else    
+#else
     if (iopl(3) != 0)
 	return errno;
-#endif    
+#endif
     return 0;
 }
 
@@ -137,10 +137,10 @@ static __inline__ int disable_os_io(void
 #endif
 #if defined(__powerpc__) && defined(__linux__)
 /* should be fixed? */
-#else    
+#else
     if (iopl(0) != 0)
 	return errno;
-#endif    
+#endif
     return 0;
 }
 
@@ -152,8 +152,8 @@ static __inline__ int disable_os_io(void
 #if defined(CONFIG_PCI_LINUX_PROC)
 static int pci_config_type( void ) { return 1; }
 
-/* pci operations for (powerpc) Linux 
-   questions, suggestions etc: 
+/* pci operations for (powerpc) Linux
+   questions, suggestions etc:
    mplayer-dev-eng at mplayerhq.hu, colin at colino.net*/
 #include <fcntl.h>
 //#include <sys/io.h>
@@ -179,11 +179,11 @@ static int pci_get_vendor(
              pread(fd, &device, 2, PCI_DEVICE_ID) == 2) {
 	    vendor = le2me_16(vendor);
 	    device = le2me_16(device);
-	    retval = vendor + (device<<16); /*no worries about byte order, 
+	    retval = vendor + (device<<16); /*no worries about byte order,
 	    				      all ppc are bigendian*/
     } else {
 	    retval = 0xFFFF;
-    }   
+    }
     if (fd > 0) {
 	    close(fd);
     }
@@ -193,7 +193,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     long retval;
@@ -208,7 +208,7 @@ static long pci_config_read_long(
 	    retval = le2me_32(retval);
     } else {
 	    retval = 0;
-    }   
+    }
     if (fd > 0) {
 	    close(fd);
     }

Modified: trunk/vidix/sysdep/pci_lynx.c
==============================================================================
--- trunk/vidix/sysdep/pci_lynx.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_lynx.c	Wed May 13 04:58:57 2009	(r29305)
@@ -35,7 +35,7 @@
  * to change too much code
  */
 #include <smem.h>
- 
+
 static unsigned char *pciConfBase;
 
 static __inline__ void enable_os_io(void)
@@ -54,23 +54,23 @@ static __inline__ void disable_os_io(voi
 }
 
 #include <smem.h>
- 
+
 static unsigned char *pciConfBase;
- 
+
 static __inline__ unsigned long
 static swapl(unsigned long val)
 {
 	unsigned char *p = (unsigned char *)&val;
 	return (p[3] << 24) | (p[2] << 16) | (p[1] << 8) | (p[0] << 0);
 }
- 
- 
+
+
 #define BUS(tag) (((tag)>>16)&0xff)
 #define DFN(tag) (((tag)>>8)&0xff)
- 
+
 #define PCIBIOS_DEVICE_NOT_FOUND	0x86
 #define PCIBIOS_SUCCESSFUL		0x00
- 
+
 static int pciconfig_read(
           unsigned char bus,
           unsigned char dev,
@@ -80,7 +80,7 @@ static int pciconfig_read(
 {
 	unsigned long _val;
 	unsigned long *ptr;
- 
+
 	dev >>= 3;
 	if (bus || dev >= 16) {
 		*val = 0xFFFFFFFF;
@@ -92,7 +92,7 @@ static int pciconfig_read(
 	*val = _val;
 	return PCIBIOS_SUCCESSFUL;
 }
- 
+
 static int pciconfig_write(
           unsigned char bus,
           unsigned char dev,
@@ -102,7 +102,7 @@ static int pciconfig_write(
 {
 	unsigned long _val;
 	unsigned long *ptr;
- 
+
 	dev >>= 3;
 	_val = swapl(val);
 	if (bus || dev >= 16) {

Modified: trunk/vidix/sysdep/pci_os2.c
==============================================================================
--- trunk/vidix/sysdep/pci_os2.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_os2.c	Wed May 13 04:58:57 2009	(r29305)
@@ -37,7 +37,7 @@ static __inline__ int enable_os_io(void)
 	ULONG dlen,action;
 	APIRET rc;
 	static char *ioDrvPath = "/dev/fastio$";
- 
+
 	if (DosOpen((PSZ)ioDrvPath, (PHFILE)&hfd, (PULONG)&action,
 	   (ULONG)0, FILE_SYSTEM, FILE_OPEN,
 	   OPEN_SHARE_DENYNONE|OPEN_FLAGS_NOINHERIT|OPEN_ACCESS_READONLY,
@@ -47,9 +47,9 @@ static __inline__ int enable_os_io(void)
 		return 42;
 	}
 	callgate[0] = callgate[1] = 0;
- 
+
 /* Get callgate from driver for fast io to ports and other stuff */
- 
+
 	rc = DosDevIOCtl(hfd, (ULONG)0x76, (ULONG)0x64,
 		NULL, 0, NULL,
 		(ULONG*)&callgate[2], sizeof(USHORT), &dlen);
@@ -59,14 +59,14 @@ static __inline__ int enable_os_io(void)
 		DosClose(hfd);
 		return 42;
 	}
- 
+
 /* Calling callgate with function 13 sets IOPL for the program */
- 
+
 	__asm__ volatile ("movl $13,%%ebx;.byte 0xff,0x1d;.long _callgate"
 			: /*no outputs */
 			: /*no inputs */
 			: "eax","ebx","ecx","edx","cc");
- 
+
         DosClose(hfd);
 	return 0;
 }

Modified: trunk/vidix/sysdep/pci_powerpc.c
==============================================================================
--- trunk/vidix/sysdep/pci_powerpc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_powerpc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -20,7 +20,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     long retval;

Modified: trunk/vidix/sysdep/pci_sparc.c
==============================================================================
--- trunk/vidix/sysdep/pci_sparc.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_sparc.c	Wed May 13 04:58:57 2009	(r29305)
@@ -10,7 +10,7 @@ static int pci_config_type( void )
   unsigned char tmp1, tmp2;
   int retval;
     retval = 0;
- 
+
     outb(PCI_MODE2_ENABLE_REG, 0x00);
     outb(PCI_MODE2_FORWARD_REG, 0x00);
     tmp1 = inb(PCI_MODE2_ENABLE_REG);
@@ -50,7 +50,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     unsigned long config_cmd;

Modified: trunk/vidix/sysdep/pci_x86.c
==============================================================================
--- trunk/vidix/sysdep/pci_x86.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/sysdep/pci_x86.c	Wed May 13 04:58:57 2009	(r29305)
@@ -10,7 +10,7 @@ static int pci_config_type( void )
   unsigned char tmp1, tmp2;
   int retval;
     retval = 0;
- 
+
     outb(PCI_MODE2_ENABLE_REG, 0x00);
     outb(PCI_MODE2_FORWARD_REG, 0x00);
     tmp1 = inb(PCI_MODE2_ENABLE_REG);
@@ -50,7 +50,7 @@ static int pci_get_vendor(
 static long pci_config_read_long(
           unsigned char bus,
           unsigned char dev,
-          int func, 
+          int func,
           unsigned cmd)
 {
     unsigned long config_cmd;

Modified: trunk/vidix/unichrome_regs.h
==============================================================================
--- trunk/vidix/unichrome_regs.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/unichrome_regs.h	Wed May 13 04:58:57 2009	(r29305)
@@ -53,7 +53,7 @@
 #define SW_USE_V1               0x00000010  /*[ 4] : 1:Capture 1 use V1, 0:Capture 1 use V3             */
 #define SW_USE_V3               0x00000000  /*[ 4] : 1:Capture 1 use V1, 0:Capture 1 use V3             */
 #define SW_USE_HQV              0x00000020  /*[ 5] : 1:Capture 1 use HQV,0:Capture 1 not use HQV        */
-     
+
 /*
 #define VIDEO1_INUSE            0x00000010  //[ 4] : 1:Video 1 is used with S/W flip
 #define VIDEO1_USE_HQV          0x00000020  //[ 5] : 1:Video 1 use HQV with S/W flip
@@ -146,7 +146,7 @@
 #define V1_STARTADDR_CR2        0xF8
 #define V1_STARTADDR_CR3        0xFC
 
-/* Video Capture Engine Registers 
+/* Video Capture Engine Registers
  * Capture Port 1
  */
 #define CAP0_MASKS          0x100
@@ -154,15 +154,15 @@
 #define CAP0_CONTROL        0x110
 #define CAP0_H_RANGE        0x114
 #define CAP0_V_RANGE        0x118
-#define CAP0_SCAL_CONTROL   0x11C 
+#define CAP0_SCAL_CONTROL   0x11C
 #define CAP0_VBI_H_RANGE    0x120
 #define CAP0_VBI_V_RANGE    0x124
 #define CAP0_VBI_STARTADDR  0x128
-#define CAP0_VBI_STRIDE     0x12C 
+#define CAP0_VBI_STRIDE     0x12C
 #define CAP0_ANCIL_COUNT    0x130
 #define CAP0_MAXCOUNT       0x134
 #define CAP0_VBIMAX_COUNT   0x138
-#define CAP0_DATA_COUNT     0x13C 
+#define CAP0_DATA_COUNT     0x13C
 #define CAP0_FB_STARTADDR0  0x140
 #define CAP0_FB_STARTADDR1  0x144
 #define CAP0_FB_STARTADDR2  0x148
@@ -177,10 +177,10 @@
 #define CAP1_ANCIL_COUNT    0x174 /*To be deleted*/
 #define CAP1_MAXCOUNT       0x178
 #define CAP1_VBIMAX_COUNT   0x17C /*To be deleted*/
-#define CAP1_DATA_COUNT     0x180 
+#define CAP1_DATA_COUNT     0x180
 #define CAP1_FB_STARTADDR0  0x184
 #define CAP1_FB_STARTADDR1  0x188
-#define CAP1_STRIDE         0x18C 
+#define CAP1_STRIDE         0x18C
 
 /* SUBPICTURE Registers */
 #define SUBP_CONTROL_STRIDE     0x1C0
@@ -288,24 +288,24 @@
 #define V1_FIFO_DEPTH16         0x0000000F
 #define V1_FIFO_DEPTH32         0x0000001F
 #define V1_FIFO_DEPTH48         0x0000002F
-#define V1_FIFO_DEPTH64         0x0000003F   
+#define V1_FIFO_DEPTH64         0x0000003F
 #define V1_FIFO_THRESHOLD6      0x00000600
 #define V1_FIFO_THRESHOLD8      0x00000800
 #define V1_FIFO_THRESHOLD12     0x00000C00
 #define V1_FIFO_THRESHOLD16     0x00001000
 #define V1_FIFO_THRESHOLD24     0x00001800
 #define V1_FIFO_THRESHOLD32     0x00002000
-#define V1_FIFO_THRESHOLD40     0x00002800  
-#define V1_FIFO_THRESHOLD48     0x00003000   
-#define V1_FIFO_THRESHOLD56     0x00003800  
-#define V1_FIFO_THRESHOLD61     0x00003D00  
+#define V1_FIFO_THRESHOLD40     0x00002800
+#define V1_FIFO_THRESHOLD48     0x00003000
+#define V1_FIFO_THRESHOLD56     0x00003800
+#define V1_FIFO_THRESHOLD61     0x00003D00
 #define V1_FIFO_PRETHRESHOLD10  0x0A000000
 #define V1_FIFO_PRETHRESHOLD12  0x0C000000
 #define V1_FIFO_PRETHRESHOLD29  0x1d000000
-#define V1_FIFO_PRETHRESHOLD40  0x28000000  
+#define V1_FIFO_PRETHRESHOLD40  0x28000000
 #define V1_FIFO_PRETHRESHOLD44  0x2c000000
-#define V1_FIFO_PRETHRESHOLD56  0x38000000   
-#define V1_FIFO_PRETHRESHOLD61  0x3D000000   
+#define V1_FIFO_PRETHRESHOLD56  0x38000000
+#define V1_FIFO_PRETHRESHOLD61  0x3D000000
 
 /* ALPHA_V3_FIFO_CONTROL        0x278
  * IA2 has 32 level FIFO for packet mode video format
@@ -318,23 +318,23 @@
 #define V3_FIFO_DEPTH24         0x00000017
 #define V3_FIFO_DEPTH32         0x0000001F
 #define V3_FIFO_DEPTH48         0x0000002F
-#define V3_FIFO_DEPTH64         0x0000003F   
+#define V3_FIFO_DEPTH64         0x0000003F
 #define V3_FIFO_THRESHOLD8      0x00000800
 #define V3_FIFO_THRESHOLD12     0x00000C00
 #define V3_FIFO_THRESHOLD16     0x00001000
 #define V3_FIFO_THRESHOLD24     0x00001800
 #define V3_FIFO_THRESHOLD32     0x00002000
-#define V3_FIFO_THRESHOLD40     0x00002800  
-#define V3_FIFO_THRESHOLD48     0x00003000   
-#define V3_FIFO_THRESHOLD56     0x00003800   
-#define V3_FIFO_THRESHOLD61     0x00003D00   
+#define V3_FIFO_THRESHOLD40     0x00002800
+#define V3_FIFO_THRESHOLD48     0x00003000
+#define V3_FIFO_THRESHOLD56     0x00003800
+#define V3_FIFO_THRESHOLD61     0x00003D00
 #define V3_FIFO_PRETHRESHOLD10  0x0000000A
 #define V3_FIFO_PRETHRESHOLD12  0x0000000C
 #define V3_FIFO_PRETHRESHOLD29  0x0000001d
-#define V3_FIFO_PRETHRESHOLD40  0x00000028  
+#define V3_FIFO_PRETHRESHOLD40  0x00000028
 #define V3_FIFO_PRETHRESHOLD44  0x0000002c
-#define V3_FIFO_PRETHRESHOLD56  0x00000038   
-#define V3_FIFO_PRETHRESHOLD61  0x0000003D   
+#define V3_FIFO_PRETHRESHOLD56  0x00000038
+#define V3_FIFO_PRETHRESHOLD61  0x0000003D
 #define V3_FIFO_MASK            0x0000007F
 #define ALPHA_FIFO_DEPTH8       0x00070000
 #define ALPHA_FIFO_THRESHOLD4   0x04000000
@@ -401,8 +401,8 @@
 #define BUFFER_2_MODE       		0x00000000
 #define BUFFER_3_MODE       		0x00000004
 #define BUFFER_4_MODE       		0x00000006
-#define SWAP_YUYV           		0x00000000 
-#define SWAP_UYVY           		0x00000100   
+#define SWAP_YUYV           		0x00000000
+#define SWAP_UYVY           		0x00000100
 #define SWAP_YVYU           		0x00000200
 #define SWAP_VYUY           		0x00000300
 #define IN_601_8            		0x00000000
@@ -410,17 +410,17 @@
 #define IN_601_16           		0x00000020
 #define IN_656_16           		0x00000030
 #define DEINTER_ODD         		0x00000000
-#define DEINTER_EVEN        		0x00001000   
+#define DEINTER_EVEN        		0x00001000
 #define DEINTER_ODD_EVEN    		0x00002000
 #define DEINTER_FRAME       		0x00003000
-#define VIP_1               		0x00000000 
+#define VIP_1               		0x00000000
 #define VIP_2               		0x00000400
 #define H_FILTER_2          		0x00010000
-#define H_FILTER_4          		0x00020000 
-#define H_FILTER_8_1331     		0x00030000 
+#define H_FILTER_4          		0x00020000
+#define H_FILTER_8_1331     		0x00030000
 #define H_FILTER_8_12221    		0x00040000
 #define VIP_ENABLE          		0x00000008
-#define EN_FIELD_SIG        		0x00000800  
+#define EN_FIELD_SIG        		0x00000800
 #define VREF_INVERT         		0x00100000
 #define FIELD_INPUT_INVERSE    		0x00400000
 #define FIELD_INVERSE       		0x40000000
@@ -443,7 +443,7 @@
 #define V3_RGB16                0x0000000C
 #define V3_COLORSPACE_SIGN      0x00000080
 #define V3_EXPIRE_NUM           0x00040000
-#define V3_EXPIRE_NUM_F         0x000f0000 
+#define V3_EXPIRE_NUM_F         0x000f0000
 #define V3_BOB_ENABLE           0x00400000
 #define V3_FIELD_BASE           0x00000000
 #define V3_FRAME_BASE           0x01000000
@@ -475,12 +475,12 @@
 #define HQV_FRAME_2_FIELD   0x00040000   /* Src is field. Display field */
 #define HQV_FRAME_UV        0x00000000   /* Src is Non-interleaved */
 #define HQV_FIELD_UV        0x00100000   /* Src is interleaved */
-#define HQV_IDLE            0x00000008   
-#define HQV_FLIP_STATUS     0x00000001   
+#define HQV_IDLE            0x00000008
+#define HQV_FLIP_STATUS     0x00000001
 #define HQV_DOUBLE_BUFF     0x00000000
 #define HQV_TRIPLE_BUFF     0x04000000
 #define HQV_SUBPIC_FLIP     0x00008000
-#define HQV_FIFO_STATUS     0x00001000  
+#define HQV_FIFO_STATUS     0x00001000
 
 /* HQV_FILTER_CONTROL      0x3E4 */
 #define HQV_H_LOWPASS_2TAP  0x00000001
@@ -565,7 +565,7 @@
 #define VIDOutD(port, data)     *((volatile CARD32 *)(pVia->VidMapBase + (port))) = (data)
 #define MPGOutD(port, data)     *((volatile CARD32 *)(lpMPEGMMIO +(port))) = (data)
 #define MPGInD(port)            *((volatile CARD32 *)(lpMPEGMMIO +(port)))
-#endif 
+#endif
 
 /*
  *      Macros for GE MMIO
@@ -578,7 +578,7 @@
 /*
  *	MPEG 1/2 Slice Engine (at 0xC00 relative to base)
  */
- 
+
 #define MPG_CONTROL		0x00
 #define 	MPG_CONTROL_STRUCT	0x03
 #define			MPG_CONTROL_STRUCT_TOP		0x01

Modified: trunk/vidix/unichrome_vid.c
==============================================================================
--- trunk/vidix/unichrome_vid.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/unichrome_vid.c	Wed May 13 04:58:57 2009	(r29305)
@@ -229,7 +229,7 @@ uc_ovl_map_hzoom (uint32_t sw, uint32_t 
       *mini |= V1_X_INTERPOLY;
     }
   else /* sw > dw - Zoom out */
-    {		
+    {
       /* Find a suitable divider (1 << d) = {2, 4, 8 or 16} */
       sw1 = sw;
       for (d = 1; d < 5; d++)
@@ -380,7 +380,7 @@ uc_ovl_map_v1_control (uint32_t format, 
     {
       /* Minified video will be skewed without this workaround. */
       if (sw <= 80) /* Fetch count <= 5 */
-	{			
+	{
 	  *fifo = UC_MAP_V1_FIFO_CONTROL (16, 0, 0);
 	}
       else
@@ -464,7 +464,7 @@ unichrome_probe (int verbose, int force)
   err = pci_scan (lst, &num_pci);
   if (err)
     {
-      printf ("[unichrome] Error occurred during pci scan: %s\n", 
+      printf ("[unichrome] Error occurred during pci scan: %s\n",
 	      strerror (err));
       return err;
     }

Modified: trunk/vidix/vidix.c
==============================================================================
--- trunk/vidix/vidix.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vidix/vidix.c	Wed May 13 04:58:57 2009	(r29305)
@@ -54,7 +54,7 @@ VDXContext *vdlOpen(const char *name,uns
 
   /* register all drivers */
   vidix_register_all_drivers ();
-  
+
   if (!vidix_find_driver (ctx, name, cap, verbose))
   {
     free (ctx);
@@ -71,7 +71,7 @@ VDXContext *vdlOpen(const char *name,uns
     free (ctx);
     return NULL;
   }
-  
+
   if (verbose)
     printf ("vidixlib: Attempt to initialize driver at: %p\n",
             ctx->drv->init);
@@ -83,10 +83,10 @@ VDXContext *vdlOpen(const char *name,uns
     free (ctx);
     return NULL;
   }
-  
+
   if (verbose)
     printf("vidixlib: '%s'successfully loaded\n", ctx->drv->name);
-  
+
   return ctx;
 }
 
@@ -94,7 +94,7 @@ void vdlClose(VDXContext *ctx)
 {
   if (ctx->drv->destroy)
     ctx->drv->destroy ();
-  
+
   memset (ctx, 0, sizeof (VDXContext)); /* <- it's not stupid */
   free (ctx);
 }

Modified: trunk/vobsub.c
==============================================================================
--- trunk/vobsub.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/vobsub.c	Wed May 13 04:58:57 2009	(r29305)
@@ -465,7 +465,7 @@ mpeg_run(mpeg_t *mpeg)
 	    len = buf[0] << 8 | buf[1];
 	    if (len > 0 && rar_seek(mpeg->stream, len, SEEK_CUR))
 		return -1;
-		
+
 	}
 	else {
 	    mp_msg(MSGT_VOBSUB,MSGL_ERR,"unknown header 0x%02X%02X%02X%02X\n",
@@ -1009,7 +1009,7 @@ vobsub_open(const char *const name,const
 	      if(force)
 		mp_msg(MSGT_VOBSUB,MSGL_ERR,"VobSub: Can't open SUB file\n");
 	      else {
-		
+
 		free(buf);
 		free(vob);
 		return NULL;

Modified: trunk/xvid_vbr.c
==============================================================================
--- trunk/xvid_vbr.c	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/xvid_vbr.c	Wed May 13 04:58:57 2009	(r29305)
@@ -296,7 +296,7 @@ int vbrInit(vbr_control_t *state)
 	default:
 		return(-1);
 	}
-	
+
 	return(state->init(state));
 
 }
@@ -586,7 +586,7 @@ static int vbr_update_2pass1(void *sstat
 	state->cur_frame++;
 
 	return(0);
-	
+
 }
 
 static int vbr_finish_2pass1(void *sstate)
@@ -767,7 +767,7 @@ static int vbr_init_2pass2(void *sstate)
 			state->keyframe_locations[c++] = state->cur_frame;
 		}
 
-		total_bytes += frame_bytes;		
+		total_bytes += frame_bytes;
 
 	}
 
@@ -1025,7 +1025,7 @@ static int vbr_init_2pass2(void *sstate)
 			}
 		}
 	}
-	
+
 	state->curve_comp_scale = total1 / total2;
 
 	if (state->use_alt_curve) {
@@ -1444,7 +1444,7 @@ static int vbr_getintra_2pass2(void *sst
 	int intra;
 	vbr_control_t *state = sstate;
 
-	
+
 	/* Get next intra state (fetched by update) */
 	intra = state->pass1_intra;
 
@@ -1634,7 +1634,7 @@ static int vbr_getquant_fixedquant(void 
 		return(quant);
 
 	}
-		
+
 	/* No credit frame - return fixed quant */
 	return(state->fixed_quant);
 

Modified: trunk/xvid_vbr.h
==============================================================================
--- trunk/xvid_vbr.h	Tue May 12 21:25:35 2009	(r29304)
+++ trunk/xvid_vbr.h	Wed May 13 04:58:57 2009	(r29305)
@@ -180,7 +180,7 @@ typedef struct vbr_control_t
 	/* ----------- Internal data - do not modify ----------- */
 	vbr_init_function_ptr      init;
 	vbr_get_quant_function_ptr getquant;
-	vbr_get_intra_function_ptr getintra;	
+	vbr_get_intra_function_ptr getintra;
 	vbr_update_function_ptr    update;
 	vbr_finish_function_ptr    finish;
 


More information about the MPlayer-cvslog mailing list