Browse code

avcodec: remove the Zork PCM encoder.

The Zork PCM decoder does not decode the 1 sample we have correctly, therefore
the encoder based on the decoder is also incorrect. There is no good reason to
keep the encoder.

Justin Ruggles authored on 2011/09/30 01:12:23
Showing 6 changed files
... ...
@@ -666,7 +666,7 @@ following image formats are supported:
666 666
 @item PCM unsigned 24-bit little-endian  @tab  X  @tab  X
667 667
 @item PCM unsigned 32-bit big-endian  @tab  X  @tab  X
668 668
 @item PCM unsigned 32-bit little-endian  @tab  X  @tab  X
669
-@item PCM Zork               @tab  X  @tab  X
669
+@item PCM Zork               @tab     @tab  X
670 670
 @item QCELP / PureVoice      @tab     @tab  X
671 671
 @item QDesign Music Codec 2  @tab     @tab  X
672 672
     @tab There are still some distortions.
... ...
@@ -483,7 +483,6 @@ OBJS-$(CONFIG_PCM_U32BE_ENCODER)          += pcm.o
483 483
 OBJS-$(CONFIG_PCM_U32LE_DECODER)          += pcm.o
484 484
 OBJS-$(CONFIG_PCM_U32LE_ENCODER)          += pcm.o
485 485
 OBJS-$(CONFIG_PCM_ZORK_DECODER)           += pcm.o
486
-OBJS-$(CONFIG_PCM_ZORK_ENCODER)           += pcm.o
487 486
 
488 487
 OBJS-$(CONFIG_ADPCM_4XM_DECODER)          += adpcm.o adpcm_data.o
489 488
 OBJS-$(CONFIG_ADPCM_ADX_DECODER)          += adxdec.o
... ...
@@ -313,7 +313,7 @@ void avcodec_register_all(void)
313 313
     REGISTER_ENCDEC  (PCM_U24LE, pcm_u24le);
314 314
     REGISTER_ENCDEC  (PCM_U32BE, pcm_u32be);
315 315
     REGISTER_ENCDEC  (PCM_U32LE, pcm_u32le);
316
-    REGISTER_ENCDEC  (PCM_ZORK , pcm_zork);
316
+    REGISTER_DECODER (PCM_ZORK , pcm_zork);
317 317
 
318 318
     /* DPCM codecs */
319 319
     REGISTER_DECODER (INTERPLAY_DPCM, interplay_dpcm);
... ...
@@ -171,15 +171,6 @@ static int pcm_encode_frame(AVCodecContext *avctx,
171 171
         memcpy(dst, samples, n*sample_size);
172 172
         dst += n*sample_size;
173 173
         break;
174
-    case CODEC_ID_PCM_ZORK:
175
-        srcu8 = data;
176
-        for (; n > 0; n--) {
177
-            v = *srcu8++;
178
-            if (v < 128)
179
-                v = 128 - v;
180
-            *dst++ = v;
181
-        }
182
-        break;
183 174
     case CODEC_ID_PCM_ALAW:
184 175
         for(;n>0;n--) {
185 176
             v = *samples++;
... ...
@@ -518,4 +509,4 @@ PCM_CODEC  (CODEC_ID_PCM_U24BE, AV_SAMPLE_FMT_S32, pcm_u24be, "PCM unsigned 24-b
518 518
 PCM_CODEC  (CODEC_ID_PCM_U24LE, AV_SAMPLE_FMT_S32, pcm_u24le, "PCM unsigned 24-bit little-endian");
519 519
 PCM_CODEC  (CODEC_ID_PCM_U32BE, AV_SAMPLE_FMT_S32, pcm_u32be, "PCM unsigned 32-bit big-endian");
520 520
 PCM_CODEC  (CODEC_ID_PCM_U32LE, AV_SAMPLE_FMT_S32, pcm_u32le, "PCM unsigned 32-bit little-endian");
521
-PCM_CODEC  (CODEC_ID_PCM_ZORK,  AV_SAMPLE_FMT_U8,  pcm_zork,  "PCM Zork");
521
+PCM_DECODER(CODEC_ID_PCM_ZORK,  AV_SAMPLE_FMT_U8,  pcm_zork,  "PCM Zork");
... ...
@@ -357,6 +357,5 @@ do_audio_enc_dec au  flt pcm_f32be
357 357
 do_audio_enc_dec wav flt pcm_f32le
358 358
 do_audio_enc_dec au  dbl pcm_f64be
359 359
 do_audio_enc_dec wav dbl pcm_f64le
360
-do_audio_enc_dec wav s16 pcm_zork
361 360
 do_audio_enc_dec 302 s16 pcm_s24daud "-ac 6 -ar 96000"
362 361
 fi
... ...
@@ -62,10 +62,6 @@ ba17c6d1a270e1333e981f239bf7eb45 *./tests/data/acodec/pcm_f64le.wav
62 62
 4233680 ./tests/data/acodec/pcm_f64le.wav
63 63
 64151e4bcc2b717aa5a8454d424d6a1f *./tests/data/pcm.acodec.out.wav
64 64
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
65
-ebd38ed390ebdefe0bdf00d21bf12c6b *./tests/data/acodec/pcm_zork.wav
66
-529258 ./tests/data/acodec/pcm_zork.wav
67
-7b02646acdd063650bb3ebc444543ace *./tests/data/pcm.acodec.out.wav
68
-stddev:  633.11 PSNR: 40.30 MAXDIFF:32768 bytes:  1058400/  1058400
69 65
 8168a5c1343553ef027541830f2cb879 *./tests/data/acodec/pcm_s24daud.302
70 66
 10368730 ./tests/data/acodec/pcm_s24daud.302
71 67
 f552afadfdfcd6348a07095da6382de5 *./tests/data/pcm.acodec.out.wav