diff options
| author | deva <deva> | 2005-03-25 14:08:19 +0000 | 
|---|---|---|
| committer | deva <deva> | 2005-03-25 14:08:19 +0000 | 
| commit | 8d103b961932ee608dc9d0c866e92853a4d48194 (patch) | |
| tree | bd6a367c7007ca3710557192e9bd868fccd0474b /src | |
| parent | 4560e4d0b6dd611f370cb0b0b20055042c620b2a (diff) | |
Fixed linking problems with libjpeg (wrapped it in ' extern "C" ')
Diffstat (limited to 'src')
| -rw-r--r-- | src/img_encoder.cc | 110 | ||||
| -rw-r--r-- | src/img_encoder.h | 3 | 
2 files changed, 57 insertions, 56 deletions
| diff --git a/src/img_encoder.cc b/src/img_encoder.cc index e6cfd2a..75801c8 100644 --- a/src/img_encoder.cc +++ b/src/img_encoder.cc @@ -101,59 +101,59 @@ void ImgEncoder::writeJPEGFile(char *filename,                                 int image_height        // Number of rows in image   )  { -  struct jpeg_compress_struct cinfo; -  struct jpeg_error_mgr jerr; - -  FILE * outfile;               // target file -  JSAMPROW row_pointer[1];      // pointer to JSAMPLE row[s]  -  int row_stride;               // physical row width in image buffer  - -  // Step 1: allocate and initialize JPEG compression object  -  cinfo.err = jpeg_std_error(&jerr); -  jpeg_create_compress(&cinfo); - -  // Step 2: specify data destination (eg, a file)  -  if ((outfile = fopen(filename, "wb")) == NULL) { -    fprintf(stderr, "can't open %s\n", filename); -    exit(1); -  } -  jpeg_stdio_dest(&cinfo, outfile); - -  // Step 3: set parameters for compression  -  cinfo.image_width = image_width;      // image width and height, in pixels  -  cinfo.image_height = image_height; -  cinfo.input_components = 3;           // # of color components per pixel  -/* -typedef enum { -        JCS_UNKNOWN,            // error/unspecified -        JCS_GRAYSCALE,          // monochrome -        JCS_RGB,                // red/green/blue -        JCS_YCbCr,              // Y/Cb/Cr (also known as YUV) -        JCS_CMYK,               // C/M/Y/K -        JCS_YCCK                // Y/Cb/Cr/K -} J_COLOR_SPACE; -*/ -  cinfo.in_color_space = JCS_RGB;       // colorspace of input image  - -  jpeg_set_defaults(&cinfo); - -  jpeg_set_quality(&cinfo, quality, TRUE); // limit to baseline-JPEG values - -  // Step 4: Start compressor  -  jpeg_start_compress(&cinfo, TRUE); - -  // Step 5: while (scan lines remain to be written)  -  row_stride = image_width * 3; // JSAMPLEs per row in image_buffer  - -  while (cinfo.next_scanline < cinfo.image_height) { -    row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride]; -    (void) jpeg_write_scanlines(&cinfo, row_pointer, 1); -  } - -  // Step 6: Finish compression  -  jpeg_finish_compress(&cinfo); -  fclose(outfile); - -  // Step 7: release JPEG compression object  -  jpeg_destroy_compress(&cinfo); +    struct jpeg_compress_struct cinfo; +    struct jpeg_error_mgr jerr; +     +    FILE * outfile;               // target file +    JSAMPROW row_pointer[1];      // pointer to JSAMPLE row[s]  +    int row_stride;               // physical row width in image buffer  +     +    // Step 1: allocate and initialize JPEG compression object  +    cinfo.err = jpeg_std_error(&jerr); +    jpeg_create_compress(&cinfo); +     +    // Step 2: specify data destination (eg, a file)  +    if ((outfile = fopen(filename, "wb")) == NULL) { +      fprintf(stderr, "can't open %s\n", filename); +      exit(1); +    } +    jpeg_stdio_dest(&cinfo, outfile); +     +    // Step 3: set parameters for compression  +    cinfo.image_width = image_width;      // image width and height, in pixels  +    cinfo.image_height = image_height; +    cinfo.input_components = 3;           // # of color components per pixel  +     +    //typedef enum { +    //        JCS_UNKNOWN,            // error/unspecified +    //        JCS_GRAYSCALE,          // monochrome +    //        JCS_RGB,                // red/green/blue +    //        JCS_YCbCr,              // Y/Cb/Cr (also known as YUV) +    //        JCS_CMYK,               // C/M/Y/K +    //        JCS_YCCK                // Y/Cb/Cr/K +    //} J_COLOR_SPACE; +     +    cinfo.in_color_space = JCS_RGB;       // colorspace of input image  +     +    jpeg_set_defaults(&cinfo); +     +    jpeg_set_quality(&cinfo, quality, TRUE); // limit to baseline-JPEG values +     +    // Step 4: Start compressor  +    jpeg_start_compress(&cinfo, TRUE); +     +    // Step 5: while (scan lines remain to be written)  +    row_stride = image_width * 3; // JSAMPLEs per row in image_buffer  +     +    while (cinfo.next_scanline < cinfo.image_height) { +      row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride]; +      (void) jpeg_write_scanlines(&cinfo, row_pointer, 1); +    } +     +    // Step 6: Finish compression  +    jpeg_finish_compress(&cinfo); +    fclose(outfile); +     +    // Step 7: release JPEG compression object  +    jpeg_destroy_compress(&cinfo);  } diff --git a/src/img_encoder.h b/src/img_encoder.h index 7f1da7e..25779ce 100644 --- a/src/img_encoder.h +++ b/src/img_encoder.h @@ -27,8 +27,9 @@  #include <stdlib.h>  #include <string.h>  #include <avformat.h> +extern "C" {  #include <jpeglib.h> - +}  #include <dvframe.h>  #include "util.h" | 
