summaryrefslogtreecommitdiff
path: root/src/post/deinterlace/tvtime.c
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-04-09 02:57:05 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-04-09 02:57:05 +0000
commit575527352ef6ca07f7f752838ccccf2f0171314c (patch)
treecaeb6d23d13112e6bba8610f0a85c23f2a6220bd /src/post/deinterlace/tvtime.c
parentf388b7ac7c20497a25693ef9f17c83ab60733c4d (diff)
downloadxine-lib-575527352ef6ca07f7f752838ccccf2f0171314c.tar.gz
xine-lib-575527352ef6ca07f7f752838ccccf2f0171314c.tar.bz2
tvtime deinterlacing algorithms assumed top_field_first=1
top_field_first=0 (aka bottom_field_first) should now work as expected CVS patchset: 6356 CVS date: 2004/04/09 02:57:05
Diffstat (limited to 'src/post/deinterlace/tvtime.c')
-rw-r--r--src/post/deinterlace/tvtime.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/post/deinterlace/tvtime.c b/src/post/deinterlace/tvtime.c
index db8911311..7e01cb5d9 100644
--- a/src/post/deinterlace/tvtime.c
+++ b/src/post/deinterlace/tvtime.c
@@ -176,7 +176,7 @@ int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
uint8_t *curframe,
uint8_t *lastframe,
uint8_t *secondlastframe,
- int bottom_field,
+ int bottom_field, int second_field,
int width,
int frame_height,
int instride,
@@ -279,7 +279,8 @@ int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
data.f1 = lastframe;
data.f2 = secondlastframe;
- curmethod->deinterlace_frame( output, outstride, &data, bottom_field, width, frame_height );
+ curmethod->deinterlace_frame( output, outstride, &data, bottom_field, second_field,
+ width, frame_height );
} else {
int loop_size;
@@ -314,7 +315,7 @@ int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
data.t0 = curframe;
data.b0 = curframe + (instride*2);
- if( bottom_field ) {
+ if( second_field ) {
data.tt1 = (i < loop_size) ? (curframe - instride) : (curframe + instride);
data.m1 = curframe + instride;
data.bb1 = (i > 1) ? (curframe + (instride*3)) : (curframe + instride);
@@ -327,7 +328,7 @@ int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
data.t2 = lastframe;
data.b2 = lastframe + (instride*2);
- if( bottom_field ) {
+ if( second_field ) {
data.tt3 = (i < loop_size) ? (lastframe - instride) : (lastframe + instride);
data.m3 = lastframe + instride;
data.bb3 = (i > 1) ? (lastframe + (instride*3)) : (lastframe + instride);
@@ -346,7 +347,7 @@ int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
data.m0 = curframe + (instride*2);
data.bb0 = (i > 1) ? (curframe + (instride*4)) : (curframe + (instride*2));
- if( bottom_field ) {
+ if( second_field ) {
data.t1 = curframe + instride;
data.b1 = (i > 1) ? (curframe + (instride*3)) : (curframe + instride);
} else {
@@ -358,7 +359,7 @@ int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
data.m2 = lastframe + (instride*2);
data.bb2 = (i > 1) ? (lastframe + (instride*4)) : (lastframe + (instride*2));
- if( bottom_field ) {
+ if( second_field ) {
data.t2 = lastframe + instride;
data.b2 = (i > 1) ? (lastframe + (instride*3)) : (lastframe + instride);
} else {