Mercurial > mplayer.hg
comparison postproc/yuv2rgb_mlib.c @ 9494:543ab3909b78
sws_ prefix, more seperation between internal & external swscaler API
sws_scale() returns the number of outputed lines
author | michael |
---|---|
date | Sun, 23 Feb 2003 22:05:55 +0000 |
parents | eff727517e6b |
children | bc5b87370cd1 |
comparison
equal
deleted
inserted
replaced
9493:d1f82707ad78 | 9494:543ab3909b78 |
---|---|
31 #include <assert.h> | 31 #include <assert.h> |
32 | 32 |
33 #include "../libvo/img_format.h" //FIXME try to reduce dependency of such stuff | 33 #include "../libvo/img_format.h" //FIXME try to reduce dependency of such stuff |
34 #include "swscale.h" | 34 #include "swscale.h" |
35 | 35 |
36 static void mlib_YUV2ARGB420_32(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, | 36 static int mlib_YUV2ARGB420_32(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, |
37 int srcSliceH, uint8_t* dst[], int dstStride[]){ | 37 int srcSliceH, uint8_t* dst[], int dstStride[]){ |
38 uint8_t *src[3]; | 38 uint8_t *src[3]; |
39 int srcStride[3]; | 39 int srcStride[3]; |
40 | 40 |
41 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam); | 41 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam); |
46 | 46 |
47 assert(srcStride[1] == srcStride[2]); | 47 assert(srcStride[1] == srcStride[2]); |
48 | 48 |
49 mlib_VideoColorYUV2ARGB420(dst[0], src[0], src[1], src[2], c->dstW, | 49 mlib_VideoColorYUV2ARGB420(dst[0], src[0], src[1], src[2], c->dstW, |
50 c->dstH, dstStride[0], srcStride[0], srcStride[1]); | 50 c->dstH, dstStride[0], srcStride[0], srcStride[1]); |
51 return srcSliceH; | |
51 } | 52 } |
52 | 53 |
53 static void mlib_YUV2ABGR420_32(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, | 54 static int mlib_YUV2ABGR420_32(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, |
54 int srcSliceH, uint8_t* dst[], int dstStride[]){ | 55 int srcSliceH, uint8_t* dst[], int dstStride[]){ |
55 uint8_t *src[3]; | 56 uint8_t *src[3]; |
56 int srcStride[3]; | 57 int srcStride[3]; |
57 | 58 |
58 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam); | 59 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam); |
63 | 64 |
64 assert(srcStride[1] == srcStride[2]); | 65 assert(srcStride[1] == srcStride[2]); |
65 | 66 |
66 mlib_VideoColorYUV2ABGR420(dst[0], src[0], src[1], src[2], c->dstW, | 67 mlib_VideoColorYUV2ABGR420(dst[0], src[0], src[1], src[2], c->dstW, |
67 c->dstH, dstStride[0], srcStride[0], srcStride[1]); | 68 c->dstH, dstStride[0], srcStride[0], srcStride[1]); |
69 return srcSliceH; | |
68 } | 70 } |
69 | 71 |
70 static void mlib_YUV2RGB420_24(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, | 72 static int mlib_YUV2RGB420_24(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, |
71 int srcSliceH, uint8_t* dst[], int dstStride[]){ | 73 int srcSliceH, uint8_t* dst[], int dstStride[]){ |
72 uint8_t *src[3]; | 74 uint8_t *src[3]; |
73 int srcStride[3]; | 75 int srcStride[3]; |
74 | 76 |
75 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam); | 77 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam); |
80 | 82 |
81 assert(srcStride[1] == srcStride[2]); | 83 assert(srcStride[1] == srcStride[2]); |
82 | 84 |
83 mlib_VideoColorYUV2RGB420(dst[0], src[0], src[1], src[2], c->dstW, | 85 mlib_VideoColorYUV2RGB420(dst[0], src[0], src[1], src[2], c->dstW, |
84 c->dstH, dstStride[0], srcStride[0], srcStride[1]); | 86 c->dstH, dstStride[0], srcStride[0], srcStride[1]); |
87 return srcSliceH; | |
85 } | 88 } |
86 | 89 |
87 | 90 |
88 SwsFunc yuv2rgb_init_mlib(SwsContext *c) | 91 SwsFunc yuv2rgb_init_mlib(SwsContext *c) |
89 { | 92 { |