auto-decode to lab, not labs
helps in many places
This commit is contained in:
parent
011fd99a1a
commit
087eb233f7
@ -104,20 +104,7 @@ vips_measure_build( VipsObject *object )
|
|||||||
if( VIPS_OBJECT_CLASS( vips_measure_parent_class )->build( object ) )
|
if( VIPS_OBJECT_CLASS( vips_measure_parent_class )->build( object ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
/* We can't use vips_image_decode(), we want Lab, not LabS.
|
vips_image_decode( measure->in, &ready );
|
||||||
*/
|
|
||||||
if( measure->in->Coding == VIPS_CODING_LABQ ) {
|
|
||||||
if( vips_LabQ2Lab( measure->in, &ready, NULL ) )
|
|
||||||
return( -1 );
|
|
||||||
}
|
|
||||||
else if( measure->in->Coding == VIPS_CODING_RAD ) {
|
|
||||||
if( vips_rad2float( measure->in, &ready, NULL ) )
|
|
||||||
return( -1 );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if( vips_copy( measure->in, &ready, NULL ) )
|
|
||||||
return( -1 );
|
|
||||||
}
|
|
||||||
vips_object_local( measure, ready );
|
vips_object_local( measure, ready );
|
||||||
|
|
||||||
bands = vips_image_get_bands( ready );
|
bands = vips_image_get_bands( ready );
|
||||||
|
@ -2005,7 +2005,10 @@ vips_image_write_to_file( VipsImage *image, const char *filename )
|
|||||||
* A convenience function to unpack to a format that we can compute with.
|
* A convenience function to unpack to a format that we can compute with.
|
||||||
* @out->Coding is always VIPS_CODING_NONE.
|
* @out->Coding is always VIPS_CODING_NONE.
|
||||||
*
|
*
|
||||||
* See also: vips_image_encode(), vips_LabQ2LabS(), vips_rad2float().
|
* This unpacks LABQ to plain LAB. Use vips_LabQ2LabS() for a bit more speed
|
||||||
|
* if you need it.
|
||||||
|
*
|
||||||
|
* See also: vips_image_encode(), vips_LabQ2Lab(), vips_rad2float().
|
||||||
*
|
*
|
||||||
* Returns: 0 on success, or -1 on error.
|
* Returns: 0 on success, or -1 on error.
|
||||||
*/
|
*/
|
||||||
@ -2015,7 +2018,7 @@ vips_image_decode( VipsImage *in, VipsImage **out )
|
|||||||
/* Keep in sync with vips__vector_to_ink().
|
/* Keep in sync with vips__vector_to_ink().
|
||||||
*/
|
*/
|
||||||
if( in->Coding == VIPS_CODING_LABQ ) {
|
if( in->Coding == VIPS_CODING_LABQ ) {
|
||||||
if( vips_LabQ2LabS( in, out, NULL ) )
|
if( vips_LabQ2Lab( in, out, NULL ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
else if( in->Coding == VIPS_CODING_RAD ) {
|
else if( in->Coding == VIPS_CODING_RAD ) {
|
||||||
@ -2050,7 +2053,7 @@ vips_image_decode_predict( VipsImage *im,
|
|||||||
|
|
||||||
if( im->Coding == VIPS_CODING_LABQ ) {
|
if( im->Coding == VIPS_CODING_LABQ ) {
|
||||||
bands = 3;
|
bands = 3;
|
||||||
format = VIPS_FORMAT_SHORT;
|
format = VIPS_FORMAT_FLOAT;
|
||||||
}
|
}
|
||||||
else if( im->Coding == VIPS_CODING_RAD ) {
|
else if( im->Coding == VIPS_CODING_RAD ) {
|
||||||
bands = 3;
|
bands = 3;
|
||||||
@ -2086,7 +2089,7 @@ int
|
|||||||
vips_image_encode( VipsImage *in, VipsImage **out, VipsCoding coding )
|
vips_image_encode( VipsImage *in, VipsImage **out, VipsCoding coding )
|
||||||
{
|
{
|
||||||
if( coding == VIPS_CODING_LABQ ) {
|
if( coding == VIPS_CODING_LABQ ) {
|
||||||
if( vips_LabS2LabQ( in, out, NULL ) )
|
if( vips_Lab2LabQ( in, out, NULL ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
else if( coding == VIPS_CODING_RAD ) {
|
else if( coding == VIPS_CODING_RAD ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user