summaryrefslogtreecommitdiff
path: root/modules/gst_video1/gst_video.h
blob: 6f7415148cd6d34076528e0c70b3a4295d16071b (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
31
32
/**
 * @file gst_video1/gst_video.h  Gstreamer video pipeline -- internal API
 *
 * Copyright (C) 2010 - 2014 Creytiv.com
 * Copyright (C) 2014 Fadeev Alexander
 */


/* Encode */
struct videnc_state;

int gst_video1_encoder_set(struct videnc_state **stp,
			  const struct vidcodec *vc,
			  struct videnc_param *prm, const char *fmtp,
			  videnc_packet_h *pkth, void *arg);
int gst_video1_encode(struct videnc_state *st, bool update,
		     const struct vidframe *frame);


/* SDP */
uint32_t gst_video1_h264_packetization_mode(const char *fmtp);
int      gst_video1_fmtp_enc(struct mbuf *mb, const struct sdp_format *fmt,
			    bool offer, void *arg);
bool     gst_video1_fmtp_cmp(const char *fmtp1, const char *fmtp2, void *data);


/* H.264 */
extern const uint8_t gst_video_h264_level_idc;

int gst_video_h264_packetize(const uint8_t *buf, size_t len,
			     size_t pktsize,
			     videnc_packet_h *pkth, void *arg);