Similar to what we do for WebP [1], consider adding a call to record a new UMA with the JPEG pixel format (might be called ColorSpace in JPEG code), probably in the vicinity of [2], using reader_->Info() which is a jpeg_decompress_struct and concretely its fields |in_color_space| [3] and |comp_info| [4]. The UMA could be called "Blink.DecodedImage.JPEGFormat" or some such. [1] https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/image-decoders/webp/webp_image_decoder.cc?type=cs&g=0&l=283 [2] https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc?gsn=decoder_&g=0&l=1101 [3] https://cs.chromium.org/chromium/src/third_party/libjpeg_turbo/jpeglib.h?type=cs&sq=package:chromium&g=0&l=488 [4] https://cs.chromium.org/chromium/src/third_party/libjpeg_turbo/jpeglib.h?type=cs&sq=package:chromium&g=0&l=345
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c3e7207e3b1d67e0f97d2075da363277dd0bec6c commit c3e7207e3b1d67e0f97d2075da363277dd0bec6c Author: Andres Calderon Jaramillo <andrescj@chromium.org> Date: Mon Oct 01 22:04:43 2018 Add a UMA to track the color space and subsampling of JPEG images. This CL introduces the Blink.ImageDecoders.Jpeg.ColorSpace which tracks the color space of JPEG images. When the color space is YCbCr, we also record the chroma subsampling (e.g., 4:2:0). Bug: 886914 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I1d5c9cbc893907c1352fa7c845d58aa9116c4f6a Reviewed-on: https://chromium-review.googlesource.com/1235214 Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Noel Gordon <noel@chromium.org> Reviewed-by: Steven Holte <holte@chromium.org> Reviewed-by: Leon Scroggins <scroggo@chromium.org> Cr-Commit-Position: refs/heads/master@{#595558} [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-cmyk-jfif-marker.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-cmyk-no-jfif-or-adobe-markers.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-cmyk-unknown-transform.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-cmyk.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-grayscale.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-rgb-non-interleaved.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-rgb-unknown-transform.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-rgb.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-two-channels-jfif-marker.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-410.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-411.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-420-both-jfif-adobe.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-420-non-interleaved.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-420.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-422.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-440.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-444.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycbcr-other.jpg [add] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/WebKit/LayoutTests/images/resources/cs-uma-ycck.jpg [modify] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.cc [modify] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h [modify] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc [modify] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder_test.cc [modify] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/tools/metrics/histograms/enums.xml [modify] https://crrev.com/c3e7207e3b1d67e0f97d2075da363277dd0bec6c/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/71d2d46098ddc58ad20514263a6ae408e2a6267d commit 71d2d46098ddc58ad20514263a6ae408e2a6267d Author: Andres Calderon Jaramillo <andrescj@chromium.org> Date: Tue Oct 02 01:22:07 2018 Blink: move RecordJpegImageArea() to BitmapImageMetrics. This CL moves RecordJpegImageArea() from JpegImageDecoder to BitmapImageMetrics to centralize the recording of UMAs for JPEGs and to be consistent with the color space UMA. The method is renamed to CountJpegArea() to be consistent with other methods in BitmapImageMetrics. Bug: 886914 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Idd0dc443a7e742065a158ee19adeb242479a245f Reviewed-on: https://chromium-review.googlesource.com/1249399 Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Noel Gordon <noel@chromium.org> Cr-Commit-Position: refs/heads/master@{#595680} [modify] https://crrev.com/71d2d46098ddc58ad20514263a6ae408e2a6267d/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.cc [modify] https://crrev.com/71d2d46098ddc58ad20514263a6ae408e2a6267d/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h [modify] https://crrev.com/71d2d46098ddc58ad20514263a6ae408e2a6267d/third_party/blink/renderer/platform/image-decoders/DEPS [modify] https://crrev.com/71d2d46098ddc58ad20514263a6ae408e2a6267d/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
Comment 1 by andrescj@chromium.org
, Sep 19Status: Started (was: Unconfirmed)