Home | History | Annotate | Download | only in codec

Lines Matching defs:dinfo

105 static SkEncodedOrigin get_exif_orientation(jpeg_decompress_struct* dinfo) {
107 for (jpeg_marker_struct* marker = dinfo->marker_list; marker; marker = marker->next) {
130 static sk_sp<SkColorSpace> read_color_space(jpeg_decompress_struct* dinfo) {
138 for (jpeg_marker_struct* marker = dinfo->marker_list; marker; marker = marker->next) {
212 jpeg_save_markers(decoderMgr->dinfo(), kExifMarker, 0xFFFF);
213 jpeg_save_markers(decoderMgr->dinfo(), kICCMarker, 0xFFFF);
217 switch (jpeg_read_header(decoderMgr->dinfo(), true)) {
236 SkEncodedOrigin orientation = get_exif_orientation(decoderMgr->dinfo());
237 sk_sp<SkColorSpace> colorSpace = read_color_space(decoderMgr->dinfo());
239 switch (decoderMgr->dinfo()->jpeg_color_space) {
264 const int width = decoderMgr->dinfo()->image_width;
265 const int height = decoderMgr->dinfo()->image_height;
302 , fReadyState(decoderMgr->dinfo()->global_state)
311 static size_t get_row_bytes(const j_decompress_ptr dinfo) {
312 const size_t colorBytes = (dinfo->out_color_space == JCS_RGB565) ? 2 :
313 dinfo->out_color_components;
314 return dinfo->output_width * colorBytes;
324 void calc_output_dimensions(jpeg_decompress_struct* dinfo, unsigned int num, unsigned int denom) {
325 dinfo->num_components = 0;
326 dinfo->scale_num = num;
327 dinfo->scale_denom = denom;
328 jpeg_calc_output_dimensions(dinfo);
358 jpeg_decompress_struct dinfo;
359 sk_bzero(&dinfo, sizeof(dinfo));
360 dinfo.image_width = this->getInfo().width();
361 dinfo.image_height = this->getInfo().height();
362 dinfo.global_state = fReadyState;
363 calc_output_dimensions(&dinfo, num, denom);
366 return SkISize::Make(dinfo.output_width, dinfo.output_height);
400 J_COLOR_SPACE encodedColorType = fDecoderMgr->dinfo()->jpeg_color_space;
405 fDecoderMgr->dinfo()->out_color_space = JCS_EXT_RGBA;
411 fDecoderMgr->dinfo()->out_color_space = JCS_EXT_RGBA;
413 fDecoderMgr->dinfo()->out_color_space = JCS_EXT_BGRA;
418 fDecoderMgr->dinfo()->out_color_space = JCS_EXT_RGBA;
420 fDecoderMgr->dinfo()->dither_mode = JDITHER_NONE;
421 fDecoderMgr->dinfo()->out_color_space = JCS_RGB565;
429 fDecoderMgr->dinfo()->out_color_space = JCS_GRAYSCALE;
438 fDecoderMgr->dinfo()->out_color_space = JCS_EXT_RGBA;
447 fDecoderMgr->dinfo()->out_color_space = JCS_CMYK;
468 jpeg_decompress_struct dinfo;
469 sk_bzero(&dinfo, sizeof(dinfo));
470 dinfo.image_width = this->getInfo().width();
471 dinfo.image_height = this->getInfo().height();
472 dinfo.global_state = fReadyState;
477 calc_output_dimensions(&dinfo, num, denom);
478 while (dinfo.output_width != dstWidth || dinfo.output_height != dstHeight) {
481 if (1 == num || dstWidth > dinfo.output_width || dstHeight > dinfo.output_height) {
487 calc_output_dimensions(&dinfo, num, denom);
490 fDecoderMgr->dinfo()->scale_num = num;
491 fDecoderMgr->dinfo()->scale_denom = denom;
533 uint32_t lines = jpeg_read_scanlines(fDecoderMgr->dinfo(), &decodeDst, 1);
583 jpeg_decompress_struct* dinfo = fDecoderMgr->dinfo();
596 if (!jpeg_start_decompress(dinfo)) {
602 SkASSERT(1 == dinfo->rec_outbuf_height);
604 if (needs_swizzler_to_convert_from_cmyk(dinfo->out_color_space, this->getInfo(),
625 swizzleBytes = get_row_bytes(fDecoderMgr->dinfo());
682 fDecoderMgr->dinfo()->out_color_space, this->getInfo(), this->colorXform());
702 if (!jpeg_start_decompress(fDecoderMgr->dinfo())) {
708 fDecoderMgr->dinfo()->out_color_space, this->getInfo(), this->colorXform());
718 jpeg_crop_scanline(fDecoderMgr->dinfo(), &startX, &width);
760 fDecoderMgr->dinfo()->output_scanline = this->dstInfo().height();
773 return (uint32_t) count == jpeg_skip_scanlines(fDecoderMgr->dinfo(), count);
776 static bool is_yuv_supported(jpeg_decompress_struct* dinfo) {
778 SkASSERT(dinfo->scale_num == dinfo->scale_denom);
783 if (JCS_YCbCr != dinfo->jpeg_color_space) {
787 SkASSERT(3 == dinfo->num_components);
788 SkASSERT(dinfo->comp_info);
805 if ((1 != dinfo->comp_info[1].h_samp_factor) ||
806 (1 != dinfo->comp_info[1].v_samp_factor) ||
807 (1 != dinfo->comp_info[2].h_samp_factor) ||
808 (1 != dinfo->comp_info[2].v_samp_factor))
821 int hSampY = dinfo->comp_info[0].h_samp_factor;
822 int vSampY = dinfo->comp_info[0].v_samp_factor;
832 jpeg_decompress_struct* dinfo = fDecoderMgr->dinfo();
833 if (!is_yuv_supported(dinfo)) {
837 jpeg_component_info * comp_info = dinfo->comp_info;
872 jpeg_decompress_struct* dinfo = fDecoderMgr->dinfo();
874 dinfo->raw_data_out = TRUE;
875 if (!jpeg_start_decompress(dinfo)) {
882 SkASSERT(is_yuv_supported(dinfo));
887 SkASSERT((uint32_t) sizeInfo.fSizes[SkYUVSizeInfo::kY].width() == dinfo->output_width &&
888 (uint32_t) sizeInfo.fSizes[SkYUVSizeInfo::kY].height() == dinfo->output_height);
903 int numYRowsPerBlock = DCTSIZE * dinfo->comp_info[0].v_samp_factor;
925 const int numIters = dinfo->output_height / numRowsPerBlock;
927 JDIMENSION linesRead = jpeg_read_raw_data(dinfo, yuv, numRowsPerBlock);
943 uint32_t remainingRows = dinfo->output_height - dinfo->output_scanline;
944 SkASSERT(remainingRows == dinfo->output_height % numRowsPerBlock);
945 SkASSERT(dinfo->output_scanline == numIters * numRowsPerBlock);
955 int remainingUVRows = dinfo->comp_info[1].downsampled_height - DCTSIZE * numIters;
961 JDIMENSION linesRead = jpeg_read_raw_data(dinfo, yuv, numRowsPerBlock);