diff options
Diffstat (limited to 'source/blender/avi/intern/codecs.c')
-rw-r--r-- | source/blender/avi/intern/codecs.c | 167 |
1 files changed, 85 insertions, 82 deletions
diff --git a/source/blender/avi/intern/codecs.c b/source/blender/avi/intern/codecs.c index c66de231b3f..9d3da333957 100644 --- a/source/blender/avi/intern/codecs.c +++ b/source/blender/avi/intern/codecs.c @@ -1,10 +1,8 @@ -/** - * codecs.c +/* + * $Id$ * * This is external code. Identify and convert different avi-files. * - * $Id$ - * * ***** BEGIN GPL LICENSE BLOCK ***** * * This program is free software; you can redistribute it and/or @@ -31,6 +29,11 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file blender/avi/intern/codecs.c + * \ingroup avi + */ + + #include "AVI_avi.h" #include "avi_intern.h" @@ -39,102 +42,102 @@ #include "rgb32.h" void *avi_format_convert (AviMovie *movie, int stream, void *buffer, AviFormat from, AviFormat to, int *size) { - if (from == to) - return buffer; - - if (from != AVI_FORMAT_RGB24 && - to != AVI_FORMAT_RGB24) - return avi_format_convert(movie, stream, - avi_format_convert (movie, stream, buffer, from, AVI_FORMAT_RGB24, size), - AVI_FORMAT_RGB24, to, size); - - switch (to) { - case AVI_FORMAT_RGB24: - switch (from) { + if (from == to) + return buffer; + + if (from != AVI_FORMAT_RGB24 && + to != AVI_FORMAT_RGB24) + return avi_format_convert(movie, stream, + avi_format_convert (movie, stream, buffer, from, AVI_FORMAT_RGB24, size), + AVI_FORMAT_RGB24, to, size); + + switch (to) { + case AVI_FORMAT_RGB24: + switch (from) { + case AVI_FORMAT_AVI_RGB: + buffer = avi_converter_from_avi_rgb (movie, stream, buffer, size); + break; + case AVI_FORMAT_MJPEG: + buffer = avi_converter_from_mjpeg (movie, stream, buffer, size); + break; + case AVI_FORMAT_RGB32: + buffer = avi_converter_from_rgb32 (movie, stream, buffer, size); + break; + default: + break; + } + break; case AVI_FORMAT_AVI_RGB: - buffer = avi_converter_from_avi_rgb (movie, stream, buffer, size); - break; + buffer = avi_converter_to_avi_rgb (movie, stream, buffer, size); + break; case AVI_FORMAT_MJPEG: - buffer = avi_converter_from_mjpeg (movie, stream, buffer, size); - break; + buffer = avi_converter_to_mjpeg (movie, stream, buffer, size); + break; case AVI_FORMAT_RGB32: - buffer = avi_converter_from_rgb32 (movie, stream, buffer, size); - break; + buffer = avi_converter_to_rgb32 (movie, stream, buffer, size); + break; default: - break; + break; } - break; - case AVI_FORMAT_AVI_RGB: - buffer = avi_converter_to_avi_rgb (movie, stream, buffer, size); - break; - case AVI_FORMAT_MJPEG: - buffer = avi_converter_to_mjpeg (movie, stream, buffer, size); - break; - case AVI_FORMAT_RGB32: - buffer = avi_converter_to_rgb32 (movie, stream, buffer, size); - break; - default: - break; - } - return buffer; + return buffer; } int avi_get_data_id (AviFormat format, int stream) { - char fcc[5]; + char fcc[5]; - if (avi_get_format_type (format) == FCC("vids")) - sprintf (fcc,"%2.2ddc",stream); - else if (avi_get_format_type (format) == FCC("auds")) - sprintf (fcc,"%2.2ddc",stream); - else - return 0; + if (avi_get_format_type (format) == FCC("vids")) + sprintf (fcc,"%2.2ddc",stream); + else if (avi_get_format_type (format) == FCC("auds")) + sprintf (fcc,"%2.2ddc",stream); + else + return 0; - return FCC(fcc); + return FCC(fcc); } int avi_get_format_type (AviFormat format) { - switch (format) { - case AVI_FORMAT_RGB24: - case AVI_FORMAT_RGB32: - case AVI_FORMAT_AVI_RGB: - case AVI_FORMAT_MJPEG: - return FCC("vids"); - break; - default: - return 0; - break; - } + switch (format) { + case AVI_FORMAT_RGB24: + case AVI_FORMAT_RGB32: + case AVI_FORMAT_AVI_RGB: + case AVI_FORMAT_MJPEG: + return FCC("vids"); + break; + default: + return 0; + break; + } } int avi_get_format_fcc (AviFormat format) { - switch (format) { - case AVI_FORMAT_RGB24: - case AVI_FORMAT_RGB32: - case AVI_FORMAT_AVI_RGB: - return FCC("DIB "); - break; - case AVI_FORMAT_MJPEG: - return FCC("MJPG"); - break; - default: - return 0; - break; - } + switch (format) { + case AVI_FORMAT_RGB24: + case AVI_FORMAT_RGB32: + case AVI_FORMAT_AVI_RGB: + return FCC("DIB "); + break; + case AVI_FORMAT_MJPEG: + return FCC("MJPG"); + break; + default: + return 0; + break; + } } int avi_get_format_compression (AviFormat format) { - switch (format) { - case AVI_FORMAT_RGB24: - case AVI_FORMAT_RGB32: - case AVI_FORMAT_AVI_RGB: - return 0; - break; - case AVI_FORMAT_MJPEG: - return FCC("MJPG"); - break; - default: - return 0; - break; - } + switch (format) { + case AVI_FORMAT_RGB24: + case AVI_FORMAT_RGB32: + case AVI_FORMAT_AVI_RGB: + return 0; + break; + case AVI_FORMAT_MJPEG: + return FCC("MJPG"); + break; + default: + return 0; + break; + } } |