On 09/13/2013 04:56 PM, Luca Barbato wrote:
On 13/09/13 22:31, Justin Ruggles wrote:
---
doc/general.texi | 2 +-
libavcodec/webp.c | 1173 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 1164 insertions(+), 11 deletions(-)
[...]
+typedef struct ImageContext {
+ enum ImageRole role;
+ AVFrame *frame;
+ int color_cache_bits;
+ uint8_t *color_cache;
+ int num_huffman_groups;
+ HuffmanGroup *huffman_groups;
+} ImageContext;
+
+typedef union {
+ uint8_t u8;
+ int8_t s8;
+} av_alias alias8;
Don't we have something like this in avutils?
No.
+static av_always_inline uint8_t add_comp(int a, int b)
+{
+ return (a + b) & 0xFF;
+}
+
+static av_always_inline uint8_t avg2_comp(int a, int b)
+{
+ return (a + b) / 2;
+}
+
+static av_always_inline uint8_t clamp_add_subtract_full(int a, int b, int c)
+{
+ return av_clip_uint8(a + b - c);
+}
+
+static av_always_inline uint8_t clamp_add_subtract_half(int a, int b, int c)
+{
+ int d = avg2_comp(a, b);
+ return av_clip_uint8(d + (d - c) / 2);
+}
Some of those above should be in avutil already.
I don't see anything.
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel