Commit ad4a7e63 authored by Gildas Bazin's avatar Gildas Bazin

* modules/audio_filter/converter/dtstofloat32.c: added implementation for the...

* modules/audio_filter/converter/dtstofloat32.c: added implementation for the new audio filter architecture.
* codec/dts.c: bug fix.
* codec/araw.c: added more PCM formats to the encoder.
parent 44fb66b7
...@@ -74,7 +74,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -74,7 +74,7 @@ static int Open( vlc_object_t *p_this )
} }
else return VLC_EGENERIC; else return VLC_EGENERIC;
msg_Err( p_this, "%4.4s->%4.4s, bits per sample: %i", msg_Dbg( p_this, "%4.4s->%4.4s, bits per sample: %i",
(char *)&p_filter->fmt_in.i_codec, (char *)&p_filter->fmt_in.i_codec,
(char *)&p_filter->fmt_out.i_codec, (char *)&p_filter->fmt_out.i_codec,
p_filter->fmt_in.audio.i_bitspersample ); p_filter->fmt_in.audio.i_bitspersample );
......
...@@ -405,28 +405,29 @@ static int EncoderOpen( vlc_object_t *p_this ) ...@@ -405,28 +405,29 @@ static int EncoderOpen( vlc_object_t *p_this )
{ {
encoder_t *p_enc = (encoder_t *)p_this; encoder_t *p_enc = (encoder_t *)p_this;
if( p_enc->fmt_in.i_codec != VLC_FOURCC( 's', '1', '6', 'b' ) && if( (p_enc->fmt_out.i_codec == VLC_FOURCC('u','8',' ',' ') ||
p_enc->fmt_in.i_codec != VLC_FOURCC( 's', '1', '6', 'l' ) ) p_enc->fmt_out.i_codec == VLC_FOURCC('s','8',' ',' ') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','1','6','l') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','1','6','b')) &&
(p_enc->fmt_in.i_codec == VLC_FOURCC( 's', '1', '6', 'b' ) ||
p_enc->fmt_in.i_codec == VLC_FOURCC( 's', '1', '6', 'l' )) )
{ {
msg_Warn( p_enc, "unhandled input format" ); ;
return VLC_EGENERIC;
} }
else if( p_enc->fmt_out.i_codec == VLC_FOURCC('f','l','3','2') ||
switch( p_enc->fmt_out.i_codec ) p_enc->fmt_out.i_codec == VLC_FOURCC('f','l','6','4') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('u','8',' ',' ') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','8',' ',' ') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','1','6','l') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','1','6','b') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','2','4','l') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','2','4','b') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','3','2','l') ||
p_enc->fmt_out.i_codec == VLC_FOURCC('s','3','2','b') )
{ {
case VLC_FOURCC( 's', '1', '6', 'b' ): p_enc->fmt_in.i_codec = p_enc->fmt_out.i_codec;
case VLC_FOURCC( 's', '1', '6', 'l' ):
case VLC_FOURCC( 'u', '8', ' ', ' ' ):
case VLC_FOURCC( 's', '8', ' ', ' ' ):
#if 0
-> could be easyly done with table look up
case VLC_FOURCC( 'a', 'l', 'a', 'w' ):
case VLC_FOURCC( 'u', 'l', 'a', 'w' ):
#endif
break;
default:
return VLC_EGENERIC;
} }
else return VLC_EGENERIC;
p_enc->p_sys = NULL; p_enc->p_sys = NULL;
p_enc->pf_encode_audio = EncoderEncode; p_enc->pf_encode_audio = EncoderEncode;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* dts.c: parse DTS audio sync info and packetize the stream * dts.c: parse DTS audio sync info and packetize the stream
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: dts.c,v 1.18 2004/02/25 17:48:52 fenrir Exp $ * $Id$
* *
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net> * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Gildas Bazin <gbazin@netcourrier.com> * Gildas Bazin <gbazin@netcourrier.com>
...@@ -130,6 +130,7 @@ static int OpenDecoder( vlc_object_t *p_this ) ...@@ -130,6 +130,7 @@ static int OpenDecoder( vlc_object_t *p_this )
/* Set output properties */ /* Set output properties */
p_dec->fmt_out.i_cat = AUDIO_ES; p_dec->fmt_out.i_cat = AUDIO_ES;
p_dec->fmt_out.i_codec = VLC_FOURCC('d','t','s',' '); p_dec->fmt_out.i_codec = VLC_FOURCC('d','t','s',' ');
p_dec->fmt_out.audio.i_rate = 0; /* So end_date gets initialized */
/* Set callback */ /* Set callback */
p_dec->pf_decode_audio = (aout_buffer_t *(*)(decoder_t *, block_t **)) p_dec->pf_decode_audio = (aout_buffer_t *(*)(decoder_t *, block_t **))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment