diff options
Diffstat (limited to 'libswscale/swscale_internal.h')
-rw-r--r-- | libswscale/swscale_internal.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index 4e1cfc14cb..0d4ce331f4 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -1002,6 +1002,15 @@ typedef struct FilterContext 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); @@ -1033,9 +1042,18 @@ int ff_init_desc_chscale(SwsFilterDescriptor *desc, SwsSlice *src, SwsSlice *dst 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 */ |