mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-05 17:16:50 +08:00
[test]: Change mpp_buffer_test for external mode
Change external mode mpp_buffer_group test from normal type to ion type which is more closer to real decoder pure external mode. Change-Id: I601f18340d760a0e630149209bd4d63ec3bbf995 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -56,7 +56,8 @@ int main()
|
|||||||
memset(commit_buffer, 0, sizeof(commit_buffer));
|
memset(commit_buffer, 0, sizeof(commit_buffer));
|
||||||
memset(normal_buffer, 0, sizeof(normal_buffer));
|
memset(normal_buffer, 0, sizeof(normal_buffer));
|
||||||
|
|
||||||
ret = mpp_buffer_group_get_external(&group, MPP_BUFFER_TYPE_NORMAL);
|
// create group with external type
|
||||||
|
ret = mpp_buffer_group_get_external(&group, MPP_BUFFER_TYPE_ION);
|
||||||
if (MPP_OK != ret) {
|
if (MPP_OK != ret) {
|
||||||
mpp_err("mpp_buffer_test mpp_buffer_group_get failed\n");
|
mpp_err("mpp_buffer_test mpp_buffer_group_get failed\n");
|
||||||
goto MPP_BUFFER_failed;
|
goto MPP_BUFFER_failed;
|
||||||
@@ -64,17 +65,22 @@ int main()
|
|||||||
|
|
||||||
mpp_log("mpp_buffer_test commit mode with unused status start\n");
|
mpp_log("mpp_buffer_test commit mode with unused status start\n");
|
||||||
|
|
||||||
commit.type = MPP_BUFFER_TYPE_NORMAL;
|
commit.type = MPP_BUFFER_TYPE_ION;
|
||||||
commit.size = size;
|
commit.size = size;
|
||||||
|
|
||||||
|
// create misc ion buffer and commit to external group
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
commit_ptr[i] = malloc(size);
|
// can be change to different buffer allocator here
|
||||||
if (NULL == commit_ptr[i]) {
|
ret = mpp_buffer_get(NULL, &normal_buffer[i], size);
|
||||||
mpp_err("mpp_buffer_test malloc failed\n");
|
if (ret || NULL == normal_buffer[i]) {
|
||||||
|
mpp_err("mpp_buffer_test get misc buffer failed ret %d\n", ret);
|
||||||
goto MPP_BUFFER_failed;
|
goto MPP_BUFFER_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
commit.ptr = commit_ptr[i];
|
// NOTE: setup fd / index in necessary
|
||||||
|
commit.ptr = mpp_buffer_get_ptr(normal_buffer[i]);
|
||||||
|
commit.fd = mpp_buffer_get_fd(normal_buffer[i]);
|
||||||
|
commit.index = i;
|
||||||
|
|
||||||
ret = mpp_buffer_commit(group, &commit);
|
ret = mpp_buffer_commit(group, &commit);
|
||||||
if (MPP_OK != ret) {
|
if (MPP_OK != ret) {
|
||||||
@@ -103,9 +109,9 @@ int main()
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
if (commit_ptr[i]) {
|
if (normal_buffer[i]) {
|
||||||
free(commit_ptr[i]);
|
mpp_buffer_put(normal_buffer[i]);
|
||||||
commit_ptr[i] = NULL;
|
normal_buffer[i] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user