summaryrefslogtreecommitdiff
path: root/libswscale/swscale_internal.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-10-08 02:05:54 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-10-11 05:05:17 +0200
commitfba894615d694584057adb0ddb4d609486cad807 (patch)
tree85a63b0b7b8b5fca93c17c6bfcce791ae1ca98bb /libswscale/swscale_internal.h
parentb8a55994f0cbfb753cd2b175e7aff74263407995 (diff)
swscale: support internal scaler cascades
Fixes Ticket3170 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/swscale_internal.h')
-rw-r--r--libswscale/swscale_internal.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h
index 1e53690908..63b4eca829 100644
--- a/libswscale/swscale_internal.h
+++ b/libswscale/swscale_internal.h
@@ -61,6 +61,8 @@
# define APCK_SIZE 16
#endif
+#define RETCODE_USE_CASCADE -12345
+
struct SwsContext;
typedef enum SwsDither {
@@ -301,6 +303,14 @@ typedef struct SwsContext {
int sliceDir; ///< Direction that slices are fed to the scaler (1 = top-to-bottom, -1 = bottom-to-top).
double param[2]; ///< Input parameters for scaling algorithms that need them.
+ /* The cascaded_* fields allow spliting a scaler task into multiple
+ * sequential steps, this is for example used to limit the maximum
+ * downscaling factor that needs to be supported in one scaler.
+ */
+ struct SwsContext *cascaded_context[2];
+ int cascaded_tmpStride[4];
+ uint8_t *cascaded_tmp[4];
+
uint32_t pal_yuv[256];
uint32_t pal_rgb[256];