#ifndef _CBRT_TABLEGEN_H_b711d912_ #define _CBRT_TABLEGEN_H_b711d912_ /* * This file was stolen from ffmpeg and modified for usability here. * The original is * * Copyright (c) 2010 Reimar Döffinger * * This version is a derivative work of that version. It is not free * software; it is licensed under the GNU Lesser General Public * License version 2.1, which places nontrivial restrictions on what * may be done with it. (I'm not terribly happy about that, but for * my purposes accepting LGPL-infected code is a lower price than * reimplementing it all myself.) * * The LGPL v2.1 as distributed with ffmpeg is in the accompanying file * `LGPL-v2.1'. */ #include #include #if CONFIG_HARDCODED_TABLES #define cbrt_tableinit() #include "libavcodec/cbrt_tables.h" #else static uint32_t cbrt_tab[1 << 13]; static void cbrt_tableinit(void) { if (!cbrt_tab[(1<<13) - 1]) { int i; for (i = 0; i < 1<<13; i++) { union { float f; uint32_t i; } f; f.f = cbrtf(i) * i; cbrt_tab[i] = f.i; } } } #endif /* CONFIG_HARDCODED_TABLES */ #endif