# Native音视频编解码常见错误

#### 问题现象

视频编码器触发OH\_AVCodecOnError回调函数，错误码AV\_ERR\_INPUT\_DATA\_ERROR = 10。

#### 背景知识

OH\_AVErrCode，当OH\_AVCodec实例运行出错时，回调将上报具体的错误信息的函数指针。

#### 问题定位

DevEco Studio本地搜索OH\_AVErrCode关键字，查看错误码AV\_ERR\_INPUT\_DATA\_ERROR = 10含义，确认为输入数据错误。

#### 分析结论

错误码AV\_ERR\_INPUT\_DATA\_ERROR错误可能原因：

*   运行过程中surfacebuffer宽、高超出OH\_VideoEncoder\_Configure接口配置的宽、高，会触发AV\_ERR\_INPUT\_DATA\_ERROR报错，如：传参时，误将surface宽高传入顺序颠倒，使得surface宽高和编码器宽高相反。
*   配置信息与输入数据比特不一致，会触发AV\_ERR\_INPUT\_DATA\_ERROR报错。如：编码输入数据为8bit而配置为10bit，或编码输入数据为10bit而配置为8bit。
*   配置了不支持的pixelformat，会触发AV\_ERR\_INPUT\_DATA\_ERROR报错。如：配置了视频像素格式枚举值OH\_AVPixelFormat中不存在的格式。

#### 修改建议

参考使用AVCodec实现视频编解码为编解码中的配置项设置正确的参数。