buf = (unsigned char *)mpp_buffer_get_ptr(frm_buf); memcpy(buf, buf2, YUV_SIZE); mpp_frame_init(&enc_in); mpp_frame_set_width(enc_in, 1920); mpp_frame_set_height(enc_in, YUV_HEIGHT); mpp_frame_set_hor_stride(enc_in, MPP_ALIGN(1920, 8)); ...
MppBuffer frm_buf;//为编码时数据存放开辟的内存 MppEncSeiMode sei_mode;uint32_t width;//图像宽...
MppBuffer frm_buf;MppEncSeiMode sei_mode;uint32_t width;uint32_t height;uint32_t hor_stride;...
g_src_handle = importbuffer_virtualaddr((char*)mpp_buffer_get_ptr(buffer), width*height*3);...
51 MppBuffer frm_buf;52 MppEncSeiMode sei_mode;53 54//base flow context 55 MppCtx ctx;56 MppApi *mpi;57 MppEncPrepCfg prep_cfg;58 MppEncRcCfg rc_cfg;59 MppEncCodecCfg codec_cfg;60 61//paramter for resource malloc 62 RK_U32 width;63 RK_U32 height;64 ...
#include "mpp_env.h"#include "mpp_time.h"#include "mpp_common.h"#include "mpp_frame.h"#include "mpp_buffer_impl.h"#include "mpp_frame_impl.h"#define MPI_DEC_STREAM_SIZE (SZ_4K)#define MPI_DEC_LOOP_COUNT 4 #define MAX_FILE_NAME_LENGTH 256 typedef struct { MppCtx ...
ret = write(pipe_fd, ptr, len); if(ret != len) { printf("===Write fifo Err===\n"); return -1; } return 0; } //live555 接口 OutPacketBuffer::maxSize = 500000;//防止单帧数据过大 char const* streamName = "stream"; //char const...
我们选择简单的异步接口decode_put_packet/decode_get_frame 流程如下: 1、AVPacket转MppPacket 转换需要AVPacket中的data,size,pts,dts字段 MPP_RET ret = MPP_OK; MppPacket packet; ret = mpp_packet_init(&packet, buffer, size); if (ret != MPP_OK) ...
本段落中的提到的成员都是通过形如mpp_xxx_set/get_xxx 的接口来访问。 2.1 内存封装MppBuffer MppBuffer 主要用于描述供硬件使用的内存块,提供了内存块的分配,释放,加减引用等功能。目 前支持ion/drm 两种分配器,几个重要的参数成员如下: 成员名称 成员类型 描述说明 ptr void * 表示内存块的起始虚拟地址。
本段落中的提到的成员都是通过形如mpp_xxx_set/get_xxx 的接口来访问。 2.1 内存封装MppBuffer MppBuffer 主要用于描述供硬件使用的内存块,提供了内存块的分配,释放,加减引用等功能。目 前支持ion/drm 两种分配器,几个重要的参数成员如下: 成员名称 成员类型 描述说明 ptr void * 表示内存块的起始虚拟地址。