mirror of
https://github.com/pion/mediadevices.git
synced 2026-04-23 00:07:29 +08:00
29 lines
735 B
C
29 lines
735 B
C
#pragma once
|
|
|
|
#include <EbSvtAv1.h>
|
|
#include <EbSvtAv1Enc.h>
|
|
#include <stdbool.h>
|
|
|
|
#define ERR_INIT_ENC_HANDLER 1
|
|
#define ERR_SET_ENC_PARAM 2
|
|
#define ERR_ENC_INIT 3
|
|
#define ERR_SEND_PICTURE 4
|
|
#define ERR_GET_PACKET 5
|
|
|
|
typedef struct Encoder {
|
|
EbSvtAv1EncConfiguration *param;
|
|
EbComponentType *handle;
|
|
EbBufferHeaderType *in_buf;
|
|
|
|
bool force_keyframe;
|
|
} Encoder;
|
|
|
|
int enc_free(Encoder *e);
|
|
int enc_new(Encoder **e);
|
|
int enc_init(Encoder *e);
|
|
int enc_apply_param(Encoder *e);
|
|
int enc_force_keyframe(Encoder *e);
|
|
int enc_send_frame(Encoder *e, uint8_t *y, uint8_t *cb, uint8_t *cr, int ystride, int cstride);
|
|
int enc_get_packet(Encoder *e, EbBufferHeaderType **out);
|
|
void memcpy_uint8(uint8_t *dst, const uint8_t *src, size_t n);
|