Mercurial > mplayer.hg
annotate libmpcodecs/img_format.c @ 32676:db882cd69776
Do not #define _WIN32 on the command line for Cygwin.
Newer Cygwin versions no longer do this and hopefully we should be able
to survive without this hack as well. This change necessitates adapting
two #ifdefs in the MPlayer codebase. It is committed untested as I do
not have access to a Cygwin system.
author | diego |
---|---|
date | Thu, 06 Jan 2011 12:42:59 +0000 |
parents | 9acad2e25ea1 |
children | 7af3e6f901fd |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
2 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
7 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
8 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
12 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
13 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
17 */ |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30115
diff
changeset
|
18 |
17565
dc65faaadb04
include config.h as img_format.h needs endian definitions, noticed by Alan Curry <pacman at theworld com>
iive
parents:
12996
diff
changeset
|
19 #include "config.h" |
3199 | 20 #include "img_format.h" |
23750 | 21 #include "stdio.h" |
2599 | 22 |
19108
5e767cabf4cd
marks several read-only string parameters and function return-values which can only be used read-only as const. Patch by Stefan Huehner, stefan _AT huener-org
reynaldo
parents:
17565
diff
changeset
|
23 const char *vo_format_name(int format) |
2599 | 24 { |
26701 | 25 static char unknown_format[20]; |
2599 | 26 switch(format) |
27 { | |
26754
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
28 case IMGFMT_RGB1: return "RGB 1-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
29 case IMGFMT_RGB4: return "RGB 4-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
30 case IMGFMT_RG4B: return "RGB 4-bit per byte"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
31 case IMGFMT_RGB8: return "RGB 8-bit"; |
31082
92f88bb315c5
Add support for 12-bit color mode on framebuffer devices.
cehoyos
parents:
30421
diff
changeset
|
32 case IMGFMT_RGB12: return "RGB 12-bit"; |
26754
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
33 case IMGFMT_RGB15: return "RGB 15-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
34 case IMGFMT_RGB16: return "RGB 16-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
35 case IMGFMT_RGB24: return "RGB 24-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
36 // case IMGFMT_RGB32: return "RGB 32-bit"; |
29444 | 37 case IMGFMT_RGB48LE: return "RGB 48-bit LE"; |
38 case IMGFMT_RGB48BE: return "RGB 48-bit BE"; | |
26754
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
39 case IMGFMT_BGR1: return "BGR 1-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
40 case IMGFMT_BGR4: return "BGR 4-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
41 case IMGFMT_BG4B: return "BGR 4-bit per byte"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
42 case IMGFMT_BGR8: return "BGR 8-bit"; |
31082
92f88bb315c5
Add support for 12-bit color mode on framebuffer devices.
cehoyos
parents:
30421
diff
changeset
|
43 case IMGFMT_BGR12: return "BGR 12-bit"; |
26754
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
44 case IMGFMT_BGR15: return "BGR 15-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
45 case IMGFMT_BGR16: return "BGR 16-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
46 case IMGFMT_BGR24: return "BGR 24-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
47 // case IMGFMT_BGR32: return "BGR 32-bit"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
48 case IMGFMT_ABGR: return "ABGR"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
49 case IMGFMT_BGRA: return "BGRA"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
50 case IMGFMT_ARGB: return "ARGB"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
51 case IMGFMT_RGBA: return "RGBA"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
52 case IMGFMT_YVU9: return "Planar YVU9"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
53 case IMGFMT_IF09: return "Planar IF09"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
54 case IMGFMT_YV12: return "Planar YV12"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
55 case IMGFMT_I420: return "Planar I420"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
56 case IMGFMT_IYUV: return "Planar IYUV"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
57 case IMGFMT_CLPL: return "Planar CLPL"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
58 case IMGFMT_Y800: return "Planar Y800"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
59 case IMGFMT_Y8: return "Planar Y8"; |
30110 | 60 case IMGFMT_420P16_LE: return "Planar 420P 16-bit little-endian"; |
61 case IMGFMT_420P16_BE: return "Planar 420P 16-bit big-endian"; | |
62 case IMGFMT_422P16_LE: return "Planar 422P 16-bit little-endian"; | |
63 case IMGFMT_422P16_BE: return "Planar 422P 16-bit big-endian"; | |
64 case IMGFMT_444P16_LE: return "Planar 444P 16-bit little-endian"; | |
65 case IMGFMT_444P16_BE: return "Planar 444P 16-bit big-endian"; | |
30115
ad61464d02a7
Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
reimar
parents:
30110
diff
changeset
|
66 case IMGFMT_420A: return "Planar 420P with alpha"; |
26754
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
67 case IMGFMT_444P: return "Planar 444P"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
68 case IMGFMT_422P: return "Planar 422P"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
69 case IMGFMT_411P: return "Planar 411P"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
70 case IMGFMT_NV12: return "Planar NV12"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
71 case IMGFMT_NV21: return "Planar NV21"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
72 case IMGFMT_HM12: return "Planar NV12 Macroblock"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
73 case IMGFMT_IUYV: return "Packed IUYV"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
74 case IMGFMT_IY41: return "Packed IY41"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
75 case IMGFMT_IYU1: return "Packed IYU1"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
76 case IMGFMT_IYU2: return "Packed IYU2"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
77 case IMGFMT_UYVY: return "Packed UYVY"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
78 case IMGFMT_UYNV: return "Packed UYNV"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
79 case IMGFMT_cyuv: return "Packed CYUV"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
80 case IMGFMT_Y422: return "Packed Y422"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
81 case IMGFMT_YUY2: return "Packed YUY2"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
82 case IMGFMT_YUNV: return "Packed YUNV"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
83 case IMGFMT_YVYU: return "Packed YVYU"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
84 case IMGFMT_Y41P: return "Packed Y41P"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
85 case IMGFMT_Y211: return "Packed Y211"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
86 case IMGFMT_Y41T: return "Packed Y41T"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
87 case IMGFMT_Y42T: return "Packed Y42T"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
88 case IMGFMT_V422: return "Packed V422"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
89 case IMGFMT_V655: return "Packed V655"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
90 case IMGFMT_CLJR: return "Packed CLJR"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
91 case IMGFMT_YUVP: return "Packed YUVP"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
92 case IMGFMT_UYVP: return "Packed UYVP"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
93 case IMGFMT_MPEGPES: return "Mpeg PES"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
94 case IMGFMT_ZRMJPEGNI: return "Zoran MJPEG non-interlaced"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
95 case IMGFMT_ZRMJPEGIT: return "Zoran MJPEG top field first"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
96 case IMGFMT_ZRMJPEGIB: return "Zoran MJPEG bottom field first"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
97 case IMGFMT_XVMC_MOCO_MPEG2: return "MPEG1/2 Motion Compensation"; |
63630c09e237
cosmetics: Remove pointless parentheses from return calls.
diego
parents:
26701
diff
changeset
|
98 case IMGFMT_XVMC_IDCT_MPEG2: return "MPEG1/2 Motion Compensation and IDCT"; |
28516
79b0bd20433e
Add support for image formats and codecs used by VDPAU
reimar
parents:
26754
diff
changeset
|
99 case IMGFMT_VDPAU_MPEG1: return "MPEG1 VDPAU acceleration"; |
79b0bd20433e
Add support for image formats and codecs used by VDPAU
reimar
parents:
26754
diff
changeset
|
100 case IMGFMT_VDPAU_MPEG2: return "MPEG2 VDPAU acceleration"; |
79b0bd20433e
Add support for image formats and codecs used by VDPAU
reimar
parents:
26754
diff
changeset
|
101 case IMGFMT_VDPAU_H264: return "H.264 VDPAU acceleration"; |
29843
f6d56a15f1d8
Support VDPAU hardware accelerated decoding of MPEG-4 ASP on capable
cehoyos
parents:
29444
diff
changeset
|
102 case IMGFMT_VDPAU_MPEG4: return "MPEG-4 Part 2 VDPAU acceleration"; |
28516
79b0bd20433e
Add support for image formats and codecs used by VDPAU
reimar
parents:
26754
diff
changeset
|
103 case IMGFMT_VDPAU_WMV3: return "WMV3 VDPAU acceleration"; |
79b0bd20433e
Add support for image formats and codecs used by VDPAU
reimar
parents:
26754
diff
changeset
|
104 case IMGFMT_VDPAU_VC1: return "VC1 VDPAU acceleration"; |
2599 | 105 } |
26701 | 106 snprintf(unknown_format,20,"Unknown 0x%04x",format); |
107 return unknown_format; | |
2599 | 108 } |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
109 |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
110 int mp_get_chroma_shift(int format, int *x_shift, int *y_shift) |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
111 { |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
112 int xs = 0, ys = 0; |
30110 | 113 int bpp; |
114 int bpp_factor = 1; | |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
115 int err = 0; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
116 switch (format) { |
30110 | 117 case IMGFMT_420P16_LE: |
118 case IMGFMT_420P16_BE: | |
119 bpp_factor = 2; | |
30115
ad61464d02a7
Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
reimar
parents:
30110
diff
changeset
|
120 case IMGFMT_420A: |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
121 case IMGFMT_I420: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
122 case IMGFMT_IYUV: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
123 case IMGFMT_YV12: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
124 xs = 1; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
125 ys = 1; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
126 break; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
127 case IMGFMT_IF09: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
128 case IMGFMT_YVU9: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
129 xs = 2; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
130 ys = 2; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
131 break; |
30110 | 132 case IMGFMT_444P16_LE: |
133 case IMGFMT_444P16_BE: | |
134 bpp_factor = 2; | |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
135 case IMGFMT_444P: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
136 xs = 0; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
137 ys = 0; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
138 break; |
30110 | 139 case IMGFMT_422P16_LE: |
140 case IMGFMT_422P16_BE: | |
141 bpp_factor = 2; | |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
142 case IMGFMT_422P: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
143 xs = 1; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
144 ys = 0; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
145 break; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
146 case IMGFMT_411P: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
147 xs = 2; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
148 ys = 0; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
149 break; |
30098 | 150 case IMGFMT_440P: |
151 xs = 0; | |
152 ys = 1; | |
153 break; | |
31087
9acad2e25ea1
Handle Y8/Y800 formats more similar to other YUV formats.
reimar
parents:
31082
diff
changeset
|
154 case IMGFMT_Y8: |
9acad2e25ea1
Handle Y8/Y800 formats more similar to other YUV formats.
reimar
parents:
31082
diff
changeset
|
155 case IMGFMT_Y800: |
9acad2e25ea1
Handle Y8/Y800 formats more similar to other YUV formats.
reimar
parents:
31082
diff
changeset
|
156 xs = 31; |
9acad2e25ea1
Handle Y8/Y800 formats more similar to other YUV formats.
reimar
parents:
31082
diff
changeset
|
157 ys = 31; |
9acad2e25ea1
Handle Y8/Y800 formats more similar to other YUV formats.
reimar
parents:
31082
diff
changeset
|
158 break; |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
159 default: |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
160 err = 1; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
161 break; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
162 } |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
163 if (x_shift) *x_shift = xs; |
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
164 if (y_shift) *y_shift = ys; |
31087
9acad2e25ea1
Handle Y8/Y800 formats more similar to other YUV formats.
reimar
parents:
31082
diff
changeset
|
165 bpp = 8 + ((16 >> xs) >> ys); |
30115
ad61464d02a7
Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
reimar
parents:
30110
diff
changeset
|
166 if (format == IMGFMT_420A) |
ad61464d02a7
Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
reimar
parents:
30110
diff
changeset
|
167 bpp += 8; |
30110 | 168 bpp *= bpp_factor; |
169 return err ? 0 : bpp; | |
30096
76c25bfa181b
Add a helper function to get the chroma scale shift and use to simplify mpi setup.
reimar
parents:
29843
diff
changeset
|
170 } |