Mercurial > mplayer.hg
view libmpcodecs/pullup.h @ 17079:c3893e949327
muxer_lavf MUST be disabled by default until someone adds AVParser
support to it. Otherwise users will generate files with totally
nonsensical pts if they use B frames! (And they are already doing so
-- see mplayer-users list!)
If anyone wants to volunteer to add AVParser support, go right ahead!
But until then, do not remove this check. :)
author | rfelker |
---|---|
date | Fri, 02 Dec 2005 19:43:36 +0000 |
parents | eec6ace22741 |
children | f580a7755ac5 |
line wrap: on
line source
#define PULLUP_CPU_MMX 1 #define PULLUP_CPU_MMX2 2 #define PULLUP_CPU_3DNOW 4 #define PULLUP_CPU_3DNOWEXT 8 #define PULLUP_CPU_SSE 16 #define PULLUP_CPU_SSE2 32 #define PULLUP_FMT_Y 1 #define PULLUP_FMT_YUY2 2 #define PULLUP_FMT_UYVY 3 #define PULLUP_FMT_RGB32 4 struct pullup_buffer { int lock[2]; unsigned char **planes; }; struct pullup_field { int parity; struct pullup_buffer *buffer; unsigned int flags; int breaks; int affinity; int *diffs; int *comb; int *var; struct pullup_field *prev, *next; }; struct pullup_frame { int lock; int length; int parity; struct pullup_buffer **ifields, *ofields[2]; struct pullup_buffer *buffer; }; struct pullup_context { /* Public interface */ int format; int nplanes; int *bpp, *w, *h, *stride, *background; unsigned int cpu; int junk_left, junk_right, junk_top, junk_bottom; int verbose; int metric_plane; int strict_breaks; int strict_pairs; /* Internal data */ struct pullup_field *first, *last, *head; struct pullup_buffer *buffers; int nbuffers; int (*diff)(unsigned char *, unsigned char *, int); int (*comb)(unsigned char *, unsigned char *, int); int (*var)(unsigned char *, unsigned char *, int); int metric_w, metric_h, metric_len, metric_offset; struct pullup_frame *frame; }; struct pullup_buffer *pullup_lock_buffer(struct pullup_buffer *b, int parity); void pullup_release_buffer(struct pullup_buffer *b, int parity); struct pullup_buffer *pullup_get_buffer(struct pullup_context *c, int parity); void pullup_submit_field(struct pullup_context *c, struct pullup_buffer *b, int parity); void pullup_flush_fields(struct pullup_context *c); struct pullup_frame *pullup_get_frame(struct pullup_context *c); void pullup_pack_frame(struct pullup_context *c, struct pullup_frame *fr); void pullup_release_frame(struct pullup_frame *fr); struct pullup_context *pullup_alloc_context(); void pullup_preinit_context(struct pullup_context *c); void pullup_init_context(struct pullup_context *c); void pullup_free_context(struct pullup_context *c);