MediaCodecListOverrides.h revision 65c8fbcf91f0f0b5f60a45d2777c36d396c4ba16
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 2965c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wuextern const char *kProfilingResults; 3065c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu 31ee4e1b1a63758941460ae79a064249d3a5189443Lajos Molnarstruct MediaCodecInfo; 329e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 339e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wubool splitString(const AString &s, const AString &delimiter, AString *s1, AString *s2); 349e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 3565c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu// profile codecs and save the result to xml file named kProfilingResults. 3665c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wuvoid profileCodecs(const Vector<sp<MediaCodecInfo>> &infos); 379e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 3865c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu// profile codecs and save the result to encoder_results and decoder_results. 399e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wuvoid profileCodecs( 409e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu const Vector<sp<MediaCodecInfo>> &infos, 4165c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu KeyedVector<AString, CodecSettings> *encoder_results, 4265c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu KeyedVector<AString, CodecSettings> *decoder_results, 4365c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu bool forceToMeasure = false); 4465c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu 4565c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wuvoid exportResultsToXML( 4665c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const char *fileName, 4765c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const CodecSettings& global_results, 4865c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const KeyedVector<AString, CodecSettings>& encoder_results, 4965c8fbcf91f0f0b5f60a45d2777c36d396c4ba16Ronghua Wu const KeyedVector<AString, CodecSettings>& decoder_results); 509e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 519e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu} // namespace android 529e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu 539e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu#endif // MEDIA_CODEC_LIST_OVERRIDES_H_ 54