233 | | /* SSE Version has best quality. 3DNOW and MMX a litte bit impure */ |
234 | | if (filter->mm_flags & MM_SSE) |
235 | | { |
236 | | greedyh_filter_sse( |
237 | | filter->deint_frame, 2 * frame->width, |
238 | | filter->frames[cur_frame], filter->frames[last_frame], |
239 | | bottom_field, second_field, frame->width, frame->height); |
240 | | } |
241 | | else if (filter->mm_flags & MM_3DNOW) |
242 | | { |
243 | | greedyh_filter_3dnow( |
244 | | filter->deint_frame, 2 * frame->width, |
245 | | filter->frames[cur_frame], filter->frames[last_frame], |
246 | | bottom_field, second_field, frame->width, frame->height); |
247 | | } |
248 | | else if (filter->mm_flags & MM_MMX) |
249 | | { |
250 | | greedyh_filter_mmx( |
251 | | filter->deint_frame, 2 * frame->width, |
252 | | filter->frames[cur_frame], filter->frames[last_frame], |
253 | | bottom_field, second_field, frame->width, frame->height); |
254 | | } |
255 | | else |
| 235 | /* SSE Version has best quality. 3DNOW and MMX a litte bit impure */ |
| 236 | if (filter->mm_flags & MM_SSE) |
| 237 | { |
| 238 | greedyh_filter_sse( |
| 239 | filter->deint_frame, 2 * frame->width, |
| 240 | filter->frames[cur_frame], filter->frames[last_frame], |
| 241 | bottom_field, second_field, frame->width, frame->height); |
| 242 | } |
| 243 | else if (filter->mm_flags & MM_3DNOW) |
| 244 | { |
| 245 | greedyh_filter_3dnow( |
| 246 | filter->deint_frame, 2 * frame->width, |
| 247 | filter->frames[cur_frame], filter->frames[last_frame], |
| 248 | bottom_field, second_field, frame->width, frame->height); |
| 249 | } |
| 250 | else if (filter->mm_flags & MM_MMX) |
| 251 | { |
| 252 | greedyh_filter_mmx( |
| 253 | filter->deint_frame, 2 * frame->width, |
| 254 | filter->frames[cur_frame], filter->frames[last_frame], |
| 255 | bottom_field, second_field, frame->width, frame->height); |
| 256 | } |
| 257 | else |
266 | | /* convert back to yv12, cause myth only works with this format */ |
267 | | yuy2_to_yv12( |
268 | | filter->deint_frame, 2 * frame->width, |
269 | | frame->buf + frame->offsets[0], frame->pitches[0], |
270 | | frame->buf + frame->offsets[1], frame->pitches[1], |
271 | | frame->buf + frame->offsets[2], frame->pitches[2], |
272 | | frame->width, frame->height); |
273 | | |
| 268 | /* convert back to yv12, cause myth only works with this format */ |
| 269 | yuy2_to_yv12( |
| 270 | filter->deint_frame, 2 * frame->width, |
| 271 | frame->buf + frame->offsets[0], frame->pitches[0], |
| 272 | frame->buf + frame->offsets[1], frame->pitches[1], |
| 273 | frame->buf + frame->offsets[2], frame->pitches[2], |
| 274 | frame->width, frame->height); |
| 275 | } |