Commit Graph

558 Commits

Author SHA1 Message Date
Michael Krufky 60a6dc55b9 [PATCH] Kconfig: swap VIDEO_CX88_ALSA and VIDEO_CX88_DVB
VIDEO_CX88_ALSA should not be between VIDEO_CX88_DVB and
VIDEO_CX88_DVB_ALL_FRONTENDS

When cx88-alsa was added to cx88/Kconfig, it was added in between
VIDEO_CX88_DVB and VIDEO_CX88_DVB_ALL_FRONTENDS.  This caused
undesireable effects to the appearance of the menu options in
menuconfig.

This fix reorders cx88-alsa and cx88-dvb in Kconfig, to match saa7134,
and restore the correct menuconfig appearance.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-18 12:12:18 -08:00
Markus Rechberger 7215fdb214 [PATCH] Fixed em28xx based system lockup
Fixed em28xx based system lockup, device needs to be initialized before
starting the isoc transfer otherwise the system will completly lock up.

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-18 10:52:45 -08:00
Michael Hunold 6acaba8e22 [PATCH] Restore tuning capabilities in V4L2 MXB driver
The behaviour of the all-in-one Video4Linux tuner driver apparently
changed.  It now wants to know the tv standard, otherwise it refuses to
tune.

Restore tuning functionality in my driver for the "Multimedia eXtension
Board".  The all-in-one tuner driver apparently changed its behaviour.

Signed-off-by: Michael Hunold <hunold@linuxtv.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-14 07:57:17 -08:00
Alexey Dobriyan 8a59822f68 V4L/DVB (3413): Typos grab bag of the month
Typos grab bag of the month.
Eyeballed by jmc@ in OpenBSD.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-08 12:30:19 -03:00
Hartmut Hackmann be6f655d03 V4L/DVB (3395): Fixed Pinnacle 300i DVB-T support
- fixed tda9886 port 2 setting
- turned remote control receiver off via saa7134 GPIO to avoid i2c hangs
- modified tda9886 client calls to direct i2c access to allow proper return
  to analog mode
- allow mode change to V4L2_TUNER_DIGITAL_TV in tuner VIDIOC_S_FREQUENCY
  client call

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-03 14:18:23 -03:00
Michael Krufky 6ba54abe62 V4L/DVB (3399): ELSA EX-VISION 500TV: fix incorrect PCI subsystem ID
- ELSA EX-VISION 500TV was incorrectly programmed to have the same
  subsystem ID as ELSA EX-VISION 300TV, (1048:226b)
- This changeset replaces the incorrect subsystem ID (1048:226b)
  with the correct one (1048:226a) for the ELSA EX-VISION 500TV.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-03 14:18:19 -03:00
Hartmut Hackmann 14c255b2b2 V4L/DVB (3378): Restore power on defaults of tda9887 after tda8290 probe
The probing code for tda8290 changes the state of the tda9887 GP ports.
The patch assumes that if probing for tda8290 failed, this must be a 
tda9887 and restores its power on defaults.
This should solve the module load order issue with some pinnacle cards.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-03 14:18:07 -03:00
Hans Verkuil 2175771e15 V4L/DVB (3354): Fix maximum for the saturation and contrast controls.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-03 14:18:04 -03:00
Ricardo Cerqueira ede224159f V4L/DVB (3348): Fixed saa7134 ALSA initialization with multiple cards
When multiple cards were installed, only the first card would have
audio initialized, because only the first position in the array parameter
defaulted to "1"
To make things worse, the "enable" parameter wasn't enabled, so there
was no workaround.

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-03 14:17:58 -03:00
Karsten Suehring ca659a4137 V4L/DVB (3347): Pinnacle PCTV 40i: add filtered Composite2 input
This patch adds another composite input to the Pinnacle PCTV 100i
definition which filters the chrominace signal from the luma input. This
improves video quality for Composite signals on the S-Video connector of
the card.
In addition the name string of the card is changed to include PCTV 40i
and 50i since these cards are identical.

Signed-off-by: Karsten Suehring <ksuehring@gmx.net>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-03 14:17:55 -03:00
Al Viro 5b1a43d7df [PATCH] drivers/media/video __user annotations and fixes
* compat_alloc_user_space() returns __user pointer
* copying between two userland areas is copy_in_user(), not copy_from_user()
* dereferencing userland pointers is bad
* so's get_user() from local variables

... plus usual __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-02-08 01:03:39 -05:00
Dave Jones 62b2c00add V4L/DVB (3318c): fix saa7146 kobject register failure
Whoops.

kobject_register failed for hexium HV-PCI6/Orion (-13)
[<c01d3eb6>] kobject_register+0x31/0x47
[<c023a996>] bus_add_driver+0x4a/0xfd
[<c01de3c1>] __pci_register_driver+0x82/0xa4
[<d083400a>] hexium_init_module+0xa/0x47 [hexium_orion]
[<c013bdae>] sys_init_module+0x167b/0x1822
[<c01633f7>] do_sync_read+0xb8/0xf3
[<c0133fa3>] autoremove_wake_function+0x0/0x2d
[<c0145390>] audit_syscall_entry+0x118/0x13f
[<c0106ae2>] do_syscall_trace+0x104/0x14a
[<c0103d21>] syscall_call+0x7/0xb

slashes in kobject names aren't allowed.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:55:32 -02:00
Mauro Carvalho Chehab be8a82d181 V4L/DVB (3318a): Makes Some symbols static.
Some symbols at cx88-alsa were global. Making those static.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:55:13 -02:00
Markus Rechberger 9f38724a6f V4L/DVB (3306): Fixed i2c return value, conversion mdelay to msleep
fixed i2c return value, conversion mdelay to msleep

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:51:36 -02:00
Hans Verkuil 0dfd812d4b V4L/DVB (3300): Add standard for South Korean NTSC-M using A2 audio.
South Korea uses NTSC-M but with A2 audio instead of BTSC. Several audio
chips need this information in order to set the correct audio processing
registers.

Acked-by: Mauro Carvalho Chehab <mauro_chehab@yahoo.com.br>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:47:49 -02:00
Marco Manenti a77a922fcc V4L/DVB (3297): Add IR support to KWorld DVB-T (cx22702-based)
add IR support to KWorld DVB-T (cx22702-based)

Signed-off-by: Marco Manenti <marco_manenti@colman.it>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:46:19 -02:00
Markus Rechberger ac25230142 V4L/DVB (3281): Added signal detection support to tvp5150
- added signal detection support to tvp5150

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:36:49 -02:00
Marcin Rudowski 1b0bb68d30 V4L/DVB (3266): Fix NICAM buzz on analog sound
Apparently, having the number of lines fixed at 4 reduces (or even kills)
the buzz found in NICAM stereo with analog sound.

Signed-off-by: Marcin Rudowski <mar_rud@poczta.onet.pl>
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-07 06:30:17 -02:00
Michael Krufky a54dfd2ce0 V4L/DVB (3442): Allow tristate build for cx88-vp3054-i2c
- allow tristate build for cx88-vp3054-i2c

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-26 04:41:57 -02:00
Jiri Slaby 805f123d50 V4L/DVB (3439a): media video stradis memory fix
memset clears once set structure, there is actually no need for memset,
because configure function do it for us.  Next, vfree(NULL) is legal, so
avoid useless labels.

Thanks Dave Jones for reporting this.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-26 04:41:32 -02:00
Markus Rechberger 65f17ee28e V4L/DVB (3434): changed comment in tuner-core.c
- changed comment in tuner-core.c

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:32:02 -02:00
Michael Krufky 3875818f83 V4L/DVB (3431): fixed spelling error, exectuted --> executed.
- fixed spelling error, exectuted --> executed.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:30 -02:00
Markus Rechberger c73e4486bc V4L/DVB (3429): Missing break statement on tuner-core
- default_tuner_init was called twice due to a missing break statement.

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Acked-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:29 -02:00
Mike Isely 20c40878e4 V4L/DVB (3418): Cause tda9887 to use I2C_DRIVERID_TDA9887
- The tda9887 has an I2C id reserved for it, but it hasn't been using
it.  Probably an oversight.  Fixed with this patch.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:28 -02:00
Michael Krufky aad99f39bd V4L/DVB (3417): make VP-3054 Secondary I2C Bus Support a Kconfig option.
- make VP-3054 Secondary I2C Bus Support a Kconfig option.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:27 -02:00
Ian Pickworth 1bacb9f3aa V4L/DVB (3416): Recognise Hauppauge card #34519
- Recognise Hauppauge card #34519

Signed-off-by: Ian Pickworth <ian@pickworth.me.uk>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:27 -02:00
Peter Missel de7e8d78fc V4L/DVB (3409): Mark Typhoon cards as Lifeview OEM's
- Mark Typhoon cards as OEM of Lifeview.

Signed-off-by: Peter Missel <peter.missel@onlinehome.de>
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:26 -02:00
Mauro Carvalho Chehab bd7db97900 V4L/DVB (3405): Fixes tvp5150a/am1 detection.
- Tvp5150 type were determined by a secondary register instead of
  using ROM code.
- tvp5150am1 have ROM=4.0, while tvp5150a have ROM=3.33 (decimal).
  All other ROM versions are reported as unknown tvp5150.
- Except for reporting, current code doesn't enable any special feature
  for tvp5150am1 or tvp5150a. Code should work for both models (but were
  tested only for tvp5150am1).

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:25 -02:00
Adrian Bunk e94785c9a1 VIDEO_CX88_ALSA must select SND_PCM
- VIDEO_CX88_ALSA must select SND_PCM

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:25 -02:00
Hans Verkuil 2ecdd76e9b V4L/DVB (3403): Add probe check for the tda9840.
- Add probe check for the tda9840 to prevent misdetection of a Micronas
  dpl3518a as a tda9840.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:24 -02:00
Michael Krufky 9a61003397 V4L/DVB (3392): Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual.
- Add PCI ID for DigitalNow DVB-T Dual,
rebranded DViCO FusionHDTV DVB-T Dual.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:24 -02:00
Mauro Carvalho Chehab 5a880279dc V4L/DVB (3406): Added credits for em28xx-video.c
- Added credits for sn9c102 kernel module and his author as
some parts of em28xx-video were based.

Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
Acked-by: Markus Rechberger <mrechberger@gmail.com>
Acked-by: Ludovico Cavedon <cavedon@sssup.it>
Acked-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:06:19 -02:00
Mauro Carvalho Chehab 21e2379b9e Merge branch 'work' 2006-01-15 21:31:10 -02:00
Markus Rechberger 366cc64b0d V4L/DVB (3390): Added remote control support for pinnacle pctv
- Added remote control support for pinnacle pctv

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 21:28:37 -02:00
Ricardo Cerqueira 18adfe7ac0 V4L/DVB (3386): fix some sound quality & distortion problems.
- Fix some sound quality & distortion problems.

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 21:26:24 -02:00
Hans Verkuil cb8d1aa78e V4L/DVB (3385): Return -EINVAL for unknown commands in msp3400 module.
- Return -EINVAL for unknown commands.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 21:26:11 -02:00
Hans Verkuil 27487d4471 V4L/DVB (3384): Separate tv & radio freqs, fix cb/freq transmit order for tuners that need this.
- Moved MSP_SET_MATRIX to v4l2-common.h
- Fix typos and integer overflows in tea5767.c
- Split old freq field into a tv_freq and a radio_freq. Prevents
  that a radio tuner is initialized with a tv frequency or vice versa.
- When switching to radio mode initialize the tuner with the last
  used radio frequency (this was already done for the TV mode).
  As a result of these changes the tuner module now remembers the
  last set radio and TV frequencies, which is what you would expect
  to happen.
- Move out of range frequencies to the closest valid frequency as per
  v4l2 API spec.
- Fix incorrect initial radio frequency (multiplier is 16000, not 16)
- Add boundary check for out of range frequencies.
- Use new flag to check if the order of the CB and freq. depends on
  the last set frequency. That is needed for some tuners or you can
  get static as a result. The flag is added for those tuners where I know
  that the datasheet indicates that this is necessary.
- For this new check use the last set div value, not the last frequency
  as radio frequencies are always much higher due to the 16000 multiplier.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 21:25:32 -02:00
Mauro Carvalho Chehab d04ae27bae Merge branch 'work' 2006-01-15 21:01:27 -02:00
Mauro Carvalho Chehab f1dccedc81 Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-01-15 20:59:29 -02:00
Jean Delvare 69ff56c166 [PATCH] Fix zoran_card compilation warning
Fix the following warning which was introduced in 2.6.15-git8 by
commit 7408187d223f63d46a13b6a35b8f96b032c2f623:

  CC [M]  drivers/media/video/zoran_card.o
drivers/media/video/zoran_card.c: In function `zr36057_init':
drivers/media/video/zoran_card.c:1053: warning: assignment makes integer from pointer without a cast

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-15 10:09:35 -08:00
Andrew Morton e0ad848626 V4L/DVB (3375): git dvb callbacks fix
- Not sure what went wrong here, but SND_PCI_PM_CALLBACKS got deleted.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 10:02:18 -02:00
Ingo Molnar 1e4baed379 V4L/DVB (3380): Semaphore to mutex conversion on drivers/media
- Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 09:03:49 -02:00
Panagiotis Christeas 7d83e8431a V4L/DVB (3378): Fix for lack of analog output on some cx88 boards
- Workaround to fix a known regression at cx88-tvaudio.c
- provide a module parameter workaround to always enable
analog output.

Signed-off-by: Panagiotis Christeas <p_christ@hol.gr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 09:03:34 -02:00
Adrian Bunk a9cff90ed9 V4L/DVB (3377): make some code static
- This patch makes some needlessly global code static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 09:03:21 -02:00
Mauro Carvalho Chehab 15192b1d53 V4L/DVB (3376): cx88 Kconfig fixes for cx88-alsa
- Cx88 alsa is experimental.
- Removed need of PCM OSS for an ALSA module.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 09:03:08 -02:00
Hartmut Hackmann 0f79c3637a V4L/DVB (3371): Turn frame locked sound on, basic support for FM radio with TDA8275(a)
- Enabled audio PLL. This is mandatory for NICAM sound
- modify FM IF frequency to 5.5MHz for SAA7133/35 if tuner is tda8290

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-15 09:02:57 -02:00
Arjan van de Ven 858119e159 [PATCH] Unlinline a bunch of other functions
Remove the "inline" keyword from a bunch of big functions in the kernel with
the goal of shrinking it by 30kb to 40kb

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-14 18:27:06 -08:00
Russell King 348290a4ae [PATCH] Add bttv sub bus_type probe and remove methods
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-13 11:26:11 -08:00
Hans Verkuil b3d37042d7 V4L/DVB (3363): Add support for Samsung tuner TCPN 2121P30A
- Add support for Samsung tuner TCPN 2121P30A, used in
  Hauppauge PVR-500 cards.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-13 14:10:25 -02:00
Michael Krufky 7b0ac9cdd4 V4L/DVB (3359): Redesign tuners struct for maximum flexibility
- Tunertype struct redefined to allow one or more tuner_params structs
  per tuner definition, one for each video standard.
- Each tuner_params struct has an element containing an arbitrary
  amount of tuner_ranges.
  (this is needed for dvb tuners - to be handled later)
- A tuner_range may be referenced by multiple tuner_params structs.
  There are many duplicates in here. Reusing tuner_range structs,
  rather than defining new ones for each tuner, will cut down on
  memory usage, and is preferred when possible.
- tunertype struct contains an element, has_tda988x.
  We must set this for all tunertypes that contain a tda988x
  chip, and then we can remove this setting from the various
  card structs.
- Improves tuners array memory usage efficiency.
- Right now, all tuners are using the first tuner_params[] array element
  for analog mode. In the future, we will be merging similar tuner
  definitions together, such that each tuner definition will have a
  tuner_params struct for each available video standard. At that point,
  the tuner_params[] array element will be chosen based on the video
  standard in use.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-13 14:10:25 -02:00