|
|
|
@ -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];
|
|
|
|
|