Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
f696d8ce
Kaydet (Commit)
f696d8ce
authored
Mar 03, 2010
tarafından
Ivo Hinkelmann
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
CWS-TOOLING: integrate CWS cmcfixes70
üst
44fdb66e
8ada07c6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
50 deletions
+43
-50
jpeg.cxx
svtools/source/filter.vcl/jpeg/jpeg.cxx
+3
-42
jpegc.c
svtools/source/filter.vcl/jpeg/jpegc.c
+40
-4
makefile.mk
svtools/source/filter.vcl/jpeg/makefile.mk
+0
-4
No files found.
svtools/source/filter.vcl/jpeg/jpeg.cxx
Dosyayı görüntüle @
f696d8ce
...
@@ -30,22 +30,16 @@
...
@@ -30,22 +30,16 @@
#include <tools/solar.h>
#include <tools/solar.h>
#ifdef SYSTEM_JPEG
#define INT32 JPEG_INT32
#endif
extern
"C"
extern
"C"
{
{
#define INT32 JPEG_INT32
#include "stdio.h"
#include "stdio.h"
#include "jpeg.h"
#include "jpeg.h"
#include "jpeglib.h"
#include "jpeglib.h"
#include "jerror.h"
#include "jerror.h"
#undef INT32
}
}
#ifdef SYSTEM_JPEG
#undef INT32
#endif
#define _JPEGPRIVATE
#define _JPEGPRIVATE
#include <vcl/bmpacc.hxx>
#include <vcl/bmpacc.hxx>
#include "jpeg.hxx"
#include "jpeg.hxx"
...
@@ -396,11 +390,7 @@ void* JPEGReader::CreateBitmap( void* pParam )
...
@@ -396,11 +390,7 @@ void* JPEGReader::CreateBitmap( void* pParam )
if
(
if
(
(
bGray
&&
(
BMP_FORMAT_8BIT_PAL
==
nFormat
)
)
||
(
bGray
&&
(
BMP_FORMAT_8BIT_PAL
==
nFormat
)
)
||
#ifndef SYSTEM_JPEG
(
!
bGray
&&
(
BMP_FORMAT_24BIT_TC_BGR
==
nFormat
)
)
#else
(
!
bGray
&&
(
BMP_FORMAT_24BIT_TC_RGB
==
nFormat
)
)
(
!
bGray
&&
(
BMP_FORMAT_24BIT_TC_RGB
==
nFormat
)
)
#endif
)
)
{
{
pBmpBuf
=
pAcc
->
GetBuffer
();
pBmpBuf
=
pAcc
->
GetBuffer
();
...
@@ -463,15 +453,9 @@ void JPEGReader::FillBitmap()
...
@@ -463,15 +453,9 @@ void JPEGReader::FillBitmap()
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
{
#ifndef SYSTEM_JPEG
aColor
.
SetBlue
(
*
pTmp
++
);
aColor
.
SetGreen
(
*
pTmp
++
);
aColor
.
SetRed
(
*
pTmp
++
);
#else
aColor
.
SetRed
(
*
pTmp
++
);
aColor
.
SetRed
(
*
pTmp
++
);
aColor
.
SetGreen
(
*
pTmp
++
);
aColor
.
SetGreen
(
*
pTmp
++
);
aColor
.
SetBlue
(
*
pTmp
++
);
aColor
.
SetBlue
(
*
pTmp
++
);
#endif
pAcc
->
SetPixel
(
nY
,
nX
,
aColor
);
pAcc
->
SetPixel
(
nY
,
nX
,
aColor
);
}
}
}
}
...
@@ -651,19 +635,11 @@ void* JPEGWriter::GetScanline( long nY )
...
@@ -651,19 +635,11 @@ void* JPEGWriter::GetScanline( long nY )
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
{
aColor
=
pAcc
->
GetPaletteColor
(
(
BYTE
)
pAcc
->
GetPixel
(
nY
,
nX
)
);
aColor
=
pAcc
->
GetPaletteColor
(
(
BYTE
)
pAcc
->
GetPixel
(
nY
,
nX
)
);
#ifndef SYSTEM_JPEG
*
pTmp
++
=
aColor
.
GetBlue
();
if
(
bGreys
)
continue
;
*
pTmp
++
=
aColor
.
GetGreen
();
*
pTmp
++
=
aColor
.
GetRed
();
#else
*
pTmp
++
=
aColor
.
GetRed
();
*
pTmp
++
=
aColor
.
GetRed
();
if
(
bGreys
)
if
(
bGreys
)
continue
;
continue
;
*
pTmp
++
=
aColor
.
GetGreen
();
*
pTmp
++
=
aColor
.
GetGreen
();
*
pTmp
++
=
aColor
.
GetBlue
();
*
pTmp
++
=
aColor
.
GetBlue
();
#endif
}
}
}
}
else
else
...
@@ -671,19 +647,11 @@ void* JPEGWriter::GetScanline( long nY )
...
@@ -671,19 +647,11 @@ void* JPEGWriter::GetScanline( long nY )
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
{
aColor
=
pAcc
->
GetPixel
(
nY
,
nX
);
aColor
=
pAcc
->
GetPixel
(
nY
,
nX
);
#ifndef SYSTEM_JPEG
*
pTmp
++
=
aColor
.
GetBlue
();
if
(
bGreys
)
continue
;
*
pTmp
++
=
aColor
.
GetGreen
();
*
pTmp
++
=
aColor
.
GetRed
();
#else
*
pTmp
++
=
aColor
.
GetRed
();
*
pTmp
++
=
aColor
.
GetRed
();
if
(
bGreys
)
if
(
bGreys
)
continue
;
continue
;
*
pTmp
++
=
aColor
.
GetGreen
();
*
pTmp
++
=
aColor
.
GetGreen
();
*
pTmp
++
=
aColor
.
GetBlue
();
*
pTmp
++
=
aColor
.
GetBlue
();
#endif
}
}
}
}
...
@@ -738,14 +706,7 @@ BOOL JPEGWriter::Write( const Graphic& rGraphic )
...
@@ -738,14 +706,7 @@ BOOL JPEGWriter::Write( const Graphic& rGraphic )
if
(
pAcc
)
if
(
pAcc
)
{
{
if
(
bGreys
)
bNative
=
(
pAcc
->
GetScanlineFormat
()
==
BMP_FORMAT_24BIT_TC_RGB
);
bNative
=
(
pAcc
->
GetScanlineFormat
()
==
BMP_FORMAT_8BIT_PAL
);
else
#ifndef SYSTEM_JPEG
bNative
=
(
pAcc
->
GetScanlineFormat
()
==
BMP_FORMAT_24BIT_TC_BGR
);
#else
bNative
=
(
pAcc
->
GetScanlineFormat
()
==
BMP_FORMAT_24BIT_TC_RGB
);
#endif
if
(
!
bNative
)
if
(
!
bNative
)
pBuffer
=
new
BYTE
[
AlignedWidth4Bytes
(
bGreys
?
pAcc
->
Width
()
*
8L
:
pAcc
->
Width
()
*
24L
)
];
pBuffer
=
new
BYTE
[
AlignedWidth4Bytes
(
bGreys
?
pAcc
->
Width
()
*
8L
:
pAcc
->
Width
()
*
24L
)
];
...
...
svtools/source/filter.vcl/jpeg/jpegc.c
Dosyayı görüntüle @
f696d8ce
...
@@ -31,7 +31,8 @@
...
@@ -31,7 +31,8 @@
#include "jpeglib.h"
#include "jpeglib.h"
#include "jerror.h"
#include "jerror.h"
#include "jpeg.h"
#include "jpeg.h"
#include "rtl/alloc.h"
#include "osl/diagnose.h"
struct
my_error_mgr
struct
my_error_mgr
{
{
...
@@ -78,6 +79,9 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
...
@@ -78,6 +79,9 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
long
nWidth
;
long
nWidth
;
long
nHeight
;
long
nHeight
;
long
nAlignedWidth
;
long
nAlignedWidth
;
JSAMPLE
*
range_limit
;
HPBYTE
pScanLineBuffer
=
NULL
;
long
nScanLineBufferComponents
=
0
;
// declare bDecompCreated volatile because of gcc
// declare bDecompCreated volatile because of gcc
// warning: variable 'bDecompCreated' might be clobbered by `longjmp' or `vfork'
// warning: variable 'bDecompCreated' might be clobbered by `longjmp' or `vfork'
volatile
long
bDecompCreated
=
0
;
volatile
long
bDecompCreated
=
0
;
...
@@ -103,8 +107,12 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
...
@@ -103,8 +107,12 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
cinfo
.
output_gamma
=
1
.
0
;
cinfo
.
output_gamma
=
1
.
0
;
cinfo
.
raw_data_out
=
FALSE
;
cinfo
.
raw_data_out
=
FALSE
;
cinfo
.
quantize_colors
=
FALSE
;
cinfo
.
quantize_colors
=
FALSE
;
if
(
cinfo
.
jpeg_color_space
!=
JCS_GRAYSCALE
)
if
(
cinfo
.
jpeg_color_space
==
JCS_YCbCr
)
cinfo
.
out_color_space
=
JCS_RGB
;
cinfo
.
out_color_space
=
JCS_RGB
;
else
if
(
cinfo
.
jpeg_color_space
==
JCS_YCCK
)
cinfo
.
out_color_space
=
JCS_CMYK
;
OSL_ASSERT
(
cinfo
.
out_color_space
==
JCS_CMYK
||
cinfo
.
out_color_space
==
JCS_GRAYSCALE
||
cinfo
.
out_color_space
==
JCS_RGB
);
/* change scale for preview import */
/* change scale for preview import */
if
(
nPreviewWidth
||
nPreviewHeight
)
if
(
nPreviewWidth
||
nPreviewHeight
)
...
@@ -148,6 +156,14 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
...
@@ -148,6 +156,14 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
aCreateBitmapParam
.
bGray
=
cinfo
.
output_components
==
1
;
aCreateBitmapParam
.
bGray
=
cinfo
.
output_components
==
1
;
pDIB
=
CreateBitmap
(
pJPEGReader
,
&
aCreateBitmapParam
);
pDIB
=
CreateBitmap
(
pJPEGReader
,
&
aCreateBitmapParam
);
nAlignedWidth
=
aCreateBitmapParam
.
nAlignedWidth
;
nAlignedWidth
=
aCreateBitmapParam
.
nAlignedWidth
;
range_limit
=
cinfo
.
sample_range_limit
;
if
(
cinfo
.
out_color_space
==
JCS_CMYK
)
{
nScanLineBufferComponents
=
cinfo
.
output_width
*
4
;
pScanLineBuffer
=
rtl_allocateMemory
(
nScanLineBufferComponents
);
}
if
(
pDIB
)
if
(
pDIB
)
{
{
if
(
aCreateBitmapParam
.
bTopDown
)
if
(
aCreateBitmapParam
.
bTopDown
)
...
@@ -160,17 +176,37 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
...
@@ -160,17 +176,37 @@ void ReadJPEG( void* pJPEGReader, void* pIStm, long* pLines )
for
(
*
pLines
=
0
;
*
pLines
<
nHeight
;
(
*
pLines
)
++
)
for
(
*
pLines
=
0
;
*
pLines
<
nHeight
;
(
*
pLines
)
++
)
{
{
if
(
pScanLineBuffer
!=
NULL
)
{
// in other words cinfo.out_color_space == JCS_CMYK
int
i
;
int
j
;
jpeg_read_scanlines
(
&
cinfo
,
(
JSAMPARRAY
)
&
pScanLineBuffer
,
1
);
// convert CMYK to RGB
for
(
i
=
0
,
j
=
0
;
i
<
nScanLineBufferComponents
;
i
+=
4
,
j
+=
3
)
{
int
c_
=
255
-
pScanLineBuffer
[
i
+
0
];
int
m_
=
255
-
pScanLineBuffer
[
i
+
1
];
int
y_
=
255
-
pScanLineBuffer
[
i
+
2
];
int
k_
=
255
-
pScanLineBuffer
[
i
+
3
];
pTmp
[
j
+
0
]
=
range_limit
[
255L
-
(
c_
+
k_
)
];
pTmp
[
j
+
1
]
=
range_limit
[
255L
-
(
m_
+
k_
)
];
pTmp
[
j
+
2
]
=
range_limit
[
255L
-
(
y_
+
k_
)
];
}
}
else
{
jpeg_read_scanlines
(
&
cinfo
,
(
JSAMPARRAY
)
&
pTmp
,
1
);
jpeg_read_scanlines
(
&
cinfo
,
(
JSAMPARRAY
)
&
pTmp
,
1
);
}
/* PENDING ??? */
/* PENDING ??? */
if
(
cinfo
.
err
->
msg_code
==
113
)
if
(
cinfo
.
err
->
msg_code
==
113
)
break
;
break
;
pTmp
+=
nAlignedWidth
;
pTmp
+=
nAlignedWidth
;
}
}
}
}
jpeg_finish_decompress
(
&
cinfo
);
jpeg_finish_decompress
(
&
cinfo
);
if
(
pScanLineBuffer
!=
NULL
)
{
rtl_freeMemory
(
pScanLineBuffer
);
pScanLineBuffer
=
NULL
;
}
Exit:
Exit:
...
...
svtools/source/filter.vcl/jpeg/makefile.mk
Dosyayı görüntüle @
f696d8ce
...
@@ -35,10 +35,6 @@ TARGET=jpeg
...
@@ -35,10 +35,6 @@ TARGET=jpeg
.INCLUDE
:
settings.mk
.INCLUDE
:
settings.mk
.INCLUDE
:
$(PRJ)$/util$/svt.pmk
.INCLUDE
:
$(PRJ)$/util$/svt.pmk
.IF
"$(SYSTEM_JPEG)"
==
"YES"
CFLAGS
+=
-DSYSTEM_JPEG
.ENDIF
SOLARINC
+=
-I
../../inc
SOLARINC
+=
-I
../../inc
# --- Files --------------------------------------------------------
# --- Files --------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment