Commit 991e579c authored by Lars Täuber's avatar Lars Täuber Committed by Ramiro Polla

Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().

Patch by Lars Täuber <lars <dot> taeuber <at> gmx <dot> net>.

Originally committed as revision 29650 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
parent 5333450c
...@@ -136,12 +136,12 @@ unsigned swscale_version(void) ...@@ -136,12 +136,12 @@ unsigned swscale_version(void)
|| (x)==PIX_FMT_YUV440P \ || (x)==PIX_FMT_YUV440P \
|| (x)==PIX_FMT_MONOWHITE \ || (x)==PIX_FMT_MONOWHITE \
|| (x)==PIX_FMT_MONOBLACK \ || (x)==PIX_FMT_MONOBLACK \
|| (x)==PIX_FMT_YUV420PLE \ || (x)==PIX_FMT_YUV420P16LE \
|| (x)==PIX_FMT_YUV422PLE \ || (x)==PIX_FMT_YUV422P16LE \
|| (x)==PIX_FMT_YUV444PLE \ || (x)==PIX_FMT_YUV444P16LE \
|| (x)==PIX_FMT_YUV420PBE \ || (x)==PIX_FMT_YUV420P16BE \
|| (x)==PIX_FMT_YUV422PBE \ || (x)==PIX_FMT_YUV422P16BE \
|| (x)==PIX_FMT_YUV444PBE \ || (x)==PIX_FMT_YUV444P16BE \
) )
#define isSupportedOut(x) ( \ #define isSupportedOut(x) ( \
(x)==PIX_FMT_YUV420P \ (x)==PIX_FMT_YUV420P \
...@@ -160,12 +160,12 @@ unsigned swscale_version(void) ...@@ -160,12 +160,12 @@ unsigned swscale_version(void)
|| (x)==PIX_FMT_GRAY8 \ || (x)==PIX_FMT_GRAY8 \
|| (x)==PIX_FMT_YUV410P \ || (x)==PIX_FMT_YUV410P \
|| (x)==PIX_FMT_YUV440P \ || (x)==PIX_FMT_YUV440P \
|| (x)==PIX_FMT_YUV420PLE \ || (x)==PIX_FMT_YUV420P16LE \
|| (x)==PIX_FMT_YUV422PLE \ || (x)==PIX_FMT_YUV422P16LE \
|| (x)==PIX_FMT_YUV444PLE \ || (x)==PIX_FMT_YUV444P16LE \
|| (x)==PIX_FMT_YUV420PBE \ || (x)==PIX_FMT_YUV420P16BE \
|| (x)==PIX_FMT_YUV422PBE \ || (x)==PIX_FMT_YUV422P16BE \
|| (x)==PIX_FMT_YUV444PBE \ || (x)==PIX_FMT_YUV444P16BE \
) )
#define isPacked(x) ( \ #define isPacked(x) ( \
(x)==PIX_FMT_PAL8 \ (x)==PIX_FMT_PAL8 \
...@@ -459,18 +459,18 @@ const char *sws_format_name(enum PixelFormat format) ...@@ -459,18 +459,18 @@ const char *sws_format_name(enum PixelFormat format)
return "vdpau_wmv3"; return "vdpau_wmv3";
case PIX_FMT_VDPAU_VC1: case PIX_FMT_VDPAU_VC1:
return "vdpau_vc1"; return "vdpau_vc1";
case PIX_FMT_YUV420PLE: case PIX_FMT_YUV420P16LE:
return "yuv420ple"; return "yuv420p16le";
case PIX_FMT_YUV422PLE: case PIX_FMT_YUV422P16LE:
return "yuv422ple"; return "yuv422p16le";
case PIX_FMT_YUV444PLE: case PIX_FMT_YUV444P16LE:
return "yuv444ple"; return "yuv444p16le";
case PIX_FMT_YUV420PBE: case PIX_FMT_YUV420P16BE:
return "yuv420pbe"; return "yuv420p16be";
case PIX_FMT_YUV422PBE: case PIX_FMT_YUV422P16BE:
return "yuv422pbe"; return "yuv422p16be";
case PIX_FMT_YUV444PBE: case PIX_FMT_YUV444P16BE:
return "yuv444pbe"; return "yuv444p16be";
default: default:
return "Unknown format"; return "Unknown format";
} }
...@@ -2371,8 +2371,8 @@ static void getSubSampleFactors(int *h, int *v, int format) ...@@ -2371,8 +2371,8 @@ static void getSubSampleFactors(int *h, int *v, int format)
*v=0; *v=0;
break; break;
case PIX_FMT_YUV420P: case PIX_FMT_YUV420P:
case PIX_FMT_YUV420PLE: case PIX_FMT_YUV420P16LE:
case PIX_FMT_YUV420PBE: case PIX_FMT_YUV420P16BE:
case PIX_FMT_YUVA420P: case PIX_FMT_YUVA420P:
case PIX_FMT_GRAY16BE: case PIX_FMT_GRAY16BE:
case PIX_FMT_GRAY16LE: case PIX_FMT_GRAY16LE:
...@@ -2391,14 +2391,14 @@ static void getSubSampleFactors(int *h, int *v, int format) ...@@ -2391,14 +2391,14 @@ static void getSubSampleFactors(int *h, int *v, int format)
*v=2; *v=2;
break; break;
case PIX_FMT_YUV444P: case PIX_FMT_YUV444P:
case PIX_FMT_YUV444PLE: case PIX_FMT_YUV444P16LE:
case PIX_FMT_YUV444PBE: case PIX_FMT_YUV444P16BE:
*h=0; *h=0;
*v=0; *v=0;
break; break;
case PIX_FMT_YUV422P: case PIX_FMT_YUV422P:
case PIX_FMT_YUV422PLE: case PIX_FMT_YUV422P16LE:
case PIX_FMT_YUV422PBE: case PIX_FMT_YUV422P16BE:
*h=1; *h=1;
*v=0; *v=0;
break; break;
......
...@@ -302,12 +302,12 @@ const char *sws_format_name(enum PixelFormat format); ...@@ -302,12 +302,12 @@ const char *sws_format_name(enum PixelFormat format);
|| (x)==PIX_FMT_GRAY16LE \ || (x)==PIX_FMT_GRAY16LE \
|| (x)==PIX_FMT_RGB48BE \ || (x)==PIX_FMT_RGB48BE \
|| (x)==PIX_FMT_RGB48LE \ || (x)==PIX_FMT_RGB48LE \
|| (x)==PIX_FMT_YUV420PLE \ || (x)==PIX_FMT_YUV420P16LE \
|| (x)==PIX_FMT_YUV422PLE \ || (x)==PIX_FMT_YUV422P16LE \
|| (x)==PIX_FMT_YUV444PLE \ || (x)==PIX_FMT_YUV444P16LE \
|| (x)==PIX_FMT_YUV420PBE \ || (x)==PIX_FMT_YUV420P16BE \
|| (x)==PIX_FMT_YUV422PBE \ || (x)==PIX_FMT_YUV422P16BE \
|| (x)==PIX_FMT_YUV444PBE \ || (x)==PIX_FMT_YUV444P16BE \
) )
#define isBE(x) ((x)&1) #define isBE(x) ((x)&1)
#define isPlanar8YUV(x) ( \ #define isPlanar8YUV(x) ( \
...@@ -323,12 +323,12 @@ const char *sws_format_name(enum PixelFormat format); ...@@ -323,12 +323,12 @@ const char *sws_format_name(enum PixelFormat format);
) )
#define isPlanarYUV(x) ( \ #define isPlanarYUV(x) ( \
isPlanar8YUV(x) \ isPlanar8YUV(x) \
|| (x)==PIX_FMT_YUV420PLE \ || (x)==PIX_FMT_YUV420P16LE \
|| (x)==PIX_FMT_YUV422PLE \ || (x)==PIX_FMT_YUV422P16LE \
|| (x)==PIX_FMT_YUV444PLE \ || (x)==PIX_FMT_YUV444P16LE \
|| (x)==PIX_FMT_YUV420PBE \ || (x)==PIX_FMT_YUV420P16BE \
|| (x)==PIX_FMT_YUV422PBE \ || (x)==PIX_FMT_YUV422P16BE \
|| (x)==PIX_FMT_YUV444PBE \ || (x)==PIX_FMT_YUV444P16BE \
) )
#define isYUV(x) ( \ #define isYUV(x) ( \
(x)==PIX_FMT_UYVY422 \ (x)==PIX_FMT_UYVY422 \
......
...@@ -2914,12 +2914,12 @@ static void RENAME(sws_init_swScale)(SwsContext *c) ...@@ -2914,12 +2914,12 @@ static void RENAME(sws_init_swScale)(SwsContext *c)
case PIX_FMT_PAL8 : case PIX_FMT_PAL8 :
case PIX_FMT_BGR4_BYTE: case PIX_FMT_BGR4_BYTE:
case PIX_FMT_RGB4_BYTE: c->hcscale_internal = palToUV; break; case PIX_FMT_RGB4_BYTE: c->hcscale_internal = palToUV; break;
case PIX_FMT_YUV420PBE: case PIX_FMT_YUV420P16BE:
case PIX_FMT_YUV422PBE: case PIX_FMT_YUV422P16BE:
case PIX_FMT_YUV444PBE: c->hcscale_internal = RENAME(BEToUV); break; case PIX_FMT_YUV444P16BE: c->hcscale_internal = RENAME(BEToUV); break;
case PIX_FMT_YUV420PLE: case PIX_FMT_YUV420P16LE:
case PIX_FMT_YUV422PLE: case PIX_FMT_YUV422P16LE:
case PIX_FMT_YUV444PLE: c->hcscale_internal = RENAME(LEToUV); break; case PIX_FMT_YUV444P16LE: c->hcscale_internal = RENAME(LEToUV); break;
} }
if (c->chrSrcHSubSample) { if (c->chrSrcHSubSample) {
switch(srcFormat) { switch(srcFormat) {
...@@ -2957,14 +2957,14 @@ static void RENAME(sws_init_swScale)(SwsContext *c) ...@@ -2957,14 +2957,14 @@ static void RENAME(sws_init_swScale)(SwsContext *c)
c->hascale_internal = NULL; c->hascale_internal = NULL;
switch (srcFormat) { switch (srcFormat) {
case PIX_FMT_YUYV422 : case PIX_FMT_YUYV422 :
case PIX_FMT_YUV420PBE: case PIX_FMT_YUV420P16BE:
case PIX_FMT_YUV422PBE: case PIX_FMT_YUV422P16BE:
case PIX_FMT_YUV444PBE: case PIX_FMT_YUV444P16BE:
case PIX_FMT_GRAY16BE : c->hyscale_internal = RENAME(yuy2ToY); break; case PIX_FMT_GRAY16BE : c->hyscale_internal = RENAME(yuy2ToY); break;
case PIX_FMT_UYVY422 : case PIX_FMT_UYVY422 :
case PIX_FMT_YUV420PLE: case PIX_FMT_YUV420P16LE:
case PIX_FMT_YUV422PLE: case PIX_FMT_YUV422P16LE:
case PIX_FMT_YUV444PLE: case PIX_FMT_YUV444P16LE:
case PIX_FMT_GRAY16LE : c->hyscale_internal = RENAME(uyvyToY); break; case PIX_FMT_GRAY16LE : c->hyscale_internal = RENAME(uyvyToY); break;
case PIX_FMT_BGR24 : c->hyscale_internal = RENAME(bgr24ToY); break; case PIX_FMT_BGR24 : c->hyscale_internal = RENAME(bgr24ToY); break;
case PIX_FMT_BGR565 : c->hyscale_internal = bgr16ToY; break; case PIX_FMT_BGR565 : c->hyscale_internal = bgr16ToY; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment