mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
This commit is contained in:
parent
06af335a33
commit
67a3b67c71
@ -172,10 +172,11 @@ static int pcm_encode_frame(AVCodecContext *avctx,
|
||||
dst += n*sample_size;
|
||||
break;
|
||||
case CODEC_ID_PCM_ZORK:
|
||||
for(;n>0;n--) {
|
||||
v= *samples++ >> 8;
|
||||
if(v<0) v = -v;
|
||||
else v+= 128;
|
||||
srcu8 = data;
|
||||
for (; n > 0; n--) {
|
||||
v = *srcu8++;
|
||||
if (v < 128)
|
||||
v = 128 - v;
|
||||
*dst++ = v;
|
||||
}
|
||||
break;
|
||||
@ -387,12 +388,11 @@ static int pcm_decode_frame(AVCodecContext *avctx,
|
||||
samples += n * sample_size;
|
||||
break;
|
||||
case CODEC_ID_PCM_ZORK:
|
||||
for(;n>0;n--) {
|
||||
int x= *src++;
|
||||
if(x&128) x-= 128;
|
||||
else x = -x;
|
||||
AV_WN16A(samples, x << 8);
|
||||
samples += 2;
|
||||
for (; n > 0; n--) {
|
||||
int v = *src++;
|
||||
if (v < 128)
|
||||
v = 128 - v;
|
||||
*samples++ = v;
|
||||
}
|
||||
break;
|
||||
case CODEC_ID_PCM_ALAW:
|
||||
@ -518,4 +518,4 @@ PCM_CODEC (CODEC_ID_PCM_U24BE, AV_SAMPLE_FMT_S32, pcm_u24be, "PCM unsigned 24-b
|
||||
PCM_CODEC (CODEC_ID_PCM_U24LE, AV_SAMPLE_FMT_S32, pcm_u24le, "PCM unsigned 24-bit little-endian");
|
||||
PCM_CODEC (CODEC_ID_PCM_U32BE, AV_SAMPLE_FMT_S32, pcm_u32be, "PCM unsigned 32-bit big-endian");
|
||||
PCM_CODEC (CODEC_ID_PCM_U32LE, AV_SAMPLE_FMT_S32, pcm_u32le, "PCM unsigned 32-bit little-endian");
|
||||
PCM_CODEC (CODEC_ID_PCM_ZORK, AV_SAMPLE_FMT_S16, pcm_zork, "PCM Zork");
|
||||
PCM_CODEC (CODEC_ID_PCM_ZORK, AV_SAMPLE_FMT_U8, pcm_zork, "PCM Zork");
|
||||
|
Loading…
Reference in New Issue
Block a user