/*
* Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <vector>
namespace android {
struct DisplayedFrameStats {
/* The number of frames represented by this sample. */
uint64_t numFrames = 0;
/* A histogram counting how many times a pixel of a given value was displayed onscreen for
* FORMAT_COMPONENT_0. The buckets of the histogram are evenly weighted, the number of buckets
* is device specific. eg, for RGBA_8888, if sampleComponent0 is {10, 6, 4, 1} this means that
* 10 red pixels were displayed onscreen in range 0x00->0x3F, 6 red pixels
* were displayed onscreen in range 0x40->0x7F, etc.
*/
std::vector<uint64_t> component_0_sample = {};
/* The same sample definition as sampleComponent0, but for FORMAT_COMPONENT_1. */
std::vector<uint64_t> component_1_sample = {};
/* The same sample definition as sampleComponent0, but for FORMAT_COMPONENT_2. */
std::vector<uint64_t> component_2_sample = {};
/* The same sample definition as sampleComponent0, but for FORMAT_COMPONENT_3. */
std::vector<uint64_t> component_3_sample = {};
};
} // namespace android