#ifndef VMF_VENC_OUT_SCM_H
#define VMF_VENC_OUT_SCM_H

#include <stdint.h>

typedef struct VMF_VENC_OUT_SCM_S VMF_VENC_OUT_SCM_T;

typedef struct {
    const char *szScmName;
    uint32_t    dwChkSize;
    uint32_t    dwBufSize;
    uint32_t    bBlock;
    uint32_t    bLimit;
    uint32_t    _pad[4];
} VMF_VENC_OUT_SCM_INITOPT_T;

int  VMF_VENC_OUT_SCM_Init(VMF_VENC_OUT_SCM_T **pp, VMF_VENC_OUT_SCM_INITOPT_T *opt);
void VMF_VENC_OUT_SCM_Release(VMF_VENC_OUT_SCM_T **pp);
int  VMF_VENC_OUT_SCM_Setup_Config(void *venc_cfg, int codec_type, void *codec_cfg, VMF_VENC_OUT_SCM_T *scm);

#endif /* VMF_VENC_OUT_SCM_H */
