diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-06-06 09:35:15 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-06-06 09:35:15 +0000 |
commit | bf7e799c9e83f6f6718866841d3169a91ef6b07e (patch) | |
tree | 3146c3bbf94bc66b4215526ef158f23d0592dd11 | |
parent | 10ae4bb477426f6a360bed684c6676e20f2de299 (diff) | |
download | ffmpeg-bf7e799c9e83f6f6718866841d3169a91ef6b07e.tar.gz |
Remove '\p', '\c' and '\e' doxygen markup from doxy, as it should
improve plain text doxy readability.
See the thread: "[RFC] Should we use doxygen markup?".
Originally committed as revision 19122 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | cmdutils.h | 4 | ||||
-rw-r--r-- | libavcodec/ac3.h | 4 | ||||
-rw-r--r-- | libavcodec/avcodec.h | 72 | ||||
-rw-r--r-- | libavcodec/internal.h | 8 | ||||
-rw-r--r-- | libavcodec/opt.h | 6 | ||||
-rw-r--r-- | libavcodec/pixdesc.h | 10 | ||||
-rw-r--r-- | libavcodec/put_bits.h | 12 | ||||
-rw-r--r-- | libavformat/rm.h | 4 | ||||
-rw-r--r-- | libavformat/rtsp.h | 2 | ||||
-rw-r--r-- | libavutil/base64.h | 18 | ||||
-rw-r--r-- | libavutil/log.h | 2 | ||||
-rw-r--r-- | libavutil/mem.h | 12 | ||||
-rw-r--r-- | libavutil/rational.h | 6 |
13 files changed, 80 insertions, 80 deletions
diff --git a/cmdutils.h b/cmdutils.h index e30ea0f9af..a71677a22d 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -73,8 +73,8 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do * @param context the context of the value to be set (e.g. the * corresponding commandline option name) * @param timestr the string to be parsed - * @param is_duration a flag which tells how to interpret \p timestr, if - * not zero \p timestr is interpreted as a duration, otherwise as a + * @param is_duration a flag which tells how to interpret timestr, if + * not zero timestr is interpreted as a duration, otherwise as a * date * * @see parse_date() diff --git a/libavcodec/ac3.h b/libavcodec/ac3.h index 276ecba4c7..9c82226107 100644 --- a/libavcodec/ac3.h +++ b/libavcodec/ac3.h @@ -132,7 +132,7 @@ void ff_ac3_bit_alloc_calc_psd(int8_t *exp, int start, int end, int16_t *psd, /** * Calculates the masking curve. - * First, the excitation is calculated using parameters in \p s and the signal + * First, the excitation is calculated using parameters in s and the signal * power in each critical band. The excitation is compared with a predefined * hearing threshold table to produce the masking curve. If delta bit * allocation information is provided, it is used for adjusting the masking @@ -161,7 +161,7 @@ int ff_ac3_bit_alloc_calc_mask(AC3BitAllocParameters *s, int16_t *band_psd, /** * Calculates bit allocation pointers. * The SNR is the difference between the masking curve and the signal. AC-3 - * uses this value for each frequency bin to allocate bits. The \p snroffset + * uses this value for each frequency bin to allocate bits. The snroffset * parameter is a global adjustment to the SNR for all bins. * * @param[in] mask masking curve diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index c6a9f89806..7fa84a65c0 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2544,8 +2544,8 @@ typedef struct AVCodec { const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} const enum PixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 /** - * Descriptive name for the codec, meant to be more human readable than \p name. - * You \e should use the NULL_IF_CONFIG_SMALL() macro to define it. + * Descriptive name for the codec, meant to be more human readable than name. + * You should use the NULL_IF_CONFIG_SMALL() macro to define it. */ const char *long_name; const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 @@ -2599,7 +2599,7 @@ typedef struct AVHWAccel { * Meaningful frame information (codec specific) is guaranteed to * be parsed at this point. This function is mandatory. * - * Note that \p buf can be NULL along with \p buf_size set to 0. + * Note that buf can be NULL along with buf_size set to 0. * Otherwise, this means the whole frame is available at this point. * * @param avctx the codec context @@ -2915,15 +2915,15 @@ const char *avcodec_get_pix_fmt_name(enum PixelFormat pix_fmt); void avcodec_set_dimensions(AVCodecContext *s, int width, int height); /** - * Returns the pixel format corresponding to the name \p name. + * Returns the pixel format corresponding to the name name. * - * If there is no pixel format with name \p name, then looks for a + * If there is no pixel format with name name, then looks for a * pixel format with the name corresponding to the native endian - * format of \p name. + * format of name. * For example in a little-endian system, first looks for "gray16", * then for "gray16le". * - * Finally if no pixel format has been found, returns \c PIX_FMT_NONE. + * Finally if no pixel format has been found, returns PIX_FMT_NONE. */ enum PixelFormat avcodec_get_pix_fmt(const char* name); unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p); @@ -2963,7 +2963,7 @@ int avcodec_get_pix_fmt_loss(enum PixelFormat dst_pix_fmt, enum PixelFormat src_ * some formats to other formats. avcodec_find_best_pix_fmt() searches which of * the given pixel formats should be used to suffer the least amount of loss. * The pixel formats from which it chooses one, are determined by the - * \p pix_fmt_mask parameter. + * pix_fmt_mask parameter. * * @code * src_pix_fmt = PIX_FMT_YUV420P; @@ -3025,7 +3025,7 @@ unsigned avcodec_version(void); /** * Initializes libavcodec. * - * @warning This function \e must be called before any other libavcodec + * @warning This function must be called before any other libavcodec * function. */ void avcodec_init(void); @@ -3038,7 +3038,7 @@ attribute_deprecated void register_avcodec(AVCodec *codec); #endif /** - * Register the codec \p codec and initialize libavcodec. + * Register the codec codec and initialize libavcodec. * * @see avcodec_init() */ @@ -3170,7 +3170,7 @@ int avcodec_open(AVCodecContext *avctx, AVCodec *codec); #if LIBAVCODEC_VERSION_MAJOR < 53 /** - * Decodes an audio frame from \p buf into \p samples. + * Decodes an audio frame from buf into samples. * Wrapper function which calls avcodec_decode_audio3. * * @deprecated Use avcodec_decode_audio3 instead. @@ -3192,20 +3192,20 @@ attribute_deprecated int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *s * Some decoders may support multiple frames in a single AVPacket, such * decoders would then just decode the first frame. * If no frame - * could be decompressed, \p frame_size_ptr is zero. Otherwise, it is the - * decompressed frame size in \e bytes. + * could be decompressed, frame_size_ptr is zero. Otherwise, it is the + * decompressed frame size in bytes. * - * @warning You \e must set \p frame_size_ptr to the allocated size of the + * @warning You must set frame_size_ptr to the allocated size of the * output buffer before calling avcodec_decode_audio3(). * - * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than + * @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than * the actual read bytes because some optimized bitstream readers read 32 or 64 * bits at once and could read over the end. * - * @warning The end of the input buffer \p avpkt->data should be set to 0 to ensure that + * @warning The end of the input buffer avpkt->data should be set to 0 to ensure that * no overreading happens for damaged MPEG streams. * - * @note You might have to align the input buffer \p avpkt->data and output buffer \p + * @note You might have to align the input buffer avpkt->data and output buffer * samples. The alignment requirements depend on the CPU: On some CPUs it isn't * necessary at all, on others it won't work at all if not aligned and on others * it will work but it will have an impact on performance. In practice, the @@ -3230,7 +3230,7 @@ int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples, #if LIBAVCODEC_VERSION_MAJOR < 53 /** - * Decodes a video frame from \p buf into \p picture. + * Decodes a video frame from buf into picture. * Wrapper function which calls avcodec_decode_video2. * * @deprecated Use avcodec_decode_video2 instead. @@ -3252,14 +3252,14 @@ attribute_deprecated int avcodec_decode_video(AVCodecContext *avctx, AVFrame *pi * Some decoders may support multiple frames in a single AVPacket, such * decoders would then just decode the first frame. * - * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than + * @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than * the actual read bytes because some optimized bitstream readers read 32 or 64 * bits at once and could read over the end. * - * @warning The end of the input buffer \p buf should be set to 0 to ensure that + * @warning The end of the input buffer buf should be set to 0 to ensure that * no overreading happens for damaged MPEG streams. * - * @note You might have to align the input buffer \p avpkt->data and output buffer \p + * @note You might have to align the input buffer avpkt->data and output buffer * samples. The alignment requirements depend on the CPU: on some CPUs it isn't * necessary at all, on others it won't work at all if not aligned and on others * it will work but it will have an impact on performance. In practice, the @@ -3298,8 +3298,8 @@ attribute_deprecated int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtit /** * Decodes a subtitle message. * Returns a negative value on error, otherwise returns the number of bytes used. - * If no subtitle could be decompressed, \p got_sub_ptr is zero. - * Otherwise, the subtitle is stored in \p *sub. + * If no subtitle could be decompressed, got_sub_ptr is zero. + * Otherwise, the subtitle is stored in *sub. * * @param avctx the codec context * @param[out] sub The AVSubtitle in which the decoded subtitle will be stored. @@ -3314,11 +3314,11 @@ int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, uint8_t *buf, int buf_size); /** - * Encodes an audio frame from \p samples into \p buf. + * Encodes an audio frame from samples into buf. * - * @note The output buffer should be at least \c FF_MIN_BUFFER_SIZE bytes large. + * @note The output buffer should be at least FF_MIN_BUFFER_SIZE bytes large. * However, for PCM audio the user will know how much space is needed - * because it depends on the value passed in \p buf_size as described + * because it depends on the value passed in buf_size as described * below. In that case a lower value can be used. * * @param avctx the codec context @@ -3326,9 +3326,9 @@ int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, * @param[in] buf_size the output buffer size * @param[in] samples the input buffer containing the samples * The number of samples read from this buffer is frame_size*channels, - * both of which are defined in \p avctx. - * For PCM audio the number of samples read from \p samples is equal to - * \p buf_size * input_sample_size / output_sample_size. + * both of which are defined in avctx. + * For PCM audio the number of samples read from samples is equal to + * buf_size * input_sample_size / output_sample_size. * @return On error a negative value is returned, on success zero or the number * of bytes used to encode the data read from the input buffer. */ @@ -3336,9 +3336,9 @@ int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples); /** - * Encodes a video frame from \p pict into \p buf. + * Encodes a video frame from pict into buf. * The input picture should be - * stored using a specific format, namely \c avctx.pix_fmt. + * stored using a specific format, namely avctx.pix_fmt. * * @param avctx the codec context * @param[out] buf the output buffer for the bitstream of encoded frame @@ -3376,7 +3376,7 @@ void avcodec_default_free_buffers(AVCodecContext *s); /* misc useful functions */ /** - * Returns a single letter to describe the given picture type \p pict_type. + * Returns a single letter to describe the given picture type pict_type. * * @param[in] pict_type the picture type * @return A single character representing the picture type. @@ -3666,7 +3666,7 @@ int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, unsigned int av_xiphlacing(unsigned char *s, unsigned int v); /** - * Parses \p str and put in \p width_ptr and \p height_ptr the detected values. + * Parses str and put in width_ptr and height_ptr the detected values. * * @return 0 in case of a successful parsing, a negative value otherwise * @param[in] str the string to parse: it has to be a string in the format @@ -3679,7 +3679,7 @@ unsigned int av_xiphlacing(unsigned char *s, unsigned int v); int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str); /** - * Parses \p str and put in \p frame_rate the detected values. + * Parses str and put in frame_rate the detected values. * * @return 0 in case of a successful parsing, a negative value otherwise * @param[in] str the string to parse: it has to be a string in the format @@ -3710,7 +3710,7 @@ int av_parse_video_frame_rate(AVRational *frame_rate, const char *str); #define AVERROR_PATCHWELCOME -MKTAG('P','A','W','E') /**< Not yet implemented in FFmpeg. Patches welcome. */ /** - * Registers the hardware accelerator \p hwaccel. + * Registers the hardware accelerator hwaccel. */ void av_register_hwaccel(AVHWAccel *hwaccel); @@ -3734,7 +3734,7 @@ enum AVLockOp { /** * Register a user provided lock manager supporting the operations - * specified by AVLockOp. \p mutex points to a (void *) where the + * specified by AVLockOp. mutex points to a (void *) where the * lockmgr should store/get a pointer to a user allocated mutex. It's * NULL upon AV_LOCK_CREATE and != NULL for all other ops. * diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 0466318acb..89045fcb10 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -33,7 +33,7 @@ * a pointer to an AVClass struct * @param[in] feature string containing the name of the missing feature * @param[in] want_sample indicates if samples are wanted which exhibit this feature. - * If \p want_sample is non-zero, additional verbage will be added to the log + * If want_sample is non-zero, additional verbage will be added to the log * message which tells the user how to report samples to the development * mailing list. */ @@ -48,13 +48,13 @@ void ff_log_missing_feature(void *avc, const char *feature, int want_sample); void ff_log_ask_for_sample(void *avc, const char *msg); /** - * Determines whether \p pix_fmt is a hardware accelerated format. + * Determines whether pix_fmt is a hardware accelerated format. */ int ff_is_hwaccel_pix_fmt(enum PixelFormat pix_fmt); /** - * Returns the hardware accelerated codec for codec \p codec_id and - * pixel format \p pix_fmt. + * Returns the hardware accelerated codec for codec codec_id and + * pixel format pix_fmt. * * @param codec_id the codec to match * @param pix_fmt the pixel format to match diff --git a/libavcodec/opt.h b/libavcodec/opt.h index 05c6dea89f..84511e0c06 100644 --- a/libavcodec/opt.h +++ b/libavcodec/opt.h @@ -87,8 +87,8 @@ typedef struct AVOption { /** - * Looks for an option in \p obj. Looks only for the options which - * have the flags set as specified in \p mask and \p flags (that is, + * Looks for an option in obj. Looks only for the options which + * have the flags set as specified in mask and flags (that is, * for which it is the case that opt->flags & mask == flags). * * @param[in] obj a pointer to a struct whose first element is a @@ -108,7 +108,7 @@ attribute_deprecated const AVOption *av_set_string(void *obj, const char *name, /** * @return a pointer to the AVOption corresponding to the field set or - * NULL if no matching AVOption exists, or if the value \p val is not + * NULL if no matching AVOption exists, or if the value val is not * valid * @see av_set_string3() */ diff --git a/libavcodec/pixdesc.h b/libavcodec/pixdesc.h index 0a2acab719..e6d2dcd0df 100644 --- a/libavcodec/pixdesc.h +++ b/libavcodec/pixdesc.h @@ -86,8 +86,8 @@ typedef struct AVPixFmtDescriptor{ extern const AVPixFmtDescriptor av_pix_fmt_descriptors[]; /** - * Reads a line from an image, and writes to \p dst the values of the - * pixel format component \p c. + * Reads a line from an image, and writes to dst the values of the + * pixel format component c. * * @param data the array containing the pointers to the planes of the image * @param linesizes the array containing the linesizes of the image @@ -95,10 +95,10 @@ extern const AVPixFmtDescriptor av_pix_fmt_descriptors[]; * @param x the horizontal coordinate of the first pixel to read * @param y the vertical coordinate of the first pixel to read * @param w the width of the line to read, that is the number of - * values to write to \p dst + * values to write to dst * @param read_pal_component if not zero and the format is a paletted - * format writes to \p dst the values corresponding to the palette - * component \p c in data[1], rather than the palette indexes in + * format writes to dst the values corresponding to the palette + * component c in data[1], rather than the palette indexes in * data[0]. The behavior is undefined if the format is not paletted. */ static inline void read_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4], diff --git a/libavcodec/put_bits.h b/libavcodec/put_bits.h index 61c6c9b31f..4b4b3a873a 100644 --- a/libavcodec/put_bits.h +++ b/libavcodec/put_bits.h @@ -52,10 +52,10 @@ typedef struct PutBitContext { } PutBitContext; /** - * Initializes the PutBitContext \p s. + * Initializes the PutBitContext s. * * @param buffer the buffer where to put bits - * @param buffer_size the size in bytes of \p buffer + * @param buffer_size the size in bytes of buffer */ static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size) { @@ -123,16 +123,16 @@ static inline void flush_put_bits(PutBitContext *s) void align_put_bits(PutBitContext *s); /** - * Puts the string \p s in the bitstream. + * Puts the string s in the bitstream. * * @param terminate_string 0-terminates the written string if value is 1 */ void ff_put_string(PutBitContext * pbc, const char *s, int terminate_string); /** - * Copies the content of \p src to the bitstream. + * Copies the content of src to the bitstream. * - * @param length the number of bits of \p src to copy + * @param length the number of bits of src to copy */ void ff_copy_bits(PutBitContext *pb, const uint8_t *src, int length); @@ -290,7 +290,7 @@ static inline void skip_put_bytes(PutBitContext *s, int n){ /** * Skips the given number of bits. * Must only be used if the actual values in the bitstream do not matter. - * If \p n is 0 the behavior is undefined. + * If n is 0 the behavior is undefined. */ static inline void skip_put_bits(PutBitContext *s, int n){ #ifdef ALT_BITSTREAM_WRITER diff --git a/libavformat/rm.h b/libavformat/rm.h index 53dd019cde..8bb32bf701 100644 --- a/libavformat/rm.h +++ b/libavformat/rm.h @@ -64,8 +64,8 @@ int ff_rm_read_mdpr_codecdata (AVFormatContext *s, ByteIOContext *pb, * @param flags pointer to an integer containing the packet flags, may be updated * @param ts pointer to timestamp, may be updated - * @return <0 on error, 0 if a packet was placed in the \p pkt pointer. A - * value >0 means that no data was placed in \p pkt, but that cached + * @return <0 on error, 0 if a packet was placed in the pkt pointer. A + * value >0 means that no data was placed in pkt, but that cached * data is available by calling ff_rm_retrieve_cache(). */ int ff_rm_parse_packet (AVFormatContext *s, ByteIOContext *pb, diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h index 99e56eeb92..900eae525b 100644 --- a/libavformat/rtsp.h +++ b/libavformat/rtsp.h @@ -207,7 +207,7 @@ typedef struct RTSPState { /** timestamp of the last RTSP command that we sent to the RTSP server. * This is used to calculate when to send dummy commands to keep the - * connection alive, in conjunction with \p timeout. */ + * connection alive, in conjunction with timeout. */ int64_t last_cmd_time; /** the negotiated data/packet transport protocol; e.g. RTP or RDT */ diff --git a/libavutil/base64.h b/libavutil/base64.h index e3152ebbd2..103860eff0 100644 --- a/libavutil/base64.h +++ b/libavutil/base64.h @@ -24,23 +24,23 @@ #include <stdint.h> /** - * Decodes the base64-encoded string in \p in and puts the decoded - * data in \p out. + * Decodes the base64-encoded string in in and puts the decoded + * data in out. * - * @param out_size size in bytes of the \p out buffer, it should be at - * least 3/4 of the length of \p in + * @param out_size size in bytes of the out buffer, it should be at + * least 3/4 of the length of in * @return the number of bytes written, or a negative value in case of * error */ int av_base64_decode(uint8_t *out, const char *in, int out_size); /** - * Encodes in base64 the data in \p in and puts the resulting string - * in \p out. + * Encodes in base64 the data in in and puts the resulting string + * in out. * - * @param out_size size in bytes of the \p out string, it should be at - * least ((\p in_size + 2) / 3) * 4 + 1 - * @param in_size size in bytes of the \p in buffer + * @param out_size size in bytes of the out string, it should be at + * least ((in_size + 2) / 3) * 4 + 1 + * @param in_size size in bytes of the in buffer * @return the string containing the encoded data, or NULL in case of * error */ diff --git a/libavutil/log.h b/libavutil/log.h index 1206a2fc38..6a7a27957a 100644 --- a/libavutil/log.h +++ b/libavutil/log.h @@ -39,7 +39,7 @@ struct AVCLASS { /** * A pointer to a function which returns the name of a context - * instance \p ctx associated with the class. + * instance ctx associated with the class. */ const char* (*item_name)(void* ctx); diff --git a/libavutil/mem.h b/libavutil/mem.h index e50553aefe..8991ee9396 100644 --- a/libavutil/mem.h +++ b/libavutil/mem.h @@ -41,7 +41,7 @@ #endif /** - * Allocates a block of \p size bytes with alignment suitable for all + * Allocates a block of size bytes with alignment suitable for all * memory accesses (including vectors if available on the CPU). * @param size Size in bytes for the memory block to be allocated. * @return Pointer to the allocated block, NULL if the block cannot @@ -52,8 +52,8 @@ void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1); /** * Allocates or reallocates a block of memory. - * If \p ptr is NULL and \p size > 0, allocates a new block. If \p - * size is zero, frees the memory block pointed to by \p ptr. + * If ptr is NULL and size > 0, allocates a new block. If \p + * size is zero, frees the memory block pointed to by ptr. * @param size Size in bytes for the memory block to be allocated or * reallocated. * @param ptr Pointer to a memory block already allocated with @@ -75,7 +75,7 @@ void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2); void av_free(void *ptr); /** - * Allocates a block of \p size bytes with alignment suitable for all + * Allocates a block of size bytes with alignment suitable for all * memory accesses (including vectors if available on the CPU) and * zeroes all the bytes of the block. * @param size Size in bytes for the memory block to be allocated. @@ -85,10 +85,10 @@ void av_free(void *ptr); void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1); /** - * Duplicates the string \p s. + * Duplicates the string s. * @param s string to be duplicated * @return Pointer to a newly allocated string containing a - * copy of \p s or NULL if the string cannot be allocated. + * copy of s or NULL if the string cannot be allocated. */ char *av_strdup(const char *s) av_malloc_attrib; diff --git a/libavutil/rational.h b/libavutil/rational.h index 5ee70c9bed..0f415edf94 100644 --- a/libavutil/rational.h +++ b/libavutil/rational.h @@ -114,13 +114,13 @@ AVRational av_sub_q(AVRational b, AVRational c) av_const; AVRational av_d2q(double d, int max) av_const; /** - * @return 1 if \q1 is nearer to \p q than \p q2, -1 if \p q2 is nearer - * than \p q1, 0 if they have the same distance. + * @return 1 if q1 is nearer to q than q2, -1 if q2 is nearer + * than q1, 0 if they have the same distance. */ int av_nearer_q(AVRational q, AVRational q1, AVRational q2); /** - * Finds the nearest value in \p q_list to \p q. + * Finds the nearest value in q_list to q. * @param q_list an array of rationals terminated by {0, 0} * @return the index of the nearest value found in the array */ |