staticinlinebool is_stream_error(enum jpeg_decoding_error_t err)
{ switch (err) { case JPEG_DECODER_UNDEFINED_HUFF_TABLE: case JPEG_DECODER_BAD_RESTART_MARKER: case JPEG_DECODER_BAD_SOS_SPECTRAL: case JPEG_DECODER_BAD_SOS_SUCCESSIVE: case JPEG_DECODER_BAD_HEADER_LENGTH: case JPEG_DECODER_BAD_COUNT_VALUE: case JPEG_DECODER_BAD_DHT_MARKER: case JPEG_DECODER_BAD_INDEX_VALUE: case JPEG_DECODER_BAD_NUMBER_HUFFMAN_TABLES: case JPEG_DECODER_BAD_QUANT_TABLE_LENGTH: case JPEG_DECODER_BAD_NUMBER_QUANT_TABLES: case JPEG_DECODER_BAD_COMPONENT_COUNT: returntrue; default: returnfalse;
}
}
staticinlineconstchar *err_str(enum jpeg_decoding_error_t err)
{ switch (err) { case JPEG_DECODER_NO_ERROR: return"JPEG_DECODER_NO_ERROR"; case JPEG_DECODER_UNDEFINED_HUFF_TABLE: return"JPEG_DECODER_UNDEFINED_HUFF_TABLE"; case JPEG_DECODER_UNSUPPORTED_MARKER: return"JPEG_DECODER_UNSUPPORTED_MARKER"; case JPEG_DECODER_UNABLE_ALLOCATE_MEMORY: return"JPEG_DECODER_UNABLE_ALLOCATE_MEMORY"; case JPEG_DECODER_NON_SUPPORTED_SAMP_FACTORS: return"JPEG_DECODER_NON_SUPPORTED_SAMP_FACTORS"; case JPEG_DECODER_BAD_PARAMETER: return"JPEG_DECODER_BAD_PARAMETER"; case JPEG_DECODER_DECODE_ERROR: return"JPEG_DECODER_DECODE_ERROR"; case JPEG_DECODER_BAD_RESTART_MARKER: return"JPEG_DECODER_BAD_RESTART_MARKER"; case JPEG_DECODER_UNSUPPORTED_COLORSPACE: return"JPEG_DECODER_UNSUPPORTED_COLORSPACE"; case JPEG_DECODER_BAD_SOS_SPECTRAL: return"JPEG_DECODER_BAD_SOS_SPECTRAL"; case JPEG_DECODER_BAD_SOS_SUCCESSIVE: return"JPEG_DECODER_BAD_SOS_SUCCESSIVE"; case JPEG_DECODER_BAD_HEADER_LENGTH: return"JPEG_DECODER_BAD_HEADER_LENGTH"; case JPEG_DECODER_BAD_COUNT_VALUE: return"JPEG_DECODER_BAD_COUNT_VALUE"; case JPEG_DECODER_BAD_DHT_MARKER: return"JPEG_DECODER_BAD_DHT_MARKER"; case JPEG_DECODER_BAD_INDEX_VALUE: return"JPEG_DECODER_BAD_INDEX_VALUE"; case JPEG_DECODER_BAD_NUMBER_HUFFMAN_TABLES: return"JPEG_DECODER_BAD_NUMBER_HUFFMAN_TABLES"; case JPEG_DECODER_BAD_QUANT_TABLE_LENGTH: return"JPEG_DECODER_BAD_QUANT_TABLE_LENGTH"; case JPEG_DECODER_BAD_NUMBER_QUANT_TABLES: return"JPEG_DECODER_BAD_NUMBER_QUANT_TABLES"; case JPEG_DECODER_BAD_COMPONENT_COUNT: return"JPEG_DECODER_BAD_COMPONENT_COUNT"; case JPEG_DECODER_DIVIDE_BY_ZERO_ERROR: return"JPEG_DECODER_DIVIDE_BY_ZERO_ERROR"; case JPEG_DECODER_NOT_JPG_IMAGE: return"JPEG_DECODER_NOT_JPG_IMAGE"; case JPEG_DECODER_UNSUPPORTED_ROTATION_ANGLE: return"JPEG_DECODER_UNSUPPORTED_ROTATION_ANGLE"; case JPEG_DECODER_UNSUPPORTED_SCALING: return"JPEG_DECODER_UNSUPPORTED_SCALING"; case JPEG_DECODER_INSUFFICIENT_OUTPUTBUFFER_SIZE: return"JPEG_DECODER_INSUFFICIENT_OUTPUTBUFFER_SIZE"; case JPEG_DECODER_BAD_HWCFG_GP_VERSION_VALUE: return"JPEG_DECODER_BAD_HWCFG_GP_VERSION_VALUE"; case JPEG_DECODER_BAD_VALUE_FROM_RED: return"JPEG_DECODER_BAD_VALUE_FROM_RED"; case JPEG_DECODER_BAD_SUBREGION_PARAMETERS: return"JPEG_DECODER_BAD_SUBREGION_PARAMETERS"; case JPEG_DECODER_PROGRESSIVE_DECODE_NOT_SUPPORTED: return"JPEG_DECODER_PROGRESSIVE_DECODE_NOT_SUPPORTED"; case JPEG_DECODER_ERROR_TASK_TIMEOUT: return"JPEG_DECODER_ERROR_TASK_TIMEOUT"; case JPEG_DECODER_ERROR_FEATURE_NOT_SUPPORTED: return"JPEG_DECODER_ERROR_FEATURE_NOT_SUPPORTED"; default: return"!unknown MJPEG error!";
}
}
/* * !WARNING! * the NV12 decoded frame is only available * on decimated output when enabling flag * "JPEG_ADDITIONAL_FLAG_420MB"... * the non decimated output gives YUV422SP
*/
params->main_aux_enable = JPEG_DISP_AUX_EN;
params->additional_flags = JPEG_ADDITIONAL_FLAG_420MB;
params->horizontal_decimation_factor = JPEG_HDEC_1;
params->vertical_decimation_factor = JPEG_VDEC_1;
params->decoding_mode = JPEG_NORMAL_DECODE;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.