From owner-freebsd-multimedia@FreeBSD.ORG Sun Feb 13 18:21:22 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BF10A16A4CE for ; Sun, 13 Feb 2005 18:21:22 +0000 (GMT) Received: from haggis.it.ca (haggis.it.ca [216.126.86.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 12F9043D39 for ; Sun, 13 Feb 2005 18:21:22 +0000 (GMT) (envelope-from paul@haggis.it.ca) Received: from haggis.it.ca (paul@localhost [127.0.0.1]) by haggis.it.ca (8.12.11/8.12.11) with ESMTP id j1DILKUJ055023; Sun, 13 Feb 2005 13:21:21 -0500 (EST) (envelope-from paul@haggis.it.ca) Received: (from paul@localhost) by haggis.it.ca (8.12.11/8.12.6/Submit) id j1DILK9t055022; Sun, 13 Feb 2005 13:21:20 -0500 (EST) (envelope-from paul) Date: Sun, 13 Feb 2005 13:21:20 -0500 From: Paul Chvostek To: "Steve O'Hara-Smith" Message-ID: <20050213182120.GT40151@it.ca> References: <20050207032841.GA33816@it.ca> <20050207100521.544ed9bc.steve@sohara.org> <20050209180336.GA28606@it.ca> <20050210095713.3b155ce6.steve@sohara.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050210095713.3b155ce6.steve@sohara.org> User-Agent: Mutt/1.4.2.1i cc: freebsd-multimedia@freebsd.org Subject: Re: ffmpeg at half speed ... sort of. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Feb 2005 18:21:23 -0000 Thanks for your response, Steve. On Thu, Feb 10, 2005 at 09:57:13AM +0000, Steve O'Hara-Smith wrote: > > That leaves grab rate problems I think - the grab code uses a > usleep that should get interrupted by the sync signal from the bktr > driver. If it doesn't it is set to sleep 1/8 of a frame too long and > then grab the frame and complain (SLEPT NO signals - microseconds > late). When the packet is grabbed it is given a timestamp using the > ffmpeg library routine avgettime. > > If this is misbehaving it points to problems with low level > timekeeping, which is not too uncommon (see endless threads about > microuptime going backwards). So to check for that ... I do not fully grok this, but I'd be happy to assist with whatever diagnostics I can. So ... usleep is interrupted when a new frame is available from the bktr driver, or is the sync signal merely a timer? Could this be a problem with the frequency of the sync signal coming from the driver? Does the driver time its sync signals based on the hardware, or something else? The symptom (see below) seems to be that the actual framerate is always about 60fps, despite lower framerates being encoded into ffmpeg's output. Whatever framerate I specify, it uses 60fps, and calls it whatever I specified. :-/ > Do you get any of the SLEPT ... messages ? Plenty of them. From five to ten for every notice as to what frame I've reached, all in the range of 4000 to 6000 ms. (Which is odd, since they start immediately after I run ffmpeg, without a 4 second delay.) I get fewer of them if I specify "-r 20", and *almost* none at "-r 15". And when I specify these lower framerates, the seconds still tick by far faster than they should.... After 15 seconds of encoding at "-r 15", ffmpeg says: % time ffmpeg -y -an -vd /dev/bktr0 -s 640x480 -tvstd ntsc \ -vcodec mpeg4 -b 300 -t 60 -r 15 test6.mpg ... frame= 900 q=7.5 Lsize= 2430kB time=60.0 bitrate= 331.8kbits/s video:134kB audio:0kB global headers:0kB muxing overhead 1707.964775% ffmpeg in free(): warning: page is already free 6.338u 0.171s 0:15.08 43.1% 67+7506k 0+19io 150pf+0w % and % time ffmpeg -y -an -vd /dev/bktr0 -s 640x480 -tvstd ntsc \ -vcodec mpeg4 -b 300 -t 60 -r 29.97 test7.mpg ... SLEPT NO signals - 5213 microseconds late frame= 1797 q=31.0 size= 2742kB time=60.0 bitrate= 374.6kbits/s SLEPT NO signals - 4837 microseconds late frame= 1799 q=31.0 Lsize= 2744kB time=60.0 bitrate= 374.5kbits/s video:1023kB audio:0kB global headers:0kB muxing overhead 168.277304% ffmpeg in free(): warning: page is already free 11.990u 0.273s 0:20.43 60.0% 66+7460k 0+21io 150pf+0w > Does fiddling with sysctl kern.timecounter.method help ? Er... I don't have one of those. 5.3-RELEASE. I do have: kern.timecounter.hardware: ACPI-fast kern.timecounter.choice: TSC(800) ACPI-fast(1000) i8254(0) dummy(-1000000) Is either of those what we're looking for? I can't seem to find an equivalent to kern.timecounter.method ... and a quick look at 4.x man pages tells me nothing about that particular sysctl knob. > Does turning off ACPI (if it's on) help ? Funny you should ask. When I try to boot without ACPI, I get a kernel panic as soon as the system tries to go into multi-user mode, even if I turn off Hyperthreading in BIOS. ACPI is loaded as a module, and I'm not aware of any dependencies on it. I've also tried various "options HZ" values (from 10 to 1000), and saw no change. -- Paul Chvostek Operations / Abuse / Whatever it.canada, hosting and development http://www.it.ca/ From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 02:54:54 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EDB6216A4CE for ; Mon, 14 Feb 2005 02:54:54 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.203]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61D1943D41 for ; Mon, 14 Feb 2005 02:54:54 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so554285wra for ; Sun, 13 Feb 2005 18:54:52 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=di7RIvCSgg9VWVsuuxXiblSerWRi9wNSNGQBCxe7KhQtcOO1ZD4u3MbqFmPLOBYFzjsrCCDaVGKAgvAMsW6nfZYqbbtEkJqgKzibpD5IuPHCyt4Rl/3j9277DbSiESJM0lT7wqEAnqqQ4C00cBCLoH0sqWt1R9Ne3MBB1k0wLv8= Received: by 10.54.26.40 with SMTP id 40mr202168wrz; Sun, 13 Feb 2005 18:54:52 -0800 (PST) Received: by 10.54.32.58 with HTTP; Sun, 13 Feb 2005 18:54:51 -0800 (PST) Message-ID: <8f8eb53e050213185450daa380@mail.gmail.com> Date: Mon, 14 Feb 2005 03:54:51 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org, Edwin Groothuis , John Wehle Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Patch for pvr250/350 (switch between profiles) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 02:54:55 -0000 Sorry for duplicate (no subject in last mail). The application setsize allows switch between 3 profiles (determined for format size). Next patch allows switch between 8 profiles using hardware ioctl's. NOTE: Values for profiles are select for me, I'm not an expert, if somebody have more knowledge (or datasheet of chip) change source it's easy (feeback is always welcome and copy of datasheet too). For exemple the TS profile don't playback well, some losses in audio and video (grab work without aparent problem), but i suposse it's very useful for streaming machines. Other example is MPEG1 profile: don't playback well, his values are selected for works with dvdauthor (only accept 48 Khz audio streams), economize time in work encoding process. Or MPEG2 profile select for best quality without losses with mplayer playback (with -cache 8192, of course). For apply this patch follow next steps: 1.- #cd /usr/ports/multimedia/pvr250/ && make clean && make extract 2.- Copy the enclosed files (see bellow) pvr250-setprofile, patch_cxm_c and patch_modules_cxm_cxm_Makefile in work/ and ioctl_meteor_compat.h in work/dev/cxm/ 3.- Apply the patches: #patch < work/patch_cxm_c && patch #endif + #include #include @@ -81,7 +82,7 @@ #endif #include - +#include /* * Various supported device vendors/types and their names. @@ -292,6 +293,240 @@ 0xe9 }; +static struct cxm_codec_profile mpeg2_ntsc_profile =3D { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playba= ck + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_pal_profile =3D { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playba= ck + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg1_ntsc_profile =3D { + "MPEG-1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 30, + 352, 240, 480, + { 10, 12, 21 }, + 12, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync probl= ems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime play= back, + * but is the only profile that works for store MPEG1 streams in DV= D. + */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg1_pal_profile =3D { + "MPEG-1 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 25, + 352, 288, 576, + { 6, 17, 22 }, + 8, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync probl= ems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime play= back, + * but is the only profile that works for store MPEG1 streams in DV= D. + */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s1_ntsc_profile =3D { + "MPEG-2 DVD_S1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s1_pal_profile =3D { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s2_ntsc_profile =3D { + "MPEG-2 DVD_S2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series- + */ + { 0, 2000000, 2048000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s2_pal_profile =3D { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series- + */ + { 0, 2000000, 2048000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg2_ts_ntsc_profile =3D { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_ts_pal_profile =3D { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + static const struct cxm_codec_profile *codec_profiles[] =3D { &vcd_ntsc_profile, @@ -299,7 +534,17 @@ &svcd_ntsc_profile, &svcd_pal_profile, &dvd_ntsc_profile, - &dvd_pal_profile + &dvd_pal_profile, + &mpeg2_ntsc_profile, + &mpeg2_pal_profile, + &mpeg1_ntsc_profile, + &mpeg1_pal_profile, + &dvd_s1_ntsc_profile, + &dvd_s1_pal_profile, + &dvd_s2_ntsc_profile, + &dvd_s2_pal_profile, + &mpeg2_ts_ntsc_profile, + &mpeg2_ts_pal_profile }; @@ -801,7 +1046,8 @@ for (i =3D 0; i < NUM_ELEMENTS(codec_profiles); i++) if (codec_profiles[i]->fps =3D=3D fps - && codec_profiles[i]->width =3D=3D sc->profile-= >width) + && codec_profiles[i]->width =3D=3D sc->profile-= >width + && codec_profiles[i]->stream_type =3D=3D sc->profile->stream_type) break; if (i >=3D NUM_ELEMENTS(codec_profiles)) @@ -2278,6 +2524,7 @@ enum cxm_source source; struct bktr_capture_area *cap; struct bktr_remote *remote; + struct meteor_geomet *my_oformat; intrmask_t s; unit =3D UNIT( minor(dev) ); @@ -2848,6 +3095,42 @@ remote =3D (struct bktr_remote *)arg; if (cxm_ir_key(sc, (char *)remote, sizeof(*remote)) < 0) return ENXIO; + break; + + +/* My ioctl's for switch between profiles*/ + case METEORGETGEO: + my_oformat =3D (struct meteor_geomet *)arg; + memset (my_oformat, 0, sizeof (*my_oformat)); + my_oformat->rows =3D 0; + my_oformat->columns =3D 0; + my_oformat->frames =3D 0; + my_oformat->oformat =3D sc->profile->stream_type; + break; + + case METEORSETGEO: + if (sc->encoding) + return EBUSY; + + + my_oformat =3D (struct meteor_geomet *)arg; + if (my_oformat->rows || my_oformat->columns + || my_oformat->frames) + return EINVAL; + + /* + * Setting the stream type has the side effect of + * chosing between the VCD, SVCD, and DVD profiles. + */ + + for (i =3D 0; i < NUM_ELEMENTS(codec_profiles); i++) + if (codec_profiles[i]->stream_type =3D=3D my_oformat->oformat) + break; + + if (i >=3D NUM_ELEMENTS(codec_profiles)) + return EINVAL; + + sc->profile =3D codec_profiles[i]; break; default: ---8<---end-of-patch_cxm_c-file---8<------8<--- NEXT FILE (patch_modules_cxm_cxm_Makefile) ---8<---start-of-patch_modules_cxm_cxm_Makefile--file--8< --- work/modules/cxm/cxm/Makefile.ORIGINAL Sun Feb 6 01:38:54 2005 +++ work/modules/cxm/cxm/Makefile Wed Feb 9 05:17:27 2005 @@ -1,7 +1,7 @@ .PATH: ${.CURDIR}/../../../dev/cxm KMOD =3D cxm SRCS =3D cxm.c cxm.h cxm_dec_fw.c cxm_enc_fw.c cxm_audio.c cxm_eeprom.c \ - cxm_ir.c cxm_tuner.c cxm_video.c opt_cxm.h \ + cxm_ir.c cxm_tuner.c cxm_video.c ioctl_meteor_compat.h opt_cxm.h = \ bus_if.h device_if.h iicbb_if.h pci_if.h vnode_if.h .include ---8<---end-of-patch_modules_cxm_cxm_Makefile--file--8< NEXT FILE (ioctl_meteor_compat.h) ---8<---start-of-ioctl_meteor_compat.h--file---8<-- /* ioctl_meteor_compat.h - Defines for meteor compatibility interface */ #define CXM_FW_STREAM_TYPE_DVD 0x0000000a #define METEOR_GEO_DVD CXM_FW_STREAM_TYPE_DVD #define CXM_FW_STREAM_TYPE_MPEG1 0x00000002 #define METEOR_GEO_MPEG1 CXM_FW_STREAM_TYPE_MPEG1 #define CXM_FW_STREAM_TYPE_MPEG2_PROGRAM 0x00000000 #define METEOR_GEO_MPEG2_PROGRAM CXM_FW_STREAM_TYPE_MPEG2_PROGRAM #define CXM_FW_STREAM_TYPE_SVCD 0x0000000c #define METEOR_GEO_SVCD CXM_FW_STREAM_TYPE_SVCD #define CXM_FW_STREAM_TYPE_VCD 0x0000000b #define METEOR_GEO_VCD CXM_FW_STREAM_TYPE_VCD #define CXM_FW_STREAM_TYPE_MPEG2_TS 0x00000001 #define METEOR_GEO_MPEG2_TS CXM_FW_STREAM_TYPE_MPEG2_TS #define CXM_FW_STREAM_TYPE_PES_AV 0x00000003 /* Test and don't work */ #define METEOR_GEO_PES_AV CXM_FW_STREAM_TYPE_PES_AV #define CXM_FW_STREAM_TYPE_PES_V 0x00000005 /* Not tested */ #define METEOR_GEO_PES_V CXM_FW_STREAM_TYPE_PES_V #define CXM_FW_STREAM_TYPE_PES_A 0x00000007 /* Not tested */ #define METEOR_GEO_PES_A CXM_FW_STREAM_TYPE_PES_A #define CXM_FW_STREAM_TYPE_DVD_S1 0x0000000d #define METEOR_GEO_DVD_S1 CXM_FW_STREAM_TYPE_DVD_S1 #define CXM_FW_STREAM_TYPE_DVD_S2 0x0000000e #define METEOR_GEO_DVD_S2 CXM_FW_STREAM_TYPE_DVD_S2 ---8<---end-of-ioctl_meteor_compat.h--file---8<-- LAST FILE (pvr250-setprofile.c) ---8<---start-of-pvr250-setprofile.c--file---8<-- #include #include #include #include #include #include #include #include #include "./dev/cxm/ioctl_meteor_compat.h" /**************************************************************************= **/ /* setprofile.c - Set the porfile of the bktr tuner card. = */ /* = */ /* COMPILE WITH: cc -o pvr250-setprofile pvr250-setprofile.c */ /**************************************************************************= **/ static void usage() { printf("Usage: setprofile <-a|-b|-c|-d|-e|-l|-x|-t>\n\n" " -a Enable DVD profile. Video: 720x575/480, 9520 kbs.\n" " Audio: 384 kbs 48 Khz\n\n" " -b Enable SVCD profile. Video: 480x480/576, 2500 kbs.\n" " Audio: 224 kbs 41.1 Khz\n\n" " -c Enable VCD profile. Video: 352x288/352x240, 1150 kbs.\n" " Audio 224 kbs 41.1 Khz.\n\n" " -d Enable MPEG2 profile. Video: 720x575/480, 8192 kbs.\n" " Audio: 384 kbs 48 Khz.\n\n" " -e Enable MPEG1 profile. Video: 352x288/352x240, 2048 kbs.\n" " Audio: 224 kbs 48 Khz.\n\n" " -l Enable DVDS1 profile. Video: 720x575/480, 4096 kbs.\n" " Audio: 384 kbs 48 Khz.\n\n" " -x Enable DVDS2 profile. Video: 720x575/480, 2048 kbs.\n" " Audio: 224 kbs 48 Khz.\n\n" " -t Enable MPEG2_TS profile. Video: 720x575/480, 6144 kbs.\n" " Audio: 384 kbs 48 Khz.\n"); } int main( int argc, char *argv[] ) { char opt; int status; int tfd; struct meteor_geomet *my_oformat; struct meteor_bitrate *my_bitrate; while ((opt =3D getopt (argc, argv, ":abcdelxt")) !=3D -1) switch (opt){ case 'a': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD; printf("Setting to %d\n",my_oformat->oformat); break; case 'b': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_SVCD; printf("Setting to %d\n",my_oformat->oformat); break; case 'c': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_VCD; printf("Setting to %d\n",my_oformat->oformat); break; case 'd': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG2_PROGRAM; printf("Setting to %d\n",my_oformat->oformat); break; case 'e': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG1; printf("Setting to %d\n",my_oformat->oformat); break; case 'l': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD_S1; printf("Setting to %d\n",my_oformat->oformat); break; case 'x': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD_S2; printf("Setting to %d\n",my_oformat->oformat); break; case 't': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct meteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG2_TS; printf("Setting to %d\n",my_oformat->oformat); break; default: usage (); exit (1); break; } tfd =3D open( "/dev/cxm0", O_RDONLY ); if ( tfd < 0 ) { perror( "open() of /dev/cxm0 failed." ); exit(1); } if ( ioctl( tfd, METEORSETGEO, my_oformat ) < 0 ) { perror( "ioctl( tfd, METEORSETGEO ) failed." ); status =3D 1; } close ( tfd ); exit ( status ); } ---8<---end-of-pvr250-setprofile.c--file---8<-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 10:22:15 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C6E516A4CE for ; Mon, 14 Feb 2005 10:22:15 +0000 (GMT) Received: from sohara.org (sohara.org [192.220.64.179]) by mx1.FreeBSD.org (Postfix) with ESMTP id D68DB43D1D for ; Mon, 14 Feb 2005 10:22:14 +0000 (GMT) (envelope-from steve@sohara.org) Received: (qmail 64011 invoked by uid 16563); 14 Feb 2005 10:22:14 -0000 Received: from unknown (HELO SOHARA) ([217.12.14.195]) (envelope-sender ) by 192.220.64.179 (qmail-ldap-1.03) with SMTP for ; 14 Feb 2005 10:22:14 -0000 Date: Mon, 14 Feb 2005 10:23:31 +0000 From: Steve O'Hara-Smith To: Paul Chvostek Message-Id: <20050214102331.0380d1b8.steve@sohara.org> In-Reply-To: <20050213182120.GT40151@it.ca> References: <20050207032841.GA33816@it.ca> <20050207100521.544ed9bc.steve@sohara.org> <20050209180336.GA28606@it.ca> <20050210095713.3b155ce6.steve@sohara.org> <20050213182120.GT40151@it.ca> X-Mailer: Sylpheed version 1.9.2 (GTK+ 2.4.1; i586-pc-interix3) X-Face: %]+HVL}K`P8>+8ZcY-WGHP6j@&mxMo9JH6_WdgIgUGH)JX/usO0%jy7T~IVgqjumD^OBqX,Kv^-GM6mlw(fI^$"QRKyZ$?xx/ Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: freebsd-multimedia@freebsd.org Subject: Re: ffmpeg at half speed ... sort of. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 10:22:15 -0000 On Sun, 13 Feb 2005 13:21:20 -0500 Paul Chvostek wrote: > Thanks for your response, Steve. > > On Thu, Feb 10, 2005 at 09:57:13AM +0000, Steve O'Hara-Smith wrote: > > > > That leaves grab rate problems I think - the grab code uses a > > usleep that should get interrupted by the sync signal from the bktr > > driver. If it doesn't it is set to sleep 1/8 of a frame too long and > > then grab the frame and complain (SLEPT NO signals - microseconds > > late). When the packet is grabbed it is given a timestamp using the > > ffmpeg library routine avgettime. > > > > If this is misbehaving it points to problems with low level > > timekeeping, which is not too uncommon (see endless threads about > > microuptime going backwards). So to check for that ... > > I do not fully grok this, but I'd be happy to assist with whatever > diagnostics I can. > > So ... usleep is interrupted when a new frame is available from the bktr > driver, Exactly. > or is the sync signal merely a timer? Could this be a problem > with the frequency of the sync signal coming from the driver? Does the > driver time its sync signals based on the hardware, or something else? The driver gets it's sync signals from the incoming video field sync. > > Do you get any of the SLEPT ... messages ? > > Plenty of them. From five to ten for every notice as to what frame I've > reached, That's not good - probable causes for that many are lousy signal or bad timekeeping - given the other symptoms I strongly suspect bad timekeeping. > all in the range of 4000 to 6000 ms. (Which is odd, since they > start immediately after I run ffmpeg, without a 4 second delay.) I get They're in microseconds - I doubt you'd notice a four millisecond delay :) > > Does fiddling with sysctl kern.timecounter.method help ? > > Er... I don't have one of those. 5.3-RELEASE. I do have: Erk - I haven't played with 5.3. > kern.timecounter.hardware: ACPI-fast > kern.timecounter.choice: TSC(800) ACPI-fast(1000) i8254(0) dummy(-1000000) > > Is either of those what we're looking for? kern.timecounter.hardware should be the one - from the looks of it. Try setting it to TSC or i8254 (probably TSC will do a better job). > > Does turning off ACPI (if it's on) help ? > > Funny you should ask. When I try to boot without ACPI, I get a kernel > panic as soon as the system tries to go into multi-user mode, even if I > turn off Hyperthreading in BIOS. It might be worth checking on Hyperthreading having an effect. -- C:>WIN | Directable Mirror Arrays The computer obeys and wins. | A better way to focus the sun You lose and Bill collects. | licences available see | http://www.sohara.org/ From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 10:53:45 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9460C16A506 for ; Mon, 14 Feb 2005 10:53:43 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA35743D2F for ; Mon, 14 Feb 2005 10:53:42 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so592578wra for ; Mon, 14 Feb 2005 02:53:42 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references; b=aTVrN4L2S9Q/aPa7N7VmBUFySS2ZDY69c0LT9YsO/Hy9BxuQqy+tLjGIPELRJf2mHGT+a1u87qZ9jW6/0OopixphRxSq75Icf5KrZjXzHEwgtUgRiEsSD+/jof57k1SEt4+rZXXmqkelQ7mJbwK7/z6yJGMM8wJHrBDw8T2lEzg= Received: by 10.54.32.63 with SMTP id f63mr112425wrf; Mon, 14 Feb 2005 02:53:42 -0800 (PST) Received: by 10.54.32.58 with HTTP; Mon, 14 Feb 2005 02:53:42 -0800 (PST) Message-ID: <8f8eb53e0502140253238cd7f6@mail.gmail.com> Date: Mon, 14 Feb 2005 11:53:42 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org, Edwin Groothuis , John Wehle In-Reply-To: <8f8eb53e050213185450daa380@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_180_31727944.1108378422061" References: <8f8eb53e050213185450daa380@mail.gmail.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Re: Patch for pvr250/350 (switch between profiles) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 10:53:46 -0000 ------=_Part_180_31727944.1108378422061 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline I see that in my last mail some long lines in enclosed files are cutted. This produce fails in patching. I attached the same files in this mail. If somebody have any patch problem (and is interesed) i send this files in person. The instructions are de same (see bellow) that the last mail but files aren't enclosed, are attached (patch_cxm_c, patch_modules_cxm_cxm_Makefile, ioctl_meteor_compat.c and pvr250-setprofile.c). NOTE: If make clean fails rm -rf work/ and starts again. Regards, Luis L=F3pez Sol=E9. On Mon, 14 Feb 2005 03:54:51 +0100, Lluis L=F3pez = wrote: > Sorry for duplicate (no subject in last mail). > The application setsize allows switch between 3 profiles (determined > for format size). Next patch allows switch between 8 profiles using > hardware ioctl's. >=20 > NOTE: Values for profiles are select for me, I'm not an expert, if > somebody have more knowledge (or datasheet of chip) change source it's > easy (feeback is always welcome and copy of datasheet too). For > exemple the TS profile don't playback well, some losses in audio and > video (grab work without aparent problem), but i suposse it's very > useful for streaming machines. Other example is MPEG1 profile: don't > playback well, his values are selected for works with dvdauthor (only > accept 48 Khz audio streams), economize time in work encoding process. > Or MPEG2 profile select for best quality without losses with mplayer > playback (with -cache 8192, of course). >=20 > For apply this patch follow next steps: > 1.- > #cd /usr/ports/multimedia/pvr250/ && make clean && make extract > 2.- > Copy the enclosed files (see bellow) pvr250-setprofile, patch_cxm_c > and patch_modules_cxm_cxm_Makefile in work/ and ioctl_meteor_compat.h > in work/dev/cxm/ > 3.- > Apply the patches: > #patch < work/patch_cxm_c && patch 4.- > Compile with: > #make >=20 > copy: > #cp work/modules/cxm/*/*.ko /boot/kernel/ >=20 > and unload modules & load new modules: > # kldunload cxm > # kldunload cxm_iic > # kldload cxm_iic > # kldload cxm > NOTE: Select a channel the application pvr250-setprofile allows change > profile in cold or wih channel running, but don't initialize the > device. > 5.- > compille pvr250-setprofile: > #cc -o /usr/local/bin/pvr250-setprofile work/pvr250-setprofile.c > 6.- > Enjoy. > Regards, Luis L=F3pez Sol=E9. >=20 > LAST NOTE: Only tested in RELEGN_5 (compiled last weekend). ------=_Part_180_31727944.1108378422061 Content-Type: application/octet-stream; name=patch_cxm_c Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch_cxm_c" --- work/dev/cxm/cxm.c.ORIGINAL Wed Feb 9 03:37:21 2005 +++ work/dev/cxm/cxm.c Mon Feb 14 00:55:06 2005 @@ -69,6 +69,7 @@ # include #endif + #include #include @@ -81,7 +82,7 @@ #endif #include - +#include /* * Various supported device vendors/types and their names. @@ -292,6 +293,240 @@ 0xe9 }; +static struct cxm_codec_profile mpeg2_ntsc_profile = { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playback + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 15, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_pal_profile = { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playback + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 12, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg1_ntsc_profile = { + "MPEG-1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 30, + 352, 240, 480, + { 10, 12, 21 }, + 12, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 15, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync problems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime playback, + * but is the only profile that works for store MPEG1 streams in DVD. + */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg1_pal_profile = { + "MPEG-1 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 25, + 352, 288, 576, + { 6, 17, 22 }, + 8, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 12, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync problems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime playback, + * but is the only profile that works for store MPEG1 streams in DVD. + */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s1_ntsc_profile = { + "MPEG-2 DVD_S1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 15, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s1_pal_profile = { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 12, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s2_ntsc_profile = { + "MPEG-2 DVD_S2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series- + */ + { 0, 2000000, 2048000 }, + { 1, 15, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s2_pal_profile = { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series- + */ + { 0, 2000000, 2048000 }, + { 1, 12, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg2_ts_ntsc_profile = { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 15, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_ts_pal_profile = { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 12, 3}, + /* + * Spatial filter = Manual, Temporal filter = Manual + * Median filter = Horizontal / Vertical + * Spatial filter value = 1, Temporal filter value = 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + static const struct cxm_codec_profile *codec_profiles[] = { &vcd_ntsc_profile, @@ -299,7 +534,17 @@ &svcd_ntsc_profile, &svcd_pal_profile, &dvd_ntsc_profile, - &dvd_pal_profile + &dvd_pal_profile, + &mpeg2_ntsc_profile, + &mpeg2_pal_profile, + &mpeg1_ntsc_profile, + &mpeg1_pal_profile, + &dvd_s1_ntsc_profile, + &dvd_s1_pal_profile, + &dvd_s2_ntsc_profile, + &dvd_s2_pal_profile, + &mpeg2_ts_ntsc_profile, + &mpeg2_ts_pal_profile }; @@ -801,7 +1046,8 @@ for (i = 0; i < NUM_ELEMENTS(codec_profiles); i++) if (codec_profiles[i]->fps == fps - && codec_profiles[i]->width == sc->profile->width) + && codec_profiles[i]->width == sc->profile->width + && codec_profiles[i]->stream_type == sc->profile->stream_type) break; if (i >= NUM_ELEMENTS(codec_profiles)) @@ -2278,6 +2524,7 @@ enum cxm_source source; struct bktr_capture_area *cap; struct bktr_remote *remote; + struct meteor_geomet *my_oformat; intrmask_t s; unit = UNIT( minor(dev) ); @@ -2848,6 +3095,42 @@ remote = (struct bktr_remote *)arg; if (cxm_ir_key(sc, (char *)remote, sizeof(*remote)) < 0) return ENXIO; + break; + + +/* My ioctl's for switch between profiles*/ + case METEORGETGEO: + my_oformat = (struct meteor_geomet *)arg; + memset (my_oformat, 0, sizeof (*my_oformat)); + my_oformat->rows = 0; + my_oformat->columns = 0; + my_oformat->frames = 0; + my_oformat->oformat = sc->profile->stream_type; + break; + + case METEORSETGEO: + if (sc->encoding) + return EBUSY; + + + my_oformat = (struct meteor_geomet *)arg; + if (my_oformat->rows || my_oformat->columns + || my_oformat->frames) + return EINVAL; + + /* + * Setting the stream type has the side effect of + * chosing between the VCD, SVCD, and DVD profiles. + */ + + for (i = 0; i < NUM_ELEMENTS(codec_profiles); i++) + if (codec_profiles[i]->stream_type == my_oformat->oformat) + break; + + if (i >= NUM_ELEMENTS(codec_profiles)) + return EINVAL; + + sc->profile = codec_profiles[i]; break; default: ------=_Part_180_31727944.1108378422061 Content-Type: application/octet-stream; name=patch_modules_cxm_cxm_makefile Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch_modules_cxm_cxm_makefile" --- work/modules/cxm/cxm/Makefile.ORIGINAL Sun Feb 6 01:38:54 2005 +++ work/modules/cxm/cxm/Makefile Wed Feb 9 05:17:27 2005 @@ -1,7 +1,7 @@ .PATH: ${.CURDIR}/../../../dev/cxm KMOD = cxm SRCS = cxm.c cxm.h cxm_dec_fw.c cxm_enc_fw.c cxm_audio.c cxm_eeprom.c \ - cxm_ir.c cxm_tuner.c cxm_video.c opt_cxm.h \ + cxm_ir.c cxm_tuner.c cxm_video.c ioctl_meteor_compat.h opt_cxm.h \ bus_if.h device_if.h iicbb_if.h pci_if.h vnode_if.h .include ------=_Part_180_31727944.1108378422061-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 10:59:42 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 96B6916A4CE for ; Mon, 14 Feb 2005 10:59:42 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id E208A43D1D for ; Mon, 14 Feb 2005 10:59:41 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so593123wra for ; Mon, 14 Feb 2005 02:59:41 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references; b=K1z58BCNTUCupuYCvX6yFuHWwtqSU7UMpJZk+jPXfracfZ87PczU4rST85lxhTSUmAG5YTFK/DFScY2tdAg62syAM9+DVlDNHVcKhUwyYH+NiRLhXaoKDMncdDFCQtj4vUJxHPIueaCqrF1NvFmU+ed9LOsr4K4wtVAWcxdq1I0= Received: by 10.54.22.28 with SMTP id 28mr20175wrv; Mon, 14 Feb 2005 02:59:41 -0800 (PST) Received: by 10.54.32.58 with HTTP; Mon, 14 Feb 2005 02:59:41 -0800 (PST) Message-ID: <8f8eb53e05021402596c0d5da4@mail.gmail.com> Date: Mon, 14 Feb 2005 11:59:41 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org, Edwin Groothuis , John Wehle In-Reply-To: <8f8eb53e0502140253238cd7f6@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_184_22287368.1108378781362" References: <8f8eb53e050213185450daa380@mail.gmail.com> <8f8eb53e0502140253238cd7f6@mail.gmail.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Re: Patch for pvr250/350 (switch between profiles) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 10:59:42 -0000 ------=_Part_184_22287368.1108378781362 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Well, in the las mail only the two fist files are attached (two next here). Sorry I hope no more fails ;) On Mon, 14 Feb 2005 11:53:42 +0100, Lluis L=F3pez = wrote: > I see that in my last mail some long lines in enclosed files are > cutted. This produce fails in patching. I attached the same files in > this mail. If somebody have any patch problem (and is interesed) i > send this files in person. > The instructions are de same (see bellow) that the last mail but files > aren't enclosed, are attached (patch_cxm_c, > patch_modules_cxm_cxm_Makefile, ioctl_meteor_compat.c and > pvr250-setprofile.c). > NOTE: If make clean fails rm -rf work/ and starts again. >=20 > Regards, Luis L=F3pez Sol=E9. >=20 > On Mon, 14 Feb 2005 03:54:51 +0100, Lluis L=F3pez wrote: > > Sorry for duplicate (no subject in last mail). > > The application setsize allows switch between 3 profiles (determined > > for format size). Next patch allows switch between 8 profiles using > > hardware ioctl's. > > > > NOTE: Values for profiles are select for me, I'm not an expert, if > > somebody have more knowledge (or datasheet of chip) change source it's > > easy (feeback is always welcome and copy of datasheet too). For > > exemple the TS profile don't playback well, some losses in audio and > > video (grab work without aparent problem), but i suposse it's very > > useful for streaming machines. Other example is MPEG1 profile: don't > > playback well, his values are selected for works with dvdauthor (only > > accept 48 Khz audio streams), economize time in work encoding process. > > Or MPEG2 profile select for best quality without losses with mplayer > > playback (with -cache 8192, of course). > > > > For apply this patch follow next steps: > > 1.- > > #cd /usr/ports/multimedia/pvr250/ && make clean && make extract > > 2.- > > Copy the enclosed files (see bellow) pvr250-setprofile, patch_cxm_c > > and patch_modules_cxm_cxm_Makefile in work/ and ioctl_meteor_compat.h > > in work/dev/cxm/ > > 3.- > > Apply the patches: > > #patch < work/patch_cxm_c && patch > 4.- > > Compile with: > > #make > > > > copy: > > #cp work/modules/cxm/*/*.ko /boot/kernel/ > > > > and unload modules & load new modules: > > # kldunload cxm > > # kldunload cxm_iic > > # kldload cxm_iic > > # kldload cxm > > NOTE: Select a channel the application pvr250-setprofile allows change > > profile in cold or wih channel running, but don't initialize the > > device. > > 5.- > > compille pvr250-setprofile: > > #cc -o /usr/local/bin/pvr250-setprofile work/pvr250-setprofile.c > > 6.- > > Enjoy. > > Regards, Luis L=F3pez Sol=E9. > > > > LAST NOTE: Only tested in RELEGN_5 (compiled last weekend). >=20 >=20 > ------=_Part_184_22287368.1108378781362-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 11:10:59 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4BA4516A4CE for ; Mon, 14 Feb 2005 11:10:59 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id CC37743D1D for ; Mon, 14 Feb 2005 11:10:58 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so594131wra for ; Mon, 14 Feb 2005 03:10:58 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references; b=dQLrWRlGf5CfyIxzE17ASxn7CKPBTDSAvAyL7bd323Cs8VWQP97ftAK3geou6guW9lZngRgLSNxZgHWI+WlzZakcQQx9fFwkwBm/Xi34pIpUr00heIfjSKw+LDdg8P0onqMAMN0fARl0hoUFx2l3jhDf0G1F86ql3n62j1LqAsM= Received: by 10.54.15.13 with SMTP id 13mr246030wro; Mon, 14 Feb 2005 03:10:58 -0800 (PST) Received: by 10.54.32.58 with HTTP; Mon, 14 Feb 2005 03:10:57 -0800 (PST) Message-ID: <8f8eb53e0502140310581b424d@mail.gmail.com> Date: Mon, 14 Feb 2005 12:10:57 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org, Edwin Groothuis , John Wehle In-Reply-To: <8f8eb53e05021402596c0d5da4@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_192_9471000.1108379457952" References: <8f8eb53e050213185450daa380@mail.gmail.com> <8f8eb53e0502140253238cd7f6@mail.gmail.com> <8f8eb53e05021402596c0d5da4@mail.gmail.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Re: Patch for pvr250/350 (switch between profiles) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 11:10:59 -0000 ------=_Part_192_9471000.1108379457952 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Other fail. Don't accept my attach. Last probe attached tar.gz Sorry for the "spam". Regards, Luis L=F3pez Sol=E9. On Mon, 14 Feb 2005 11:59:41 +0100, Lluis L=F3pez = wrote: > Well, in the las mail only the two fist files are attached (two next here= ). > Sorry I hope no more fails ;) >=20 >=20 > On Mon, 14 Feb 2005 11:53:42 +0100, Lluis L=F3pez wrote: > > I see that in my last mail some long lines in enclosed files are > > cutted. This produce fails in patching. I attached the same files in > > this mail. If somebody have any patch problem (and is interesed) i > > send this files in person. > > The instructions are de same (see bellow) that the last mail but files > > aren't enclosed, are attached (patch_cxm_c, > > patch_modules_cxm_cxm_Makefile, ioctl_meteor_compat.c and > > pvr250-setprofile.c). > > NOTE: If make clean fails rm -rf work/ and starts again. > > > > Regards, Luis L=F3pez Sol=E9. > > > > On Mon, 14 Feb 2005 03:54:51 +0100, Lluis L=F3pez wrote: > > > Sorry for duplicate (no subject in last mail). > > > The application setsize allows switch between 3 profiles (determined > > > for format size). Next patch allows switch between 8 profiles using > > > hardware ioctl's. > > > > > > NOTE: Values for profiles are select for me, I'm not an expert, if > > > somebody have more knowledge (or datasheet of chip) change source it'= s > > > easy (feeback is always welcome and copy of datasheet too). For > > > exemple the TS profile don't playback well, some losses in audio and > > > video (grab work without aparent problem), but i suposse it's very > > > useful for streaming machines. Other example is MPEG1 profile: don't > > > playback well, his values are selected for works with dvdauthor (only > > > accept 48 Khz audio streams), economize time in work encoding process= . > > > Or MPEG2 profile select for best quality without losses with mplayer > > > playback (with -cache 8192, of course). > > > > > > For apply this patch follow next steps: > > > 1.- > > > #cd /usr/ports/multimedia/pvr250/ && make clean && make extract > > > 2.- > > > Copy the enclosed files (see bellow) pvr250-setprofile, patch_cxm_c > > > and patch_modules_cxm_cxm_Makefile in work/ and ioctl_meteor_compat.= h > > > in work/dev/cxm/ > > > 3.- > > > Apply the patches: > > > #patch < work/patch_cxm_c && patch > > 4.- > > > Compile with: > > > #make > > > > > > copy: > > > #cp work/modules/cxm/*/*.ko /boot/kernel/ > > > > > > and unload modules & load new modules: > > > # kldunload cxm > > > # kldunload cxm_iic > > > # kldload cxm_iic > > > # kldload cxm > > > NOTE: Select a channel the application pvr250-setprofile allows chang= e > > > profile in cold or wih channel running, but don't initialize the > > > device. > > > 5.- > > > compille pvr250-setprofile: > > > #cc -o /usr/local/bin/pvr250-setprofile work/pvr250-setprofile.c > > > 6.- > > > Enjoy. > > > Regards, Luis L=F3pez Sol=E9. > > > > > > LAST NOTE: Only tested in RELEGN_5 (compiled last weekend). > > > > > > >=20 >=20 > ------=_Part_192_9471000.1108379457952-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 11:39:53 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 49B3C16A4CE for ; Mon, 14 Feb 2005 11:39:53 +0000 (GMT) Received: from mother.ludd.ltu.se (mother.ludd.ltu.se [130.240.16.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id B8C7443D46 for ; Mon, 14 Feb 2005 11:39:51 +0000 (GMT) (envelope-from pb@ludd.ltu.se) Received: from brother.ludd.ltu.se (brother.ludd.ltu.se [130.240.16.78]) j1EBdotw029143 for ; Mon, 14 Feb 2005 12:39:50 +0100 (MET) Received: from brother.ludd.ltu.se (localhost [127.0.0.1]) j1EBdoCG025326 for ; Mon, 14 Feb 2005 12:39:50 +0100 (MET) Received: (from pb@localhost) by brother.ludd.ltu.se (8.12.10+Sun/8.12.2/Submit) id j1EBdnrc025324 for freebsd-multimedia@freebsd.org; Mon, 14 Feb 2005 12:39:49 +0100 (MET) From: Peter B Message-Id: <200502141139.j1EBdnrc025324@brother.ludd.ltu.se> To: freebsd-multimedia@freebsd.org Date: Mon, 14 Feb 2005 12:39:49 +0100 (MET) X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Success with Creative SB Live! 24 Ext X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 11:39:53 -0000 I bought a external usb audiocard and it works with freebsd5.2/i386. Creative technology "Soundblaster Live! 24-bit External". Labeled "Creative Labs Model no. SB0490" on the underside. Back: 3,5 mm-C/Sub 3,5 mm-Rear 3,5 mm-Front 3,5 mm-Line_in Chinch-Spdif out 9pin din-DIN USB Front: TOSLink-Optical out 3,5 mm-Mic in 3,5 mm-Phones potentiometer-Mic potentiometer-Master with click mute button-CMSS led-CMSS led-Power (I wonder what's the 9pin din pinout is.. it seems to contain 6 channels of surround somehow) The setup is: Laptop (Celeron 1133MHz, 120MB ram, 2xUSB1) uname -a: FreeBSD localhost 5.2-RELEASE FreeBSD 5.2-RELEASE #0: Sun Jan 11 04:21:45 GMT 2004 root@wv1u.btc.adaptec.com:/usr/obj/usr/src/sys/GENERIC i386 >From bootlog: uhci0: port 0xbca0-0xbcbf irq 11 at device 29.0 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered usbdevs -v: Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 addr 3: full speed, power 308 mA, config 1, SB Live! 24-bit External(0x3040), Creative Technology(0x041e), rev 1.00 port 2 addr 2: full speed, self powered, config 1, deskjet 5550(0x6004), hp(0x03f0), rev 1.00 Controller /dev/usb1: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 powered By unplugging the unit, executing "kldload snd_uaudio", plugging it back. syslog shows: uaudio0: audio rev 1.00 pcm1: on uaudio0 And the blue powerlight turns on. If not it might be that you haven't loaded the snd_uaudio kernel module. Also /dev/dsp1.0 + /dev/dspW1.0 + /dev/mixer1 shows up in devfs. Playing works with: mplayer -ao oss:/dev/dsp1.0 mpg123 -a /dev/dsp1.0 (movie play also work without problems) One catch seems to be that output buffer is not cleared when jumping in a soundfile. So you jump and then hear the old sound for a split second before the new position is played. Recording from /dev/dsp1.0 or /dev/dspW1.0 won't work and produce the message "Device busy". Despite inputs on the card. Also mixer device show up with: ~ >mixer -f /dev/mixer1 Mixer pcm is currently set to 75:75 Altering the value makes no difference at all. It might be that I used the TOSLink output.. ;) Unplugging the unit causes no problem either. Maybe someone knows how to get dolby digital/dts output? (even WinXP + Windows media player + DVD refused to give me that) Things that could be improved: Jumping should have output buffer cleared (maybe fault of application?). Recording should work. Displaying of detected usb-audio unit with snd_uaudio.ko loaded. Turning of TOSLink output when no audio is sent. Infrared support could be added. From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 11:48:23 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E269616A4CE for ; Mon, 14 Feb 2005 11:48:23 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 51A2443D2F for ; Mon, 14 Feb 2005 11:48:23 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so597777wra for ; Mon, 14 Feb 2005 03:48:22 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=Hwx500pxlQiLsdhiSLlgK5fGsNQ4I7H6zCyKe78vw2iI+xkuD1ca5CGgq4pRU2wWKgJfsIVGNXZMB2AcWqNvbqeqJ1LzmmOkQvJQ8unFkJfLEJhJJK1oRaGGfn3+vcMf+J+fSo5mZg3h8xgDvat3MY0Bmb/7XEf1eIkFlg57fj4= Received: by 10.54.52.64 with SMTP id z64mr208155wrz; Mon, 14 Feb 2005 03:48:22 -0800 (PST) Received: by 10.54.32.58 with HTTP; Mon, 14 Feb 2005 03:48:22 -0800 (PST) Message-ID: <8f8eb53e05021403487b34af12@mail.gmail.com> Date: Mon, 14 Feb 2005 12:48:22 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_232_9752704.1108381702412" Subject: Patch pvr250 (switch between prfiles) SEE ATTACH X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 11:48:24 -0000 ------=_Part_232_9752704.1108381702412 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline ------=_Part_232_9752704.1108381702412 Content-Type: text/plain; name=patch-pvr250.txt; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch-pvr250.txt" The application setsize allows switch between 3 profiles (determined for format size). Next patch allows switch between 8 profiles using hardware ioctl's. NOTE: Values for profiles are select for me, I'm not an expert, if somebody have more knowledge (or datasheet of chip) change source it's easy (feeback is always welcome and copy of datasheet too). For exemple the TS profile don't playback well, some losses in audio and video (grab work without aparent problem), but i suposse it's very useful for streaming machines. Other example is MPEG1 profile: don't playback well, his values are selected for works with dvdauthor (only accept 48 Khz audio streams), economize time in work encoding process. Or MPEG2 profile select for best quality without losses with mplayer playback (with -cache 8192, of course). For apply this patch follow next steps: 1.- #cd /usr/ports/multimedia/pvr250/ && make clean && make extract 2.- Copy the enclosed files (see bellow) pvr250-setprofile, patch_cxm_c and patch_modules_cxm_cxm_Makefile in work/ and ioctl_meteor_compat.h in work/dev/cxm/ 3.- Apply the patches: #patch < work/patch_cxm_c && patch #endif + #include #include @@ -81,7 +82,7 @@ #endif #include - +#include /* * Various supported device vendors/types and their names. @@ -292,6 +293,240 @@ 0xe9 }; +static struct cxm_codec_profile mpeg2_ntsc_profile =3D { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playba= ck + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_pal_profile =3D { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playba= ck + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg1_ntsc_profile =3D { + "MPEG-1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 30, + 352, 240, 480, + { 10, 12, 21 }, + 12, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync probl= ems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime play= back, + * but is the only profile that works for store MPEG1 streams in DV= D. + */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg1_pal_profile =3D { + "MPEG-1 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 25, + 352, 288, 576, + { 6, 17, 22 }, + 8, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync probl= ems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime play= back, + * but is the only profile that works for store MPEG1 streams in DV= D. + */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s1_ntsc_profile =3D { + "MPEG-2 DVD_S1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s1_pal_profile =3D { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s2_ntsc_profile =3D { + "MPEG-2 DVD_S2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series- + */ + { 0, 2000000, 2048000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s2_pal_profile =3D { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series- + */ + { 0, 2000000, 2048000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg2_ts_ntsc_profile =3D { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_ts_pal_profile =3D { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + static const struct cxm_codec_profile *codec_profiles[] =3D { &vcd_ntsc_profile, @@ -299,7 +534,17 @@ &svcd_ntsc_profile, &svcd_pal_profile, &dvd_ntsc_profile, - &dvd_pal_profile + &dvd_pal_profile, + &mpeg2_ntsc_profile, + &mpeg2_pal_profile, + &mpeg1_ntsc_profile, + &mpeg1_pal_profile, + &dvd_s1_ntsc_profile, + &dvd_s1_pal_profile, + &dvd_s2_ntsc_profile, + &dvd_s2_pal_profile, + &mpeg2_ts_ntsc_profile, + &mpeg2_ts_pal_profile }; @@ -801,7 +1046,8 @@ for (i =3D 0; i < NUM_ELEMENTS(codec_profiles); i++) if (codec_profiles[i]->fps =3D=3D fps - && codec_profiles[i]->width =3D=3D sc->profile-= >width) + && codec_profiles[i]->width =3D=3D sc->profile-= >width + && codec_profiles[i]->stream_type =3D=3Dsc-= >profile->stream_type) break; if (i >=3D NUM_ELEMENTS(codec_profiles)) @@ -2278,6 +2524,7 @@ enum cxm_source source; struct bktr_capture_area *cap; struct bktr_remote *remote; + struct meteor_geomet *my_oformat; intrmask_t s; unit =3D UNIT( minor(dev) ); @@ -2848,6 +3095,42 @@ remote =3D (struct bktr_remote *)arg; if (cxm_ir_key(sc, (char *)remote, sizeof(*remote)) < 0) return ENXIO; + break; + + +/* My ioctl's for switch between profiles*/ + case METEORGETGEO: + my_oformat =3D (struct meteor_geomet *)arg; + memset (my_oformat, 0, sizeof (*my_oformat)); + my_oformat->rows =3D 0; + my_oformat->columns =3D 0; + my_oformat->frames =3D 0; + my_oformat->oformat =3D sc->profile->stream_type; + break; + + case METEORSETGEO: + if (sc->encoding) + return EBUSY; + + + my_oformat =3D (struct meteor_geomet *)arg; + if (my_oformat->rows || my_oformat->columns + || my_oformat->frames) + return EINVAL; + + /* + * Setting the stream type has the side effect of + * chosing between the VCD, SVCD, and DVD profiles. + */ + + for (i =3D 0; i < NUM_ELEMENTS(codec_profiles); i++) + if (codec_profiles[i]->stream_type =3D=3D my_oforma= t->oformat) + break; + + if (i >=3D NUM_ELEMENTS(codec_profiles)) + return EINVAL; + + sc->profile =3D codec_profiles[i]; break; default: ---8<---end-of-patch_cxm_c-file---8<------8<--- NEXT FILE (patch_modules_cxm_cxm_Makefile) ---8<---start-of-patch_modules_cxm_cxm_Makefile--file--8< --- work/modules/cxm/cxm/Makefile.ORIGINAL Sun Feb 6 01:38:54 2005 +++ work/modules/cxm/cxm/Makefile Wed Feb 9 05:17:27 2005 @@ -1,7 +1,7 @@ .PATH: ${.CURDIR}/../../../dev/cxm KMOD =3D cxm SRCS =3D cxm.c cxm.h cxm_dec_fw.c cxm_enc_fw.c cxm_audio.c cxm_eeprom.c \ - cxm_ir.c cxm_tuner.c cxm_video.c opt_cxm.h \ + cxm_ir.c cxm_tuner.c cxm_video.c ioctl_meteor_compat.h opt_cxm.h = \ bus_if.h device_if.h iicbb_if.h pci_if.h vnode_if.h .include ---8<---end-of-patch_modules_cxm_cxm_Makefile--file--8< NEXT FILE (ioctl_meteor_compat.h) ---8<---start-of-ioctl_meteor_compat.h--file---8<-- /* ioctl_meteor_compat.h - Defines for meteor compatibility interface */ #define CXM_FW_STREAM_TYPE_DVD 0x0000000a #define METEOR_GEO_DVD CXM_FW_STREAM_TYPE_DVD #define CXM_FW_STREAM_TYPE_MPEG1 0x00000002 #define METEOR_GEO_MPEG1 CXM_FW_STREAM_TYPE_MPEG1 #define CXM_FW_STREAM_TYPE_MPEG2_PROGRAM 0x00000000 #define METEOR_GEO_MPEG2_PROGRAM CXM_FW_STREAM_TYPE_MPEG2_PROGRAM #define CXM_FW_STREAM_TYPE_SVCD 0x0000000c #define METEOR_GEO_SVCD CXM_FW_STREAM_TYPE_SVCD #define CXM_FW_STREAM_TYPE_VCD 0x0000000b #define METEOR_GEO_VCD CXM_FW_STREAM_TYPE_VCD #define CXM_FW_STREAM_TYPE_MPEG2_TS 0x00000001 #define METEOR_GEO_MPEG2_TS CXM_FW_STREAM_TYPE_MPEG2_TS #define CXM_FW_STREAM_TYPE_PES_AV 0x00000003 /* Test and don't work */ #define METEOR_GEO_PES_AV CXM_FW_STREAM_TYPE_PES_AV #define CXM_FW_STREAM_TYPE_PES_V 0x00000005 /* Not tested */ #define METEOR_GEO_PES_V CXM_FW_STREAM_TYPE_PES_V #define CXM_FW_STREAM_TYPE_PES_A 0x00000007 /* Not tested */ #define METEOR_GEO_PES_A CXM_FW_STREAM_TYPE_PES_A #define CXM_FW_STREAM_TYPE_DVD_S1 0x0000000d #define METEOR_GEO_DVD_S1 CXM_FW_STREAM_TYPE_DVD_S1 #define CXM_FW_STREAM_TYPE_DVD_S2 0x0000000e #define METEOR_GEO_DVD_S2 CXM_FW_STREAM_TYPE_DVD_S2 ---8<---end-of-ioctl_meteor_compat.h--file---8<-- LAST FILE (pvr250-setprofile.c) ---8<---start-of-pvr250-setprofile.c--file---8<-- #include #include #include #include #include #include #include #include #include "./dev/cxm/ioctl_meteor_compat.h" /**************************************************************************= **/ /* setprofile.c - Set the porfile of the bktr tuner card. = */ /* = */ /* COMPILE WITH: cc -o pvr250-setprofile pvr250-setprofile.c = */ /* = */ /**************************************************************************= **/ static void usage() { printf("Usage: setprofile <-a|-b|-c|-d|-e|-l|-x|-t>\n\n" " -a Enable DVD profile. Video: 720x575/480, 9520 kbs.\n" " Audio: 384 kbs 48 Kh= z\n\n" " -b Enable SVCD profile. Video: 480x480/576, = 2500 kbs.\n" " Audio: 224 kbs 41.1 = Khz\n\n" " -c Enable VCD profile. Video: 352x288/352x2= 40, 1150 kbs.\n" " Audio: 224 kbs 41.1 = Khz.\n\n" " -d Enable MPEG2 profile. Video: 720x575/480, = 8192 kbs.\n" " Audio: 384 kbs 48 Kh= z.\n\n" " -e Enable MPEG1 profile. Video: 352x288/352x2= 40, 2048 kbs.\n" " Audio: 224 kbs 48 Kh= z.\n\n" " -l Enable DVDS1 profile. Video: 720x575/480, = 4096 kbs.\n" " Audio: 384 kbs 48 Kh= z.\n\n" " -x Enable DVDS2 profile. Video: 720x575/480, = 2048 kbs.\n" " Audio: 224 kbs 48 Kh= z.\n\n" " -t Enable MPEG2_TS profile. Video: 720x575/480, = 6144 kbs.\n" " Audio: 384 kbs 48 Kh= z.\n"); } int main( int argc, char *argv[] ) { char opt; int status; int tfd; struct meteor_geomet *my_oformat; struct meteor_bitrate *my_bitrate; while ((opt =3D getopt (argc, argv, ":abcdelxt")) !=3D -1) switch (opt){ case 'a': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD; printf("Setting to %d\n",my_oformat->oformat); break; case 'b': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_SVCD; printf("Setting to %d\n",my_oformat->oformat); break; case 'c': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_VCD; printf("Setting to %d\n",my_oformat->oformat); break; case 'd': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG2_PROGRAM; printf("Setting to %d\n",my_oformat->oformat); break; case 'e': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG1; printf("Setting to %d\n",my_oformat->oformat); break; case 'l': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD_S1; printf("Setting to %d\n",my_oformat->oformat); break; case 'x': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD_S2; printf("Setting to %d\n",my_oformat->oformat); break; case 't': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG2_TS; printf("Setting to %d\n",my_oformat->oformat); break; default: usage (); exit (1); break; } tfd =3D open( "/dev/cxm0", O_RDONLY ); if ( tfd < 0 ) { perror( "open() of /dev/cxm0 failed." ); exit(1); } if ( ioctl( tfd, METEORSETGEO, my_oformat ) < 0 ) { perror( "ioctl( tfd, METEORSETGEO ) failed." ); status =3D 1; } close ( tfd ); exit ( status ); } ---8<---end-of-pvr250-setprofile.c--file---8<-- ------=_Part_232_9752704.1108381702412-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 11:54:13 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 975B316A4CE for ; Mon, 14 Feb 2005 11:54:13 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E5E143D1D for ; Mon, 14 Feb 2005 11:54:13 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so598316wra for ; Mon, 14 Feb 2005 03:54:12 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=hdxmVRSfb1OfWCaVaxkc2xxFYtA5le0fEKnDkg3TNtGI+kpQ+NzKlROMTkNlFMDyZRoz9QOsbqcqDeA8c2xNkf8CF7PSyyWWmQaH/XBVH5MTQb0NbSNjDlZvSFYWwtvl+4/3zRyu5D5coeq0ItzD6GCrCqQhif8YezRAYP8MmJw= Received: by 10.54.18.35 with SMTP id 35mr50894wrr; Mon, 14 Feb 2005 03:54:12 -0800 (PST) Received: by 10.54.32.58 with HTTP; Mon, 14 Feb 2005 03:54:12 -0800 (PST) Message-ID: <8f8eb53e05021403546a138dda@mail.gmail.com> Date: Mon, 14 Feb 2005 12:54:12 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_244_27618761.1108382052446" Subject: patch pvr250 (switch between profiles) ATTACH OK X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 11:54:13 -0000 ------=_Part_244_27618761.1108382052446 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline ------=_Part_244_27618761.1108382052446 Content-Type: application/octet-stream; name="patch-pvr250.txt~" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch-pvr250.txt~" VGhlIGFwcGxpY2F0aW9uIHNldHNpemUgYWxsb3dzIHN3aXRjaCBiZXR3ZWVuIDMgcHJvZmlsZXMg KGRldGVybWluZWQKZm9yIGZvcm1hdCBzaXplKS4gTmV4dCBwYXRjaCBhbGxvd3Mgc3dpdGNoIGJl dHdlZW4gOCBwcm9maWxlcyB1c2luZwpoYXJkd2FyZSBpb2N0bCdzLgoKTk9URTogVmFsdWVzIGZv ciBwcm9maWxlcyBhcmUgc2VsZWN0IGZvciBtZSwgIEknbSBub3QgYW4gZXhwZXJ0LCBpZgpzb21l Ym9keSBoYXZlIG1vcmUga25vd2xlZGdlIChvciBkYXRhc2hlZXQgb2YgY2hpcCkgY2hhbmdlIHNv dXJjZSBpdCdzCmVhc3kgKGZlZWJhY2sgaXMgYWx3YXlzIHdlbGNvbWUgYW5kIGNvcHkgb2YgZGF0 YXNoZWV0IHRvbykuIEZvcgpleGVtcGxlIHRoZSBUUyBwcm9maWxlIGRvbid0IHBsYXliYWNrIHdl bGwsIHNvbWUgbG9zc2VzIGluIGF1ZGlvIGFuZAp2aWRlbyAoZ3JhYiB3b3JrIHdpdGhvdXQgYXBh cmVudCBwcm9ibGVtKSwgYnV0IGkgc3Vwb3NzZSBpdCdzIHZlcnkKdXNlZnVsIGZvciBzdHJlYW1p bmcgbWFjaGluZXMuIE90aGVyIGV4YW1wbGUgaXMgTVBFRzEgcHJvZmlsZTogZG9uJ3QKcGxheWJh Y2sgd2VsbCwgaGlzIHZhbHVlcyBhcmUgc2VsZWN0ZWQgZm9yIHdvcmtzIHdpdGggZHZkYXV0aG9y IChvbmx5CmFjY2VwdCA0OCBLaHogYXVkaW8gc3RyZWFtcyksIGVjb25vbWl6ZSB0aW1lIGluIHdv cmsgZW5jb2RpbmcgcHJvY2Vzcy4KT3IgTVBFRzIgcHJvZmlsZSBzZWxlY3QgZm9yIGJlc3QgcXVh bGl0eSB3aXRob3V0IGxvc3NlcyB3aXRoIG1wbGF5ZXIKcGxheWJhY2sgKHdpdGggLWNhY2hlIDgx OTIsIG9mIGNvdXJzZSkuCgpGb3IgYXBwbHkgdGhpcyBwYXRjaCBmb2xsb3cgbmV4dCBzdGVwczoK MS4tCiNjZCAvdXNyL3BvcnRzL211bHRpbWVkaWEvcHZyMjUwLyAmJiBtYWtlIGNsZWFuICYmIG1h a2UgZXh0cmFjdAoyLi0KQ29weSB0aGUgZW5jbG9zZWQgZmlsZXMgKHNlZSBiZWxsb3cpICBwdnIy NTAtc2V0cHJvZmlsZSwgcGF0Y2hfY3htX2MKYW5kICBwYXRjaF9tb2R1bGVzX2N4bV9jeG1fTWFr ZWZpbGUgaW4gd29yay8gYW5kIGlvY3RsX21ldGVvcl9jb21wYXQuaAppbiB3b3JrL2Rldi9jeG0v CjMuLQpBcHBseSB0aGUgcGF0Y2hlczoKI3BhdGNoIDwgd29yay9wYXRjaF9jeG1fYyAmJiBwYXRj aCA8d29yay9wYXRjaF9tb2R1bGVzX2N4bV9jeG1fTWFrZWZpbGUKNC4tCkNvbXBpbGUgd2l0aDoK I21ha2UKCmNvcHk6CiNjcCB3b3JrL21vZHVsZXMvY3htLyovKi5rbyAvYm9vdC9rZXJuZWwvCgph bmQgdW5sb2FkIG1vZHVsZXMgJiBsb2FkIG5ldyBtb2R1bGVzOgojIGtsZHVubG9hZCBjeG0KIyBr bGR1bmxvYWQgY3htX2lpYwojIGtsZGxvYWQgY3htX2lpYwojIGtsZGxvYWQgY3htCk5PVEU6IFNl bGVjdCBhIGNoYW5uZWwgdGhlIGFwcGxpY2F0aW9uIHB2cjI1MC1zZXRwcm9maWxlIGFsbG93cyBj aGFuZ2UKcHJvZmlsZSBpbiBjb2xkIG9yIHdpaCBjaGFubmVsIHJ1bm5pbmcsIGJ1dCBkb24ndCBp bml0aWFsaXplIHRoZQpkZXZpY2UuCjUuLQpjb21waWxsZSBwdnIyNTAtc2V0cHJvZmlsZToKI2Nj IC1vIC91c3IvbG9jYWwvYmluL3B2cjI1MC1zZXRwcm9maWxlIHdvcmsvcHZyMjUwLXNldHByb2Zp bGUuYwo2Li0KRW5qb3kuClJlZ2FyZHMsIEx1aXMgTMOzcGV6IFNvbMOpLgoKTEFTVCBOT1RFOiBP bmx5IHRlc3RlZCBpbiBSRUxFR05fNSAoY29tcGlsZWQgbGFzdCB3ZWVrZW5kKS4KClNUQVJUIEZJ TEUgRU5DTE9TRUQgKHBhdGNoX2N4bV9jLWZpbGUpCi0tLTg8LS0tc3RhcnQtb2YtcGF0Y2hfY3ht X2MtZmlsZS0tLTg8LS0tLS0tODwtLS0KLS0tIHdvcmsvZGV2L2N4bS9jeG0uYy5PUklHSU5BTCAg ICAgICAgV2VkIEZlYiAgOSAwMzozNzoyMSAyMDA1CisrKyB3b3JrL2Rldi9jeG0vY3htLmMgIE1v biBGZWIgMTQgMDA6NTU6MDYgMjAwNQpAQCAtNjksNiArNjksNyBAQAojICBpbmNsdWRlIDxkZXYv Ymt0ci9pb2N0bF9idDg0OC5oPgojZW5kaWYKCisKI2luY2x1ZGUgPHN5cy9idXMuaD4KI2luY2x1 ZGUgPHN5cy9ybWFuLmg+CgpAQCAtODEsNyArODIsNyBAQAojZW5kaWYKCiNpbmNsdWRlIDxkZXYv Y3htL2N4bS5oPgotCisjaW5jbHVkZSA8ZGV2L2N4bS9pb2N0bF9tZXRlb3JfY29tcGF0Lmg+Cgov KgoqIFZhcmlvdXMgc3VwcG9ydGVkIGRldmljZSB2ZW5kb3JzL3R5cGVzIGFuZCB0aGVpciBuYW1l cy4KQEAgLTI5Miw2ICsyOTMsMjQwIEBACiAgICAgIDB4ZTkKfTsKCitzdGF0aWMgc3RydWN0IGN4 bV9jb2RlY19wcm9maWxlIG1wZWcyX250c2NfcHJvZmlsZSA9IHsKKyAgICAgICAiTVBFRy0yIE5U U0MgdmlkZW8gYW5kIE1QRUcgYXVkaW8iLAorICAgICAgIENYTV9GV19TVFJFQU1fVFlQRV9NUEVH Ml9QUk9HUkFNLAorICAgICAgIDMwLAorICAgICAgIDcyMCwgNDgwLCA0ODAsCisgICAgICAgeyAx MCwgMTIsIDIxIH0sCisgICAgICAgMiwKKyAgICAgICAwLAorICAgICAgIC8qCisgICAgICAgICog OCBNYi9zIChzaXplIG9mIEJMT0NLREVWSUNFKXRoZSBiZXN0IHF1YWxpdHkgZm9yIHJlYWx0aW1l IHBsYXliYWNrCisgICAgICAgICogd2l0aG91dCBsb3NzZXMgYW5kIGRlZmF1bHQgY2FjaGUgc2l6 ZSBmb3IgbXBsYXllciBhbmQgeGluZS4KKyAgICAgICAgKi8KKyAgICAgICB7IDAsIDgwMDAwMDAs IDgxOTIwMDAgfSwKKyAgICAgICB7IDEsIDE1LCAzfSwKKyAgICAgICAvKgorICAgICAgICAqIFNw YXRpYWwgZmlsdGVyID0gTWFudWFsLCBUZW1wb3JhbCBmaWx0ZXIgPSBNYW51YWwKKyAgICAgICAg KiBNZWRpYW4gZmlsdGVyID0gSG9yaXpvbnRhbCAvIFZlcnRpY2FsCisgICAgICAgICogU3BhdGlh bCBmaWx0ZXIgdmFsdWUgPSAxLCBUZW1wb3JhbCBmaWx0ZXIgdmFsdWUgPSA0CisgICAgICAgICov CisgICAgICAgeyAwLCAzLCAxLCA0IH0sCisgICAgICAgLyogNDggS2h6LCBNUEVHLTEgTGF5ZXIg SUksIDM4NCBrYi9zICovCisgICAgICAgMHhlOQorfTsKKworc3RhdGljIHN0cnVjdCBjeG1fY29k ZWNfcHJvZmlsZSBtcGVnMl9wYWxfcHJvZmlsZSA9IHsKKyAgICAgICAiTVBFRy0yIFBBTCB2aWRl byBhbmQgTVBFRyBhdWRpbyIsCisgICAgICAgQ1hNX0ZXX1NUUkVBTV9UWVBFX01QRUcyX1BST0dS QU0sCisgICAgICAgMjUsCisgICAgICAgNzIwLCA1NzYsIDU3NiwKKyAgICAgICB7IDYsIDE3LCAy MiB9LAorICAgICAgIDIsCisgICAgICAgMCwKKyAgICAgICAvKgorICAgICAgICAqIDggTWIvcyAo c2l6ZSBvZiBCTE9DS0RFVklDRSl0aGUgYmVzdCBxdWFsaXR5IGZvciByZWFsdGltZSBwbGF5YmFj aworICAgICAgICAqIHdpdGhvdXQgbG9zc2VzIGFuZCBkZWZhdWx0IGNhY2hlIHNpemUgZm9yIG1w bGF5ZXIgYW5kIHhpbmUuCisgICAgICAgICovCisgICAgICAgeyAwLCA4MDAwMDAwLCA4MTkyMDAw IH0sCisgICAgICAgeyAxLCAxMiwgM30sCisgICAgICAgLyoKKyAgICAgICAgKiBTcGF0aWFsIGZp bHRlciA9IE1hbnVhbCwgVGVtcG9yYWwgZmlsdGVyID0gTWFudWFsCisgICAgICAgICogTWVkaWFu IGZpbHRlciA9IEhvcml6b250YWwgLyBWZXJ0aWNhbAorICAgICAgICAqIFNwYXRpYWwgZmlsdGVy IHZhbHVlID0gMSwgVGVtcG9yYWwgZmlsdGVyIHZhbHVlID0gNAorICAgICAgICAqLworICAgICAg IHsgMCwgMywgMSwgNCB9LAorICAgICAgIC8qIDQ4IEtoeiwgTVBFRy0xIExheWVyIElJLCAzODQg a2IvcyAqLworICAgICAgIDB4ZTkKK307CisKK3N0YXRpYyBzdHJ1Y3QgY3htX2NvZGVjX3Byb2Zp bGUgbXBlZzFfbnRzY19wcm9maWxlID0geworICAgICAgICJNUEVHLTEgTlRTQyB2aWRlbyBhbmQg TVBFRyBhdWRpbyIsCisgICAgICAgQ1hNX0ZXX1NUUkVBTV9UWVBFX01QRUcxLAorICAgICAgIDMw LAorICAgICAgIDM1MiwgMjQwLCA0ODAsCisgICAgICAgeyAxMCwgMTIsIDIxIH0sCisgICAgICAg MTIsCisgICAgICAgMCwKKyAgICAgICAvKiBGb3Igc3RvcmUgNiBoIGluIERWRDUgYW5kIDEyIGgg aW4gRFZEOSAtSWRlYWwgZm9yIHNlcmllcy0qLworICAgICAgIHsgMSwgMjA0ODAwMCwgMCB9LAor ICAgICAgIHsgMSwgMTUsIDN9LAorICAgICAgIC8qCisgICAgICAgICogU3BhdGlhbCBmaWx0ZXIg PSBNYW51YWwsIFRlbXBvcmFsIGZpbHRlciA9IE1hbnVhbAorICAgICAgICAqIE1lZGlhbiBmaWx0 ZXIgPSBIb3Jpem9udGFsIC8gVmVydGljYWwKKyAgICAgICAgKiBTcGF0aWFsIGZpbHRlciB2YWx1 ZSA9IDEsIFRlbXBvcmFsIGZpbHRlciB2YWx1ZSA9IDQKKyAgICAgICAgKi8KKyAgICAgICB7IDAs IDMsIDEsIDQgfSwKKyAgICAgICAvKgorICAgICAgICAqIDQ4IEtoeiwgKHdpdGggNDQuMSBLaHog ZHZkYXV0aG9yIHJlcG9ydHMgV0FSTklOR1MgYW5kIHN5bmMgcHJvYmxlbXMpCisgICAgICAgICog TVBFRy0xIExheWVyIElJLCAyMjQga2IvcyBQUk9CTEVNUzogZG9uJ3Qgd29ya3MgaW4gcmVhbHRp bWUgcGxheWJhY2ssCisgICAgICAgICogYnV0IGlzIHRoZSBvbmx5IHByb2ZpbGUgdGhhdCB3b3Jr cyBmb3Igc3RvcmUgTVBFRzEgc3RyZWFtcyBpbiBEVkQuCisgICAgICAgICovCisgICAgICAgMHhi OQorfTsKKworc3RhdGljIHN0cnVjdCBjeG1fY29kZWNfcHJvZmlsZSBtcGVnMV9wYWxfcHJvZmls ZSA9IHsKKyAgICAgICAiTVBFRy0xIFBBTCB2aWRlbyBhbmQgTVBFRyBhdWRpbyIsCisgICAgICAg Q1hNX0ZXX1NUUkVBTV9UWVBFX01QRUcxLAorICAgICAgIDI1LAorICAgICAgIDM1MiwgMjg4LCA1 NzYsCisgICAgICAgeyA2LCAxNywgMjIgfSwKKyAgICAgICA4LAorICAgICAgIDAsCisgICAgICAg LyogRm9yIHN0b3JlIDYgaCBpbiBEVkQ1IGFuZCAxMiBoIGluIERWRDkgLUlkZWFsIGZvciBzZXJp ZXMtKi8KKyAgICAgICB7IDEsIDIwNDgwMDAsIDAgfSwKKyAgICAgICB7IDEsIDEyLCAzfSwKKyAg ICAgICAvKgorICAgICAgICAqIFNwYXRpYWwgZmlsdGVyID0gTWFudWFsLCBUZW1wb3JhbCBmaWx0 ZXIgPSBNYW51YWwKKyAgICAgICAgKiBNZWRpYW4gZmlsdGVyID0gSG9yaXpvbnRhbCAvIFZlcnRp Y2FsCisgICAgICAgICogU3BhdGlhbCBmaWx0ZXIgdmFsdWUgPSAxLCBUZW1wb3JhbCBmaWx0ZXIg dmFsdWUgPSA0CisgICAgICAgICovCisgICAgICAgeyAwLCAzLCAxLCA0IH0sCisgICAgICAgLyoK KyAgICAgICAgKiA0OCBLaHosICh3aXRoIDQ0LjEgS2h6IGR2ZGF1dGhvciByZXBvcnRzIFdBUk5J TkdTIGFuZCBzeW5jIHByb2JsZW1zKQorICAgICAgICAqIE1QRUctMSBMYXllciBJSSwgMjI0IGti L3MgUFJPQkxFTVM6IGRvbid0IHdvcmtzIGluIHJlYWx0aW1lIHBsYXliYWNrLAorICAgICAgICAq IGJ1dCBpcyB0aGUgb25seSBwcm9maWxlIHRoYXQgd29ya3MgZm9yIHN0b3JlIE1QRUcxIHN0cmVh bXMgaW4gRFZELgorICAgICAgICAqLworICAgICAgIDB4YjkKK307CisKK3N0YXRpYyBzdHJ1Y3Qg Y3htX2NvZGVjX3Byb2ZpbGUgZHZkX3MxX250c2NfcHJvZmlsZSA9IHsKKyAgICAgICAiTVBFRy0y IERWRF9TMSBOVFNDIHZpZGVvIGFuZCBNUEVHIGF1ZGlvIiwKKyAgICAgICBDWE1fRldfU1RSRUFN X1RZUEVfRFZEX1MxLAorICAgICAgIDMwLAorICAgICAgIDcyMCwgNDgwLCA0ODAsCisgICAgICAg eyAxMCwgMTIsIDIxIH0sCisgICAgICAgMiwKKyAgICAgICAwLAorICAgICAgIC8qIDQgTWIvcyB+ MkdiL2ggLSBJZGVhbCBmb3IgRFZENSAtMTQwIG1pbi4gYXByb3guIC0qLworICAgICAgIHsgMCwg NDAwMDAwMCwgNDA5NjAwMCB9LAorICAgICAgIHsgMSwgMTUsIDN9LAorICAgICAgIC8qCisgICAg ICAgICogU3BhdGlhbCBmaWx0ZXIgPSBNYW51YWwsIFRlbXBvcmFsIGZpbHRlciA9IE1hbnVhbAor ICAgICAgICAqIE1lZGlhbiBmaWx0ZXIgPSBIb3Jpem9udGFsIC8gVmVydGljYWwKKyAgICAgICAg KiBTcGF0aWFsIGZpbHRlciB2YWx1ZSA9IDEsIFRlbXBvcmFsIGZpbHRlciB2YWx1ZSA9IDQKKyAg ICAgICAgKi8KKyAgICAgICB7IDAsIDMsIDEsIDQgfSwKKyAgICAgICAvKiA0OCBLaHosIE1QRUct MSBMYXllciBJSSwgMzg0IGtiL3MgKi8KKyAgICAgICAweGU5Cit9OworCitzdGF0aWMgc3RydWN0 IGN4bV9jb2RlY19wcm9maWxlIGR2ZF9zMV9wYWxfcHJvZmlsZSA9IHsKKyAgICAgICAiTVBFRy0y IERWRCBQQUwgdmlkZW8gYW5kIE1QRUcgYXVkaW8iLAorICAgICAgIENYTV9GV19TVFJFQU1fVFlQ RV9EVkRfUzEsCisgICAgICAgMjUsCisgICAgICAgNzIwLCA1NzYsIDU3NiwKKyAgICAgICB7IDYs IDE3LCAyMiB9LAorICAgICAgIDIsCisgICAgICAgMCwKKyAgICAgICAvKiA0IE1iL3MgfjJHYi9o IC0gSWRlYWwgZm9yIERWRDUgLTE0MCBtaW4uIGFwcm94LiAtKi8KKyAgICAgICB7IDAsIDQwMDAw MDAsIDQwOTYwMDAgfSwKKyAgICAgICB7IDEsIDEyLCAzfSwKKyAgICAgICAvKgorICAgICAgICAq IFNwYXRpYWwgZmlsdGVyID0gTWFudWFsLCBUZW1wb3JhbCBmaWx0ZXIgPSBNYW51YWwKKyAgICAg ICAgKiBNZWRpYW4gZmlsdGVyID0gSG9yaXpvbnRhbCAvIFZlcnRpY2FsCisgICAgICAgICogU3Bh dGlhbCBmaWx0ZXIgdmFsdWUgPSAxLCBUZW1wb3JhbCBmaWx0ZXIgdmFsdWUgPSA0CisgICAgICAg ICovCisgICAgICAgeyAwLCAzLCAxLCA0IH0sCisgICAgICAgLyogNDggS2h6LCBNUEVHLTEgTGF5 ZXIgSUksIDM4NCBrYi9zICovCisgICAgICAgMHhlOQorfTsKKworc3RhdGljIHN0cnVjdCBjeG1f Y29kZWNfcHJvZmlsZSBkdmRfczJfbnRzY19wcm9maWxlID0geworICAgICAgICJNUEVHLTIgRFZE X1MyIE5UU0MgdmlkZW8gYW5kIE1QRUcgYXVkaW8iLAorICAgICAgIENYTV9GV19TVFJFQU1fVFlQ RV9EVkRfUzIsCisgICAgICAgMzAsCisgICAgICAgNzIwLCA0ODAsIDQ4MCwKKyAgICAgICB7IDEw LCAxMiwgMjEgfSwKKyAgICAgICAyLAorICAgICAgIDAsCisgICAgICAgLyoKKyAgICAgKiAyIE1i L3MgcGVhayB+MUdiL2ggRm9yIHN0b3JlIDYgaCBpbiBEVkQ1IGFuZCAxMiBoIGluIERWRDkKLUlk ZWFsIGZvciBzZXJpZXMtCisgICAgICAgICovCisgICAgICAgeyAwLCAyMDAwMDAwLCAyMDQ4MDAw IH0sCisgICAgICAgeyAxLCAxNSwgM30sCisgICAgICAgLyoKKyAgICAgICAgKiBTcGF0aWFsIGZp bHRlciA9IE1hbnVhbCwgVGVtcG9yYWwgZmlsdGVyID0gTWFudWFsCisgICAgICAgICogTWVkaWFu IGZpbHRlciA9IEhvcml6b250YWwgLyBWZXJ0aWNhbAorICAgICAgICAqIFNwYXRpYWwgZmlsdGVy IHZhbHVlID0gMSwgVGVtcG9yYWwgZmlsdGVyIHZhbHVlID0gNAorICAgICAgICAqLworICAgICAg IHsgMCwgMywgMSwgNCB9LAorICAgICAgIC8qIDQ4IEtoeiwgTVBFRy0xIExheWVyIElJLCAyMjQg a2IvcyAqLworICAgICAgIDB4YjkKK307CisKK3N0YXRpYyBzdHJ1Y3QgY3htX2NvZGVjX3Byb2Zp bGUgZHZkX3MyX3BhbF9wcm9maWxlID0geworICAgICAgICJNUEVHLTIgRFZEIFBBTCB2aWRlbyBh bmQgTVBFRyBhdWRpbyIsCisgICAgICAgQ1hNX0ZXX1NUUkVBTV9UWVBFX0RWRF9TMiwKKyAgICAg ICAyNSwKKyAgICAgICA3MjAsIDU3NiwgNTc2LAorICAgICAgIHsgNiwgMTcsIDIyIH0sCisgICAg ICAgMiwKKyAgICAgICAwLAorICAgICAgIC8qCisgICAgICogMiBNYi9zIHBlYWsgfjFHYi9oIEZv ciBzdG9yZSA2IGggaW4gRFZENSBhbmQgMTIgaCBpbiBEVkQ5Ci1JZGVhbCBmb3Igc2VyaWVzLQor ICAgICAgICAqLworICAgICAgIHsgMCwgMjAwMDAwMCwgMjA0ODAwMCB9LAorICAgICAgIHsgMSwg MTIsIDN9LAorICAgICAgIC8qCisgICAgICAgICogU3BhdGlhbCBmaWx0ZXIgPSBNYW51YWwsIFRl bXBvcmFsIGZpbHRlciA9IE1hbnVhbAorICAgICAgICAqIE1lZGlhbiBmaWx0ZXIgPSBIb3Jpem9u dGFsIC8gVmVydGljYWwKKyAgICAgICAgKiBTcGF0aWFsIGZpbHRlciB2YWx1ZSA9IDEsIFRlbXBv cmFsIGZpbHRlciB2YWx1ZSA9IDQKKyAgICAgICAgKi8KKyAgICAgICB7IDAsIDMsIDEsIDQgfSwK KyAgICAgICAvKiA0OCBLaHosIE1QRUctMSBMYXllciBJSSwgMjI0IGtiL3MgKi8KKyAgICAgICAw eGI5Cit9OworCitzdGF0aWMgc3RydWN0IGN4bV9jb2RlY19wcm9maWxlIG1wZWcyX3RzX250c2Nf cHJvZmlsZSA9IHsKKyAgICAgICAiTVBFRy0yIE5UU0MgdmlkZW8gYW5kIE1QRUcgYXVkaW8iLAor ICAgICAgIENYTV9GV19TVFJFQU1fVFlQRV9NUEVHMl9UUywKKyAgICAgICAzMCwKKyAgICAgICA3 MjAsIDQ4MCwgNDgwLAorICAgICAgIHsgMTAsIDEyLCAyMSB9LAorICAgICAgIDIsCisgICAgICAg MCwKKyAgICAgICAvKgorICAgICAgICAqIFVua25vdyBnb29kIHZhbHVlcy4gSSBkb24ndCBoYXZl IHRoZSBkYXRhc2hlZXQuCisgICAgICAgICogT05MWSBGT1IgVEVTVC4KKyAgICAgICAgKi8KKyAg ICAgICB7IDAsIDYwMDAwMDAsIDYxNDQwMDAgfSwKKyAgICAgICB7IDEsIDE1LCAzfSwKKyAgICAg ICAvKgorICAgICAgICAqIFNwYXRpYWwgZmlsdGVyID0gTWFudWFsLCBUZW1wb3JhbCBmaWx0ZXIg PSBNYW51YWwKKyAgICAgICAgKiBNZWRpYW4gZmlsdGVyID0gSG9yaXpvbnRhbCAvIFZlcnRpY2Fs CisgICAgICAgICogU3BhdGlhbCBmaWx0ZXIgdmFsdWUgPSAxLCBUZW1wb3JhbCBmaWx0ZXIgdmFs dWUgPSA0CisgICAgICAgICovCisgICAgICAgeyAwLCAzLCAxLCA0IH0sCisgICAgICAgLyogNDgg S2h6LCBNUEVHLTEgTGF5ZXIgSUksIDM4NCBrYi9zICovCisgICAgICAgMHhlOQorfTsKKworc3Rh dGljIHN0cnVjdCBjeG1fY29kZWNfcHJvZmlsZSBtcGVnMl90c19wYWxfcHJvZmlsZSA9IHsKKyAg ICAgICAiTVBFRy0yIFBBTCB2aWRlbyBhbmQgTVBFRyBhdWRpbyIsCisgICAgICAgQ1hNX0ZXX1NU UkVBTV9UWVBFX01QRUcyX1RTLAorICAgICAgIDI1LAorICAgICAgIDcyMCwgNTc2LCA1NzYsCisg ICAgICAgeyA2LCAxNywgMjIgfSwKKyAgICAgICAyLAorICAgICAgIDAsCisgICAgICAgLyoKKyAg ICAgICAgKiBVbmtub3cgZ29vZCB2YWx1ZXMuIEkgZG9uJ3QgaGF2ZSB0aGUgZGF0YXNoZWV0Lgor ICAgICAgICAqIE9OTFkgRk9SIFRFU1QuCisgICAgICAgICovCisgICAgICAgeyAwLCA2MDAwMDAw LCA2MTQ0MDAwIH0sCisgICAgICAgeyAxLCAxMiwgM30sCisgICAgICAgLyoKKyAgICAgICAgKiBT cGF0aWFsIGZpbHRlciA9IE1hbnVhbCwgVGVtcG9yYWwgZmlsdGVyID0gTWFudWFsCisgICAgICAg ICogTWVkaWFuIGZpbHRlciA9IEhvcml6b250YWwgLyBWZXJ0aWNhbAorICAgICAgICAqIFNwYXRp YWwgZmlsdGVyIHZhbHVlID0gMSwgVGVtcG9yYWwgZmlsdGVyIHZhbHVlID0gNAorICAgICAgICAq LworICAgICAgIHsgMCwgMywgMSwgNCB9LAorICAgICAgIC8qIDQ4IEtoeiwgTVBFRy0xIExheWVy IElJLCAzODQga2IvcyAqLworICAgICAgIDB4ZTkKK307CisKc3RhdGljIGNvbnN0IHN0cnVjdCBj eG1fY29kZWNfcHJvZmlsZQoqY29kZWNfcHJvZmlsZXNbXSA9IHsKICAgICAgJnZjZF9udHNjX3By b2ZpbGUsCkBAIC0yOTksNyArNTM0LDE3IEBACiAgICAgICZzdmNkX250c2NfcHJvZmlsZSwKICAg ICAgJnN2Y2RfcGFsX3Byb2ZpbGUsCiAgICAgICZkdmRfbnRzY19wcm9maWxlLAotICAgICAgICZk dmRfcGFsX3Byb2ZpbGUKKyAgICAgICAmZHZkX3BhbF9wcm9maWxlLAorICAgICAgICZtcGVnMl9u dHNjX3Byb2ZpbGUsCisgICAgICAgJm1wZWcyX3BhbF9wcm9maWxlLAorICAgICAgICZtcGVnMV9u dHNjX3Byb2ZpbGUsCisgICAgICAgJm1wZWcxX3BhbF9wcm9maWxlLAorICAgICAgICZkdmRfczFf bnRzY19wcm9maWxlLAorICAgICAgICZkdmRfczFfcGFsX3Byb2ZpbGUsCisgICAgICAgJmR2ZF9z Ml9udHNjX3Byb2ZpbGUsCisgICAgICAgJmR2ZF9zMl9wYWxfcHJvZmlsZSwKKyAgICAgICAmbXBl ZzJfdHNfbnRzY19wcm9maWxlLAorICAgICAgICZtcGVnMl90c19wYWxfcHJvZmlsZQp9OwoKQEAg LTgwMSw3ICsxMDQ2LDggQEAKCiAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IE5VTV9FTEVN RU5UUyhjb2RlY19wcm9maWxlcyk7IGkrKykKICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2Rl Y19wcm9maWxlc1tpXS0+ZnBzID09IGZwcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg Y29kZWNfcHJvZmlsZXNbaV0tPndpZHRoID09IHNjLT5wcm9maWxlLT53aWR0aCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICYmIGNvZGVjX3Byb2ZpbGVzW2ldLT53aWR0aCA9PSBzYy0+cHJv ZmlsZS0+d2lkdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb2RlY19wcm9m aWxlc1tpXS0+c3RyZWFtX3R5cGUgPT1zYy0+cHJvZmlsZS0+c3RyZWFtX3R5cGUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBpZiAoaSA+PSBOVU1f RUxFTUVOVFMoY29kZWNfcHJvZmlsZXMpKQpAQCAtMjI3OCw2ICsyNTI0LDcgQEAKICAgICAgZW51 bSBjeG1fc291cmNlIHNvdXJjZTsKICAgICAgc3RydWN0IGJrdHJfY2FwdHVyZV9hcmVhICpjYXA7 CiAgICAgIHN0cnVjdCBia3RyX3JlbW90ZSAqcmVtb3RlOworICAgICAgIHN0cnVjdCBtZXRlb3Jf Z2VvbWV0ICpteV9vZm9ybWF0OwogICAgICBpbnRybWFza190ICAgICAgczsKCiAgICAgIHVuaXQg PSBVTklUKCBtaW5vcihkZXYpICk7CkBAIC0yODQ4LDYgKzMwOTUsNDIgQEAKICAgICAgICAgICAg ICByZW1vdGUgPSAoc3RydWN0IGJrdHJfcmVtb3RlICopYXJnOwogICAgICAgICAgICAgIGlmIChj eG1faXJfa2V5KHNjLCAoY2hhciAqKXJlbW90ZSwgc2l6ZW9mKCpyZW1vdGUpKSA8IDApCiAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gRU5YSU87CisgICAgICAgICAgICAgICBicmVhazsKKwor CisvKiBNeSBpb2N0bCdzIGZvciBzd2l0Y2ggYmV0d2VlbiBwcm9maWxlcyovCisgICAgICAgY2Fz ZSBNRVRFT1JHRVRHRU86CisgICAgICAgICAgICAgICBteV9vZm9ybWF0ID0gKHN0cnVjdCBtZXRl b3JfZ2VvbWV0ICopYXJnOworICAgICAgICAgICAgICAgbWVtc2V0IChteV9vZm9ybWF0LCAwLCBz aXplb2YgKCpteV9vZm9ybWF0KSk7CisgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5yb3dzID0g MDsKKyAgICAgICAgICAgICAgIG15X29mb3JtYXQtPmNvbHVtbnMgPSAwOworICAgICAgICAgICAg ICAgbXlfb2Zvcm1hdC0+ZnJhbWVzID0gMDsKKyAgICAgICAgICAgICAgIG15X29mb3JtYXQtPm9m b3JtYXQgPSBzYy0+cHJvZmlsZS0+c3RyZWFtX3R5cGU7CisgICAgICAgICAgICAgICBicmVhazsK KworICAgICAgIGNhc2UgTUVURU9SU0VUR0VPOgorICAgICAgICAgICAgICAgaWYgKHNjLT5lbmNv ZGluZykKKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVCVVNZOworCisKKyAgICAgICAg ICAgICAgIG15X29mb3JtYXQgPSAoc3RydWN0IG1ldGVvcl9nZW9tZXQgKilhcmc7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG15X29mb3JtYXQtPnJvd3MgfHwgbXlfb2Zvcm1h dC0+Y29sdW1ucworICAgICAgICAgICAgICAgICAgIHx8IG15X29mb3JtYXQtPmZyYW1lcykKKyAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVJTlZBTDsKKworICAgICAgICAgICAgICAgLyoK KyAgICAgICAgICAgICAgICAqIFNldHRpbmcgdGhlICBzdHJlYW0gdHlwZSBoYXMgdGhlIHNpZGUg ZWZmZWN0IG9mCisgICAgICAgICAgICAgICAgKiBjaG9zaW5nIGJldHdlZW4gdGhlIFZDRCwgU1ZD RCwgYW5kIERWRCBwcm9maWxlcy4KKyAgICAgICAgICAgICAgICAqLworCisgICAgICAgICAgICAg ICBmb3IgKGkgPSAwOyBpIDwgTlVNX0VMRU1FTlRTKGNvZGVjX3Byb2ZpbGVzKTsgaSsrKQorICAg ICAgICAgICAgICAgICAgICAgICBpZiAoY29kZWNfcHJvZmlsZXNbaV0tPnN0cmVhbV90eXBlID09 IG15X29mb3JtYXQtPm9mb3JtYXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl YWs7CisKKyAgICAgICAgICAgICAgIGlmIChpID49IE5VTV9FTEVNRU5UUyhjb2RlY19wcm9maWxl cykpCisgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFSU5WQUw7CisKKyAgICAgICAgICAg ICAgIHNjLT5wcm9maWxlID0gY29kZWNfcHJvZmlsZXNbaV07CiAgICAgICAgICAgICAgYnJlYWs7 CgogICAgICBkZWZhdWx0OgoKLS0tODwtLS1lbmQtb2YtcGF0Y2hfY3htX2MtZmlsZS0tLTg8LS0t LS0tODwtLS0KCk5FWFQgRklMRSAocGF0Y2hfbW9kdWxlc19jeG1fY3htX01ha2VmaWxlKQotLS04 PC0tLXN0YXJ0LW9mLXBhdGNoX21vZHVsZXNfY3htX2N4bV9NYWtlZmlsZS0tZmlsZS0tODwKLS0t IHdvcmsvbW9kdWxlcy9jeG0vY3htL01ha2VmaWxlLk9SSUdJTkFMICAgICAgU3VuIEZlYiAgNiAw MTozODo1NCAyMDA1CisrKyB3b3JrL21vZHVsZXMvY3htL2N4bS9NYWtlZmlsZSAgICAgICBXZWQg RmViICA5IDA1OjE3OjI3IDIwMDUKQEAgLTEsNyArMSw3IEBACi5QQVRIOiAkey5DVVJESVJ9Ly4u Ly4uLy4uL2Rldi9jeG0KS01PRCAgID0gY3htClNSQ1MgICA9IGN4bS5jIGN4bS5oIGN4bV9kZWNf ZncuYyBjeG1fZW5jX2Z3LmMgY3htX2F1ZGlvLmMgY3htX2VlcHJvbS5jIFwKLSAgICAgICAgIGN4 bV9pci5jIGN4bV90dW5lci5jIGN4bV92aWRlby5jIG9wdF9jeG0uaCBcCisgICAgICAgICBjeG1f aXIuYyBjeG1fdHVuZXIuYyBjeG1fdmlkZW8uYyBpb2N0bF9tZXRlb3JfY29tcGF0Lmggb3B0X2N4 bS5oIFwKICAgICAgICBidXNfaWYuaCBkZXZpY2VfaWYuaCBpaWNiYl9pZi5oIHBjaV9pZi5oIHZu b2RlX2lmLmgKCi5pbmNsdWRlIDxic2Qua21vZC5taz4KCi0tLTg8LS0tZW5kLW9mLXBhdGNoX21v ZHVsZXNfY3htX2N4bV9NYWtlZmlsZS0tZmlsZS0tODwKCk5FWFQgRklMRSAoaW9jdGxfbWV0ZW9y X2NvbXBhdC5oKQotLS04PC0tLXN0YXJ0LW9mLWlvY3RsX21ldGVvcl9jb21wYXQuaC0tZmlsZS0t LTg8LS0KLyogaW9jdGxfbWV0ZW9yX2NvbXBhdC5oIC0gRGVmaW5lcyBmb3IgbWV0ZW9yIGNvbXBh dGliaWxpdHkgaW50ZXJmYWNlICovCgojZGVmaW5lIENYTV9GV19TVFJFQU1fVFlQRV9EVkQgICAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwYQojZGVmaW5lIE1FVEVPUl9HRU9fRFZEICBDWE1f RldfU1RSRUFNX1RZUEVfRFZECiNkZWZpbmUgQ1hNX0ZXX1NUUkVBTV9UWVBFX01QRUcxICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDAyCiNkZWZpbmUgTUVURU9SX0dFT19NUEVHMSAgICAgICAg Q1hNX0ZXX1NUUkVBTV9UWVBFX01QRUcxCiNkZWZpbmUgQ1hNX0ZXX1NUUkVBTV9UWVBFX01QRUcy X1BST0dSQU0gICAgICAgICAgICAweDAwMDAwMDAwCiNkZWZpbmUgTUVURU9SX0dFT19NUEVHMl9Q Uk9HUkFNICAgICAgICBDWE1fRldfU1RSRUFNX1RZUEVfTVBFRzJfUFJPR1JBTQojZGVmaW5lIENY TV9GV19TVFJFQU1fVFlQRV9TVkNEICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwYwojZGVm aW5lIE1FVEVPUl9HRU9fU1ZDRCBDWE1fRldfU1RSRUFNX1RZUEVfU1ZDRAojZGVmaW5lIENYTV9G V19TVFJFQU1fVFlQRV9WQ0QgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwYgojZGVmaW5l IE1FVEVPUl9HRU9fVkNEICBDWE1fRldfU1RSRUFNX1RZUEVfVkNECiNkZWZpbmUgQ1hNX0ZXX1NU UkVBTV9UWVBFX01QRUcyX1RTCjB4MDAwMDAwMDEKI2RlZmluZSBNRVRFT1JfR0VPX01QRUcyX1RT ICAgICBDWE1fRldfU1RSRUFNX1RZUEVfTVBFRzJfVFMKI2RlZmluZSBDWE1fRldfU1RSRUFNX1RZ UEVfUEVTX0FWIDB4MDAwMDAwMDMgLyogVGVzdCBhbmQgZG9uJ3Qgd29yayAqLwojZGVmaW5lIE1F VEVPUl9HRU9fUEVTX0FWICAgICAgIENYTV9GV19TVFJFQU1fVFlQRV9QRVNfQVYKI2RlZmluZSBD WE1fRldfU1RSRUFNX1RZUEVfUEVTX1YgMHgwMDAwMDAwNSAvKiBOb3QgdGVzdGVkICovCiNkZWZp bmUgTUVURU9SX0dFT19QRVNfViAgICAgICAgQ1hNX0ZXX1NUUkVBTV9UWVBFX1BFU19WCiNkZWZp bmUgQ1hNX0ZXX1NUUkVBTV9UWVBFX1BFU19BIDB4MDAwMDAwMDcgLyogTm90IHRlc3RlZCAqLwoj ZGVmaW5lIE1FVEVPUl9HRU9fUEVTX0EgICAgICAgIENYTV9GV19TVFJFQU1fVFlQRV9QRVNfQQoj ZGVmaW5lIENYTV9GV19TVFJFQU1fVFlQRV9EVkRfUzEgMHgwMDAwMDAwZAojZGVmaW5lIE1FVEVP Ul9HRU9fRFZEX1MxICAgICAgIENYTV9GV19TVFJFQU1fVFlQRV9EVkRfUzEKI2RlZmluZSBDWE1f RldfU1RSRUFNX1RZUEVfRFZEX1MyIDB4MDAwMDAwMGUKI2RlZmluZSBNRVRFT1JfR0VPX0RWRF9T MiAgICAgICBDWE1fRldfU1RSRUFNX1RZUEVfRFZEX1MyCgotLS04PC0tLWVuZC1vZi1pb2N0bF9t ZXRlb3JfY29tcGF0LmgtLWZpbGUtLS04PC0tCgpMQVNUIEZJTEUgKHB2cjI1MC1zZXRwcm9maWxl LmMpCi0tLTg8LS0tc3RhcnQtb2YtcHZyMjUwLXNldHByb2ZpbGUuYy0tZmlsZS0tLTg8LS0KI2lu Y2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CiNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3Rk bGliLmg+CiNpbmNsdWRlIDxkZXYvYmt0ci9pb2N0bF9idDg0OC5oPgojaW5jbHVkZSA8ZGV2L2Jr dHIvaW9jdGxfbWV0ZW9yLmg+CiNpbmNsdWRlICIuL2Rldi9jeG0vaW9jdGxfbWV0ZW9yX2NvbXBh dC5oIgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBzZXRwcm9maWxlLmMgIC0gIFNldCB0aGUg cG9yZmlsZSBvZiB0aGUgYmt0ciB0dW5lciBjYXJkLiAgICAgICAgICAgICAgICAqLwovKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8KLyogIENPTVBJTEUgV0lUSDogIGNjIC1vIHB2cjI1MC1zZXRwcm9maWxl IHB2cjI1MC1zZXRwcm9maWxlLmMgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq LwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KCnN0YXRpYyB2b2lkCnVzYWdlKCkKewpwcmludGYoIlVz YWdlOiBzZXRwcm9maWxlIDwtYXwtYnwtY3wtZHwtZXwtbHwteHwtdD5cblxuIgogICAgICAgICAg ICAgICAgICAgICAgIiAgLWEgICBFbmFibGUgRFZEIHByb2ZpbGUuICAgICAgVmlkZW86CjcyMHg1 NzUvNDgwLCA5NTIwIGticy5cbiIKICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEF1ZGlvOiAzODQga2JzIDQ4IEtoelxuXG4iCiAgICAgICAgICAg ICAgICAgICAgICAiICAtYiAgIEVuYWJsZSBTVkNEIHByb2ZpbGUuICAgICBWaWRlbzogNDgweDQ4 MC81NzYsIDI1MDAga2JzLlxuIgogICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQXVkaW86IDIyNCBrYnMgNDEuMSBLaHpcblxuIgogICAgICAgICAg ICAgICAgICAgICAgIiAgLWMgIEVuYWJsZSBWQ0QgcHJvZmlsZS4gICAgICAgVmlkZW86IDM1Mngy ODgvMzUyeDI0MCwgMTE1MCBrYnMuXG4iCiAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBdWRpbzogMjI0IGticyA0MS4xIEtoei5cblxuIgogICAg ICAgICAgICAgICAgICAgICAgIiAgLWQgICBFbmFibGUgTVBFRzIgcHJvZmlsZS4gICAgVmlkZW86 IDcyMHg1NzUvNDgwLCA4MTkyIGticy5cbiIKICAgICAgICAgICAgICAgICAgICAgICIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGlvOiAzODQga2JzIDQ4IEtoei5cblxuIgogICAg ICAgICAgICAgICAgICAgICAgIiAgLWUgICBFbmFibGUgTVBFRzEgcHJvZmlsZS4gICAgVmlkZW86 IDM1MngyODgvMzUyeDI0MCwgMjA0OCBrYnMuXG4iCiAgICAgICAgICAgICAgICAgICAgICAiICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpbzogMjI0IGticyA0OCBLaHouXG5cbiIK ICAgICAgICAgICAgICAgICAgICAgICIgIC1sICAgRW5hYmxlIERWRFMxIHByb2ZpbGUuICAgIFZp ZGVvOiA3MjB4NTc1LzQ4MCwgNDA5NiBrYnMuXG4iCiAgICAgICAgICAgICAgICAgICAgICAiICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpbzogMzg0IGticyA0OCBLaHouXG5cbiIK ICAgICAgICAgICAgICAgICAgICAgICIgIC14ICAgRW5hYmxlIERWRFMyIHByb2ZpbGUuICAgIFZp ZGVvOiA3MjB4NTc1LzQ4MCwgMjA0OCBrYnMuXG4iCiAgICAgICAgICAgICAgICAgICAgICAiICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpbzogMjI0IGticyA0OCBLaHouXG5cbiIK ICAgICAgICAgICAgICAgICAgICAgICIgIC10ICAgRW5hYmxlIE1QRUcyX1RTIHByb2ZpbGUuIFZp ZGVvOiA3MjB4NTc1LzQ4MCwgNjE0NCBrYnMuXG4iCiAgICAgICAgICAgICAgICAgICAgICAiICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpbzogMzg0IGticyA0OCBLaHouXG4iKTsK fQoKaW50IG1haW4oIGludCBhcmdjLCBjaGFyICphcmd2W10gKQp7CmNoYXIgb3B0OwppbnQgc3Rh dHVzOwppbnQgdGZkOwpzdHJ1Y3QgbWV0ZW9yX2dlb21ldCAqbXlfb2Zvcm1hdDsKc3RydWN0IG1l dGVvcl9iaXRyYXRlICpteV9iaXRyYXRlOwoKd2hpbGUgKChvcHQgPSBnZXRvcHQgKGFyZ2MsIGFy Z3YsICI6YWJjZGVseHQiKSkgIT0gLTEpCiAgICAgICBzd2l0Y2ggKG9wdCl7CiAgICAgICAgY2Fz ZSAnYSc6CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0PShzdHJ1Y3QgbWV0ZW9yX2dlb21ldCAq KWNhbGxvYyhzaXplb2Yoc3RydWN0IG1ldGVvcl9nZW9tZXQpLDEpOwogICAgICAgICAgICAgICAg bXlfb2Zvcm1hdC0+cm93cyA9IDA7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5jb2x1bW5z ID0gMDsKICAgICAgICAgICAgICAgIG15X29mb3JtYXQtPmZyYW1lcyA9IDA7CiAgICAgICAgICAg ICAgICBteV9vZm9ybWF0LT5vZm9ybWF0PSBNRVRFT1JfR0VPX0RWRDsKICAgICAgICAgICAgICAg IHByaW50ZigiU2V0dGluZyB0byAlZFxuIixteV9vZm9ybWF0LT5vZm9ybWF0KTsKICAgICAgICAg ICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdiJzoKICAgICAgICAgICAgICAgIG15X29mb3Jt YXQ9KHN0cnVjdCBtZXRlb3JfZ2VvbWV0ICopY2FsbG9jKHNpemVvZihzdHJ1Y3QgbWV0ZW9yX2dl b21ldCksMSk7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5yb3dzID0gMDsKICAgICAgICAg ICAgICAgIG15X29mb3JtYXQtPmNvbHVtbnMgPSAwOwogICAgICAgICAgICAgICAgbXlfb2Zvcm1h dC0+ZnJhbWVzID0gMDsKICAgICAgICAgICAgICAgIG15X29mb3JtYXQtPm9mb3JtYXQ9IE1FVEVP Ul9HRU9fU1ZDRDsKICAgICAgICAgICAgICAgIHByaW50ZigiU2V0dGluZyB0byAlZFxuIixteV9v Zm9ybWF0LT5vZm9ybWF0KTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdj JzoKICAgICAgICAgICAgICAgIG15X29mb3JtYXQ9KHN0cnVjdCBtZXRlb3JfZ2VvbWV0ICopY2Fs bG9jKHNpemVvZihzdHJ1Y3QgbWV0ZW9yX2dlb21ldCksMSk7CiAgICAgICAgICAgICAgICBteV9v Zm9ybWF0LT5yb3dzID0gMDsKICAgICAgICAgICAgICAgIG15X29mb3JtYXQtPmNvbHVtbnMgPSAw OwogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdC0+ZnJhbWVzID0gMDsKICAgICAgICAgICAgICAg IG15X29mb3JtYXQtPm9mb3JtYXQ9IE1FVEVPUl9HRU9fVkNEOwogICAgICAgICAgICAgICAgcHJp bnRmKCJTZXR0aW5nIHRvICVkXG4iLG15X29mb3JtYXQtPm9mb3JtYXQpOwogICAgICAgICAgICAg ICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2QnOgogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdD0o c3RydWN0IG1ldGVvcl9nZW9tZXQgKiljYWxsb2Moc2l6ZW9mKHN0cnVjdCBtZXRlb3JfZ2VvbWV0 KSwxKTsKICAgICAgICAgICAgICAgIG15X29mb3JtYXQtPnJvd3MgPSAwOwogICAgICAgICAgICAg ICAgbXlfb2Zvcm1hdC0+Y29sdW1ucyA9IDA7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5m cmFtZXMgPSAwOwogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdC0+b2Zvcm1hdD0gTUVURU9SX0dF T19NUEVHMl9QUk9HUkFNOwogICAgICAgICAgICAgICAgcHJpbnRmKCJTZXR0aW5nIHRvICVkXG4i LG15X29mb3JtYXQtPm9mb3JtYXQpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNh c2UgJ2UnOgogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdD0oc3RydWN0IG1ldGVvcl9nZW9tZXQg KiljYWxsb2Moc2l6ZW9mKHN0cnVjdCBtZXRlb3JfZ2VvbWV0KSwxKTsKICAgICAgICAgICAgICAg IG15X29mb3JtYXQtPnJvd3MgPSAwOwogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdC0+Y29sdW1u cyA9IDA7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5mcmFtZXMgPSAwOwogICAgICAgICAg ICAgICAgbXlfb2Zvcm1hdC0+b2Zvcm1hdD0gTUVURU9SX0dFT19NUEVHMTsKICAgICAgICAgICAg ICAgIHByaW50ZigiU2V0dGluZyB0byAlZFxuIixteV9vZm9ybWF0LT5vZm9ybWF0KTsKICAgICAg ICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdsJzoKICAgICAgICAgICAgICAgIG15X29m b3JtYXQ9KHN0cnVjdCBtZXRlb3JfZ2VvbWV0ICopY2FsbG9jKHNpemVvZihzdHJ1Y3QgbWV0ZW9y X2dlb21ldCksMSk7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5yb3dzID0gMDsKICAgICAg ICAgICAgICAgIG15X29mb3JtYXQtPmNvbHVtbnMgPSAwOwogICAgICAgICAgICAgICAgbXlfb2Zv cm1hdC0+ZnJhbWVzID0gMDsKICAgICAgICAgICAgICAgIG15X29mb3JtYXQtPm9mb3JtYXQ9IE1F VEVPUl9HRU9fRFZEX1MxOwogICAgICAgICAgICAgICAgcHJpbnRmKCJTZXR0aW5nIHRvICVkXG4i LG15X29mb3JtYXQtPm9mb3JtYXQpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNh c2UgJ3gnOgogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdD0oc3RydWN0IG1ldGVvcl9nZW9tZXQg KiljYWxsb2Moc2l6ZW9mKHN0cnVjdCBtZXRlb3JfZ2VvbWV0KSwxKTsKICAgICAgICAgICAgICAg IG15X29mb3JtYXQtPnJvd3MgPSAwOwogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdC0+Y29sdW1u cyA9IDA7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5mcmFtZXMgPSAwOwogICAgICAgICAg ICAgICAgbXlfb2Zvcm1hdC0+b2Zvcm1hdD0gTUVURU9SX0dFT19EVkRfUzI7CiAgICAgICAgICAg ICAgICBwcmludGYoIlNldHRpbmcgdG8gJWRcbiIsbXlfb2Zvcm1hdC0+b2Zvcm1hdCk7CiAgICAg ICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAndCc6CiAgICAgICAgICAgICAgICBteV9v Zm9ybWF0PShzdHJ1Y3QgbWV0ZW9yX2dlb21ldCAqKWNhbGxvYyhzaXplb2Yoc3RydWN0IG1ldGVv cl9nZW9tZXQpLDEpOwogICAgICAgICAgICAgICAgbXlfb2Zvcm1hdC0+cm93cyA9IDA7CiAgICAg ICAgICAgICAgICBteV9vZm9ybWF0LT5jb2x1bW5zID0gMDsKICAgICAgICAgICAgICAgIG15X29m b3JtYXQtPmZyYW1lcyA9IDA7CiAgICAgICAgICAgICAgICBteV9vZm9ybWF0LT5vZm9ybWF0PSBN RVRFT1JfR0VPX01QRUcyX1RTOwogICAgICAgICAgICAgICAgcHJpbnRmKCJTZXR0aW5nIHRvICVk XG4iLG15X29mb3JtYXQtPm9mb3JtYXQpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAg IGRlZmF1bHQ6CiAgICAgICAgICAgICAgICB1c2FnZSAoKTsKICAgICAgICAgICAgICAgIGV4aXQg KDEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKdGZkID0gb3BlbiggIi9kZXYv Y3htMCIsIE9fUkRPTkxZICk7CmlmICggdGZkIDwgMCApIHsKICBwZXJyb3IoICJvcGVuKCkgb2Yg L2Rldi9jeG0wIGZhaWxlZC4iICk7CiAgZXhpdCgxKTsKfQoKaWYgKCBpb2N0bCggdGZkLCBNRVRF T1JTRVRHRU8sIG15X29mb3JtYXQgKSA8IDAgKSB7CiAgICBwZXJyb3IoICJpb2N0bCggdGZkLCBN RVRFT1JTRVRHRU8gKSBmYWlsZWQuIiApOwogICAgc3RhdHVzID0gMTsKfQoKY2xvc2UgKCB0ZmQg KTsKZXhpdCAoIHN0YXR1cyApOwp9CgotLS04PC0tLWVuZC1vZi1wdnIyNTAtc2V0cHJvZmlsZS5j LS1maWxlLS0tODwtLQo= ------=_Part_244_27618761.1108382052446-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 12:44:51 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 10F5916A4CE for ; Mon, 14 Feb 2005 12:44:51 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.202]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78FC843D58 for ; Mon, 14 Feb 2005 12:44:50 +0000 (GMT) (envelope-from cronopiolopez@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so603906wra for ; Mon, 14 Feb 2005 04:44:48 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=Nns/CmWInVyMDgvkoZJTdJii/cSD0ZsAHn8Sh6CKkIcLK0dry0mJPwgloUn0CECSSnusxx6nYWlVsp3xDb99jAWCso9KNDLXjJ7EXDL+lr01D8jchbNnnF84t6GwhPM8ACfKaMpUE2TdqYEMUiTVQYTcHeZfKdkrDAu2hAK28oM= Received: by 10.54.16.58 with SMTP id 58mr60758wrp; Mon, 14 Feb 2005 04:44:47 -0800 (PST) Received: by 10.54.32.58 with HTTP; Mon, 14 Feb 2005 04:44:47 -0800 (PST) Message-ID: <8f8eb53e050214044450fbe8b@mail.gmail.com> Date: Mon, 14 Feb 2005 13:44:47 +0100 From: =?ISO-8859-1?Q?Lluis_L=F3pez?= To: freebsd-multimedia@freebsd.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_264_9883545.1108385087845" Subject: Patch pvr250 (switch between profiles) DEFINITIVE VERSION (I hope) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: =?ISO-8859-1?Q?Lluis_L=F3pez?= List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 12:44:51 -0000 ------=_Part_264_9883545.1108385087845 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline ------=_Part_264_9883545.1108385087845 Content-Type: text/plain; name="patch-pvr250.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch-pvr250.txt" First, I'm sorry for the "spam attack" (I'm feel some stupid send and=20 send messages), but think that is a ineresting patch. The application setsize allows switch between 3 profiles (determined for format size). Next patch allows switch between 8 profiles using hardware ioctl's. NOTE: Values for profiles are select for me, I'm not an expert, if somebody have more knowledge (or datasheet of chip) change source it's easy (feeback is always welcome and copy of datasheet too). For exemple the TS profile don't playback well, some losses in audio and video (grab work without aparent problem), but i suposse it's very useful for streaming machines. Other example is MPEG1 profile: don't playback well, his values are selected for works with dvdauthor (only accept 48 Khz audio streams), economize time in work encoding process. Or MPEG2 profile select for best quality without losses with mplayer playback (with -cache 8192, of course). For apply this patch follow next steps: 1.- #cd /usr/ports/multimedia/pvr250/ && make clean && make extract 2.- Copy the enclosed files (see bellow) pvr250-setprofile, patch_cxm_c and patch_modules_cxm_cxm_Makefile in work/ and ioctl_meteor_compat.h in work/dev/cxm/ 3.- Apply the patches: #patch < work/patch_cxm_c && patch #endif + #include #include @@ -81,7 +82,7 @@ #endif #include - +#include /* * Various supported device vendors/types and their names. @@ -292,6 +293,240 @@ 0xe9 }; +static struct cxm_codec_profile mpeg2_ntsc_profile =3D { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playba= ck + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_pal_profile =3D { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_PROGRAM, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 8 Mb/s (size of BLOCKDEVICE)the best quality for realtime playba= ck + * without losses and default cache size for mplayer and xine. + */ + { 0, 8000000, 8192000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg1_ntsc_profile =3D { + "MPEG-1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 30, + 352, 240, 480, + { 10, 12, 21 }, + 12, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync probl= ems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime play= back, + * but is the only profile that works for store MPEG1 streams in DV= D. + */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg1_pal_profile =3D { + "MPEG-1 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG1, + 25, + 352, 288, 576, + { 6, 17, 22 }, + 8, + 0, + /* For store 6 h in DVD5 and 12 h in DVD9 -Ideal for series-*/ + { 1, 2048000, 0 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* + * 48 Khz, (with 44.1 Khz dvdauthor reports WARNINGS and sync probl= ems) + * MPEG-1 Layer II, 224 kb/s PROBLEMS: don't works in realtime play= back, + * but is the only profile that works for store MPEG1 streams in DV= D. + */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s1_ntsc_profile =3D { + "MPEG-2 DVD_S1 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s1_pal_profile =3D { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S1, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* 4 Mb/s ~2Gb/h - Ideal for DVD5 -140 min. aprox. -*/ + { 0, 4000000, 4096000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile dvd_s2_ntsc_profile =3D { + "MPEG-2 DVD_S2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9 -Ideal= for series- + */ + { 0, 2000000, 2048000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile dvd_s2_pal_profile =3D { + "MPEG-2 DVD PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_DVD_S2, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * 2 Mb/s peak ~1Gb/h For store 6 h in DVD5 and 12 h in DVD9-Ideal = for series- + */ + { 0, 2000000, 2048000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 224 kb/s */ + 0xb9 +}; + +static struct cxm_codec_profile mpeg2_ts_ntsc_profile =3D { + "MPEG-2 NTSC video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 30, + 720, 480, 480, + { 10, 12, 21 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 15, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + +static struct cxm_codec_profile mpeg2_ts_pal_profile =3D { + "MPEG-2 PAL video and MPEG audio", + CXM_FW_STREAM_TYPE_MPEG2_TS, + 25, + 720, 576, 576, + { 6, 17, 22 }, + 2, + 0, + /* + * Unknow good values. I don't have the datasheet. + * ONLY FOR TEST. + */ + { 0, 6000000, 6144000 }, + { 1, 12, 3}, + /* + * Spatial filter =3D Manual, Temporal filter =3D Manual + * Median filter =3D Horizontal / Vertical + * Spatial filter value =3D 1, Temporal filter value =3D 4 + */ + { 0, 3, 1, 4 }, + /* 48 Khz, MPEG-1 Layer II, 384 kb/s */ + 0xe9 +}; + static const struct cxm_codec_profile *codec_profiles[] =3D { &vcd_ntsc_profile, @@ -299,7 +534,17 @@ &svcd_ntsc_profile, &svcd_pal_profile, &dvd_ntsc_profile, - &dvd_pal_profile + &dvd_pal_profile, + &mpeg2_ntsc_profile, + &mpeg2_pal_profile, + &mpeg1_ntsc_profile, + &mpeg1_pal_profile, + &dvd_s1_ntsc_profile, + &dvd_s1_pal_profile, + &dvd_s2_ntsc_profile, + &dvd_s2_pal_profile, + &mpeg2_ts_ntsc_profile, + &mpeg2_ts_pal_profile }; @@ -801,7 +1046,8 @@ for (i =3D 0; i < NUM_ELEMENTS(codec_profiles); i++) if (codec_profiles[i]->fps =3D=3D fps - && codec_profiles[i]->width =3D=3D sc->profile-= >width) + && codec_profiles[i]->width =3D=3D sc->profile-= >width + && codec_profiles[i]->stream_type =3D=3Dsc-= >profile->stream_type) break; if (i >=3D NUM_ELEMENTS(codec_profiles)) @@ -2278,6 +2524,7 @@ enum cxm_source source; struct bktr_capture_area *cap; struct bktr_remote *remote; + struct meteor_geomet *my_oformat; intrmask_t s; unit =3D UNIT( minor(dev) ); @@ -2848,6 +3095,42 @@ remote =3D (struct bktr_remote *)arg; if (cxm_ir_key(sc, (char *)remote, sizeof(*remote)) < 0) return ENXIO; + break; + + +/* My ioctl's for switch between profiles*/ + case METEORGETGEO: + my_oformat =3D (struct meteor_geomet *)arg; + memset (my_oformat, 0, sizeof (*my_oformat)); + my_oformat->rows =3D 0; + my_oformat->columns =3D 0; + my_oformat->frames =3D 0; + my_oformat->oformat =3D sc->profile->stream_type; + break; + + case METEORSETGEO: + if (sc->encoding) + return EBUSY; + + + my_oformat =3D (struct meteor_geomet *)arg; + if (my_oformat->rows || my_oformat->columns + || my_oformat->frames) + return EINVAL; + + /* + * Setting the stream type has the side effect of + * chosing between the VCD, SVCD, and DVD profiles. + */ + + for (i =3D 0; i < NUM_ELEMENTS(codec_profiles); i++) + if (codec_profiles[i]->stream_type =3D=3D my_oforma= t->oformat) + break; + + if (i >=3D NUM_ELEMENTS(codec_profiles)) + return EINVAL; + + sc->profile =3D codec_profiles[i]; break; default: ---8<---end-of-patch_cxm_c-file---8<------8<--- NEXT FILE (patch_modules_cxm_cxm_Makefile) ---8<---start-of-patch_modules_cxm_cxm_Makefile--file--8< --- work/modules/cxm/cxm/Makefile.ORIGINAL Sun Feb 6 01:38:54 2005 +++ work/modules/cxm/cxm/Makefile Wed Feb 9 05:17:27 2005 @@ -1,7 +1,7 @@ .PATH: ${.CURDIR}/../../../dev/cxm KMOD =3D cxm SRCS =3D cxm.c cxm.h cxm_dec_fw.c cxm_enc_fw.c cxm_audio.c cxm_eeprom.c \ - cxm_ir.c cxm_tuner.c cxm_video.c opt_cxm.h \ + cxm_ir.c cxm_tuner.c cxm_video.c ioctl_meteor_compat.h opt_cxm.h = \ bus_if.h device_if.h iicbb_if.h pci_if.h vnode_if.h .include ---8<---end-of-patch_modules_cxm_cxm_Makefile--file--8< NEXT FILE (ioctl_meteor_compat.h) ---8<---start-of-ioctl_meteor_compat.h--file---8<-- /* ioctl_meteor_compat.h - Defines for meteor compatibility interface */ #define CXM_FW_STREAM_TYPE_DVD 0x0000000a #define METEOR_GEO_DVD CXM_FW_STREAM_TYPE_DVD #define CXM_FW_STREAM_TYPE_MPEG1 0x00000002 #define METEOR_GEO_MPEG1 CXM_FW_STREAM_TYPE_MPEG1 #define CXM_FW_STREAM_TYPE_MPEG2_PROGRAM 0x00000000 #define METEOR_GEO_MPEG2_PROGRAM CXM_FW_STREAM_TYPE_MPEG2_PROGRAM #define CXM_FW_STREAM_TYPE_SVCD 0x0000000c #define METEOR_GEO_SVCD CXM_FW_STREAM_TYPE_SVCD #define CXM_FW_STREAM_TYPE_VCD 0x0000000b #define METEOR_GEO_VCD CXM_FW_STREAM_TYPE_VCD #define CXM_FW_STREAM_TYPE_MPEG2_TS 0x00000001 #define METEOR_GEO_MPEG2_TS CXM_FW_STREAM_TYPE_MPEG2_TS #define CXM_FW_STREAM_TYPE_PES_AV 0x00000003 /* Test and don't work */ #define METEOR_GEO_PES_AV CXM_FW_STREAM_TYPE_PES_AV #define CXM_FW_STREAM_TYPE_PES_V 0x00000005 /* Not tested */ #define METEOR_GEO_PES_V CXM_FW_STREAM_TYPE_PES_V #define CXM_FW_STREAM_TYPE_PES_A 0x00000007 /* Not tested */ #define METEOR_GEO_PES_A CXM_FW_STREAM_TYPE_PES_A #define CXM_FW_STREAM_TYPE_DVD_S1 0x0000000d #define METEOR_GEO_DVD_S1 CXM_FW_STREAM_TYPE_DVD_S1 #define CXM_FW_STREAM_TYPE_DVD_S2 0x0000000e #define METEOR_GEO_DVD_S2 CXM_FW_STREAM_TYPE_DVD_S2 ---8<---end-of-ioctl_meteor_compat.h--file---8<-- LAST FILE (pvr250-setprofile.c) ---8<---start-of-pvr250-setprofile.c--file---8<-- #include #include #include #include #include #include #include #include #include "./dev/cxm/ioctl_meteor_compat.h" /**************************************************************************= **/ /* setprofile.c - Set the porfile of the bktr tuner card. = */ /* = */ /* COMPILE WITH: cc -o pvr250-setprofile pvr250-setprofile.c = */ /* = */ /**************************************************************************= **/ static void usage() { printf("Usage: setprofile <-a|-b|-c|-d|-e|-l|-x|-t>\n\n" " -a Enable DVD profile. Video: 720x575/480, = 9520 kbs.\n" " Audio: 384 kbs 48 Kh= z\n\n" " -b Enable SVCD profile. Video: 480x480/576, = 2500 kbs.\n" " Audio: 224 kbs 41.1 = Khz\n\n" " -c Enable VCD profile. Video: 352x288/352x2= 40, 1150 kbs.\n" " Audio: 224 kbs 41.1 = Khz.\n\n" " -d Enable MPEG2 profile. Video: 720x575/480, = 8192 kbs.\n" " Audio: 384 kbs 48 Kh= z.\n\n" " -e Enable MPEG1 profile. Video: 352x288/352x2= 40, 2048 kbs.\n" " Audio: 224 kbs 48 Kh= z.\n\n" " -l Enable DVDS1 profile. Video: 720x575/480, = 4096 kbs.\n" " Audio: 384 kbs 48 Kh= z.\n\n" " -x Enable DVDS2 profile. Video: 720x575/480, = 2048 kbs.\n" " Audio: 224 kbs 48 Kh= z.\n\n" " -t Enable MPEG2_TS profile. Video: 720x575/480, = 6144 kbs.\n" " Audio: 384 kbs 48 Kh= z.\n"); } int main( int argc, char *argv[] ) { char opt; int status; int tfd; struct meteor_geomet *my_oformat; struct meteor_bitrate *my_bitrate; while ((opt =3D getopt (argc, argv, ":abcdelxt")) !=3D -1) switch (opt){ case 'a': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD; printf("Setting to %d\n",my_oformat->oformat); break; case 'b': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_SVCD; printf("Setting to %d\n",my_oformat->oformat); break; case 'c': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_VCD; printf("Setting to %d\n",my_oformat->oformat); break; case 'd': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG2_PROGRAM; printf("Setting to %d\n",my_oformat->oformat); break; case 'e': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG1; printf("Setting to %d\n",my_oformat->oformat); break; case 'l': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD_S1; printf("Setting to %d\n",my_oformat->oformat); break; case 'x': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_DVD_S2; printf("Setting to %d\n",my_oformat->oformat); break; case 't': my_oformat=3D(struct meteor_geomet *)calloc(sizeof(struct m= eteor_geomet),1); my_oformat->rows =3D 0; my_oformat->columns =3D 0; my_oformat->frames =3D 0; my_oformat->oformat=3D METEOR_GEO_MPEG2_TS; printf("Setting to %d\n",my_oformat->oformat); break; default: usage (); exit (1); break; } tfd =3D open( "/dev/cxm0", O_RDONLY ); if ( tfd < 0 ) { perror( "open() of /dev/cxm0 failed." ); exit(1); } if ( ioctl( tfd, METEORSETGEO, my_oformat ) < 0 ) { perror( "ioctl( tfd, METEORSETGEO ) failed." ); status =3D 1; } close ( tfd ); exit ( status ); } ---8<---end-of-pvr250-setprofile.c--file---8<-- ------=_Part_264_9883545.1108385087845-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 14 18:43:43 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 688D616A4CE for ; Mon, 14 Feb 2005 18:43:43 +0000 (GMT) Received: from pimout4-ext.prodigy.net (pimout4-ext.prodigy.net [207.115.63.98]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1714843D41 for ; Mon, 14 Feb 2005 18:43:43 +0000 (GMT) (envelope-from julian@elischer.org) Received: from [192.168.1.102] (adsl-67-124-48-145.dsl.snfc21.pacbell.net [67.124.48.145])j1EIhcHb169410; Mon, 14 Feb 2005 13:43:41 -0500 Message-ID: <4210F154.3000205@elischer.org> Date: Mon, 14 Feb 2005 10:43:32 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.5) Gecko/20050214 X-Accept-Language: en, hu MIME-Version: 1.0 To: =?ISO-8859-1?Q?Lluis_L=F3pez?= References: <8f8eb53e050214044450fbe8b@mail.gmail.com> In-Reply-To: <8f8eb53e050214044450fbe8b@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit cc: freebsd-multimedia@freebsd.org Subject: Re: Patch pvr250 (switch between profiles) DEFINITIVE VERSION (I hope) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 18:43:43 -0000 Lluis López wrote: > > ------------------------------------------------------------------------ > > First, I'm sorry for the "spam attack" (I'm feel some stupid send and > send messages), but think that is a ineresting patch. > mail with useful code attached is rarely spam :-) From owner-freebsd-multimedia@FreeBSD.ORG Wed Feb 16 02:55:24 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0779B16A4CE for ; Wed, 16 Feb 2005 02:55:24 +0000 (GMT) Received: from phws.ph.noda.tus.ac.jp (phws.ph.noda.tus.ac.jp [133.31.102.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E80843D31 for ; Wed, 16 Feb 2005 02:55:23 +0000 (GMT) (envelope-from kazuhito@ph.noda.tus.ac.jp) Received: from localhost (unknown [133.31.111.131]) by phws.ph.noda.tus.ac.jp (Postfix) with ESMTP id 68C684D8035; Wed, 16 Feb 2005 11:55:21 +0900 (JST) Date: Wed, 16 Feb 2005 11:55:21 +0900 (JST) Message-Id: <20050216.115521.343152433.kazuhito@ph.noda.tus.ac.jp> To: pb@ludd.ltu.se From: Kazuhito HONDA In-Reply-To: <200502141139.j1EBdnrc025324@brother.ludd.ltu.se> References: <200502141139.j1EBdnrc025324@brother.ludd.ltu.se> X-Mailer: Mew version 3.3 on XEmacs 21.5-b18 (chestnut) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-multimedia@freebsd.org Subject: Re: Success with Creative SB Live! 24 Ext X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Feb 2005 02:55:24 -0000 Hello, I have `Soundblaster Live! 24-bit External', too. And I'm using it with FreeBSD 6-current/i386. The current codes for USB audio devices have been patched along some PR's. http://www.freebsd.org/cgi/query-pr.cgi?pr=75274 http://www.freebsd.org/cgi/query-pr.cgi?pr=75276 http://www.freebsd.org/cgi/query-pr.cgi?pr=75311 These patches may satisfy some your wishes. But some USB devices have only few fixed sampling rates, and ones of my Soundblaster Live! 24-bit External are 44.1 kHz, 48 kHz, and 96 kHz. If we play a sound source in another sampling rate, some USB devices must play in a different sampling rate and out of pitch with FreeBSD 4 or 5, and don't play with FreeBSD current. So you had better use a userland mixer, e.g. EsounD or aRts. Kazuhito HONDA From owner-freebsd-multimedia@FreeBSD.ORG Fri Feb 18 01:17:40 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D8C716A4CF for ; Fri, 18 Feb 2005 01:17:40 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4933A43D1D for ; Fri, 18 Feb 2005 01:17:40 +0000 (GMT) (envelope-from julian@vicor.com) Received: from vicor.com (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id 025EE7A41E for ; Thu, 17 Feb 2005 17:17:39 -0800 (PST) Message-ID: <42154233.9060702@vicor.com> Date: Thu, 17 Feb 2005 17:17:39 -0800 From: Julian Elischer Organization: VICOR User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030516 X-Accept-Language: en, hu MIME-Version: 1.0 To: multimedia@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: currently supported 64 bit 3V audio cards? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Feb 2005 01:17:40 -0000 I only have 3V 64 bit PCI slots available and need a BASIC" sound card.. anyone have any recommendations? Julian From owner-freebsd-multimedia@FreeBSD.ORG Fri Feb 18 01:26:15 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 072BF16A4CF for ; Fri, 18 Feb 2005 01:26:15 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D71B43D2D for ; Fri, 18 Feb 2005 01:26:14 +0000 (GMT) (envelope-from julian@elischer.org) Received: from elischer.org (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id 8A4357A41E; Thu, 17 Feb 2005 17:26:14 -0800 (PST) Message-ID: <42154436.7040306@elischer.org> Date: Thu, 17 Feb 2005 17:26:14 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030516 X-Accept-Language: en, hu MIME-Version: 1.0 To: Julian Elischer References: <42154233.9060702@vicor.com> In-Reply-To: <42154233.9060702@vicor.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: multimedia@freebsd.org Subject: Re: currently supported 64 bit 3V audio cards? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Feb 2005 01:26:15 -0000 Julian Elischer wrote: > I only have 3V 64 bit PCI slots available 66MHz that's the ones that look like: [.........I................................I........................] hmmm maybe that's a 5V slot.. the docs say PCI-X 64/66 but don't mention voltage. > > and need a BASIC" sound card.. > > anyone have any recommendations? > > Julian > > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to > "freebsd-multimedia-unsubscribe@freebsd.org" From owner-freebsd-multimedia@FreeBSD.ORG Fri Feb 18 14:56:58 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 13EAA16A4CE for ; Fri, 18 Feb 2005 14:56:58 +0000 (GMT) Received: from haggis.it.ca (haggis.it.ca [216.126.86.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29D1743D48 for ; Fri, 18 Feb 2005 14:56:57 +0000 (GMT) (envelope-from paul@haggis.it.ca) Received: from haggis.it.ca (paul@localhost [127.0.0.1]) by haggis.it.ca (8.12.11/8.12.11) with ESMTP id j1IEutOC048601; Fri, 18 Feb 2005 09:56:55 -0500 (EST) (envelope-from paul@haggis.it.ca) Received: (from paul@localhost) by haggis.it.ca (8.12.11/8.12.6/Submit) id j1IEutQ4048600; Fri, 18 Feb 2005 09:56:55 -0500 (EST) (envelope-from paul) Date: Fri, 18 Feb 2005 09:56:55 -0500 From: Paul Chvostek To: "Steve O'Hara-Smith" Message-ID: <20050218145654.GA31961@it.ca> References: <20050207032841.GA33816@it.ca> <20050207100521.544ed9bc.steve@sohara.org> <20050209180336.GA28606@it.ca> <20050210095713.3b155ce6.steve@sohara.org> <20050213182120.GT40151@it.ca> <20050214102331.0380d1b8.steve@sohara.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050214102331.0380d1b8.steve@sohara.org> User-Agent: Mutt/1.4.2.1i cc: freebsd-multimedia@freebsd.org Subject: Re: ffmpeg at half speed ... sort of. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Feb 2005 14:56:58 -0000 On Mon, Feb 14, 2005 at 10:23:31AM +0000, Steve O'Hara-Smith wrote: > > > or is the sync signal merely a timer? Could this be a problem > > with the frequency of the sync signal coming from the driver? Does the > > driver time its sync signals based on the hardware, or something else? > > The driver gets it's sync signals from the incoming video field sync. So ... if the same video signal and same hardware shows these wildly inconsistent framerates encoding with ffmpeg in FreeBSD but not in Fedora, it's likely a problem in the bktr driver? If it's a bug in the driver, it seems odd that I'd be the first person to experience this. I see there have been some fairly recent changes to bktr_core.c, but I'm not sure whether they're timing related. > > > Do you get any of the SLEPT ... messages ? > > > > Plenty of them. From five to ten for every notice as to what frame I've > > reached, > > That's not good - probable causes for that many are lousy signal or bad > timekeeping - given the other symptoms I strongly suspect bad timekeeping. I get the same behaviour with multiple video sources (both analog and digital satellite video decoders, a handycam, a VCR, various cables) and multiple encoder cards (AVerMedia cx878 and an old Intel bt848) ... and of course, as I said, the problem seems exclusive to FreeBSD (tested with both 4.11 and 5.3). If the bad timekeeping you suspect is just in the bktr driver ... is there anything else I can do to help identify what needs to be fixed? Alas, I'm not equipped to help much with actual driver programming. > > kern.timecounter.hardware: ACPI-fast > > kern.timecounter.choice: TSC(800) ACPI-fast(1000) i8254(0) dummy(-1000000) > > kern.timecounter.hardware should be the one - from the looks of it. Try setting > it to TSC or i8254 (probably TSC will do a better job). Tried both, to no avail; the symptoms remain. > It might be worth checking on Hyperthreading having an effect. No effect that I can see. -- Paul Chvostek Operations / Abuse / Whatever it.canada, hosting and development http://www.it.ca/ From owner-freebsd-multimedia@FreeBSD.ORG Fri Feb 18 19:29:06 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E74F016A4CE for ; Fri, 18 Feb 2005 19:29:06 +0000 (GMT) Received: from lana.hrz.tu-chemnitz.de (lana.hrz.tu-chemnitz.de [134.109.132.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 923C943D45 for ; Fri, 18 Feb 2005 19:29:06 +0000 (GMT) (envelope-from Daniel.Graupner@informatik.tu-chemnitz.de) Received: from p548867d6.dip.t-dialin.net ([84.136.103.214] helo=[192.168.177.36]) by lana.hrz.tu-chemnitz.de with asmtp (TLSv1:AES256-SHA:256) (Exim 4.41) id 1D2DoH-0000qR-Fp for freebsd-multimedia@freebsd.org; Fri, 18 Feb 2005 20:29:05 +0100 Message-ID: <42164209.9040900@informatik.tu-chemnitz.de> Date: Fri, 18 Feb 2005 20:29:13 +0100 From: Daniel Graupner User-Agent: Mozilla Thunderbird 1.0RC1 (Windows/20041201) X-Accept-Language: de-DE, de, en-us, en MIME-Version: 1.0 To: freebsd-multimedia@freebsd.org Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -7.0 (-------) X-Spam-Report: --- Start der SpamAssassin 3.0.2 Textanalyse (-7.0 Punkte) 0.9 PLING_QUERY Betreff enthaelt Ausrufe- und Fragezeichen -5.0 TUC_AUTH Authentisiert (TUC) vertrauenswuerdige Rechner weitergeleitet --- Ende der SpamAssassin Textanalyse X-Scan-Signature: 706061e527a23eaab6b0df22823cde1c Subject: Support for Creative Soundblaster Live! 24 Bit ? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Feb 2005 19:29:07 -0000 Hello, unfortunately the snd_* modules do not work with this soundcard (fbsd 5.3). I know FBSD supports Audigy and other Sound Blaster cards. Is there a possibility to use it? Regards, Daniel. P.S. some info: pciconf -lv none3@pci3:9:0: class=0x040100 card=0x10061102 chip=0x00071102 rev=0x00 hdr=0x00 vendor = 'Creative Labs' device = 'CA0106-DAT Audigy LS' class = multimedia subclass = audio From owner-freebsd-multimedia@FreeBSD.ORG Sat Feb 19 11:23:55 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 605A716A4CE for ; Sat, 19 Feb 2005 11:23:55 +0000 (GMT) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.192]) by mx1.FreeBSD.org (Postfix) with ESMTP id F231A43D31 for ; Sat, 19 Feb 2005 11:23:54 +0000 (GMT) (envelope-from tweek.20k@gmail.com) Received: by rproxy.gmail.com with SMTP id j1so58402rnf for ; Sat, 19 Feb 2005 03:23:54 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=NV5nwA4rPZ6q+kv+1y07Jt5zErfG2JdauAle1awlln4Dpzc77GjwARFSMg40DAm4Zc2xoP0WKNd3DEA7CLVpiSStHRCOTtZSEKBF3+3IquG198MtxwHzhlXej/xRHl3RkIyxrdHrry77ZT5cR0qXJK4xWqCzbIMWWVOAkMGWGAo= Received: by 10.39.2.39 with SMTP id e39mr55442rni; Sat, 19 Feb 2005 03:23:54 -0800 (PST) Received: by 10.38.208.3 with HTTP; Sat, 19 Feb 2005 03:23:54 -0800 (PST) Message-ID: <82d8d698050219032370591284@mail.gmail.com> Date: Sat, 19 Feb 2005 04:23:54 -0700 From: tweek To: freebsd-multimedia@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: STB2 card - sound works in btwincap, doesn't in bktr X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: tweek List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Feb 2005 11:23:55 -0000 I have an STB2 bt878 card. Works great under XP with btwincap, with or without an analog audio cable that runs from the card to my soundcard. In FreeBSD with a kernel compiled with bktr support, I can see video clearly with fxtv (http://tweek.no-ip.org/stuff/hockey.png) but can't hear anything. (Tried both audio internal and audio auto modes.) None of the mixers are muted; sound works. Here's some relevant lines from my dmesg: bktr0: mem 0xd0001000-0xd0001fff irq 11 at device 14.0 on pci0 bktr0: [GIANT-LOCKED] bktr0: STB TV/PCI, Philips FR1236 NTSC FM tuner, dbx stereo. pci0: at device 14.1 (no driver attached) pcm0: port 0x1040-0x107f irq 5 at device 15.0 on pci0 pcm0: pcm0: [GIANT-LOCKED] ... and some relevant lines from my kernel: device joy device bktr device iicbus device iicbb device iicsmb device smbus options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_NTSC options OVERRIDE_CARD=3 options OVERRIDE_TUNER=9 options BKTR_NEW_MSP34XX_DRIVER device sio device sound device "snd_es137x" This is my first time posting to a FreeBSD mailing list, so if I'm supposed to provide more, I will. tweek.20k@gmail.com From owner-freebsd-multimedia@FreeBSD.ORG Sat Feb 19 15:37:10 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3609516A4CE for ; Sat, 19 Feb 2005 15:37:10 +0000 (GMT) Received: from smtp2.dnainternet.net (smtp2.dnainternet.net [62.240.72.111]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1AC4543D39 for ; Sat, 19 Feb 2005 15:37:09 +0000 (GMT) (envelope-from erik.u@dnainternet.net) Received: from b-188-250.dsl.kpy.customers.dnainternet.fi ([212.149.188.250]:56931smtp2.dnainternet.net with ESMTP id S1228776AbVBSPhH (ORCPT ); Sat, 19 Feb 2005 17:37:07 +0200 Message-ID: <42175D22.6090702@dnainternet.net> Date: Sat, 19 Feb 2005 17:37:06 +0200 From: Erik Udo User-Agent: Mozilla Thunderbird 1.0 (X11/20050106) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daniel Graupner References: <42164209.9040900@informatik.tu-chemnitz.de> In-Reply-To: <42164209.9040900@informatik.tu-chemnitz.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-multimedia@freebsd.org Subject: Re: Support for Creative Soundblaster Live! 24 Bit ? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Feb 2005 15:37:10 -0000 Daniel Graupner wrote: > Hello, > > unfortunately the snd_* modules do not work with this soundcard (fbsd > 5.3). I know FBSD supports Audigy and other Sound Blaster cards. Is > there a possibility to use it? > > Regards, Daniel. > > P.S. some info: > pciconf -lv > none3@pci3:9:0: class=0x040100 card=0x10061102 chip=0x00071102 rev=0x00 > hdr=0x00 > vendor = 'Creative Labs' > device = 'CA0106-DAT Audigy LS' > class = multimedia > subclass = audio > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to > "freebsd-multimedia-unsubscribe@freebsd.org" > I've had this same problem, and the only way for me to get it working was to use opensound drivers. I changed my SB Live! card to a older one. I tried these drivers. Didn't work. http://chibis.persons.gfk.ru/audigy/ notice: Audigy LS and Audigy 2 Value (PCI chip IDs 0x00071102 and 0x00081102) are not supported and added to list of known but unsupported cards. They WILL NOT be supported by this driver. I don't have this cards. From owner-freebsd-multimedia@FreeBSD.ORG Sat Feb 19 16:42:43 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F1AB016A4CE for ; Sat, 19 Feb 2005 16:42:43 +0000 (GMT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.187]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6AC9A43D49 for ; Sat, 19 Feb 2005 16:42:43 +0000 (GMT) (envelope-from listen@danielgraupner.de) Received: from [212.227.126.208] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1D2Xgo-000523-00 for freebsd-multimedia@freebsd.org; Sat, 19 Feb 2005 17:42:42 +0100 Received: from [84.136.113.47] (helo=[192.168.177.36]) by mrelayng.kundenserver.de with asmtp (TLSv1:RC4-MD5:128) (Exim 3.35 #1) id 1D2Xgn-0003Gd-00 for freebsd-multimedia@freebsd.org; Sat, 19 Feb 2005 17:42:42 +0100 Message-ID: <42176C81.7080300@danielgraupner.de> Date: Sat, 19 Feb 2005 17:42:41 +0100 From: Daniel Graupner User-Agent: Mozilla Thunderbird 1.0RC1 (Windows/20041201) X-Accept-Language: de-DE, de, en-us, en MIME-Version: 1.0 To: freebsd-multimedia@freebsd.org References: <42164209.9040900@informatik.tu-chemnitz.de> <42175D22.6090702@dnainternet.net> In-Reply-To: <42175D22.6090702@dnainternet.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:dfad8e3b291c1a47284dc57432edc129 Subject: Re: Support for Creative Soundblaster Live! 24 Bit ? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Feb 2005 16:42:44 -0000 Erik Udo schrieb: > Daniel Graupner wrote: > I've had this same problem, and the only way for me to > get it working was to use opensound drivers. I changed my > SB Live! card to a older one. That is very sad... Opensound is not the solution because it is a 4 month trial, so one has to download the package every 4 months. Regards, Daniel. From owner-freebsd-multimedia@FreeBSD.ORG Sat Feb 19 17:09:37 2005 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1E4A616A4CE for ; Sat, 19 Feb 2005 17:09:37 +0000 (GMT) Received: from web80806.mail.yahoo.com (web80806.mail.yahoo.com [66.163.170.101]) by mx1.FreeBSD.org (Postfix) with SMTP id DE03C43D41 for ; Sat, 19 Feb 2005 17:09:36 +0000 (GMT) (envelope-from cmc3list-bsd@yahoo.com) Message-ID: <20050219170936.1619.qmail@web80806.mail.yahoo.com> Received: from [192.35.232.241] by web80806.mail.yahoo.com via HTTP; Sat, 19 Feb 2005 09:09:36 PST Date: Sat, 19 Feb 2005 09:09:36 -0800 (PST) From: To: freebsd-multimedia@freebsd.org In-Reply-To: <42176C81.7080300@danielgraupner.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: Support for Creative Soundblaster Live! 24 Bit ? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: cmc3list-bsd@yahoo.com List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Feb 2005 17:09:37 -0000 Daniel Graupner wrote: > Erik Udo schrieb: > > Daniel Graupner wrote: > > I've had this same problem, and the only way for me to > > get it working was to use opensound drivers. I changed my > > SB Live! card to a older one. > > That is very sad... Opensound is not the solution because it is a 4 month > trial, so one has to > download the package every 4 months. I bought the 24-bit SB Live card first and then realized I couldn't find any drivers for it other than the Opensound. So I took it back and got the standard SB Live card and have been very happy with it ($30 at WalMart :-)). ===== Christopher Mark Conn http://storm.cadcam.iupui.edu/~cmcgoat Austin, Texas, USA