X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbccmodels.C;h=dc5c2af1e1d0c5feae4e796c6999cc2561b59eff;hb=f02c3f7d36eb475d1371f8e4b2814bea99e8b478;hp=88ed1acdb201402d7bd5477e0f868256aa69e455;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bccmodels.C b/cinelerra-5.1/guicast/bccmodels.C index 88ed1acd..dc5c2af1 100644 --- a/cinelerra-5.1/guicast/bccmodels.C +++ b/cinelerra-5.1/guicast/bccmodels.C @@ -3,15 +3,15 @@ * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ @@ -26,6 +26,7 @@ int BC_CModels::is_planar(int colormodel) { switch(colormodel) { case BC_YUV420P: + case BC_YUV420PI: case BC_YUV422P: case BC_YUV444P: case BC_YUV411P: @@ -50,11 +51,14 @@ int BC_CModels::components(int colormodel) case BC_YUVA8888: return 4; case BC_YUV161616: return 3; case BC_YUVA16161616: return 4; + case BC_AYUV16161616: return 4; case BC_YUV101010: return 3; case BC_RGB_FLOAT: return 3; case BC_RGBA_FLOAT: return 4; case BC_RGB_FLOATP: return 3; case BC_RGBA_FLOATP: return 4; + case BC_GREY8: return 1; + case BC_GREY16: return 1; } return 0; } @@ -83,13 +87,17 @@ int BC_CModels::calculate_pixelsize(int colormodel) case BC_YUVA8888: return 4; case BC_YUV161616: return 6; case BC_YUVA16161616: return 8; + case BC_AYUV16161616: return 8; case BC_YUV101010: return 4; case BC_VYU888: return 3; case BC_UYVA8888: return 4; case BC_RGB_FLOAT: return 12; case BC_RGBA_FLOAT: return 16; + case BC_GREY8: return 1; + case BC_GREY16: return 2; // Planar case BC_YUV420P: return 1; + case BC_YUV420PI: return 1; case BC_YUV422P: return 1; case BC_YUV444P: return 1; case BC_YUV422: return 2; @@ -117,10 +125,13 @@ int BC_CModels::calculate_max(int colormodel) case BC_YUVA8888: return 0xff; case BC_YUV161616: return 0xffff; case BC_YUVA16161616: return 0xffff; + case BC_AYUV16161616: return 0xffff; case BC_RGB_FLOAT: return 1; case BC_RGBA_FLOAT: return 1; case BC_RGB_FLOATP: return 1; case BC_RGBA_FLOATP: return 1; + case BC_GREY8: return 0xff; + case BC_GREY16: return 0xffff; } return 0; } @@ -130,6 +141,7 @@ int BC_CModels::calculate_datasize(int w, int h, int bytes_per_line, int color_m switch(color_model) { case BC_YUV410P: return w * h + w * h / 8 + 4; case BC_YUV420P: + case BC_YUV420PI: case BC_YUV411P: return w * h + w * h / 2 + 4; case BC_YUV422P: return w * h * 2 + 4; case BC_YUV444P: return w * h * 3 + 4; @@ -162,6 +174,7 @@ void BC_CModels::to_text(char *string, int cmodel) case BC_YUVA8888: strcpy(string, "YUVA-8 Bit"); break; case BC_YUV161616: strcpy(string, "YUV-16 Bit"); break; case BC_YUVA16161616: strcpy(string, "YUVA-16 Bit"); break; + case BC_AYUV16161616: strcpy(string, "AYUV-16 Bit"); break; case BC_RGB_FLOAT: strcpy(string, "RGB-FLOAT"); break; case BC_RGBA_FLOAT: strcpy(string, "RGBA-FLOAT"); break; case BC_RGB_FLOATP: strcpy(string, "RGB-FLOATP"); break; @@ -184,6 +197,7 @@ int BC_CModels::from_text(const char *text) if(!strcasecmp(text, "YUVA-8 Bit")) return BC_YUVA8888; if(!strcasecmp(text, "YUV-16 Bit")) return BC_YUV161616; if(!strcasecmp(text, "YUVA-16 Bit")) return BC_YUVA16161616; + if(!strcasecmp(text, "AYUV-16 Bit")) return BC_AYUV16161616; return BC_RGB888; } @@ -225,16 +239,20 @@ int BC_CModels::is_yuv(int colormodel) case BC_YUVA8888: case BC_YUV161616: case BC_YUVA16161616: + case BC_AYUV16161616: case BC_YUV422: case BC_UVY422: case BC_YUV101010: case BC_VYU888: case BC_UYVA8888: case BC_YUV420P: + case BC_YUV420PI: case BC_YUV422P: case BC_YUV444P: case BC_YUV411P: case BC_YUV410P: + case BC_GREY8: + case BC_GREY16: return 1; } return 0;