It is used as bitfield with 16 entries. Also changes local variables in rv40_loop_filter() caching values from the context to the same type as used in the context. --- libavcodec/rv34.h | 2 +- libavcodec/rv40.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/rv34.h b/libavcodec/rv34.h index d86b009..7623214 100644 --- a/libavcodec/rv34.h +++ b/libavcodec/rv34.h @@ -110,7 +110,7 @@ typedef struct RV34DecContext{ uint16_t *cbp_luma; ///< CBP values for luma subblocks uint8_t *cbp_chroma; ///< CBP values for chroma subblocks - int *deblock_coefs; ///< deblock coefficients for each macroblock + uint16_t *deblock_coefs; ///< deblock coefficients for each macroblock /** 8x8 block available flags (for MV prediction) */ DECLARE_ALIGNED(8, uint32_t, avail_cache)[3*4]; diff --git a/libavcodec/rv40.c b/libavcodec/rv40.c index c55a07a..e4d36d0 100644 --- a/libavcodec/rv40.c +++ b/libavcodec/rv40.c @@ -346,18 +346,18 @@ static void rv40_loop_filter(RV34DecContext *r, int row) * LSB corresponds to the top left block, * each nibble represents one row of subblocks. */ - int cbp[4]; + uint16_t cbp[4]; /** * coded block patterns for chroma part of current macroblock and its neighbours * Format is the same as for luma with two subblocks in a row. */ - int uvcbp[4][2]; + uint8_t uvcbp[4][2]; /** * This mask represents the pattern of luma subblocks that should be filtered * in addition to the coded ones because because they lie at the edge of * 8x8 block with different enough motion vectors */ - int mvmasks[4]; + uint16_t mvmasks[4]; mb_pos = row * s->mb_stride; for(mb_x = 0; mb_x < s->mb_width; mb_x++, mb_pos++){ -- 1.7.8.4 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel