diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2012-06-09 09:02:49 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-06 16:19:31 -0400 |
commit | d806f2df48098efca104d00a7db237dc39eea858 (patch) | |
tree | e1d9a187f52bee4c5bd9a4d308ec22e7a2b8c975 /drivers | |
parent | d84f2d9483efa6fc69afb82b89ed9615c159470f (diff) |
[media] v4l2-ioctl.c: use the new table for compression ioctls
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/v4l2-ioctl.c | 123 |
1 files changed, 46 insertions, 77 deletions
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index 179b22c80b4d..935fcbc2d50b 100644 --- a/drivers/media/video/v4l2-ioctl.c +++ b/drivers/media/video/v4l2-ioctl.c | |||
@@ -590,6 +590,45 @@ static void v4l_print_selection(const void *arg, bool write_only) | |||
590 | p->r.width, p->r.height, p->r.left, p->r.top); | 590 | p->r.width, p->r.height, p->r.left, p->r.top); |
591 | } | 591 | } |
592 | 592 | ||
593 | static void v4l_print_jpegcompression(const void *arg, bool write_only) | ||
594 | { | ||
595 | const struct v4l2_jpegcompression *p = arg; | ||
596 | |||
597 | pr_cont("quality=%d, APPn=%d, APP_len=%d, " | ||
598 | "COM_len=%d, jpeg_markers=0x%x\n", | ||
599 | p->quality, p->APPn, p->APP_len, | ||
600 | p->COM_len, p->jpeg_markers); | ||
601 | } | ||
602 | |||
603 | static void v4l_print_enc_idx(const void *arg, bool write_only) | ||
604 | { | ||
605 | const struct v4l2_enc_idx *p = arg; | ||
606 | |||
607 | pr_cont("entries=%d, entries_cap=%d\n", | ||
608 | p->entries, p->entries_cap); | ||
609 | } | ||
610 | |||
611 | static void v4l_print_encoder_cmd(const void *arg, bool write_only) | ||
612 | { | ||
613 | const struct v4l2_encoder_cmd *p = arg; | ||
614 | |||
615 | pr_cont("cmd=%d, flags=0x%x\n", | ||
616 | p->cmd, p->flags); | ||
617 | } | ||
618 | |||
619 | static void v4l_print_decoder_cmd(const void *arg, bool write_only) | ||
620 | { | ||
621 | const struct v4l2_decoder_cmd *p = arg; | ||
622 | |||
623 | pr_cont("cmd=%d, flags=0x%x\n", p->cmd, p->flags); | ||
624 | |||
625 | if (p->cmd == V4L2_DEC_CMD_START) | ||
626 | pr_info("speed=%d, format=%u\n", | ||
627 | p->start.speed, p->start.format); | ||
628 | else if (p->cmd == V4L2_DEC_CMD_STOP) | ||
629 | pr_info("pts=%llu\n", p->stop.pts); | ||
630 | } | ||
631 | |||
593 | static void v4l_print_u32(const void *arg, bool write_only) | 632 | static void v4l_print_u32(const void *arg, bool write_only) |
594 | { | 633 | { |
595 | pr_cont("value=%u\n", *(const u32 *)arg); | 634 | pr_cont("value=%u\n", *(const u32 *)arg); |
@@ -1592,8 +1631,8 @@ static struct v4l2_ioctl_info v4l2_ioctls[] = { | |||
1592 | IOCTL_INFO_FNC(VIDIOC_S_CROP, v4l_s_crop, v4l_print_crop, INFO_FL_PRIO), | 1631 | IOCTL_INFO_FNC(VIDIOC_S_CROP, v4l_s_crop, v4l_print_crop, INFO_FL_PRIO), |
1593 | IOCTL_INFO_STD(VIDIOC_G_SELECTION, vidioc_g_selection, v4l_print_selection, 0), | 1632 | IOCTL_INFO_STD(VIDIOC_G_SELECTION, vidioc_g_selection, v4l_print_selection, 0), |
1594 | IOCTL_INFO_STD(VIDIOC_S_SELECTION, vidioc_s_selection, v4l_print_selection, INFO_FL_PRIO), | 1633 | IOCTL_INFO_STD(VIDIOC_S_SELECTION, vidioc_s_selection, v4l_print_selection, INFO_FL_PRIO), |
1595 | IOCTL_INFO(VIDIOC_G_JPEGCOMP, 0), | 1634 | IOCTL_INFO_STD(VIDIOC_G_JPEGCOMP, vidioc_g_jpegcomp, v4l_print_jpegcompression, 0), |
1596 | IOCTL_INFO(VIDIOC_S_JPEGCOMP, INFO_FL_PRIO), | 1635 | IOCTL_INFO_STD(VIDIOC_S_JPEGCOMP, vidioc_s_jpegcomp, v4l_print_jpegcompression, INFO_FL_PRIO), |
1597 | IOCTL_INFO_FNC(VIDIOC_QUERYSTD, v4l_querystd, v4l_print_std, 0), | 1636 | IOCTL_INFO_FNC(VIDIOC_QUERYSTD, v4l_querystd, v4l_print_std, 0), |
1598 | IOCTL_INFO_FNC(VIDIOC_TRY_FMT, v4l_try_fmt, v4l_print_format, 0), | 1637 | IOCTL_INFO_FNC(VIDIOC_TRY_FMT, v4l_try_fmt, v4l_print_format, 0), |
1599 | IOCTL_INFO_STD(VIDIOC_ENUMAUDIO, vidioc_enumaudio, v4l_print_audio, INFO_FL_CLEAR(v4l2_audio, index)), | 1638 | IOCTL_INFO_STD(VIDIOC_ENUMAUDIO, vidioc_enumaudio, v4l_print_audio, INFO_FL_CLEAR(v4l2_audio, index)), |
@@ -1607,11 +1646,11 @@ static struct v4l2_ioctl_info v4l2_ioctls[] = { | |||
1607 | IOCTL_INFO_FNC(VIDIOC_TRY_EXT_CTRLS, v4l_try_ext_ctrls, v4l_print_ext_controls, 0), | 1646 | IOCTL_INFO_FNC(VIDIOC_TRY_EXT_CTRLS, v4l_try_ext_ctrls, v4l_print_ext_controls, 0), |
1608 | IOCTL_INFO(VIDIOC_ENUM_FRAMESIZES, INFO_FL_CLEAR(v4l2_frmsizeenum, pixel_format)), | 1647 | IOCTL_INFO(VIDIOC_ENUM_FRAMESIZES, INFO_FL_CLEAR(v4l2_frmsizeenum, pixel_format)), |
1609 | IOCTL_INFO(VIDIOC_ENUM_FRAMEINTERVALS, INFO_FL_CLEAR(v4l2_frmivalenum, height)), | 1648 | IOCTL_INFO(VIDIOC_ENUM_FRAMEINTERVALS, INFO_FL_CLEAR(v4l2_frmivalenum, height)), |
1610 | IOCTL_INFO(VIDIOC_G_ENC_INDEX, 0), | 1649 | IOCTL_INFO_STD(VIDIOC_G_ENC_INDEX, vidioc_g_enc_index, v4l_print_enc_idx, 0), |
1611 | IOCTL_INFO(VIDIOC_ENCODER_CMD, INFO_FL_PRIO | INFO_FL_CLEAR(v4l2_encoder_cmd, flags)), | 1650 | IOCTL_INFO_STD(VIDIOC_ENCODER_CMD, vidioc_encoder_cmd, v4l_print_encoder_cmd, INFO_FL_PRIO | INFO_FL_CLEAR(v4l2_encoder_cmd, flags)), |
1612 | IOCTL_INFO(VIDIOC_TRY_ENCODER_CMD, INFO_FL_CLEAR(v4l2_encoder_cmd, flags)), | 1651 | IOCTL_INFO_STD(VIDIOC_TRY_ENCODER_CMD, vidioc_try_encoder_cmd, v4l_print_encoder_cmd, INFO_FL_CLEAR(v4l2_encoder_cmd, flags)), |
1613 | IOCTL_INFO(VIDIOC_DECODER_CMD, INFO_FL_PRIO), | 1652 | IOCTL_INFO_STD(VIDIOC_DECODER_CMD, vidioc_decoder_cmd, v4l_print_decoder_cmd, INFO_FL_PRIO), |
1614 | IOCTL_INFO(VIDIOC_TRY_DECODER_CMD, 0), | 1653 | IOCTL_INFO_STD(VIDIOC_TRY_DECODER_CMD, vidioc_try_decoder_cmd, v4l_print_decoder_cmd, 0), |
1615 | IOCTL_INFO(VIDIOC_DBG_S_REGISTER, 0), | 1654 | IOCTL_INFO(VIDIOC_DBG_S_REGISTER, 0), |
1616 | IOCTL_INFO(VIDIOC_DBG_G_REGISTER, 0), | 1655 | IOCTL_INFO(VIDIOC_DBG_G_REGISTER, 0), |
1617 | IOCTL_INFO(VIDIOC_DBG_G_CHIP_IDENT, 0), | 1656 | IOCTL_INFO(VIDIOC_DBG_G_CHIP_IDENT, 0), |
@@ -1736,76 +1775,6 @@ static long __video_do_ioctl(struct file *file, | |||
1736 | } | 1775 | } |
1737 | 1776 | ||
1738 | switch (cmd) { | 1777 | switch (cmd) { |
1739 | case VIDIOC_G_JPEGCOMP: | ||
1740 | { | ||
1741 | struct v4l2_jpegcompression *p = arg; | ||
1742 | |||
1743 | ret = ops->vidioc_g_jpegcomp(file, fh, p); | ||
1744 | if (!ret) | ||
1745 | dbgarg(cmd, "quality=%d, APPn=%d, " | ||
1746 | "APP_len=%d, COM_len=%d, " | ||
1747 | "jpeg_markers=%d\n", | ||
1748 | p->quality, p->APPn, p->APP_len, | ||
1749 | p->COM_len, p->jpeg_markers); | ||
1750 | break; | ||
1751 | } | ||
1752 | case VIDIOC_S_JPEGCOMP: | ||
1753 | { | ||
1754 | struct v4l2_jpegcompression *p = arg; | ||
1755 | |||
1756 | dbgarg(cmd, "quality=%d, APPn=%d, APP_len=%d, " | ||
1757 | "COM_len=%d, jpeg_markers=%d\n", | ||
1758 | p->quality, p->APPn, p->APP_len, | ||
1759 | p->COM_len, p->jpeg_markers); | ||
1760 | ret = ops->vidioc_s_jpegcomp(file, fh, p); | ||
1761 | break; | ||
1762 | } | ||
1763 | case VIDIOC_G_ENC_INDEX: | ||
1764 | { | ||
1765 | struct v4l2_enc_idx *p = arg; | ||
1766 | |||
1767 | ret = ops->vidioc_g_enc_index(file, fh, p); | ||
1768 | if (!ret) | ||
1769 | dbgarg(cmd, "entries=%d, entries_cap=%d\n", | ||
1770 | p->entries, p->entries_cap); | ||
1771 | break; | ||
1772 | } | ||
1773 | case VIDIOC_ENCODER_CMD: | ||
1774 | { | ||
1775 | struct v4l2_encoder_cmd *p = arg; | ||
1776 | |||
1777 | ret = ops->vidioc_encoder_cmd(file, fh, p); | ||
1778 | if (!ret) | ||
1779 | dbgarg(cmd, "cmd=%d, flags=%x\n", p->cmd, p->flags); | ||
1780 | break; | ||
1781 | } | ||
1782 | case VIDIOC_TRY_ENCODER_CMD: | ||
1783 | { | ||
1784 | struct v4l2_encoder_cmd *p = arg; | ||
1785 | |||
1786 | ret = ops->vidioc_try_encoder_cmd(file, fh, p); | ||
1787 | if (!ret) | ||
1788 | dbgarg(cmd, "cmd=%d, flags=%x\n", p->cmd, p->flags); | ||
1789 | break; | ||
1790 | } | ||
1791 | case VIDIOC_DECODER_CMD: | ||
1792 | { | ||
1793 | struct v4l2_decoder_cmd *p = arg; | ||
1794 | |||
1795 | ret = ops->vidioc_decoder_cmd(file, fh, p); | ||
1796 | if (!ret) | ||
1797 | dbgarg(cmd, "cmd=%d, flags=%x\n", p->cmd, p->flags); | ||
1798 | break; | ||
1799 | } | ||
1800 | case VIDIOC_TRY_DECODER_CMD: | ||
1801 | { | ||
1802 | struct v4l2_decoder_cmd *p = arg; | ||
1803 | |||
1804 | ret = ops->vidioc_try_decoder_cmd(file, fh, p); | ||
1805 | if (!ret) | ||
1806 | dbgarg(cmd, "cmd=%d, flags=%x\n", p->cmd, p->flags); | ||
1807 | break; | ||
1808 | } | ||
1809 | case VIDIOC_G_SLICED_VBI_CAP: | 1778 | case VIDIOC_G_SLICED_VBI_CAP: |
1810 | { | 1779 | { |
1811 | struct v4l2_sliced_vbi_cap *p = arg; | 1780 | struct v4l2_sliced_vbi_cap *p = arg; |