diff options
Diffstat (limited to 'libavcodec/rle.c')
-rw-r--r-- | libavcodec/rle.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/libavcodec/rle.c b/libavcodec/rle.c index cbbde93f56..8a2d922ab6 100644 --- a/libavcodec/rle.c +++ b/libavcodec/rle.c @@ -22,16 +22,7 @@ #include "rle.h" #include "libavutil/common.h" -/** - * Count up to 127 consecutive pixels which are either all the same or - * all differ from the previous and next pixels. - * @param start Pointer to the first pixel - * @param len Maximum number of pixels - * @param bpp Bytes per pixel - * @param same 1 if searching for identical pixel values. 0 for differing - * @return Number of matching consecutive pixels found - */ -static int count_pixels(const uint8_t *start, int len, int bpp, int same) +int ff_rle_count_pixels(const uint8_t *start, int len, int bpp, int same) { const uint8_t *pos; int count = 1; @@ -63,14 +54,14 @@ int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *ptr , int bpp, i for(x = 0; x < w; x += count) { /* see if we can encode the next set of pixels with RLE */ - if((count = count_pixels(ptr, w-x, bpp, 1)) > 1) { + if ((count = ff_rle_count_pixels(ptr, w - x, bpp, 1)) > 1) { if(out + bpp + 1 > outbuf + out_size) return -1; *out++ = (count ^ xor_rep) + add_rep; memcpy(out, ptr, bpp); out += bpp; } else { /* fall back on uncompressed */ - count = count_pixels(ptr, w-x, bpp, 0); + count = ff_rle_count_pixels(ptr, w - x, bpp, 0); if(out + bpp*count >= outbuf + out_size) return -1; *out++ = (count ^ xor_raw) + add_raw; |