diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2005-05-15 02:41:03 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2005-05-15 02:41:03 +0000 |
commit | 2b254f08178d0467671260bea7820afd1f726738 (patch) | |
tree | 705a95aa720ed4014d390e38138608fae2e6780d /src/post/deinterlace/pulldown.c | |
parent | 342e0637ab545fe9def530ecf7fb0ac88ab2ade7 (diff) | |
download | xine-lib-2b254f08178d0467671260bea7820afd1f726738.tar.gz xine-lib-2b254f08178d0467671260bea7820afd1f726738.tar.bz2 |
more merging with tvtime - no functional changes (i hope)
CVS patchset: 7544
CVS date: 2005/05/15 02:41:03
Diffstat (limited to 'src/post/deinterlace/pulldown.c')
-rw-r--r-- | src/post/deinterlace/pulldown.c | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/src/post/deinterlace/pulldown.c b/src/post/deinterlace/pulldown.c index feaefecaf..41b31d596 100644 --- a/src/post/deinterlace/pulldown.c +++ b/src/post/deinterlace/pulldown.c @@ -51,6 +51,38 @@ * Bot 4 : Drop * Top 5 : Drop * Bot 5 : Show + * + * A A 1 + * A B 2 + * B C 4 + * C C 8 + * D D 16 + * + * D D A A A B B C C C D D A A A +------------ + * [ ] + * [* * ] | 1 top AA + * [ * *] | 0 AA bottom AA + * + * [ ] + * [* * ] | 1 top AB + * [* * ] | 1 AB bottom AB + * + * [ ] + * [ * *] | 0 top BC + * [* * ] | 1 BC bottom BC + * + * [ ] + * [ * *] | 0 top CC + * [ * *] | 0 CC bottom CC + * + * [ ] + * [* * ] | 1 top DD + * [ * *] | 0 DD bottom DD + * + * + * [* * ] | 1 top AA + * [ * *] | 0 AA bottom AA + * */ /* Offset 1 2 3 4 5 */ @@ -550,11 +582,19 @@ void diff_factor_packed422_frame( pulldown_metrics_t *peak, pulldown_metrics_t * int pulldown_source( int action, int bottom_field ) { - if( action == PULLDOWN_SEQ_AB || action == PULLDOWN_SEQ_BC ) { + if( action == PULLDOWN_SEQ_AA ) { + return !bottom_field; + } else if( action == PULLDOWN_SEQ_AB ) { + return 1; + } else if( action == PULLDOWN_SEQ_BC ) { return bottom_field; - } else { + } else if( action == PULLDOWN_SEQ_CC ) { + return 0; + } else if( action == PULLDOWN_SEQ_DD ) { return !bottom_field; } + + return 0; } int pulldown_drop( int action, int bottom_field ) |