Multithread AVIF PoC

This commit is contained in:
Ingvar Stepanyan
2020-09-23 12:58:23 +01:00
committed by Ingvar Stepanyan
parent 63ac34a662
commit 685558847f
18 changed files with 527 additions and 226 deletions

View File

@@ -1,5 +1,6 @@
#include <emscripten/bind.h>
#include <emscripten/val.h>
#include <emscripten/threading.h>
#include "avif/avif.h"
using namespace emscripten;
@@ -71,7 +72,7 @@ val encode(std::string buffer, int width, int height, AvifOptions options) {
avifImageRGBToYUV(image, &srcRGB);
avifEncoder* encoder = avifEncoderCreate();
encoder->maxThreads = 1;
encoder->maxThreads = emscripten_num_logical_cores();
encoder->minQuantizer = options.minQuantizer;
encoder->maxQuantizer = options.maxQuantizer;
encoder->minQuantizerAlpha = options.minQuantizerAlpha;