lavfi/vf_pp7: convert to the video_enc_params API

Re-enable fate-filter-pp7
This commit is contained in:
Anton Khirnov 2020-04-17 10:32:12 +02:00
parent 775707aba9
commit 955bdb1d32
3 changed files with 14 additions and 6 deletions

View File

@ -353,7 +353,7 @@ OBJS-$(CONFIG_PHOTOSENSITIVITY_FILTER) += vf_photosensitivity.o
OBJS-$(CONFIG_PIXDESCTEST_FILTER) += vf_pixdesctest.o OBJS-$(CONFIG_PIXDESCTEST_FILTER) += vf_pixdesctest.o
OBJS-$(CONFIG_PIXSCOPE_FILTER) += vf_datascope.o OBJS-$(CONFIG_PIXSCOPE_FILTER) += vf_datascope.o
OBJS-$(CONFIG_PP_FILTER) += vf_pp.o qp_table.o OBJS-$(CONFIG_PP_FILTER) += vf_pp.o qp_table.o
OBJS-$(CONFIG_PP7_FILTER) += vf_pp7.o OBJS-$(CONFIG_PP7_FILTER) += vf_pp7.o qp_table.o
OBJS-$(CONFIG_PREMULTIPLY_FILTER) += vf_premultiply.o framesync.o OBJS-$(CONFIG_PREMULTIPLY_FILTER) += vf_premultiply.o framesync.o
OBJS-$(CONFIG_PREWITT_FILTER) += vf_convolution.o OBJS-$(CONFIG_PREWITT_FILTER) += vf_convolution.o
OBJS-$(CONFIG_PREWITT_OPENCL_FILTER) += vf_convolution_opencl.o opencl.o \ OBJS-$(CONFIG_PREWITT_OPENCL_FILTER) += vf_convolution_opencl.o opencl.o \

View File

@ -33,6 +33,7 @@
#include "libavutil/opt.h" #include "libavutil/opt.h"
#include "libavutil/pixdesc.h" #include "libavutil/pixdesc.h"
#include "internal.h" #include "internal.h"
#include "qp_table.h"
#include "vf_pp7.h" #include "vf_pp7.h"
enum mode { enum mode {
@ -323,10 +324,15 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
AVFrame *out = in; AVFrame *out = in;
int qp_stride = 0; int qp_stride = 0;
uint8_t *qp_table = NULL; int8_t *qp_table = NULL;
if (!pp7->qp) if (!pp7->qp) {
qp_table = av_frame_get_qp_table(in, &qp_stride, &pp7->qscale_type); int ret = ff_qp_table_extract(in, &qp_table, &qp_stride, NULL, &pp7->qscale_type);
if (ret < 0) {
av_frame_free(&in);
return ret;
}
}
if (!ctx->is_disabled) { if (!ctx->is_disabled) {
const int cw = AV_CEIL_RSHIFT(inlink->w, pp7->hsub); const int cw = AV_CEIL_RSHIFT(inlink->w, pp7->hsub);
@ -341,6 +347,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
out = ff_get_video_buffer(outlink, aligned_w, aligned_h); out = ff_get_video_buffer(outlink, aligned_w, aligned_h);
if (!out) { if (!out) {
av_frame_free(&in); av_frame_free(&in);
av_freep(&qp_table);
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
} }
av_frame_copy_props(out, in); av_frame_copy_props(out, in);
@ -367,6 +374,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
inlink->w, inlink->h); inlink->w, inlink->h);
av_frame_free(&in); av_frame_free(&in);
} }
av_freep(&qp_table);
return ff_filter_frame(outlink, out); return ff_filter_frame(outlink, out);
} }

View File

@ -573,9 +573,9 @@ fate-filter-pp4: CMD = video_filter "pp=be/ci"
fate-filter-pp5: CMD = video_filter "pp=md" fate-filter-pp5: CMD = video_filter "pp=md"
fate-filter-pp6: CMD = video_filter "pp=be/fd" fate-filter-pp6: CMD = video_filter "pp=be/fd"
#FATE_FILTER_VSYNTH-$(CONFIG_PP7_FILTER) += fate-filter-pp7 FATE_FILTER_VSYNTH-$(CONFIG_PP7_FILTER) += fate-filter-pp7
fate-filter-pp7: fate-vsynth1-mpeg4-qprd fate-filter-pp7: fate-vsynth1-mpeg4-qprd
fate-filter-pp7: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp7" fate-filter-pp7: CMD = framecrc -flags bitexact -export_side_data venc_params -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp7"
FATE_FILTER_VSYNTH-$(CONFIG_SPP_FILTER) += fate-filter-spp FATE_FILTER_VSYNTH-$(CONFIG_SPP_FILTER) += fate-filter-spp
fate-filter-spp: fate-vsynth1-mpeg4-qprd fate-filter-spp: fate-vsynth1-mpeg4-qprd