|
|
@@ -40,6 +40,7 @@ typedef struct { |
|
|
|
int frame; ///< frame count, starting from 0 |
|
|
|
int thresh, map, order, sharp, twoway; |
|
|
|
int vsub; |
|
|
|
int is_packed_rgb; |
|
|
|
uint8_t *tmp_data [4]; ///< temporary plane data buffer |
|
|
|
int tmp_linesize[4]; ///< temporary plane byte linesize |
|
|
|
int tmp_bwidth [4]; ///< temporary plane byte width |
|
|
@@ -100,6 +101,7 @@ static int config_props(AVFilterLink *inlink) |
|
|
|
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format); |
|
|
|
int ret; |
|
|
|
|
|
|
|
kerndeint->is_packed_rgb = av_pix_fmt_desc_get(inlink->format)->flags & PIX_FMT_RGB; |
|
|
|
kerndeint->vsub = desc->log2_chroma_h; |
|
|
|
|
|
|
|
ret = av_image_alloc(kerndeint->tmp_data, kerndeint->tmp_linesize, |
|
|
@@ -150,7 +152,7 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *inpic) |
|
|
|
const int sharp = kerndeint->sharp; |
|
|
|
const int twoway = kerndeint->twoway; |
|
|
|
|
|
|
|
const int is_packed_rgb = av_pix_fmt_desc_get(inlink->format)->flags & PIX_FMT_RGB; |
|
|
|
const int is_packed_rgb = kerndeint->is_packed_rgb; |
|
|
|
|
|
|
|
outpic = ff_get_video_buffer(outlink, AV_PERM_WRITE|AV_PERM_ALIGN, outlink->w, outlink->h); |
|
|
|
if (!outpic) { |
|
|
|