免責事項:この記事は従って、ブロガーオリジナル記事です。CC BY-SA 4.0再現著作権の契約を、元のソースのリンクと、この文を添付してください。
MPP /サンプルの下に新しいAVディレクトリ
次のように(1)、Makefileを書きます。
# Hisilicon Hi35xx sample Makefile
include ../Makefile.param
SRCS := $(wildcard *.c)
TARGET := $(SRCS:%.c=%)
SRCS += $(wildcard $(PWD)/adp/*.c)
#compile linux or HuaweiLite
include $(PWD)/../$(OSTYPE).mak
print:
@echo "os is $(OSTYPE)"
(2)新しいディレクトリAVにディレクトリのコピーをADP MPP /サンプル/オーディオ
次のように処理している間(3)sample_av.cドキュメント、オーディオおよびビデオの再生を記述します。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/poll.h>
#include <sys/time.h>
#include <fcntl.h>
#include <errno.h>
#include <pthread.h>
#include <math.h>
#include <unistd.h>
#include <signal.h>
#include <sys/prctl.h>
#include "sample_comm.h"
#include "acodec.h"
#include "audio_aac_adp.h"
HI_S32 main(int argc, char* argv[])
{
HI_S32 s32Ret = HI_SUCCESS;
signal(SIGINT, SAMPLE_AUDIO_HandleSig);
signal(SIGTERM, SAMPLE_AUDIO_HandleSig);
s32Ret = SAMPLE_H265_VDEC_VPSS_VO();
return s32Ret;
}
(4)sample_av.cにおいて、以下の機能コピーsample_audio.c
SAMPLE_DBG
SAMPLE_AUDIO_HandleSig
SAMPLE_AUDIO_Pt2Str
SAMPLE_AUDIO_OpenAdecFile
SAMPLE_AUDIO_AdecAo
(5)の関数としてのオーディオ再生処理の統合:
HI_S32 SAMPLE_AUDIO_AdecAO_SetRun(HI_VOID)//dong add audio set and run.
{
HI_S32 s32Ret = HI_SUCCESS;
HI_MPI_AENC_AacInit();
HI_MPI_ADEC_AacInit();
/* Set audio clksel, Non-required code. */
AUDIO_MOD_PARAM_S stModParam;
stModParam.enClkSel = AUDIO_CLKSEL_BASE;
HI_MPI_AUDIO_SetModParam(&stModParam);
SAMPLE_AUDIO_AdecAo();
return s32Ret;
}
(6)sample_av.cにおいて、以下の機能コピーsample_vdec.c
SAMPLE_STREAM_PATH
g_enIntfSync
SAMPLE_H265_VDEC_VPSS_VO
(7)オーディオ再生、ビデオ再生機能に統合
//SAMPLE_COMM_VDEC_CmdCtrl(u32VdecChnNum, &stVdecSend[0], &VdecThread[0]);
SAMPLE_AUDIO_AdecAO_SetRun();
//
前SAMPLE_COMM_VDEC_CmdCtrl関数は、ステップ5で記述されたオーディオ再生機能を追加すること、コメント。
ディスプレイの解像度が低い場合(8)、SAMPLE_H265_VDEC_VPSS_VOに関数は、出力720Pに修正することができます
g_enIntfSync = VO_OUTPUT_720P60;
if(VO_OUTPUT_3840x2160_30 == g_enIntfSync)
{
enDispPicSize = PIC_3840x2160;
enIntfSync = VO_OUTPUT_3840x2160_30;
}
else
{
// enDispPicSize = PIC_1080P;
// enIntfSync = VO_OUTPUT_1080P30;
enDispPicSize = PIC_720P;
enIntfSync = VO_OUTPUT_720P50;
}
最後に、オーディオとビデオを再生しながら、あなたがsampe_av実行hisi開発ボードを得ることができ、作ります。