diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2010-01-24 12:55:05 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2010-01-24 12:55:05 +0000 |
commit | 30b6147521a3b2a9df4a4094ccee65a5fd8bc18f (patch) | |
tree | f3435c0c3c7df45cd01b8b4889d37f8259793dcb /libswscale/swscale.c | |
parent | 59398ea9c0ffb22dc1038fba2d3aa72a414ab615 (diff) | |
download | ffmpeg-30b6147521a3b2a9df4a4094ccee65a5fd8bc18f.tar.gz |
Use av_get_bits_per_pixel() for computing the bits per pixel of the
source and destination format, cache those values in the newly added
SwsContext:srcFormatBpp and SwsContext:dstFormatBpp fields, and remove
the fmt_depth() function.
Originally committed as revision 30419 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Diffstat (limited to 'libswscale/swscale.c')
-rw-r--r-- | libswscale/swscale.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c index cd365b73c5..79137088bd 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -882,7 +882,7 @@ static inline void yuv2rgbXinC_full(SwsContext *c, const int16_t *lumFilter, con const int16_t **alpSrc, uint8_t *dest, int dstW, int y) { int i; - int step= fmt_depth(c->dstFormat)/8; + int step= c->dstFormatBpp/8; int aidx= 3; switch(c->dstFormat) { @@ -1430,10 +1430,10 @@ static int rgb2rgbWrapper(SwsContext *c, const uint8_t* src[], int srcStride[], { const enum PixelFormat srcFormat= c->srcFormat; const enum PixelFormat dstFormat= c->dstFormat; - const int srcBpp= (fmt_depth(srcFormat) + 7) >> 3; - const int dstBpp= (fmt_depth(dstFormat) + 7) >> 3; - const int srcId= fmt_depth(srcFormat) >> 2; /* 1:0, 4:1, 8:2, 15:3, 16:4, 24:6, 32:8 */ - const int dstId= fmt_depth(dstFormat) >> 2; + const int srcBpp= (c->srcFormatBpp + 7) >> 3; + const int dstBpp= (c->dstFormatBpp + 7) >> 3; + const int srcId= c->srcFormatBpp >> 2; /* 1:0, 4:1, 8:2, 15:3, 16:4, 24:6, 32:8 */ + const int dstId= c->dstFormatBpp >> 2; void (*conv)(const uint8_t *src, uint8_t *dst, long src_size)=NULL; /* BGR -> BGR */ @@ -1661,8 +1661,8 @@ void ff_get_unscaled_swscale(SwsContext *c) int needsDither; needsDither= (isBGR(dstFormat) || isRGB(dstFormat)) - && (fmt_depth(dstFormat))<24 - && ((fmt_depth(dstFormat))<(fmt_depth(srcFormat)) || (!(isRGB(srcFormat) || isBGR(srcFormat)))); + && c->srcFormatBpp < 24 + && (c->dstFormatBpp < c->srcFormatBpp || (!(isRGB(srcFormat) || isBGR(srcFormat)))); /* yv12_to_nv12 */ if ((srcFormat == PIX_FMT_YUV420P || srcFormat == PIX_FMT_YUVA420P) && (dstFormat == PIX_FMT_NV12 || dstFormat == PIX_FMT_NV21)) { |