projects
/
framework
/
multimedia
/
gst-plugins-good0.10.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tizen 2.0 init
[framework/multimedia/gst-plugins-good0.10.git]
/
gst
/
deinterlace
/
gstdeinterlacemethod.h
diff --git
a/gst/deinterlace/gstdeinterlacemethod.h
b/gst/deinterlace/gstdeinterlacemethod.h
index
11e2c35
..
a50ecbd
100644
(file)
--- a/
gst/deinterlace/gstdeinterlacemethod.h
+++ b/
gst/deinterlace/gstdeinterlacemethod.h
@@
-61,7
+61,9
@@
typedef struct
* This structure defines the deinterlacer plugin.
*/
* This structure defines the deinterlacer plugin.
*/
-typedef void (*GstDeinterlaceMethodDeinterlaceFunction) (GstDeinterlaceMethod *self, const GstDeinterlaceField *history, guint history_count, GstBuffer *outbuf);
+typedef void (*GstDeinterlaceMethodDeinterlaceFunction) (
+ GstDeinterlaceMethod *self, const GstDeinterlaceField *history,
+ guint history_count, GstBuffer *outbuf, int cur_field_idx);
struct _GstDeinterlaceMethod {
GstObject parent;
struct _GstDeinterlaceMethod {
GstObject parent;
@@
-112,7
+114,8
@@
GType gst_deinterlace_method_get_type (void);
gboolean gst_deinterlace_method_supported (GType type, GstVideoFormat format, gint width, gint height);
void gst_deinterlace_method_setup (GstDeinterlaceMethod * self, GstVideoFormat format, gint width, gint height);
gboolean gst_deinterlace_method_supported (GType type, GstVideoFormat format, gint width, gint height);
void gst_deinterlace_method_setup (GstDeinterlaceMethod * self, GstVideoFormat format, gint width, gint height);
-void gst_deinterlace_method_deinterlace_frame (GstDeinterlaceMethod * self, const GstDeinterlaceField * history, guint history_count, GstBuffer * outbuf);
+void gst_deinterlace_method_deinterlace_frame (GstDeinterlaceMethod * self, const GstDeinterlaceField * history, guint history_count, GstBuffer * outbuf,
+ int cur_field_idx);
gint gst_deinterlace_method_get_fields_required (GstDeinterlaceMethod * self);
gint gst_deinterlace_method_get_latency (GstDeinterlaceMethod * self);
gint gst_deinterlace_method_get_fields_required (GstDeinterlaceMethod * self);
gint gst_deinterlace_method_get_latency (GstDeinterlaceMethod * self);
@@
-133,32
+136,32
@@
typedef struct _GstDeinterlaceScanlineData GstDeinterlaceScanlineData;
*/
struct _GstDeinterlaceScanlineData {
*/
struct _GstDeinterlaceScanlineData {
+ const guint8 *ttp, *tp, *mp, *bp, *bbp;
const guint8 *tt0, *t0, *m0, *b0, *bb0;
const guint8 *tt1, *t1, *m1, *b1, *bb1;
const guint8 *tt2, *t2, *m2, *b2, *bb2;
const guint8 *tt0, *t0, *m0, *b0, *bb0;
const guint8 *tt1, *t1, *m1, *b1, *bb1;
const guint8 *tt2, *t2, *m2, *b2, *bb2;
- const guint8 *tt3, *t3, *m3, *b3, *bb3;
gboolean bottom_field;
};
/*
* For interpolate_scanline the input is:
*
gboolean bottom_field;
};
/*
* For interpolate_scanline the input is:
*
- * | t-3 t-2 t-1 t
- * | Field 3 | Field 2 | Field 1 | Field 0 |
- * | TT3 | | TT1 | |
+ * | t-3 t-2 t-1 t
t+1
+ * | Field 3 | Field 2 | Field 1 | Field 0 |
Field -1
+ * | TT3 | | TT1 | |
TTp
* | | T2 | | T0 |
* | | T2 | | T0 |
- * | M3 | | M1 | |
+ * | M3 | | M1 | |
Mp
* | | B2 | | B0 |
* | | B2 | | B0 |
- * | BB3 | | BB1 | |
+ * | BB3 | | BB1 | |
BBp
*
* For copy_scanline the input is:
*
*
* For copy_scanline the input is:
*
- * | t-3 t-2 t-1 t
- * | Field 3 | Field 2 | Field 1 | Field 0 |
+ * | t-3 t-2 t-1 t
t+1
+ * | Field 3 | Field 2 | Field 1 | Field 0 |
Field -1
* | | TT2 | | TT0 |
* | | TT2 | | TT0 |
- * | T3 | | T1 | |
+ * | T3 | | T1 | |
Tp
* | | M2 | | M0 |
* | | M2 | | M0 |
- * | B3 | | B1 | |
+ * | B3 | | B1 | |
Bp
* | | BB2 | | BB0 |
*
* All other values are NULL.
* | | BB2 | | BB0 |
*
* All other values are NULL.