xine-lib  1.2.10
tvtime.h
Go to the documentation of this file.
1 
19 #ifndef TVTIME_H_INCLUDED
20 #define TVTIME_H_INCLUDED
21 
22 #if HAVE_INTTYPES_H
23 #include <inttypes.h>
24 #else
25 #include <stdint.h>
26 #endif
27 
28 #include "deinterlace.h"
29 
33 enum {
35  PULLDOWN_VEKTOR = 1, /* vektor's adaptive pulldown detection. */
37 };
38 
39 enum
40 {
45 };
46 
47 
48 typedef struct {
52  unsigned int pulldown_alg;
53 
58 
63  unsigned int pulldown_error_wait;
64 
65  /* internal data */
68 
69  int pdoffset;
70  int pderror;
72  int filmmode;
73 
74 
75 } tvtime_t;
76 
77 
78 int tvtime_build_deinterlaced_frame( tvtime_t *this, uint8_t *output,
79  uint8_t *curframe,
80  uint8_t *lastframe,
81  uint8_t *secondlastframe,
82  int bottom_field, int second_field,
83  int width,
84  int frame_height,
85  int instride,
86  int outstride );
87 
88 
89 int tvtime_build_copied_field( tvtime_t *this, uint8_t *output,
90  uint8_t *curframe,
91  int bottom_field,
92  int width,
93  int frame_height,
94  int instride,
95  int outstride );
97 
98 void tvtime_reset_context( tvtime_t *this );
99 
100 
101 #endif
FRAMERATE_FULL
@ FRAMERATE_FULL
Definition: tvtime.h:41
deinterlace_scanline_data_s::t1
uint8_t * t1
Definition: deinterlace.h:57
tvtime_new_context
tvtime_t * tvtime_new_context(void)
Definition: tvtime.c:461
PULLDOWN_SEQ_AA
#define PULLDOWN_SEQ_AA
Definition: pulldown.h:34
deinterlace_method_s::interpolate_scanline
deinterlace_interp_scanline_t interpolate_scanline
Definition: deinterlace.h:131
PULLDOWN_MAX
@ PULLDOWN_MAX
Definition: tvtime.h:36
deinterlace_method_s::copy_scanline
deinterlace_copy_scanline_t copy_scanline
Definition: deinterlace.h:132
pulldown_source
int pulldown_source(int action, int bottom_field)
Definition: pulldown.c:590
tvtime_t::pulldown_alg
unsigned int pulldown_alg
Definition: tvtime.h:52
tvtime_reset_context
void tvtime_reset_context(tvtime_t *this)
Definition: tvtime.c:476
deinterlace_scanline_data_s::m0
uint8_t * m0
Definition: deinterlace.h:56
deinterlace_scanline_data_s::m1
uint8_t * m1
Definition: deinterlace.h:57
FRAMERATE_MAX
@ FRAMERATE_MAX
Definition: tvtime.h:44
tvtime.h
deinterlace_scanline_data_s::b1
uint8_t * b1
Definition: deinterlace.h:57
deinterlace_scanline_data_s::m3
uint8_t * m3
Definition: deinterlace.h:59
deinterlace_scanline_data_s
Definition: deinterlace.h:54
tvtime_t::curmethod
const deinterlace_method_t * curmethod
Definition: tvtime.h:57
pulldown_drop
int pulldown_drop(int action, int bottom_field)
Definition: pulldown.c:607
deinterlace_scanline_data_s::b2
uint8_t * b2
Definition: deinterlace.h:58
tvtime_t::filmmode
int filmmode
Definition: tvtime.h:72
calculate_pulldown_score_vektor
static void calculate_pulldown_score_vektor(tvtime_t *tvtime, uint8_t *curframe, uint8_t *lastframe, int instride, int frame_height, int width)
Definition: tvtime.c:127
tvtime_reset_context
void tvtime_reset_context(tvtime_t *tvtime)
Definition: tvtime.c:476
tvtime_t::pdlastbusted
int pdlastbusted
Definition: tvtime.h:71
determine_pulldown_offset_short_history_new
int determine_pulldown_offset_short_history_new(int top_repeat, int bot_repeat, int tff, int predicted)
Definition: pulldown.c:401
NULL
NULL
Definition: xine_plugin.c:78
tvtime_t::pderror
int pderror
Definition: tvtime.h:70
tvtime_t::last_botdiff
int last_botdiff
Definition: tvtime.h:67
PULLDOWN_SEQ_DD
#define PULLDOWN_SEQ_DD
Definition: pulldown.h:38
deinterlace_scanline_data_s::bb1
uint8_t * bb1
Definition: deinterlace.h:57
FRAMERATE_HALF_BFF
@ FRAMERATE_HALF_BFF
Definition: tvtime.h:43
blit_packed422_scanline
void(* blit_packed422_scanline)(uint8_t *dest, const uint8_t *src, int width)
Definition: speedy.c:79
width
unsigned int width
Definition: gfontrle.c:4
deinterlace_scanline_data_s::tt3
uint8_t * tt3
Definition: deinterlace.h:59
PULLDOWN_NONE
@ PULLDOWN_NONE
Definition: tvtime.h:34
deinterlace_scanline_data_s::t0
uint8_t * t0
Definition: deinterlace.h:56
deinterlace_scanline_data_s::bytes_left
int bytes_left
Definition: deinterlace.h:62
deinterlace_scanline_data_s::bottom_field
int bottom_field
Definition: deinterlace.h:60
deinterlace_method_s::deinterlace_frame
deinterlace_frame_t deinterlace_frame
Definition: deinterlace.h:133
PULLDOWN_ERROR_THRESHOLD
#define PULLDOWN_ERROR_THRESHOLD
Definition: tvtime.c:44
tvtime_build_deinterlaced_frame
int tvtime_build_deinterlaced_frame(tvtime_t *tvtime, uint8_t *output, uint8_t *curframe, uint8_t *lastframe, uint8_t *secondlastframe, int bottom_field, int second_field, int width, int frame_height, int instride, int outstride)
Definition: tvtime.c:152
deinterlace_method_s
Definition: deinterlace.h:123
deinterlace_scanline_data_s::tt1
uint8_t * tt1
Definition: deinterlace.h:57
deinterlace_scanline_data_s::bb0
uint8_t * bb0
Definition: deinterlace.h:56
tvtime_t::pdoffset
int pdoffset
Definition: tvtime.h:69
tvtime_t
Definition: tvtime.h:48
deinterlace_frame_data_s::f0
uint8_t * f0
Definition: deinterlace.h:105
deinterlace_scanline_data_s::t2
uint8_t * t2
Definition: deinterlace.h:58
FRAMERATE_HALF_TFF
@ FRAMERATE_HALF_TFF
Definition: tvtime.h:42
deinterlace_scanline_data_s::tt0
uint8_t * tt0
Definition: deinterlace.h:56
tvtime_t::last_topdiff
int last_topdiff
Definition: tvtime.h:66
diff_factor_packed422_scanline
unsigned int(* diff_factor_packed422_scanline)(uint8_t *cur, uint8_t *old, int width)
Definition: speedy.c:101
deinterlace_frame_data_s
Definition: deinterlace.h:103
quarter_blit_vertical_packed422_scanline
void(* quarter_blit_vertical_packed422_scanline)(uint8_t *output, uint8_t *one, uint8_t *three, int width)
Definition: speedy.c:112
deinterlace_frame_data_s::f2
uint8_t * f2
Definition: deinterlace.h:107
speedy.h
deinterlace_scanline_data_s::bb2
uint8_t * bb2
Definition: deinterlace.h:58
deinterlace_scanline_data_s::b0
uint8_t * b0
Definition: deinterlace.h:56
deinterlace_scanline_data_s::m2
uint8_t * m2
Definition: deinterlace.h:58
deinterlace_frame_data_s::f1
uint8_t * f1
Definition: deinterlace.h:106
tvtime_build_copied_field
int tvtime_build_copied_field(tvtime_t *tvtime, uint8_t *output, uint8_t *curframe, int bottom_field, int width, int frame_height, int instride, int outstride)
Definition: tvtime.c:413
tvtime_new_context
tvtime_t * tvtime_new_context(void)
Definition: tvtime.c:461
config.h
PULLDOWN_VEKTOR
@ PULLDOWN_VEKTOR
Definition: tvtime.h:35
deinterlace_scanline_data_s::tt2
uint8_t * tt2
Definition: deinterlace.h:58
tvtime_t::pulldown_error_wait
unsigned int pulldown_error_wait
Definition: tvtime.h:63
tvtime_build_copied_field
int tvtime_build_copied_field(tvtime_t *this, uint8_t *output, uint8_t *curframe, int bottom_field, int width, int frame_height, int instride, int outstride)
Definition: tvtime.c:413
deinterlace_scanline_data_s::bb3
uint8_t * bb3
Definition: deinterlace.h:59
pulldown.h
tvtime_build_deinterlaced_frame
int tvtime_build_deinterlaced_frame(tvtime_t *this, uint8_t *output, uint8_t *curframe, uint8_t *lastframe, uint8_t *secondlastframe, int bottom_field, int second_field, int width, int frame_height, int instride, int outstride)
Definition: tvtime.c:152
deinterlace.h
pulldown_merge_fields
static void pulldown_merge_fields(uint8_t *output, uint8_t *topfield, uint8_t *botfield, int width, int frame_height, int fieldstride, int outstride)
Definition: tvtime.c:106
deinterlace_method_s::scanlinemode
int scanlinemode
Definition: deinterlace.h:130