[FFmpeg-devel] [PATCH 1/2] avcodec/avdct: support >8bit per sample dcts

Michael Niedermayer michaelni at gmx.at
Fri Dec 12 16:53:58 CET 2014


Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
 libavcodec/avdct.c |    3 +++
 libavcodec/avdct.h |    2 ++
 2 files changed, 5 insertions(+)

diff --git a/libavcodec/avdct.c b/libavcodec/avdct.c
index a01a6b7..f92c691 100644
--- a/libavcodec/avdct.c
+++ b/libavcodec/avdct.c
@@ -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))
 
diff --git a/libavcodec/avdct.h b/libavcodec/avdct.h
index 380efe1..272422e 100644
--- a/libavcodec/avdct.h
+++ b/libavcodec/avdct.h
@@ -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;
 
 /**
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list