summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/vorbis_enc.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c
index 4262f93b94..3deb4137a9 100644
--- a/libavcodec/vorbis_enc.c
+++ b/libavcodec/vorbis_enc.c
@@ -81,7 +81,7 @@ typedef struct {
int partition_size;
int classifications;
int classbook;
- int (*books)[8];
+ int8_t (*books)[8];
float (*maxes)[2];
} residue_t;
@@ -466,9 +466,9 @@ static void create_vorbis_context(venc_context_t * venc, AVCodecContext * avccon
rc->partition_size = 32;
rc->classifications = 10;
rc->classbook = 15;
- rc->books = av_malloc(sizeof(int[8]) * rc->classifications);
- for (i = 0; i < rc->classifications; i++) {
- int a[10][8] = {
+ rc->books = av_malloc(sizeof(*rc->books) * rc->classifications);
+ {
+ static const int8_t a[10][8] = {
{ -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, 16, -1, -1, -1, -1, -1, },
{ -1, -1, 17, -1, -1, -1, -1, -1, },
@@ -480,8 +480,7 @@ static void create_vorbis_context(venc_context_t * venc, AVCodecContext * avccon
{ 24, 25, -1, -1, -1, -1, -1, -1, },
{ 26, 27, 28, -1, -1, -1, -1, -1, },
};
- int j;
- for (j = 0; j < 8; j++) rc->books[i][j] = a[i][j];
+ memcpy(rc->books, a, sizeof a);
}
ready_residue(rc, venc);