Browse Source

libswresample/rematrix: Check for malloc errors

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.7
Michael Niedermayer 10 years ago
parent
commit
52acd22a7d
1 changed files with 8 additions and 0 deletions
  1. +8
    -0
      libswresample/rematrix.c

+ 8
- 0
libswresample/rematrix.c View File

@@ -364,6 +364,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
if (s->midbuf.fmt == AV_SAMPLE_FMT_S16P){
s->native_matrix = av_calloc(nb_in * nb_out, sizeof(int));
s->native_one = av_mallocz(sizeof(int));
if (!s->native_matrix || !s->native_one)
return AVERROR(ENOMEM);
for (i = 0; i < nb_out; i++)
for (j = 0; j < nb_in; j++)
((int*)s->native_matrix)[i * nb_in + j] = lrintf(s->matrix[i][j] * 32768);
@@ -374,6 +376,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
}else if(s->midbuf.fmt == AV_SAMPLE_FMT_FLTP){
s->native_matrix = av_calloc(nb_in * nb_out, sizeof(float));
s->native_one = av_mallocz(sizeof(float));
if (!s->native_matrix || !s->native_one)
return AVERROR(ENOMEM);
for (i = 0; i < nb_out; i++)
for (j = 0; j < nb_in; j++)
((float*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
@@ -384,6 +388,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
}else if(s->midbuf.fmt == AV_SAMPLE_FMT_DBLP){
s->native_matrix = av_calloc(nb_in * nb_out, sizeof(double));
s->native_one = av_mallocz(sizeof(double));
if (!s->native_matrix || !s->native_one)
return AVERROR(ENOMEM);
for (i = 0; i < nb_out; i++)
for (j = 0; j < nb_in; j++)
((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
@@ -395,6 +401,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
// Only for dithering currently
// s->native_matrix = av_calloc(nb_in * nb_out, sizeof(double));
s->native_one = av_mallocz(sizeof(int));
if (!s->native_one)
return AVERROR(ENOMEM);
// for (i = 0; i < nb_out; i++)
// for (j = 0; j < nb_in; j++)
// ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];


Loading…
Cancel
Save