avcodec/avdct: support >8bit per sample dcts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-12-12 16:21:54 +01:00
parent c1d9283b1e
commit 1307c11ce6
3 changed files with 6 additions and 1 deletions

View File

@ -63,6 +63,8 @@ static const AVOption avdct_options[] = {
{"xvidmmx", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"faani", "floating point AAN IDCT (experimental / for debugging)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_FAAN }, INT_MIN, INT_MAX, V|D|E, "idct"},
{"simpleauto", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEAUTO }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"bits_per_sample", "", OFFSET(bits_per_sample), AV_OPT_TYPE_INT, {.i64 = 8 }, 0, 14, 0,},
{NULL},
};
@ -99,6 +101,7 @@ int avcodec_dct_init(AVDCT *dsp)
avctx->idct_algo = dsp->idct_algo;
avctx->dct_algo = dsp->dct_algo;
avctx->bits_per_raw_sample = dsp->bits_per_sample;
#define COPY(src, name) memcpy(&dsp->name, &src.name, sizeof(dsp->name))

View File

@ -65,6 +65,8 @@ typedef struct AVDCT {
void (*get_pixels)(int16_t *block /* align 16 */,
const uint8_t *pixels /* align 8 */,
ptrdiff_t line_size);
int bits_per_sample;
} AVDCT;
/**

View File

@ -29,7 +29,7 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 56
#define LIBAVCODEC_VERSION_MINOR 14
#define LIBAVCODEC_VERSION_MINOR 15
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \