X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fguicast%2Fbccmodels.C;h=88ed1acdb201402d7bd5477e0f868256aa69e455;hb=a88eb8f0281b88ae5a6dcef23d1b22f0c48a46cf;hp=0d92551f0754108dc8a776217ce37b185d024a56;hpb=2d99bb8ce591f05a31464b517d85dc2bc35b2abe;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/guicast/bccmodels.C b/cinelerra-5.0/guicast/bccmodels.C index 0d92551f..88ed1acd 100644 --- a/cinelerra-5.0/guicast/bccmodels.C +++ b/cinelerra-5.0/guicast/bccmodels.C @@ -22,7 +22,6 @@ #include #include - int BC_CModels::is_planar(int colormodel) { switch(colormodel) { @@ -94,6 +93,7 @@ int BC_CModels::calculate_pixelsize(int colormodel) case BC_YUV422P: return 1; case BC_YUV444P: return 1; case BC_YUV422: return 2; + case BC_UVY422: return 2; case BC_YUV411P: return 1; case BC_YUV410P: return 1; case BC_RGB_FLOATP: return 4; @@ -127,8 +127,6 @@ int BC_CModels::calculate_max(int colormodel) int BC_CModels::calculate_datasize(int w, int h, int bytes_per_line, int color_model) { - if( bytes_per_line < 0 ) - bytes_per_line = w * calculate_pixelsize(color_model); switch(color_model) { case BC_YUV410P: return w * h + w * h / 8 + 4; case BC_YUV420P: @@ -138,6 +136,8 @@ int BC_CModels::calculate_datasize(int w, int h, int bytes_per_line, int color_m case BC_RGB_FLOATP: return w * h * 3 * sizeof(float) + 4; case BC_RGBA_FLOATP: return w * h * 4 * sizeof(float) + 4; } + if( bytes_per_line < 0 ) + bytes_per_line = w * calculate_pixelsize(color_model); return h * bytes_per_line + 4; } @@ -146,6 +146,7 @@ int BC_CModels::bc_to_x(int color_model) switch(color_model) { case BC_YUV420P: return FOURCC_YV12; case BC_YUV422: return FOURCC_YUV2; + case BC_UVY422: return FOURCC_UYVY; } return -1; } @@ -225,6 +226,7 @@ int BC_CModels::is_yuv(int colormodel) case BC_YUV161616: case BC_YUVA16161616: case BC_YUV422: + case BC_UVY422: case BC_YUV101010: case BC_VYU888: case BC_UYVA8888: