Примеры воспроизведения аудио и видео Хасс Hi3559a одновременно

Предупреждение: Данная статья является блоггером оригинальной статьи, следовать CC 4.0 BY-SA соглашение об авторских правах, воспроизведены, пожалуйста , приложите ссылку первоисточника и это утверждение.
Эта ссылка: https://blog.csdn.net/dong_beijing/article/details/97112060

Новый каталог ау под MPP / образец

(1) написать файл сборки, следующим образом:

# 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) ПМП / образец / аудио АДФ копии каталога в новом каталоге ау

(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 во время воспроизведения аудио и видео.

рекомендация

отblog.csdn.net/dong_beijing/article/details/97112060