Merge pull request #68 from eustas/master

Roll new brotli version
This commit is contained in:
rsheeter
2017-02-23 13:09:31 -08:00
committed by GitHub
4 changed files with 22 additions and 26 deletions
+9 -9
View File
@@ -1,6 +1,6 @@
OS := $(shell uname) OS := $(shell uname)
CPPFLAGS = -I./brotli/dec/ -I./brotli/enc/ -I./src CPPFLAGS = -I./brotli/include/ -I./src
AR ?= ar AR ?= ar
CC ?= gcc CC ?= gcc
@@ -27,8 +27,10 @@ OUROBJ = font.o glyph.o normalize.o table_tags.o transform.o \
variable_length.o variable_length.o
BROTLI = brotli BROTLI = brotli
ENCOBJ = $(BROTLI)/enc/*.o BROTLIOBJ = $(BROTLI)/bin/obj
DECOBJ = $(BROTLI)/dec/*.o ENCOBJ = $(BROTLIOBJ)/enc/*.o
DECOBJ = $(BROTLIOBJ)/dec/*.o
COMMONOBJ = $(BROTLIOBJ)/common/*.o
OBJS = $(patsubst %, $(SRCDIR)/%, $(OUROBJ)) OBJS = $(patsubst %, $(SRCDIR)/%, $(OUROBJ))
EXECUTABLES=woff2_compress woff2_decompress EXECUTABLES=woff2_compress woff2_decompress
@@ -46,13 +48,11 @@ $(ARCHIVES) : $(ARCHIVE_OBJS) $(OBJS) deps
$(AR) $(ARFLAGS) $(SRCDIR)/$@.a $(OBJS) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/$@.o $(AR) $(ARFLAGS) $(SRCDIR)/$@.a $(OBJS) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/$@.o
$(EXECUTABLES) : $(EXE_OBJS) deps $(EXECUTABLES) : $(EXE_OBJS) deps
$(CXX) $(LFLAGS) $(OBJS) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/$@.o -o $@ $(CXX) $(LFLAGS) $(OBJS) $(COMMONOBJ) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/$@.o -o $@
deps : deps :
$(MAKE) -C $(BROTLI)/dec $(MAKE) -C $(BROTLI) lib
$(MAKE) -C $(BROTLI)/enc
clean : clean :
rm -f $(OBJS) $(EXE_OBJS) $(EXECUTABLES) $(ARCHIVE_OBJS) rm -f $(OBJS) $(EXE_OBJS) $(EXECUTABLES)
$(MAKE) -C $(BROTLI)/dec clean $(MAKE) -C $(BROTLI) clean
$(MAKE) -C $(BROTLI)/enc clean
+1 -1
Submodule brotli updated: 510131d1db...222564a95d
+5 -4
View File
@@ -27,7 +27,7 @@
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "./decode.h" #include "./brotli/decode.h"
#include "./buffer.h" #include "./buffer.h"
#include "./port.h" #include "./port.h"
#include "./round.h" #include "./round.h"
@@ -742,9 +742,10 @@ bool ReconstructTransformedHmtx(const uint8_t* transformed_buf,
bool Woff2Uncompress(uint8_t* dst_buf, size_t dst_size, bool Woff2Uncompress(uint8_t* dst_buf, size_t dst_size,
const uint8_t* src_buf, size_t src_size) { const uint8_t* src_buf, size_t src_size) {
size_t uncompressed_size = dst_size; size_t uncompressed_size = dst_size;
int ok = BrotliDecompressBuffer(src_size, src_buf, BrotliDecoderResult result = BrotliDecoderDecompress(
&uncompressed_size, dst_buf); src_size, src_buf, &uncompressed_size, dst_buf);
if (PREDICT_FALSE(!ok || uncompressed_size != dst_size)) { if (PREDICT_FALSE(result != BROTLI_DECODER_RESULT_SUCCESS ||
uncompressed_size != dst_size)) {
return FONT_COMPRESSION_FAILURE(); return FONT_COMPRESSION_FAILURE();
} }
return true; return true;
+7 -12
View File
@@ -23,7 +23,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "./compressor.h" #include "./brotli/encode.h"
#include "./buffer.h" #include "./buffer.h"
#include "./font.h" #include "./font.h"
#include "./normalize.h" #include "./normalize.h"
@@ -47,16 +47,11 @@ using std::vector;
const size_t kWoff2HeaderSize = 48; const size_t kWoff2HeaderSize = 48;
const size_t kWoff2EntrySize = 20; const size_t kWoff2EntrySize = 20;
bool Compress(const uint8_t* data, const size_t len, uint8_t* result,
bool Compress(const uint8_t* data, const size_t len, uint32_t* result_len, BrotliEncoderMode mode, int quality) {
uint8_t* result, uint32_t* result_len,
brotli::BrotliParams::Mode mode, int quality) {
size_t compressed_len = *result_len; size_t compressed_len = *result_len;
brotli::BrotliParams params; if (BrotliEncoderCompress(quality, BROTLI_DEFAULT_WINDOW, mode, len, data,
params.mode = mode; &compressed_len, result) == 0) {
params.quality = quality;
if (brotli::BrotliCompressBuffer(params, len, data, &compressed_len, result)
== 0) {
return false; return false;
} }
*result_len = compressed_len; *result_len = compressed_len;
@@ -67,14 +62,14 @@ bool Woff2Compress(const uint8_t* data, const size_t len,
uint8_t* result, uint32_t* result_len, uint8_t* result, uint32_t* result_len,
int quality) { int quality) {
return Compress(data, len, result, result_len, return Compress(data, len, result, result_len,
brotli::BrotliParams::MODE_FONT, quality); BROTLI_MODE_FONT, quality);
} }
bool TextCompress(const uint8_t* data, const size_t len, bool TextCompress(const uint8_t* data, const size_t len,
uint8_t* result, uint32_t* result_len, uint8_t* result, uint32_t* result_len,
int quality) { int quality) {
return Compress(data, len, result, result_len, return Compress(data, len, result, result_len,
brotli::BrotliParams::MODE_TEXT, quality); BROTLI_MODE_TEXT, quality);
} }
int KnownTableIndex(uint32_t tag) { int KnownTableIndex(uint32_t tag) {