Added WebPMux Binary.

This change adds a command line tool (webpmux) which uses MUX library
for manipulating WebP Mux container. This tool can be used to create a
WebP container file and extract/strip relevant data from the container
file.

Change-Id: If17818239448a428703760747fc84f77586045e4
This commit is contained in:
Urvang Joshi 2011-09-30 11:07:01 +05:30
parent 9f761cfae9
commit a4f32caef4
3 changed files with 1049 additions and 9 deletions

View File

@ -1,6 +1,6 @@
AM_CPPFLAGS = -I$(top_srcdir)/src AM_CPPFLAGS = -I$(top_srcdir)/src
bin_PROGRAMS = dwebp cwebp bin_PROGRAMS = dwebp cwebp webpmux
dwebp_SOURCES = dwebp.c stopwatch.h dwebp_SOURCES = dwebp.c stopwatch.h
dwebp_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) $(JPEG_INCLUDES) $(USE_EXPERIMENTAL_CODE) dwebp_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) $(JPEG_INCLUDES) $(USE_EXPERIMENTAL_CODE)
@ -9,3 +9,7 @@ dwebp_LDADD = ../src/libwebp.la $(PNG_LIBS) $(JPEG_LIBS)
cwebp_SOURCES = cwebp.c stopwatch.h cwebp_SOURCES = cwebp.c stopwatch.h
cwebp_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) $(JPEG_INCLUDES) $(USE_EXPERIMENTAL_CODE) cwebp_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) $(JPEG_INCLUDES) $(USE_EXPERIMENTAL_CODE)
cwebp_LDADD = ../src/libwebp.la $(PNG_LIBS) $(JPEG_LIBS) cwebp_LDADD = ../src/libwebp.la $(PNG_LIBS) $(JPEG_LIBS)
webpmux_SOURCES = webpmux.c
webpmux_CPPFLAGS = $(AM_CPPFLAGS) $(USE_EXPERIMENTAL_CODE)
webpmux_LDADD = ../src/libwebp.la ../src/mux/libwebpmux.la

1033
examples/webpmux.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -72,14 +72,17 @@ UTILS_OBJS = src/utils/bit_reader.o src/utils/bit_writer.o src/utils/thread.o
OBJS = $(DEC_OBJS) $(ENC_OBJS) $(DSP_OBJS) $(UTILS_OBJS) OBJS = $(DEC_OBJS) $(ENC_OBJS) $(DSP_OBJS) $(UTILS_OBJS)
HDRS = src/webp/encode.h src/enc/vp8enci.h src/enc/cost.h \ MUX_OBJS = src/mux/mux.o
HDRS = src/webp/encode.h src/enc/vp8enci.h src/enc/cost.h src/webp/mux.h \
src/dec/vp8i.h \ src/dec/vp8i.h \
src/dsp/yuv.h src/dsp/dsp.h \ src/dsp/yuv.h src/dsp/dsp.h \
src/utils/bit_writer.h src/utils/bit_reader.h src/utils/thread.h src/utils/bit_writer.h src/utils/bit_reader.h src/utils/thread.h
OUTPUT = examples/cwebp examples/dwebp src/libwebp.a src/mux/libwebpmux.a OUTPUT = examples/cwebp examples/dwebp examples/webpmux \
src/libwebp.a src/mux/libwebpmux.a
all:ex src/mux/libwebpmux.a all:ex
%.o: %.c $(HDRS) %.o: %.c $(HDRS)
$(CC) $(CFLAGS) -c $< -o $@ $(CC) $(CFLAGS) -c $< -o $@
@ -87,23 +90,23 @@ all:ex src/mux/libwebpmux.a
src/libwebp.a: $(OBJS) src/libwebp.a: $(OBJS)
$(AR) $(ARFLAGS) $@ $^ $(AR) $(ARFLAGS) $@ $^
MUX_OBJS = src/mux/mux.o
src/mux/libwebpmux.a: $(MUX_OBJS) src/mux/libwebpmux.a: $(MUX_OBJS)
$(AR) $(ARFLAGS) $@ $^ $(AR) $(ARFLAGS) $@ $^
ex: examples/cwebp examples/dwebp ex: examples/cwebp examples/dwebp examples/webpmux
examples/cwebp: examples/cwebp.o src/libwebp.a examples/cwebp: examples/cwebp.o src/libwebp.a
examples/dwebp: examples/dwebp.o src/libwebp.a examples/dwebp: examples/dwebp.o src/libwebp.a
examples/cwebp examples/dwebp: examples/webpmux: examples/webpmux.o src/mux/libwebpmux.a src/libwebp.a
examples/cwebp examples/dwebp examples/webpmux:
$(CC) -o $@ $^ $(LDFLAGS) $(CC) -o $@ $^ $(LDFLAGS)
dist: DESTDIR := dist dist: DESTDIR := dist
dist: all dist: all
$(INSTALL) -m755 -d $(DESTDIR)/include/webp \ $(INSTALL) -m755 -d $(DESTDIR)/include/webp \
$(DESTDIR)/doc $(DESTDIR)/lib $(DESTDIR)/doc $(DESTDIR)/lib
$(INSTALL) -m755 -s examples/cwebp examples/dwebp $(DESTDIR) $(INSTALL) -m755 -s examples/cwebp examples/dwebp examples/webpmux \
$(DESTDIR)
$(INSTALL) -m644 src/webp/*.h $(DESTDIR)/include/webp $(INSTALL) -m644 src/webp/*.h $(DESTDIR)/include/webp
$(INSTALL) -m644 src/libwebp.a $(DESTDIR)/lib $(INSTALL) -m644 src/libwebp.a $(DESTDIR)/lib
umask 022; \ umask 022; \