Files
mpp/osal/mpp_compat.cpp
Herman Chen 2b35cee0ce [mpp_log]: Add more log helper function
1. Move mpp_log.h to inc for external user.
2. Add mpp_debug.h for mpp internal logging.
3. Fix some warning.
4. Add log level setup function.
5. Check env log_level value in mpp_get_log_level call.

NOTE:
1. mpp internal module should use mpp_debug.h and mpp external user
should use mpp_log.h
2. Use mpp_get_log_level to update mpp_log_level when the env changed.

Change-Id: I90a55a02a72db177533013280dfe111ca3479229
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-20 11:42:10 +08:00

95 lines
2.2 KiB
C++

/*
* Copyright 2021 Rockchip Electronics Co. LTD
*
* 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.
*/
#define MODULE_TAG "mpp_compat"
#include "mpp_debug.h"
#include "mpp_common.h"
#include "mpp_compat.h"
#include "mpp_compat_impl.h"
static MppCompat compats[] = {
{
MPP_COMPAT_INC_FBC_BUF_SIZE,
MPP_COMPAT_BOOL,
1,
0,
"increase decoder fbc buffer size",
&compats[1],
},
{
MPP_COMPAT_ENC_ASYNC_INPUT,
MPP_COMPAT_BOOL,
1,
0,
"support encoder async input mode",
NULL,
},
};
RK_S32 *compat_ext_fbc_buf_size = &compats[MPP_COMPAT_INC_FBC_BUF_SIZE].value_usr;
RK_S32 *compat_ext_async_input = &compats[MPP_COMPAT_ENC_ASYNC_INPUT].value_usr;
MppCompat *mpp_compat_query(void)
{
return compats;
}
MppCompat *mpp_compat_query_by_id(MppCompatId id)
{
RK_U32 i;
for (i = 0; i < MPP_ARRAY_ELEMS(compats); i++) {
if (compats[i].feature_id == id)
return &compats[i];
}
return NULL;
}
MPP_RET mpp_compat_update(MppCompat *compat, RK_S32 value)
{
if (NULL == compat)
return MPP_NOK;
if (compat->feature_id >= MPP_COMPAT_BUTT)
return MPP_NOK;
if (compat != &compats[compat->feature_id])
return MPP_NOK;
if (compat->feature_type == MPP_COMPAT_BOOL)
if (value != 0 && value != 1)
return MPP_NOK;
compat->value_usr = value;
return MPP_OK;
}
void mpp_compat_show(void)
{
const MppCompat *compat = compats;
mpp_log("id| name -- mpp compat info\n");
while (compat) {
mpp_log("%d | %s\n", compat->feature_id, compat->name);
compat = compat->next;
}
}