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 {