[FFmpeg-devel] [PATCH] avcodec/libdcadec: export matrix encoding side data
Hendrik Leppkes
h.leppkes at gmail.com
Tue Jul 7 00:02:56 CEST 2015
On Mon, Jul 6, 2015 at 10:25 PM, James Almer <jamrial at gmail.com> wrote:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> libavcodec/libdcadec.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/libavcodec/libdcadec.c b/libavcodec/libdcadec.c
> index 890d270..9d4b9e8 100644
> --- a/libavcodec/libdcadec.c
> +++ b/libavcodec/libdcadec.c
> @@ -41,6 +41,7 @@ static int dcadec_decode_frame(AVCodecContext *avctx, void *data,
> {
> DCADecContext *s = avctx->priv_data;
> AVFrame *frame = data;
> + struct dcadec_exss_info *exss;
> int ret, i, k;
> int **samples, nsamples, channel_mask, sample_rate, bits_per_sample, profile;
> uint32_t mrk;
> @@ -127,6 +128,26 @@ static int dcadec_decode_frame(AVCodecContext *avctx, void *data,
> } else
> avctx->bit_rate = 0;
>
> + if (exss = dcadec_context_get_exss_info(s->ctx)) {
> + enum AVMatrixEncoding matrix_encoding;
> +
> + switch(exss->matrix_encoding) {
> + case DCADEC_MATRIX_ENCODING_SURROUND:
> + matrix_encoding = AV_MATRIX_ENCODING_DOLBY;
> + break;
> + case DCADEC_MATRIX_ENCODING_HEADPHONE:
> + matrix_encoding = AV_MATRIX_ENCODING_DOLBYHEADPHONE;
> + break;
> + default:
> + matrix_encoding = AV_MATRIX_ENCODING_NONE;
> + break;
> + }
I think Dolby would disagree. ;)
Maybe we should just not set anything when the expected value is NONE?
Not that it really matters. but sending an "empty" value all the time
may not be required?
- Hendrik
More information about the ffmpeg-devel
mailing list