[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",>kEnableAudioEqualizer,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",>kCacheOn,CONF_TYPE_FLAG,0,0,1,NULL },
{ "cache_size",>kCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL },
- { "playbar",>kEnablePlayBar,CONF_TYPE_FLAG,0,0,1,NULL },
+ { "playbar",>kEnablePlayBar,CONF_TYPE_FLAG,0,0,1,NULL },
{ "load_fullscreen",>kLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL },
{ "show_videowin", >kShowVideoWindow,CONF_TYPE_FLAG,0,0,1,NULL },
{ "stopxscreensaver",&stop_xscreensaver,CONF_TYPE_FLAG,0,0,1,NULL },
{ "autosync",>kAutoSyncOn,CONF_TYPE_FLAG,0,0,1,NULL },
{ "autosync_size",>kAutoSync,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",>kEquChannel4,CONF_TYPE_STRING,0,0,0,NULL },
{ "equ_channel_5",>kEquChannel5,CONF_TYPE_STRING,0,0,0,NULL },
{ "equ_channel_6",>kEquChannel6,CONF_TYPE_STRING,0,0,0,NULL },
-
+
#if 1
#define audio_equ_row( i,j ) { "equ_band_"#i#j,>kEquChannels[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(),>kIconMask,&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", ¶m_bitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
{"mode", ¶m_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", ¶m_bitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
{"mode", ¶m_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(¶m);
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, ¤t_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