Commit 2c11d1bd authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab

[media] coda: add coda_video_device descriptors

Each video device descriptor determines the name, callback ops, and input and
output formats on the corresponding video device. This simplifies coda_enum_fmt
and coda_try_fmt a bit and will simplify adding separate video devices for JPEG
codecs due to the slightly different behavior in the CodaDx6/CODA7542 case and
a separate hardware unit on CODA960.
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent b2f91ae3
This diff is collapsed.
...@@ -45,11 +45,15 @@ enum coda_product { ...@@ -45,11 +45,15 @@ enum coda_product {
CODA_960 = 0xf020, CODA_960 = 0xf020,
}; };
struct coda_video_device;
struct coda_devtype { struct coda_devtype {
char *firmware; char *firmware;
enum coda_product product; enum coda_product product;
const struct coda_codec *codecs; const struct coda_codec *codecs;
unsigned int num_codecs; unsigned int num_codecs;
const struct coda_video_device **vdevs;
unsigned int num_vdevs;
size_t workbuf_size; size_t workbuf_size;
size_t tempbuf_size; size_t tempbuf_size;
size_t iram_size; size_t iram_size;
...@@ -65,7 +69,7 @@ struct coda_aux_buf { ...@@ -65,7 +69,7 @@ struct coda_aux_buf {
struct coda_dev { struct coda_dev {
struct v4l2_device v4l2_dev; struct v4l2_device v4l2_dev;
struct video_device vfd[2]; struct video_device vfd[3];
struct platform_device *plat_dev; struct platform_device *plat_dev;
const struct coda_devtype *devtype; const struct coda_devtype *devtype;
...@@ -183,6 +187,7 @@ struct coda_ctx { ...@@ -183,6 +187,7 @@ struct coda_ctx {
struct work_struct pic_run_work; struct work_struct pic_run_work;
struct work_struct seq_end_work; struct work_struct seq_end_work;
struct completion completion; struct completion completion;
const struct coda_video_device *cvd;
const struct coda_context_ops *ops; const struct coda_context_ops *ops;
int aborting; int aborting;
int initialized; int initialized;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment