On Thu, 20 Mar 2014, Ben Avison wrote:

Verified with profiling that this doesn't have a measurable effect upon
overall performance.
---
libavcodec/mlpdec.c |   40 +++++++++++++++++++++++-----------------
libavcodec/mlpdsp.c |   38 ++++++++++++++++++++++++++++++++++++++
libavcodec/mlpdsp.h |   22 ++++++++++++++++++++++
3 files changed, 83 insertions(+), 17 deletions(-)

diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index b9d1704..49353d9 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -360,6 +360,10 @@ static int read_major_sync(MLPDecodeContext *m, 
GetBitContext *gb)
        m->avctx->sample_fmt = AV_SAMPLE_FMT_S32;
    else
        m->avctx->sample_fmt = AV_SAMPLE_FMT_S16;
+    m->dsp.mlp_pack_output = 
m->dsp.mlp_select_pack_output(m->substream[m->max_decoded_substream].ch_assign,
+                                                           
m->substream[m->max_decoded_substream].output_shift,
+                                                           
m->substream[m->max_decoded_substream].max_matrix_channel,
+                                                           
m->avctx->sample_fmt == AV_SAMPLE_FMT_S32);


I'm not sure if this is the right way to do this, or if the mlp_packet_output function pointer should be in MLPDecodeContext instead? Practically it probably doesn't matter though.

// Martin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to