blob: baa6a286eb08bbc79d1654c41a2a87970042ff2d [file] [log] [blame]
Vinay Kalia3766b1e2012-01-11 18:58:41 -08001/* Copyright (c) 2012, Code Aurora Forum. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 */
13
14#ifndef _MSM_VIDC_H_
15#define _MSM_VIDC_H_
16
17#include <linux/videodev2.h>
18#include <linux/poll.h>
19
20enum core_id {
21 MSM_VIDC_CORE_0 = 0,
22 MSM_VIDC_CORES_MAX,
23};
24
25enum session_type {
26 MSM_VIDC_ENCODER = 0,
27 MSM_VIDC_DECODER,
28 MSM_VIDC_MAX_DEVICES,
29};
30
Praneeth Paladugu5b79a322012-04-18 15:16:29 -070031int msm_vidc_open(void *vidc_inst, int core_id, int session_type);
Vinay Kalia3766b1e2012-01-11 18:58:41 -080032int msm_vidc_close(void *instance);
33int msm_vidc_querycap(void *instance, struct v4l2_capability *cap);
34int msm_vidc_enum_fmt(void *instance, struct v4l2_fmtdesc *f);
35int msm_vidc_s_fmt(void *instance, struct v4l2_format *f);
36int msm_vidc_g_fmt(void *instance, struct v4l2_format *f);
37int msm_vidc_s_ctrl(void *instance, struct v4l2_control *a);
38int msm_vidc_g_ctrl(void *instance, struct v4l2_control *a);
39int msm_vidc_reqbufs(void *instance, struct v4l2_requestbuffers *b);
40int msm_vidc_prepare_buf(void *instance, struct v4l2_buffer *b);
Praneeth Paladuguf2acb852012-05-07 17:44:53 -070041int msm_vidc_release_buf(void *instance, struct v4l2_buffer *b);
Vinay Kalia3766b1e2012-01-11 18:58:41 -080042int msm_vidc_qbuf(void *instance, struct v4l2_buffer *b);
43int msm_vidc_dqbuf(void *instance, struct v4l2_buffer *b);
44int msm_vidc_streamon(void *instance, enum v4l2_buf_type i);
45int msm_vidc_streamoff(void *instance, enum v4l2_buf_type i);
Praneeth Paladuguf2acb852012-05-07 17:44:53 -070046int msm_vidc_decoder_cmd(void *instance, struct v4l2_decoder_cmd *dec);
Vinay Kalia3766b1e2012-01-11 18:58:41 -080047int msm_vidc_poll(void *instance, struct file *filp,
48 struct poll_table_struct *pt);
49#endif