19e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu/* 29e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * Copyright 2015 The Android Open Source Project 39e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * 49e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * Licensed under the Apache License, Version 2.0 (the "License"); 59e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * you may not use this file except in compliance with the License. 69e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * You may obtain a copy of the License at 79e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * 89e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * http://www.apache.org/licenses/LICENSE-2.0 99e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * 109e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * Unless required by applicable law or agreed to in writing, software 119e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * distributed under the License is distributed on an "AS IS" BASIS, 129e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * See the License for the specific language governing permissions and 149e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu * limitations under the License. 159e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu */ 169e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 179e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#ifndef MEDIA_CODEC_LIST_OVERRIDES_H_ 189e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 199e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#define MEDIA_CODEC_LIST_OVERRIDES_H_ 209e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 219e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#include <media/MediaCodecInfo.h> 229e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#include <media/stagefright/foundation/AString.h> 239e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 249e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#include <utils/StrongPointer.h> 259e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#include <utils/KeyedVector.h> 269e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 279e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wunamespace android { 289e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 2919352b3287480394aa9963276305d5168a7adf85Ronghua Wuextern const char *kProfilingVersionString; 3065c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wuextern const char *kProfilingResults; 3165c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu 32ee4e1b1a63758941460ae79a064249d3a5189443Lajos Molnarstruct MediaCodecInfo; 339e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 3419352b3287480394aa9963276305d5168a7adf85Ronghua WuAString getProfilingVersionString(); 3519352b3287480394aa9963276305d5168a7adf85Ronghua Wu 369e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wubool splitString(const AString &s, const AString &delimiter, AString *s1, AString *s2); 379e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 3865c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu// profile codecs and save the result to xml file named kProfilingResults. 3965c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wuvoid profileCodecs(const Vector<sp<MediaCodecInfo>> &infos); 409e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 419ba21b9418d10ddcc39f08901e24fbf43d82b2bcRonghua Wu// profile codecs and save the result to global_results, encoder_results and decoder_results. 429e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wuvoid profileCodecs( 439e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu const Vector<sp<MediaCodecInfo>> &infos, 449ba21b9418d10ddcc39f08901e24fbf43d82b2bcRonghua Wu CodecSettings *global_results, 4565c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu KeyedVector<AString, CodecSettings> *encoder_results, 4665c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu KeyedVector<AString, CodecSettings> *decoder_results, 4765c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu bool forceToMeasure = false); 4865c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu 4965c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wuvoid exportResultsToXML( 5065c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const char *fileName, 5165c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const CodecSettings& global_results, 5265c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const KeyedVector<AString, CodecSettings>& encoder_results, 5365c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const KeyedVector<AString, CodecSettings>& decoder_results); 549e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 559e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu} // namespace android 569e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 579e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#endif // MEDIA_CODEC_LIST_OVERRIDES_H_ 58