Ignite/decoder/libdav1d/libdav1d.c
DataHoarder c54e961aee
Some checks failed
continuous-integration/drone/push Build is failing
Properly close dav1d decoder, clone settings map on aom
2023-10-26 07:07:23 +02:00

16 lines
520 B
C

#include "libdav1d.h"
#include <math.h>
#define DAV1D_VERSION_AT_LEAST(x,y) \
(DAV1D_API_VERSION_MAJOR > (x) || DAV1D_API_VERSION_MAJOR == (x) && DAV1D_API_VERSION_MINOR >= (y))
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
void set_threading(Dav1dSettings* s, int threads) {
#if DAV1D_VERSION_AT_LEAST(6,0)
s->n_threads = threads;
#else
s->n_tile_threads = MIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
s->n_frame_threads = MIN(ceil(threads / s->n_tile_threads), DAV1D_MAX_FRAME_THREADS);
#endif
}