Unified · Split
| @@ -830,6 +830,7 @@ OBJS-$(CONFIG_PCM_S64BE_DECODER) += pcm.o · 829 unmodified lines | ||
| 830 | 830 | OBJS-$(CONFIG_PCM_S64BE_ENCODER) += pcm.o |
| 831 | 831 | OBJS-$(CONFIG_PCM_S64LE_DECODER) += pcm.o |
| 832 | 832 | OBJS-$(CONFIG_PCM_S64LE_ENCODER) += pcm.o |
| 833 | +OBJS-$(CONFIG_PCM_SGA_DECODER) += pcm.o | |
| 833 | 834 | OBJS-$(CONFIG_PCM_U8_DECODER) += pcm.o |
| 834 | 835 | OBJS-$(CONFIG_PCM_U8_ENCODER) += pcm.o |
| 835 | 836 | OBJS-$(CONFIG_PCM_U16BE_DECODER) += pcm.o |
| @@ -568,6 +568,7 @@ extern AVCodec ff_pcm_s64be_encoder; · 567 unmodified lines | ||
| 568 | 568 | extern AVCodec ff_pcm_s64be_decoder; |
| 569 | 569 | extern AVCodec ff_pcm_s64le_encoder; |
| 570 | 570 | extern AVCodec ff_pcm_s64le_decoder; |
| 571 | +extern AVCodec ff_pcm_sga_decoder; | |
| 571 | 572 | extern AVCodec ff_pcm_u8_encoder; |
| 572 | 573 | extern AVCodec ff_pcm_u8_decoder; |
| 573 | 574 | extern AVCodec ff_pcm_u16be_encoder; |
| @@ -2096,6 +2096,13 @@ static const AVCodecDescriptor codec_descriptors[] = { · 2095 unmodified lines | ||
| 2096 | 2096 | .long_name = NULL_IF_CONFIG_SMALL("PCM Archimedes VIDC"), |
| 2097 | 2097 | .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, |
| 2098 | 2098 | }, |
| 2099 | + { | |
| 2100 | + .id = AV_CODEC_ID_PCM_SGA, | |
| 2101 | + .type = AVMEDIA_TYPE_AUDIO, | |
| 2102 | + .name = "pcm_sga", | |
| 2103 | + .long_name = NULL_IF_CONFIG_SMALL("PCM SGA"), | |
| 2104 | + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, | |
| 2105 | + }, | |
| 2099 | 2106 | |
| 2100 | 2107 | /* various ADPCM codecs */ |
| 2101 | 2108 | { |
| @@ -346,6 +346,7 @@ enum AVCodecID { · 345 unmodified lines | ||
| 346 | 346 | AV_CODEC_ID_PCM_F16LE, |
| 347 | 347 | AV_CODEC_ID_PCM_F24LE, |
| 348 | 348 | AV_CODEC_ID_PCM_VIDC, |
| 349 | + AV_CODEC_ID_PCM_SGA, | |
| 349 | 350 | |
| 350 | 351 | /* various ADPCM codecs */ |
| 351 | 352 | AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, |
| @@ -419,6 +419,14 @@ static int pcm_decode_frame(AVCodecContext *avctx, void *data, · 418 unmodified lines | ||
| 419 | 419 | for (; n > 0; n--) |
| 420 | 420 | *samples++ = *src++ + 128; |
| 421 | 421 | break; |
| 422 | + case AV_CODEC_ID_PCM_SGA: | |
| 423 | + for (; n > 0; n--) { | |
| 424 | + int sign = *src >> 7; | |
| 425 | + int magn = *src & 0x7f; | |
| 426 | + *samples++ = sign ? 128 - magn : 128 + magn; | |
| 427 | + src++; | |
| 428 | + } | |
| 429 | + break; | |
| 422 | 430 | case AV_CODEC_ID_PCM_S8_PLANAR: |
| 423 | 431 | n /= avctx->channels; |
| 424 | 432 | for (c = 0; c < avctx->channels; c++) { |
| @@ -622,3 +630,4 @@ PCM_CODEC (PCM_U32LE, AV_SAMPLE_FMT_S32, pcm_u32le, "PCM unsigned · 197 unmodified lines | ||
| 622 | 630 | PCM_CODEC (PCM_S64BE, AV_SAMPLE_FMT_S64, pcm_s64be, "PCM signed 64-bit big-endian"); |
| 623 | 631 | PCM_CODEC (PCM_S64LE, AV_SAMPLE_FMT_S64, pcm_s64le, "PCM signed 64-bit little-endian"); |
| 624 | 632 | PCM_CODEC (PCM_VIDC, AV_SAMPLE_FMT_S16, pcm_vidc, "PCM Archimedes VIDC"); |
| 633 | +PCM_DECODER(PCM_SGA, AV_SAMPLE_FMT_U8, pcm_sga, "PCM SGA"); | |
| @@ -1547,6 +1547,7 @@ int av_get_exact_bits_per_sample(enum AVCodecID codec_id) · 1546 unmodified lines | ||
| 1547 | 1547 | case AV_CODEC_ID_PCM_VIDC: |
| 1548 | 1548 | case AV_CODEC_ID_PCM_S8: |
| 1549 | 1549 | case AV_CODEC_ID_PCM_S8_PLANAR: |
| 1550 | + case AV_CODEC_ID_PCM_SGA: | |
| 1550 | 1551 | case AV_CODEC_ID_PCM_U8: |
| 1551 | 1552 | case AV_CODEC_ID_SDX2_DPCM: |
| 1552 | 1553 | case AV_CODEC_ID_DERF_DPCM: |
| @@ -28,7 +28,7 @@ · 27 unmodified lines | ||
| 28 | 28 | #include "libavutil/version.h" |
| 29 | 29 | |
| 30 | 30 | #define LIBAVCODEC_VERSION_MAJOR 58 |
| 31 | −#define LIBAVCODEC_VERSION_MINOR 126 | |
| 31 | +#define LIBAVCODEC_VERSION_MINOR 127 | |
| 32 | 32 | #define LIBAVCODEC_VERSION_MICRO 100 |
| 33 | 33 | |
| 34 | 34 | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |