HarmonyOS C++ 接口VideoDecoder软解相关咨询
通过C++ 层VideoDecoder相关接口创建软件解码器(如下),可以正常解码数据。
OH_AVCapability *capability = OH_AVCodec_GetCapabilityByCategory(OH_AVCODEC_MIMETYPE_VIDEO_AVC, false, SOFTWARE);
const char *name = OH_AVCapability_GetName(capability);
videoDec = OH_VideoDecoder_CreateByName(name);
需要确认以下两个问题:
1、对于硬解,可以遵循参考帧数量,比如参考帧数量为2,一般send 2个数据,必然会有解码数据输出,但是软解这里需要多send几个数据,才会有解码数据输出,请问这里的逻辑?由于解码是异步的,不可能无限制的send数据,需要根据一个条件来决定是否等待解码数据,比如输入多少个数据,肯定会有解码数据输出,硬解可以通过参考帧数量判断,软解这里呢?
2、由于软件解码后的数据无法从OH_AVBuffer *获取 OH_NativeBuffer *,那就需要读取yuv数据,API文档中只有下列接口:
uint8_t *OH_AVBuffer_GetAddr(OH_AVBuffer *buffer);
int32_t OH_AVBuffer_GetCapacity(OH_AVBuffer *buffer);
实际需要的是类似ffmpeg AVFrame中的下列数据格式,请问如何获取?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS C++ VideoDecoder组件使用
194浏览 • 1回复 待解决
HarmonyOS 媒体硬解相关问题咨询
618浏览 • 1回复 待解决
HarmonyOS commonEventManager 在C++层有接口吗?
70浏览 • 1回复 待解决
ArkTS层通过接口访问C++层对象
383浏览 • 1回复 待解决
HarmonyOS 是否有c接入接口相关的demo
37浏览 • 1回复 待解决
HarmonyOS C++代码调用gethostbyname_r接口返回失败
57浏览 • 1回复 待解决
HarmonyOS c++开发麦克风音频录制相关问题
32浏览 • 1回复 待解决
如何修改C++版本?C++支持情况?
1205浏览 • 1回复 待解决
HarmonyOS 软著问题咨询,软著申请是否可复用其他端已申请的软著
18浏览 • 1回复 待解决
c++ 有vp2px 的接口么?
1873浏览 • 1回复 待解决
HarmonyOS har是否能直接提供C/C++ native接口给其他包调用?
10浏览 • 1回复 待解决
HarmonyOS C++开发
33浏览 • 1回复 待解决
HarmonyOS ffmpeg软解之后使用nativewindow直接送显,报未知错误
32浏览 • 1回复 待解决
napi方法 arkts调用c++接口时,报错Hardware vsync is not available
351浏览 • 1回复 待解决
将C++层分配的对象在ArkTS层管理,ArkTS层通过接口访问C++层对象业务
949浏览 • 1回复 待解决
HarmonyOS InputText相关咨询
340浏览 • 1回复 待解决
N-API接口实现ArkTS/TS/JS和C/C++之间的交互
1468浏览 • 1回复 待解决
C/C++实现的开源mqtt库如何移植到native c++工程中?
3377浏览 • 1回复 待解决
HarmonyOS h264/h265软解是在CPU运行吗
74浏览 • 1回复 待解决
HarmonyOS 工程中创建library后,调用c++封装接口报undefined
514浏览 • 1回复 待解决
如何获取屏幕的缩放比例(Scale),最好是有C++接口
2069浏览 • 0回复 待解决
HarmonyOS ArkTS与C/C++的交互
769浏览 • 1回复 待解决
应用有少量C++代码,C++代码如何进行适配?
233浏览 • 1回复 待解决
HarmonyOS C++异步操作
376浏览 • 1回复 待解决
问题1:异步解码,每一帧解码完毕都会通过用户注册的回调告诉用户,不存在不知道怎么判断解码是否完成的问题。至于用户丢了多少数据才会出第一帧,丢了多少数据才会出第2帧,这个没有判断方法,能够保证的是最后解码结束的时候总共出的帧等于送的帧。
问题2:参考:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/avcodec/video-decoding.md#buffer%E6%A8%A1%E5%BC%8F