aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-12-02 01:08:35 +0200
committerMartin Storsjö <martin@martin.st>2011-12-05 12:41:46 +0200
commitf32fd31858116fbecaffe9559e0a4ad2725f6018 (patch)
tree37e50b13768fad14a163330335df00f327439d61
parent6fcbb0f553b8e45993e2746d3763adc2faec0781 (diff)
downloadffmpeg-f32fd31858116fbecaffe9559e0a4ad2725f6018.tar.gz
g722: Change bits per sample to 4
Earlier, bits per sample was defined as 8, since bits_per_coded_sample was used to indicate whether to ignore the lower bits of the codeword, having values 6, 7 or 8. g722 encodes 2 samples into one byte codeword, therefore the bits per sample is 4. By changing this, the generated timestamps for streams encoded with g722 become correct. This makes timestamp generation for g722 data correct (both when encoding and when demuxing from raw g722 files). Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavcodec/g722enc.c4
-rw-r--r--libavcodec/utils.c2
-rw-r--r--libavcodec/version.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c
index bdc30d5d07..f8db49aba8 100644
--- a/libavcodec/g722enc.c
+++ b/libavcodec/g722enc.c
@@ -139,7 +139,7 @@ static int g722_encode_trellis(AVCodecContext *avctx,
nodes[i][0]->state = c->band[i];
}
- for (i = 0; i < buf_size >> 1; i++) {
+ for (i = 0; i < buf_size; i++) {
int xlow, xhigh;
struct TrellisNode *next[2];
int heap_pos[2] = {0, 0};
@@ -285,7 +285,7 @@ static int g722_encode_frame(AVCodecContext *avctx,
if (avctx->trellis)
return g722_encode_trellis(avctx, dst, buf_size, data);
- for (i = 0; i < buf_size >> 1; i++) {
+ for (i = 0; i < buf_size; i++) {
int xlow, xhigh, ihigh, ilow;
filter_samples(c, &samples[2*i], &xlow, &xhigh);
ihigh = encode_high(&c->band[1], xhigh);
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index c84439972c..04909cf959 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1342,8 +1342,8 @@ int av_get_bits_per_sample(enum CodecID codec_id){
case CODEC_ID_ADPCM_SWF:
case CODEC_ID_ADPCM_MS:
case CODEC_ID_ADPCM_YAMAHA:
- return 4;
case CODEC_ID_ADPCM_G722:
+ return 4;
case CODEC_ID_PCM_ALAW:
case CODEC_ID_PCM_MULAW:
case CODEC_ID_PCM_S8:
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 6faf793ea1..3918b139da 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -21,7 +21,7 @@
#define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 53
-#define LIBAVCODEC_VERSION_MINOR 25
+#define LIBAVCODEC_VERSION_MINOR 26
#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \