}
DEFINE_REMAP( S16N, int16_t )
-DEFINE_REMAP( U16N, uint16_t )
DEFINE_REMAP( S32N, int32_t )
DEFINE_REMAP( FL32, float )
DEFINE_REMAP( FL64, double )
{
case VLC_CODEC_S16N:
return RemapAddS16N;
- case VLC_CODEC_U16N:
- return RemapAddU16N;
case VLC_CODEC_S32N:
return RemapAddS32N;
case VLC_CODEC_FL32:
{
case VLC_CODEC_S16N:
return RemapCopyS16N;
- case VLC_CODEC_U16N:
- return RemapCopyU16N;
case VLC_CODEC_S32N:
return RemapCopyS32N;
case VLC_CODEC_FL32:
set_callbacks(Open, NULL)
vlc_module_end()
-static block_t *Filter16(filter_t *filter, block_t *block)
-{
- uint16_t *data = (uint16_t *)block->p_buffer;
-
- for (size_t i = 0; i < block->i_buffer / 2; i++)
- data[i] = bswap16 (data[i]);
-
- (void) filter;
- return block;
-}
-
static block_t *Filter24(filter_t *filter, block_t *block)
{
uint8_t *data = (uint8_t *)block->p_buffer;
static const vlc_fourcc_t list[][2] = {
{ VLC_CODEC_F64B, VLC_CODEC_F64L },
{ VLC_CODEC_F32B, VLC_CODEC_F32L },
- { VLC_CODEC_S16B, VLC_CODEC_S16L },
{ VLC_CODEC_S24B, VLC_CODEC_S24L },
{ VLC_CODEC_S32B, VLC_CODEC_S32L },
- { VLC_CODEC_S16B, VLC_CODEC_S16L },
{ VLC_CODEC_S24B, VLC_CODEC_S24L },
{ VLC_CODEC_S32B, VLC_CODEC_S32L },
};
ok:
switch (src->i_bitspersample) {
- case 16:
- filter->pf_audio_filter = Filter16;
- break;
case 24:
filter->pf_audio_filter = Filter24;
break;
return b;
}
-static block_t *U16toU8(filter_t *filter, block_t *b)
-{
- VLC_UNUSED(filter);
- uint16_t *src = (uint16_t *)b->p_buffer;
- uint8_t *dst = (uint8_t *)src;
- for (int i = b->i_buffer / 2; i--;)
- *dst++ = (*src++) >> 8;
-
- b->i_buffer /= 2;
- return b;
-}
-
-static block_t *S16toU16(filter_t *filter, block_t *b)
-{
- VLC_UNUSED(filter);
- int16_t *src = (int16_t *)b->p_buffer;
- uint16_t *dst = (uint16_t *)src;
- for (int i = b->i_buffer / 2; i--;)
- *dst++ = (*src++) + 32768;
-
- return b;
-}
-
-static block_t *U16toS16(filter_t *filter, block_t *b)
-{
- VLC_UNUSED(filter);
- uint16_t *src = (uint16_t *)b->p_buffer;
- int16_t *dst = (int16_t *)src;
- for (int i = b->i_buffer / 2; i--;)
- *dst++ = (int)(*src++) - 32768;
-
- return b;
-}
-
static block_t *S24toS16(filter_t *filter, block_t *b)
{
VLC_UNUSED(filter);
}
/* */
-static void X8toX16(block_t *bdst, const block_t *bsrc)
-{
- uint8_t *src = (uint8_t *)bsrc->p_buffer;
- uint16_t *dst = (uint16_t *)bdst->p_buffer;
- for (int i = bsrc->i_buffer; i--;)
- *dst++ = (*src++) << 8;
-}
-
static void U8toS16(block_t *bdst, const block_t *bsrc)
{
uint8_t *src = (uint8_t *)bsrc->p_buffer;
{ VLC_CODEC_FL32, VLC_CODEC_S16N, Fl32toS16 },
{ VLC_CODEC_S16N, VLC_CODEC_U8, S16toU8 },
- { VLC_CODEC_S16N, VLC_CODEC_U16N, S16toU16 },
-
- { VLC_CODEC_U16N, VLC_CODEC_U8, U16toU8 },
- { VLC_CODEC_U16N, VLC_CODEC_S16N, U16toS16 },
{ 0, 0, NULL }
};
{ VLC_CODEC_S16N, VLC_CODEC_S32N, S16toS32 },
{ VLC_CODEC_S16N, VLC_CODEC_FL32, S16toFl32 },
- { VLC_CODEC_U8, VLC_CODEC_U16N, X8toX16 },
{ VLC_CODEC_U8, VLC_CODEC_S16N, U8toS16 },
{ 0, 0, NULL }
};
case VLC_CODEC_U24L:
pcm_format = SND_PCM_FORMAT_U24_3LE;
break;
- case VLC_CODEC_S16B:
- pcm_format = SND_PCM_FORMAT_S16_BE;
- break;
- case VLC_CODEC_S16L:
- pcm_format = SND_PCM_FORMAT_S16_LE;
- break;
- case VLC_CODEC_U16B:
- pcm_format = SND_PCM_FORMAT_U16_BE;
- break;
- case VLC_CODEC_U16L:
- pcm_format = SND_PCM_FORMAT_U16_LE;
+ case VLC_CODEC_S16N:
+ pcm_format = SND_PCM_FORMAT_S16;
break;
case VLC_CODEC_U8:
pcm_format = SND_PCM_FORMAT_U8;
#define WAV_LONGTEXT N_("Instead of writing a raw file, you can add a WAV " \
"header to the file.")
-static const char *const format_list[] = { "u8", "u16", "s16", "u16_le",
- "s16_le", "u16_be", "s16_be",
- "float32", "spdif" };
-static const int format_int[] = { VLC_CODEC_U8,
- VLC_CODEC_U16N, VLC_CODEC_S16N,
- VLC_CODEC_U16L,
- VLC_CODEC_S16L,
- VLC_CODEC_U16B,
- VLC_CODEC_S16B,
- VLC_CODEC_F32L,
- VLC_CODEC_SPDIFL };
+static const char *const format_list[] = { "u8", "s16", "float32", "spdif" };
+static const int format_int[] = { VLC_CODEC_U8, VLC_CODEC_S16N,
+ VLC_CODEC_F32L, VLC_CODEC_SPDIFL };
#define FILE_TEXT N_("Output file")
#define FILE_LONGTEXT N_("File to which the audio samples will be written to. (\"-\" for stdout")
wh->Format = WAVE_FORMAT_PCM;
wh->BitsPerSample = 8;
break;
- case VLC_CODEC_S16L:
default:
wh->Format = WAVE_FORMAT_PCM;
wh->BitsPerSample = 16;
case VLC_CODEC_S32L:
format = AFMT_S32_LE;
break;
- case VLC_CODEC_S16B:
- format = AFMT_S16_BE;
- break;
- case VLC_CODEC_S16L:
- format = AFMT_S16_LE;
+ case VLC_CODEC_S16N:
+ format = AFMT_S16;
break;
case VLC_CODEC_U8:
format = AFMT_U8;
switch (format)
{
- case AFMT_U8: fmt->i_format = VLC_CODEC_U8; break;
- case AFMT_S16_BE: fmt->i_format = VLC_CODEC_S16B; break;
- case AFMT_S16_LE: fmt->i_format = VLC_CODEC_S16L; break;
+ case AFMT_U8: fmt->i_format = VLC_CODEC_U8; break;
+ case AFMT_S16: fmt->i_format = VLC_CODEC_S16N; break;
//case AFMT_S24_BE:
//case AFMT_S24_LE:
case AFMT_S32_BE: fmt->i_format = VLC_CODEC_S32B; break;
case VLC_CODEC_S24L:
ss.format = PA_SAMPLE_S24LE;
break;
- case VLC_CODEC_S16B:
- ss.format = PA_SAMPLE_S16BE;
- break;
- case VLC_CODEC_S16L:
- ss.format = PA_SAMPLE_S16LE;
+ case VLC_CODEC_S16N:
+ ss.format = PA_SAMPLE_S16NE;
break;
case VLC_CODEC_U8:
ss.format = PA_SAMPLE_U8;
fmt->i_format = VLC_CODEC_U8;
break;
case 16:
- fmt->i_format = par.sig
- ? (par.le ? VLC_CODEC_S16L : VLC_CODEC_S16B)
- : (par.le ? VLC_CODEC_U16L : VLC_CODEC_U16B);
+ fmt->i_format = VLC_CODEC_S16N;
break;
case 24:
- fmt->i_format = par.sig
- ? (par.le ? VLC_CODEC_S24L : VLC_CODEC_S24B)
- : (par.le ? VLC_CODEC_U24L : VLC_CODEC_U24B);
+ fmt->i_format = VLC_CODEC_S24N;
break;
case 32:
- fmt->i_format = par.sig
- ? (par.le ? VLC_CODEC_S32L : VLC_CODEC_S32B)
- : (par.le ? VLC_CODEC_U32L : VLC_CODEC_U32B);
+ fmt->i_format = VLC_CODEC_S32N;
break;
default:
msg_Err (obj, "unsupported audio sample format (%u bits)",