summaryrefslogtreecommitdiff
path: root/modules/vp9/vp9.h
blob: 53899a154749e10dbb9dcfa6ab9d7890d30f2e5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * @file vp9.h Private VP9 Interface
 *
 * Copyright (C) 2010 - 2016 Creytiv.com
 */

struct vp9_vidcodec {
	struct vidcodec vc;
	uint32_t max_fs;
};

/* Encode */
int vp9_encode_update(struct videnc_state **vesp, const struct vidcodec *vc,
		      struct videnc_param *prm, const char *fmtp,
		      videnc_packet_h *pkth, void *arg);
int vp9_encode(struct videnc_state *ves, bool update,
	       const struct vidframe *frame);


/* Decode */
int vp9_decode_update(struct viddec_state **vdsp, const struct vidcodec *vc,
		      const char *fmtp);
int vp9_decode(struct viddec_state *vds, struct vidframe *frame,
	       bool *intra, bool marker, uint16_t seq, struct mbuf *mb);


/* SDP */
uint32_t vp9_max_fs(const char *fmtp);
int  vp9_fmtp_enc(struct mbuf *mb, const struct sdp_format *fmt,
		  bool offer, void *arg);