[vlc-devel] [PATCH] lpcm bd: fix 24 bit stereo decoding

Rafaël Carré funman at videolan.org
Tue Mar 25 10:02:16 CET 2014


Hello,

On 03/25/14 06:14, Tristan Matthews wrote:
> Fixes #10265
> ---
>  modules/codec/lpcm.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/modules/codec/lpcm.c b/modules/codec/lpcm.c
> index eb9793f..24c8555 100644
> --- a/modules/codec/lpcm.c
> +++ b/modules/codec/lpcm.c
> @@ -1117,10 +1117,12 @@ static void BdExtract( block_t *p_aout_buffer, block_t *p_block,
>              if (i_bits == 16) {
>                  swab( p_src, p_dst, (i_channels + i_channels_padding) * i_bits / 8 );
>              } else {
> -                p_dst[0] = 0;
> -                p_dst[1] = p_src[2];
> -                p_dst[2] = p_src[1];
> -                p_dst[3] = p_src[0];
> +                for (unsigned i = 0; i < i_channels; ++i) {
> +                    p_dst[i * 4] = 0;
> +                    p_dst[1 + (i * 4)] = p_src[2 + (i * 3)];
> +                    p_dst[2 + (i * 4)] = p_src[1 + (i * 3)];
> +                    p_dst[3 + (i * 4)] = p_src[i * 3];
> +                }
>              }
>  #endif
>              p_src += (i_channels + i_channels_padding) * i_bits / 8;
> 

Looks OK.



More information about the vlc-devel mailing list