int xInc;
} FilterContext;
+typedef struct VScalerContext
+{
+ uint16_t *filter[2];
+ int32_t *filter_pos;
+ int filter_size;
+ int isMMX;
+ void *pfn;
+} VScalerContext;
+
// warp input lines in the form (src + width*i + j) to slice format (line[i][j])
int ff_init_slice_from_src(SwsSlice * s, uint8_t *src[4], int stride[4], int srcW, int lumY, int lumH, int chrY, int chrH);
int ff_init_desc_no_chr(SwsFilterDescriptor *desc, SwsSlice * src, SwsSlice *dst);
+/// initializes vertical scaling descriptors
+int ff_init_vscale(SwsContext *c, SwsFilterDescriptor *desc, SwsSlice *src, SwsSlice *dst);
+
+/// setup vertical scaler functions
+void ff_init_vscale_pfn(SwsContext *c, yuv2planar1_fn yuv2plane1, yuv2planarX_fn yuv2planeX,
+ yuv2interleavedX_fn yuv2nv12cX, yuv2packed1_fn yuv2packed1, yuv2packed2_fn yuv2packed2,
+ yuv2packedX_fn yuv2packedX, yuv2anyX_fn yuv2anyX, int use_mmx);
+
//number of extra lines to process
#define MAX_LINES_AHEAD 4
-
+// enable use of refactored scaler code
#define NEW_FILTER
+
#endif /* SWSCALE_SWSCALE_INTERNAL_H */