Hi,
On Sun, Jul 3, 2011 at 7:42 AM, Diego Biurrun <[email protected]> wrote:
[..]
> -/**
> - * @param c arithmetic bitstream reader context
> - * @param block destination for block coefficients
> - * @param probs probabilities to use when reading trees from the bitstream
> - * @param i initial coeff index, 0 unless a separate DC block is coded
> - * @param zero_nhood the initial prediction context for number of surrounding
> - * all-zero blocks (only left/top, so 0-2)
> - * @param qmul array holding the dc/ac dequant factor at position 0/1
> - * @return 0 if no coeffs were decoded
> - * otherwise, the index of the last coeff decoded plus one
> - */
> static int decode_block_coeffs_internal(VP56RangeCoder *c, DCTELEM block[16],
> uint8_t
> probs[16][3][NUM_DCT_TOKENS-1],
> int i, uint8_t *token_prob, int16_t
> qmul[2])
> @@ -701,6 +690,17 @@ skip_eob:
> }
> #endif
>
> +/**
> + * @param c arithmetic bitstream reader context
> + * @param block destination for block coefficients
> + * @param probs probabilities to use when reading trees from the bitstream
> + * @param i initial coeff index, 0 unless a separate DC block is coded
> + * @param zero_nhood the initial prediction context for number of surrounding
> + * all-zero blocks (only left/top, so 0-2)
> + * @param qmul array holding the dc/ac dequant factor at position 0/1
> + * @return 0 if no coeffs were decoded
> + * otherwise, the index of the last coeff decoded plus one
> + */
> static av_always_inline
> int decode_block_coeffs(VP56RangeCoder *c, DCTELEM block[16],
> uint8_t probs[16][3][NUM_DCT_TOKENS-1],
No. The above is a static inline function. The first is a function
that can be overridden by asm-optimized versions (see arm). The doxy
is to help people implement that function.
> @@ -1034,10 +1034,9 @@ static const uint8_t subpel_idx[3][8] = {
> };
>
> /**
> - * Generic MC function.
> + * luma MC function
> *
> * @param s VP8 decoding context
> - * @param luma 1 for luma (Y) planes, 0 for chroma (Cb/Cr) planes
> * @param dst target buffer for block data at block position
> * @param ref reference picture buffer at origin (0, 0)
> * @param mv motion vector (relative to block position) to get pixel data from
> @@ -1083,6 +1082,23 @@ void vp8_mc_luma(VP8Context *s, uint8_t *dst, AVFrame
> *ref, const VP56mv *mv,
> }
> }
>
> +/**
> + * chroma MC function
> + *
> + * @param s VP8 decoding context
> + * @param dst1 target buffer for block data at block position (U plane)
> + * @param dst2 target buffer for block data at block position (V plane)
> + * @param ref reference picture buffer at origin (0, 0)
> + * @param mv motion vector (relative to block position) to get pixel data
> from
> + * @param x_off horizontal position of block from origin (0, 0)
> + * @param y_off vertical position of block from origin (0, 0)
> + * @param block_w width of block (16, 8 or 4)
> + * @param block_h height of block (always same as block_w)
> + * @param width width of src/dst plane data
> + * @param height height of src/dst plane data
> + * @param linesize size of a single line of plane data, including padding
> + * @param mc_func motion compensation function pointers (bilinear or sixtap
> MC)
> + */
> static av_always_inline
> void vp8_mc_chroma(VP8Context *s, uint8_t *dst1, uint8_t *dst2, AVFrame *ref,
> const VP56mv *mv, int x_off, int y_off,
This one is OK.
Ronald
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel