Mercurial > mplayer.hg
view fmt-conversion.h @ 24131:30028bbcb9e8
Use a single select() for both key and slave input
Previous code used two separate select() calls one after another, so
that whenever it was running select() on one set of fds events in the
other set would go unnoticed until later. Now there's a single select()
which allows reacting immediately to any input source.
The behavior of the new code differs somewhat from the old; for example
multiple fds that stay readable are no longer handled in a round-robin
fashion and the total amount the process sleeps can differ. Some tuning
might be required later.
author | uau |
---|---|
date | Sat, 25 Aug 2007 04:28:11 +0000 |
parents | bf1fbe97cc40 |
children | 5e3665b6213e |
line wrap: on
line source
#ifdef USE_LIBAVUTIL_SO #include <ffmpeg/avutil.h> #else #include "avutil.h" #endif #include "img_format.h" enum PixelFormat imgfmt2pixfmt(int fmt) { switch (fmt) { case IMGFMT_BGR32: return PIX_FMT_RGB32; case IMGFMT_BGR24: return PIX_FMT_BGR24; case IMGFMT_BGR16: return PIX_FMT_BGR565; case IMGFMT_BGR15: return PIX_FMT_BGR555; case IMGFMT_BGR8: return PIX_FMT_BGR8; case IMGFMT_BGR4: return PIX_FMT_BGR4; case IMGFMT_BGR1: case IMGFMT_RGB1: return PIX_FMT_MONOBLACK; case IMGFMT_RG4B: return PIX_FMT_RGB4_BYTE; case IMGFMT_BG4B: return PIX_FMT_BGR4_BYTE; case IMGFMT_RGB32: return PIX_FMT_BGR32; case IMGFMT_RGB24: return PIX_FMT_RGB24; case IMGFMT_RGB16: return PIX_FMT_RGB565; case IMGFMT_RGB15: return PIX_FMT_RGB555; case IMGFMT_RGB8: return PIX_FMT_RGB8; case IMGFMT_RGB4: return PIX_FMT_RGB4; case IMGFMT_YUY2: return PIX_FMT_YUYV422; case IMGFMT_UYVY: return PIX_FMT_UYVY422; case IMGFMT_NV12: return PIX_FMT_NV12; case IMGFMT_NV21: return PIX_FMT_NV21; case IMGFMT_Y800: case IMGFMT_Y8: return PIX_FMT_GRAY8; case IMGFMT_IF09: case IMGFMT_YVU9: return PIX_FMT_YUV410P; case IMGFMT_I420: case IMGFMT_YV12: return PIX_FMT_YUV420P; case IMGFMT_411P: return PIX_FMT_YUV411P; case IMGFMT_422P: return PIX_FMT_YUV422P; case IMGFMT_444P: return PIX_FMT_YUV444P; default: fprintf(stderr, "Unsupported format %s\n", vo_format_name(fmt)); } return PIX_FMT_NONE; }