mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 19:58:59 +00:00
avfilter/vf_libvmaf: fix filtering of >8 bit data
This is what reference does.
This commit is contained in:
parent
19587c9332
commit
e835a9d302
@ -110,6 +110,7 @@ FRAMESYNC_DEFINE_CLASS(libvmaf, LIBVMAFContext, fs);
|
|||||||
const type *main_ptr = (const type *) s->gmain->data[0]; \
|
const type *main_ptr = (const type *) s->gmain->data[0]; \
|
||||||
\
|
\
|
||||||
float *ptr = ref_data; \
|
float *ptr = ref_data; \
|
||||||
|
float factor = 1.f / (1 << (bits - 8)); \
|
||||||
\
|
\
|
||||||
int h = s->height; \
|
int h = s->height; \
|
||||||
int w = s->width; \
|
int w = s->width; \
|
||||||
@ -118,7 +119,7 @@ FRAMESYNC_DEFINE_CLASS(libvmaf, LIBVMAFContext, fs);
|
|||||||
\
|
\
|
||||||
for (i = 0; i < h; i++) { \
|
for (i = 0; i < h; i++) { \
|
||||||
for ( j = 0; j < w; j++) { \
|
for ( j = 0; j < w; j++) { \
|
||||||
ptr[j] = (float)ref_ptr[j]; \
|
ptr[j] = ref_ptr[j] * factor; \
|
||||||
} \
|
} \
|
||||||
ref_ptr += ref_stride / sizeof(*ref_ptr); \
|
ref_ptr += ref_stride / sizeof(*ref_ptr); \
|
||||||
ptr += stride / sizeof(*ptr); \
|
ptr += stride / sizeof(*ptr); \
|
||||||
@ -128,7 +129,7 @@ FRAMESYNC_DEFINE_CLASS(libvmaf, LIBVMAFContext, fs);
|
|||||||
\
|
\
|
||||||
for (i = 0; i < h; i++) { \
|
for (i = 0; i < h; i++) { \
|
||||||
for (j = 0; j < w; j++) { \
|
for (j = 0; j < w; j++) { \
|
||||||
ptr[j] = (float)main_ptr[j]; \
|
ptr[j] = main_ptr[j] * factor; \
|
||||||
} \
|
} \
|
||||||
main_ptr += main_stride / sizeof(*main_ptr); \
|
main_ptr += main_stride / sizeof(*main_ptr); \
|
||||||
ptr += stride / sizeof(*ptr); \
|
ptr += stride / sizeof(*ptr); \
|
||||||
|
Loading…
Reference in New Issue
Block a user