* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
*/
-#ifndef RLE_H
-#define RLE_H
+#ifndef AVCODEC_RLE_H
+#define AVCODEC_RLE_H
+
+#include <stdint.h>
-int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *inbuf, int bpp, int w, int8_t add, uint8_t xor);
+/**
+ * RLE compress the row, with maximum size of out_size. Value before repeated bytes is (count ^ xor_rep) + add_rep.
+ * Value before raw bytes is (count ^ xor_raw) + add_raw.
+ * @param outbuf Output buffer
+ * @param out_size Maximum output size
+ * @param inbuf Input buffer
+ * @param bpp Bytes per pixel
+ * @param w Image width
+ * @return Size of output in bytes, or -1 if larger than out_size
+ */
+int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *inbuf, int bpp, int w,
+ int add_rep, int xor_rep, int add_raw, int xor_raw);
-#endif /* RLE_H */
+#endif /* AVCODEC_RLE_H */