Commit Graph

140 Commits

Author SHA1 Message Date
Justin Ruggles
4c5e7b27d5 flacdec: fix buffer size checking in get_metadata_size()
Adds an additional check before reading the next block header and avoids a
potential integer overflow when checking the metadata size against the
remaining buffer size.
2011-09-26 15:29:45 -04:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Michael Niedermayer
042f9d62ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Automatically add more flags required on symbian
  mem.h: switch doxygen parameter order to match function prototype
  doxygen: replace @sa tag by the more readable but equivalent @see
  doxygen: use Doxygen markup for authors and web links where appropriate
  doxygen: do not include license boilerplate in Doxygen documentation
  ac3enc: Mark AVClasses const
  ffserver: Replace two loops with one loop.
  ffmpeg: Fix the check for experimental codecs
  swscale: extend mmx padding.
  swscale: clip unscaled colorspace conversion path.
  doxygen: misc consistency cosmetics
  doc: remove file name from @file directive in Doxygen usage example
  doxygen: consistently place brief description
  doxygen: place empty line between brief description and detailed description
  avformat_open_input(): Add braces to shut up gcc warning.

Conflicts:
	libavcodec/8svx.c
	libavcodec/tiff.c
	libavcodec/tiff.h
	libavcodec/vaapi_h264.c
	libavcodec/vorbis.c
	libavcodec/vorbisdec.c
	libavcodec/vp6.c
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-15 17:51:09 +02:00
Diego Biurrun
ad4cd0c2a4 doxygen: use Doxygen markup for authors and web links where appropriate 2011-07-15 02:01:21 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Michael Chinen
a4151444bd Define FLAC_MIN_FRAME_SIZE and use it in the FLAC decoder.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:58:34 +00:00
Michael Chinen
60a684939a Simplify the FLAC decoder now that it no longer has to parse arbitrary raw FLAC
data thanks to the recently added FLAC parser.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:57:02 +00:00
Michael Chinen
3c795698d0 Add log_level_offset parameter to ff_flac_decode_frame_header(). It will be used
to optionally silence the error messages.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:00:38 +00:00
Michael Chinen
625daac4bd Move decode_frame_header() from flacdec.c to flac.c/h to share with the
forthcoming FLAC parser.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 13:30:18 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Justin Ruggles
2e0559b713 Support decoding of FLAC files without a STREAMINFO header.
Originally committed as revision 25315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 20:37:43 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Justin Ruggles
4c1645a458 Set sample format in flac_decode_init() rather than in
ff_flac_parse_streaminfo() since the latter is shared with the raw FLAC
demuxer, which should not be setting the sample format.

Originally committed as revision 20430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-01 16:48:05 +00:00
Justin Ruggles
78a9a77eac add CODEC_CAP_SUBFRAMES to the FLAC decoder capabilities. also add a FIXME
comment as a reminder that we can remove both capabilities once a parser is
implemented.

Originally committed as revision 19891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 22:57:00 +00:00
Måns Rullgård
8313e17976 flacdec: change variable-length array to fixed length
pred_order can never exceed 32, so always allocating that amount is safe
and not very wasteful.

Originally committed as revision 19669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-19 21:59:36 +00:00
Ronald S. Bultje
ce863d7f36 Rename ff_log_missing_feature() to av_log_missing_feature().
Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:07:04 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Justin Ruggles
d7520f217a cosmetics: add an @return to documentation for decode_frame_header()
Originally committed as revision 18179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 22:44:12 +00:00
Justin Ruggles
cd98a03024 flacdec: split frame header decoding and validation into a separate
function

Originally committed as revision 18175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 01:17:55 +00:00
Justin Ruggles
e8b0395236 flacdec: cosmetics: white space
Originally committed as revision 18167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 23:22:44 +00:00
Justin Ruggles
fbc4d9c964 flacdec: cosmetics: separate the pure frame header parsing code from
other frame header decoding code

Originally committed as revision 18166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 23:19:49 +00:00
Justin Ruggles
e7e6b06802 flacdec: allow sample rate to change mid-stream, but log a warning
message when it does

Originally committed as revision 18162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:38:06 +00:00
Justin Ruggles
1448907465 flacdec: cosmetics: indentation
Originally committed as revision 18159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:12:03 +00:00
Justin Ruggles
e2a38af96e flacdec: change frame bps validation to return an error value if bps
changes since this is not currently supported by the decoder.

Originally committed as revision 18157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:10:33 +00:00
Justin Ruggles
f91eaf5deb flacdec: cosmetics: add some braces to if/else statements
Originally committed as revision 18156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:53:28 +00:00
Justin Ruggles
b6fa746e39 flacdec: skip frame when allocated data size is too small
Originally committed as revision 18155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:31:23 +00:00
Justin Ruggles
492cc392fa 10l: don't check against current layout until after validating ch_mode.
should have been in last commit.

Originally committed as revision 18154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:13:10 +00:00
Justin Ruggles
7660dc6f4f flacdec: give a more accurate error message when validating channel
layout. differentiates between invalid values and unsupported values.

Originally committed as revision 18153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:07:43 +00:00
Justin Ruggles
02b26d2d5c flacdec: move data size check to flac_decode_frame()
Originally committed as revision 18151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 20:19:20 +00:00
Justin Ruggles
4285c2923c flacdec: comments and white space.
move skipping of frame header to decode_frame()

Originally committed as revision 18150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 19:12:02 +00:00
Justin Ruggles
5c3e0340d9 flacdec: remove unneeded local variable
Originally committed as revision 18148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:59:00 +00:00
Justin Ruggles
3b4d96fa68 flacdec: cosmetics: rename 3 variables
Originally committed as revision 18147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:56:07 +00:00
Justin Ruggles
7e00bd8456 flacdec: use a local variable for GetBitContext in decode_frame()
Originally committed as revision 18146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:52:15 +00:00
Justin Ruggles
0fb2182d46 add a function to calculate a more accurate estimate for maximum FLAC
frame size and use the function in the FLAC decoder and FLAC encoder

Originally committed as revision 18092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:54:31 +00:00
Justin Ruggles
f5187c7f04 flacdec: account for frame and subframe header overhead when calculating
estimate for maximum frame size

Originally committed as revision 18091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:27:28 +00:00
Justin Ruggles
d4df4e5088 share sample rate and blocksize tables between the FLAC encoder and FLAC
decoder

Originally committed as revision 18089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:16:38 +00:00
Justin Ruggles
d9e7fa8074 flacdec: remove unneeded variable, 'assignment'
Originally committed as revision 18085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:48:07 +00:00
Justin Ruggles
2a34672500 flacdec: cosmetics: rename 'decorrelation' to 'ch_mode'
Originally committed as revision 18084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:47:04 +00:00
Justin Ruggles
3159780b18 share channel mode constants between the FLAC decoder and FLAC encoder
Originally committed as revision 18082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:44:42 +00:00
Justin Ruggles
07d16e2ecf share some constants between the FLAC encoder and FLAC decoder
Originally committed as revision 18041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 03:04:21 +00:00
Justin Ruggles
5b63d33d7d flacdec: Add a shared function for parsing a FLAC metadata block header.
Originally committed as revision 17851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 01:25:11 +00:00
Justin Ruggles
8d1e885fc2 flacdec: cosmetics: Add a comment with the data of the smallest FLAC
frame for future reference.

Originally committed as revision 17822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 04:40:42 +00:00
Justin Ruggles
629fb5c46a flacdec: There is an even smaller FLAC frame size possibility.
Originally committed as revision 17821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 02:36:17 +00:00
Justin Ruggles
5756bc7b02 flacdec: 10l to me. I miscalculated the smallest FLAC frame. It is 16
bytes, not 24.

Originally committed as revision 17820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 02:21:35 +00:00
Justin Ruggles
bf1d7e285c flacdec: cosmetics: move 2 statements to immediately after frame
decoding.

Originally committed as revision 17819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 01:23:53 +00:00
Justin Ruggles
fd6fd470ce flacdec: Simplify frame sync by not using the bitstream reader.
Originally committed as revision 17818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 01:15:38 +00:00
Justin Ruggles
a8ec12bc2e flacdec: Split the metadata_parse() function into 2 separate functions,
parse_streaminfo() and get_metadata_size().

Originally committed as revision 17817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 00:56:09 +00:00
Justin Ruggles
5ef4fa87b3 flacdec: Add a check for small buffer size. This ensures reading as
much of the frame header as possible without excluding the smallest
possible FLAC frame.  It also fixes a false positive warning message
that was being emitted at the end of decoding.

Originally committed as revision 17816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:55:10 +00:00
Justin Ruggles
c51997297a flacdec: cosmetics: Use a more descriptive variable name for the number
of bytes read, instead of reusing 'i'.

Originally committed as revision 17815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:24:44 +00:00
Justin Ruggles
549bccdbe4 flacdec: Handle 32 bps data when checking allocated size.
Originally committed as revision 17814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:16:30 +00:00
Justin Ruggles
a3d2379bdd flacdec: Check curr_bps after wasted bits are subtracted.
Originally committed as revision 17813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:10:40 +00:00
Justin Ruggles
e1374c06d6 flacdec: When there is not enough data to read the next header block,
reset the bitstream reader instead of skipping backwards.

Originally committed as revision 17798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 01:08:26 +00:00
Justin Ruggles
6a85fb34c9 cosmetics: indentation after last commit
Originally committed as revision 17796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:53:04 +00:00
Justin Ruggles
55a727383b flacdec: Check for an inline header before calling metadata_parse().
Originally committed as revision 17795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:52:18 +00:00
Justin Ruggles
239b961fbf flacdec: Allocate buffers right after STREAMINFO is parsed.
Originally committed as revision 17794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:21:46 +00:00
Justin Ruggles
184bc53db4 cosmetics: indentation after last commit
Originally committed as revision 17791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:50:21 +00:00
Justin Ruggles
7d0303587d flacdec: Avoid parsing the STREAMINFO multiple times.
Originally committed as revision 17790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:49:36 +00:00
Justin Ruggles
2e78513cee flacdec: Warn about invalid max blocksize and limit the minimum value.
Originally committed as revision 17751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:53:38 +00:00
Justin Ruggles
0c89ca72a5 cosmetics: remove a pointless comment
Originally committed as revision 17749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:25:58 +00:00
Justin Ruggles
95db6659d8 flacdec: Remove unused variable, min_blocksize.
Originally committed as revision 17748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:25:23 +00:00
Justin Ruggles
dde318d5d9 flacdec: Return error when blocksize code of 0 is found. It is a
reserved value per the FLAC format documentation.

Originally committed as revision 17747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:22:44 +00:00
Justin Ruggles
5b37e2fc9a flacdec: Avoid trying to read 33 bits. This occurs when the source
is 32 bits-per-sample and channel decorrelation is used.  Such files
are valid, but not supported currently.

Originally committed as revision 17743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 04:45:45 +00:00
Justin Ruggles
505cc62f75 flacdec: ALT_BITSTREAM_READER is no longer required.
Originally committed as revision 17742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 02:53:11 +00:00
Justin Ruggles
9de6e090a7 flacdec: use get_sbits_long() where needed.
Originally committed as revision 17741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 02:19:01 +00:00
Justin Ruggles
ee4d0322e8 flacdec: Use get/skip_bits_long() for more than 17-bits and
get/skip_bits() for 17-bits or less.

Originally committed as revision 17735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 17:32:53 +00:00
Justin Ruggles
26adc8d086 cosmetics: line wrap and indentation after last commit.
Originally committed as revision 17603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:30:29 +00:00
Justin Ruggles
59c6178a54 Use a shared function to validate FLAC extradata.
Originally committed as revision 17602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:29:24 +00:00
Patrik Kullman
7846418bdb flacdec: Silence false positive warning about uninitialized variables in
decode_subframe_fixed(). Patch by Patrik Kullman (patrik A yes D nu).

Originally committed as revision 17386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-16 22:23:47 +00:00
Justin Ruggles
faeb2bd41d flacdec: set default sample_fmt before parsing extradata
Originally committed as revision 16926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 01:53:40 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Justin Ruggles
7f3a6a0553 cosmetics: change comment type and vertical alignment
Originally committed as revision 16882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-31 02:11:37 +00:00
Justin Ruggles
64cb376562 cosmetics: add some documentation to FLACContext
Originally committed as revision 16881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-31 02:10:43 +00:00
Justin Ruggles
82159ad992 flacdec: add support for SAMPLE_FMT_32
Originally committed as revision 16871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-31 01:20:40 +00:00
Justin Ruggles
aeb987cebf flacdec: get total number of samples from STREAMINFO
Originally committed as revision 16768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 02:27:02 +00:00
Justin Ruggles
ce7e82144f move FLAC_STREAMINFO_SIZE to flac.h
Originally committed as revision 16766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 00:34:32 +00:00
Justin Ruggles
d38b88213e define FLAC metadata types in flac.h
Originally committed as revision 16765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 00:33:25 +00:00
Justin Ruggles
9f3d3ecf92 flacdec: cosmetics: some line wrapping at 80 chars
Originally committed as revision 16763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 19:05:52 +00:00
Justin Ruggles
1df0390eed flacdec: cosmetics: indentation
Originally committed as revision 16762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 18:52:30 +00:00
Justin Ruggles
1bec121f9e flacdec: cosmetics: use consistent coding style (K&R)
Originally committed as revision 16761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 18:51:43 +00:00
Justin Ruggles
13de8a080a cosmetics: indentation
Originally committed as revision 16753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 16:13:21 +00:00
Justin Ruggles
5305f40bb8 flacdec: change several AV_LOG_DEBUG to AV_LOG_ERROR
Originally committed as revision 16752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 16:03:17 +00:00
Justin Ruggles
9f2db54594 flacdec: remove another unneeded debugging statement
Originally committed as revision 16751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 16:02:30 +00:00
Justin Ruggles
f7f3e3bf4a flacdec: remove unneeded debugging statements
Originally committed as revision 16750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 16:01:20 +00:00
Justin Ruggles
c5706efd57 flacdec: remove some unused code
Originally committed as revision 16749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 15:46:19 +00:00
Justin Ruggles
8f51144bf4 rename flac.c to flacdec.c
Originally committed as revision 16735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-23 22:27:19 +00:00