|
哪个用过硬解,我想问一下,upv_api.h这个里面的函数在哪个地方实现的
发表于 2015-12-8 15:32:29
浏览:7559
|
回复:3
打印
只看该作者
[复制链接]
楼主
哪个用过硬解,我想问一下,upv_api.h这个里面的函数在哪个地方实现的,我找了好久没有找到。
就是下面以的- typedef struct VpuCodecContext {
- void* vpuApiObj;
- CODEC_TYPE codecType;
- OMX_RK_VIDEO_CODINGTYPE videoCoding;
- RK_U32 width;
- RK_U32 height;
- RK_U8 *extradata;
- RK_S32 extradata_size;
- RK_U8 enableparsing;
- RK_S32 no_thread;
- EXtraCfg_t extra_cfg;
- void* private_data;
- /*
- ** 1: error state(not working) 0: working
- */
- RK_S32 decoder_err;
- /**
- * Allocate and initialize an VpuCodecContext.
- *
- * @param ctx The context of vpu api, allocated in this function.
- * @param extraData The extra data of codec, some codecs need / can
- * use extradata like Huffman tables, also live VC1 codec can
- * use extradata to initialize itself.
- * @param extra_size The size of extra data.
- *
- * @return 0 for init success, others for failure.
- * note: check whether ctx has been allocated success after you do init.
- */
- RK_S32 (*init)(struct VpuCodecContext *ctx, RK_U8 *extraData, RK_U32 extra_size);
- /**
- * @return 0 for decode success, others for failure.
- */
- RK_S32 (*decode)(struct VpuCodecContext *ctx, VideoPacket_t *pkt, DecoderOut_t *aDecOut);
- /**
- * @return 0 for encode success, others for failure.
- */
- RK_S32 (*encode)(struct VpuCodecContext *ctx, EncInputStream_t *aEncInStrm, EncoderOut_t *aEncOut);
- /**
- * flush codec while do fast forward playing.
- *
- * @return 0 for flush success, others for failure.
- */
- RK_S32 (*flush)(struct VpuCodecContext *ctx);
- RK_S32 (*control)(struct VpuCodecContext *ctx, VPU_API_CMD cmdType, void* param);
- /**
- *seperate the decode function to two function
- *
- */
- RK_S32 (*decode_sendstream)(struct VpuCodecContext *ctx, VideoPacket_t *pkt);
- RK_S32 (*decode_getframe)(struct VpuCodecContext *ctx, DecoderOut_t *aDecOut);
- RK_S32 (*encoder_sendframe)(struct VpuCodecContext *ctx, EncInputStream_t *aEncInStrm);
- RK_S32 (*encoder_getstream)(struct VpuCodecContext *ctx, EncoderOut_t *aEncOut);
- }VpuCodecContext_t;
- /* allocated vpu codec context */
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- RK_S32 vpu_open_context(struct VpuCodecContext **ctx);
- #ifdef __cplusplus
- }
- #endif
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- RK_S32 vpu_close_context(struct VpuCodecContext **ctx);
- #ifdef __cplusplus
- }
- #endif
- typedef RK_S32 (*VpuOpenContextFactoryFun)(struct VpuCodecContext **ctx);
- typedef RK_S32 (*VpuCloseContextFactoryFun)(struct VpuCodecContext **ctx);
复制代码 |
|