aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml969
-rw-r--r--include/linux/videodev2.h169
2 files changed, 1137 insertions, 1 deletions
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index e2046754e871..85164016ed26 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -329,6 +329,22 @@ minimum value disables backlight compensation.</entry>
329<constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry> 329<constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry>
330 </row> 330 </row>
331 <row> 331 <row>
332 <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry>
333 <entry>integer</entry>
334 <entry>This is a read-only control that can be read by the application
335and used as a hint to determine the number of CAPTURE buffers to pass to REQBUFS.
336The value is the minimum number of CAPTURE buffers that is necessary for hardware
337to work.</entry>
338 </row>
339 <row>
340 <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_OUTPUT</constant></entry>
341 <entry>integer</entry>
342 <entry>This is a read-only control that can be read by the application
343and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS.
344The value is the minimum number of OUTPUT buffers that is necessary for hardware
345to work.</entry>
346 </row>
347 <row>
332 <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry> 348 <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry>
333 <entry></entry> 349 <entry></entry>
334 <entry>ID of the first custom (driver specific) control. 350 <entry>ID of the first custom (driver specific) control.
@@ -1417,6 +1433,959 @@ of the video. The supplied 32-bit integer is interpreted as follows (bit
1417 </tbody> 1433 </tbody>
1418 </entrytbl> 1434 </entrytbl>
1419 </row> 1435 </row>
1436
1437
1438 <row><entry></entry></row>
1439 <row>
1440 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry>
1441 <entry>boolean</entry>
1442 </row>
1443 <row><entry spanname="descr">If enabled the decoder expects to receive a single slice per buffer, otherwise
1444the decoder expects a single frame in per buffer. Applicable to the decoder, all codecs.
1445</entry>
1446 </row>
1447
1448 <row><entry></entry></row>
1449 <row>
1450 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE</constant>&nbsp;</entry>
1451 <entry>boolean</entry>
1452 </row>
1453 <row><entry spanname="descr">Enable writing sample aspect ratio in the Video Usability Information.
1454Applicable to the H264 encoder.</entry>
1455 </row>
1456
1457 <row><entry></entry></row>
1458 <row>
1459 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC</constant>&nbsp;</entry>
1460 <entry>enum&nbsp;v4l2_mpeg_video_h264_vui_sar_idc</entry>
1461 </row>
1462 <row><entry spanname="descr">VUI sample aspect ratio indicator for H.264 encoding. The value
1463is defined in the table E-1 in the standard. Applicable to the H264 encoder.</entry>
1464 </row>
1465 <row>
1466 <entrytbl spanname="descr" cols="2">
1467 <tbody valign="top">
1468
1469 <row>
1470 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED</constant>&nbsp;</entry>
1471 <entry>Unspecified</entry>
1472 </row>
1473 <row>
1474 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1</constant>&nbsp;</entry>
1475 <entry>1x1</entry>
1476 </row>
1477 <row>
1478 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11</constant>&nbsp;</entry>
1479 <entry>12x11</entry>
1480 </row>
1481 <row>
1482 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11</constant>&nbsp;</entry>
1483 <entry>10x11</entry>
1484 </row>
1485 <row>
1486 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11</constant>&nbsp;</entry>
1487 <entry>16x11</entry>
1488 </row>
1489 <row>
1490 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33</constant>&nbsp;</entry>
1491 <entry>40x33</entry>
1492 </row>
1493 <row>
1494 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11</constant>&nbsp;</entry>
1495 <entry>24x11</entry>
1496 </row>
1497 <row>
1498 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11</constant>&nbsp;</entry>
1499 <entry>20x11</entry>
1500 </row>
1501 <row>
1502 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11</constant>&nbsp;</entry>
1503 <entry>32x11</entry>
1504 </row>
1505 <row>
1506 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33</constant>&nbsp;</entry>
1507 <entry>80x33</entry>
1508 </row>
1509 <row>
1510 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11</constant>&nbsp;</entry>
1511 <entry>18x11</entry>
1512 </row>
1513 <row>
1514 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11</constant>&nbsp;</entry>
1515 <entry>15x11</entry>
1516 </row>
1517 <row>
1518 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33</constant>&nbsp;</entry>
1519 <entry>64x33</entry>
1520 </row>
1521 <row>
1522 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99</constant>&nbsp;</entry>
1523 <entry>160x99</entry>
1524 </row>
1525 <row>
1526 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3</constant>&nbsp;</entry>
1527 <entry>4x3</entry>
1528 </row>
1529 <row>
1530 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2</constant>&nbsp;</entry>
1531 <entry>3x2</entry>
1532 </row>
1533 <row>
1534 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1</constant>&nbsp;</entry>
1535 <entry>2x1</entry>
1536 </row>
1537 <row>
1538 <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED</constant>&nbsp;</entry>
1539 <entry>Extended SAR</entry>
1540 </row>
1541 </tbody>
1542 </entrytbl>
1543 </row>
1544
1545 <row><entry></entry></row>
1546 <row>
1547 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH</constant>&nbsp;</entry>
1548 <entry>integer</entry>
1549 </row>
1550 <row><entry spanname="descr">Extended sample aspect ratio width for H.264 VUI encoding.
1551Applicable to the H264 encoder.</entry>
1552 </row>
1553
1554 <row><entry></entry></row>
1555 <row>
1556 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT</constant>&nbsp;</entry>
1557 <entry>integer</entry>
1558 </row>
1559 <row><entry spanname="descr">Extended sample aspect ratio height for H.264 VUI encoding.
1560Applicable to the H264 encoder.</entry>
1561 </row>
1562
1563 <row><entry></entry></row>
1564 <row>
1565 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LEVEL</constant>&nbsp;</entry>
1566 <entry>enum&nbsp;v4l2_mpeg_video_h264_level</entry>
1567 </row>
1568 <row><entry spanname="descr">The level information for the H264 video elementary stream.
1569Applicable to the H264 encoder.
1570Possible values are:</entry>
1571 </row>
1572 <row>
1573 <entrytbl spanname="descr" cols="2">
1574 <tbody valign="top">
1575 <row>
1576 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_0</constant>&nbsp;</entry>
1577 <entry>Level 1.0</entry>
1578 </row>
1579 <row>
1580 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1B</constant>&nbsp;</entry>
1581 <entry>Level 1B</entry>
1582 </row>
1583 <row>
1584 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_1</constant>&nbsp;</entry>
1585 <entry>Level 1.1</entry>
1586 </row>
1587 <row>
1588 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_2</constant>&nbsp;</entry>
1589 <entry>Level 1.2</entry>
1590 </row>
1591 <row>
1592 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_3</constant>&nbsp;</entry>
1593 <entry>Level 1.3</entry>
1594 </row>
1595 <row>
1596 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_0</constant>&nbsp;</entry>
1597 <entry>Level 2.0</entry>
1598 </row>
1599 <row>
1600 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_1</constant>&nbsp;</entry>
1601 <entry>Level 2.1</entry>
1602 </row>
1603 <row>
1604 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_2</constant>&nbsp;</entry>
1605 <entry>Level 2.2</entry>
1606 </row>
1607 <row>
1608 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_0</constant>&nbsp;</entry>
1609 <entry>Level 3.0</entry>
1610 </row>
1611 <row>
1612 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_1</constant>&nbsp;</entry>
1613 <entry>Level 3.1</entry>
1614 </row>
1615 <row>
1616 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_2</constant>&nbsp;</entry>
1617 <entry>Level 3.2</entry>
1618 </row>
1619 <row>
1620 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_0</constant>&nbsp;</entry>
1621 <entry>Level 4.0</entry>
1622 </row>
1623 <row>
1624 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_1</constant>&nbsp;</entry>
1625 <entry>Level 4.1</entry>
1626 </row>
1627 <row>
1628 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_2</constant>&nbsp;</entry>
1629 <entry>Level 4.2</entry>
1630 </row>
1631 <row>
1632 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_5_0</constant>&nbsp;</entry>
1633 <entry>Level 5.0</entry>
1634 </row>
1635 <row>
1636 <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_5_1</constant>&nbsp;</entry>
1637 <entry>Level 5.1</entry>
1638 </row>
1639 </tbody>
1640 </entrytbl>
1641 </row>
1642
1643 <row><entry></entry></row>
1644 <row>
1645 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL</constant>&nbsp;</entry>
1646 <entry>enum&nbsp;v4l2_mpeg_video_mpeg4_level</entry>
1647 </row>
1648 <row><entry spanname="descr">The level information for the MPEG4 elementary stream.
1649Applicable to the MPEG4 encoder.
1650Possible values are:</entry>
1651 </row>
1652 <row>
1653 <entrytbl spanname="descr" cols="2">
1654 <tbody valign="top">
1655 <row>
1656 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_0</constant>&nbsp;</entry>
1657 <entry>Level 0</entry>
1658 </row>
1659 <row>
1660 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_0B</constant>&nbsp;</entry>
1661 <entry>Level 0b</entry>
1662 </row>
1663 <row>
1664 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_1</constant>&nbsp;</entry>
1665 <entry>Level 1</entry>
1666 </row>
1667 <row>
1668 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_2</constant>&nbsp;</entry>
1669 <entry>Level 2</entry>
1670 </row>
1671 <row>
1672 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_3</constant>&nbsp;</entry>
1673 <entry>Level 3</entry>
1674 </row>
1675 <row>
1676 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_3B</constant>&nbsp;</entry>
1677 <entry>Level 3b</entry>
1678 </row>
1679 <row>
1680 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_4</constant>&nbsp;</entry>
1681 <entry>Level 4</entry>
1682 </row>
1683 <row>
1684 <entry><constant>V4L2_MPEG_VIDEO_LEVEL_5</constant>&nbsp;</entry>
1685 <entry>Level 5</entry>
1686 </row>
1687 </tbody>
1688 </entrytbl>
1689 </row>
1690
1691 <row><entry></entry></row>
1692 <row>
1693 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_PROFILE</constant>&nbsp;</entry>
1694 <entry>enum&nbsp;v4l2_mpeg_h264_profile</entry>
1695 </row>
1696 <row><entry spanname="descr">The profile information for H264.
1697Applicable to the H264 encoder.
1698Possible values are:</entry>
1699 </row>
1700 <row>
1701 <entrytbl spanname="descr" cols="2">
1702 <tbody valign="top">
1703 <row>
1704 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE</constant>&nbsp;</entry>
1705 <entry>Baseline profile</entry>
1706 </row>
1707 <row>
1708 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE</constant>&nbsp;</entry>
1709 <entry>Constrained Baseline profile</entry>
1710 </row>
1711 <row>
1712 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_MAIN</constant>&nbsp;</entry>
1713 <entry>Main profile</entry>
1714 </row>
1715 <row>
1716 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED</constant>&nbsp;</entry>
1717 <entry>Extended profile</entry>
1718 </row>
1719 <row>
1720 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH</constant>&nbsp;</entry>
1721 <entry>High profile</entry>
1722 </row>
1723 <row>
1724 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10</constant>&nbsp;</entry>
1725 <entry>High 10 profile</entry>
1726 </row>
1727 <row>
1728 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422</constant>&nbsp;</entry>
1729 <entry>High 422 profile</entry>
1730 </row>
1731 <row>
1732 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE</constant>&nbsp;</entry>
1733 <entry>High 444 Predictive profile</entry>
1734 </row>
1735 <row>
1736 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA</constant>&nbsp;</entry>
1737 <entry>High 10 Intra profile</entry>
1738 </row>
1739 <row>
1740 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA</constant>&nbsp;</entry>
1741 <entry>High 422 Intra profile</entry>
1742 </row>
1743 <row>
1744 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA</constant>&nbsp;</entry>
1745 <entry>High 444 Intra profile</entry>
1746 </row>
1747 <row>
1748 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA</constant>&nbsp;</entry>
1749 <entry>CAVLC 444 Intra profile</entry>
1750 </row>
1751 <row>
1752 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE</constant>&nbsp;</entry>
1753 <entry>Scalable Baseline profile</entry>
1754 </row>
1755 <row>
1756 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH</constant>&nbsp;</entry>
1757 <entry>Scalable High profile</entry>
1758 </row>
1759 <row>
1760 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA</constant>&nbsp;</entry>
1761 <entry>Scalable High Intra profile</entry>
1762 </row>
1763 <row>
1764 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH</constant>&nbsp;</entry>
1765 <entry>Stereo High profile</entry>
1766 </row>
1767 <row>
1768 <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH</constant>&nbsp;</entry>
1769 <entry>Multiview High profile</entry>
1770 </row>
1771
1772 </tbody>
1773 </entrytbl>
1774 </row>
1775
1776 <row><entry></entry></row>
1777 <row>
1778 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE</constant>&nbsp;</entry>
1779 <entry>enum&nbsp;v4l2_mpeg_mpeg4_profile</entry>
1780 </row>
1781 <row><entry spanname="descr">The profile information for MPEG4.
1782Applicable to the MPEG4 encoder.
1783Possible values are:</entry>
1784 </row>
1785 <row>
1786 <entrytbl spanname="descr" cols="2">
1787 <tbody valign="top">
1788 <row>
1789 <entry><constant>V4L2_MPEG_VIDEO_PROFILE_SIMPLE</constant>&nbsp;</entry>
1790 <entry>Simple profile</entry>
1791 </row>
1792 <row>
1793 <entry><constant>V4L2_MPEG_VIDEO_PROFILE_ADVANCED_SIMPLE</constant>&nbsp;</entry>
1794 <entry>Advanced Simple profile</entry>
1795 </row>
1796 <row>
1797 <entry><constant>V4L2_MPEG_VIDEO_PROFILE_CORE</constant>&nbsp;</entry>
1798 <entry>Core profile</entry>
1799 </row>
1800 <row>
1801 <entry><constant>V4L2_MPEG_VIDEO_PROFILE_SIMPLE_SCALABLE</constant>&nbsp;</entry>
1802 <entry>Simple Scalable profile</entry>
1803 </row>
1804 <row>
1805 <entry><constant>V4L2_MPEG_VIDEO_PROFILE_ADVANCED_CODING_EFFICIENCY</constant>&nbsp;</entry>
1806 <entry></entry>
1807 </row>
1808 </tbody>
1809 </entrytbl>
1810 </row>
1811
1812 <row><entry></entry></row>
1813 <row>
1814 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MAX_REF_PIC</constant>&nbsp;</entry>
1815 <entry>integer</entry>
1816 </row>
1817 <row><entry spanname="descr">The maximum number of reference pictures used for encoding.
1818Applicable to the encoder.
1819</entry>
1820 </row>
1821
1822 <row><entry></entry></row>
1823 <row>
1824 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant>&nbsp;</entry>
1825 <entry>enum&nbsp;v4l2_mpeg_multi_slice_mode</entry>
1826 </row>
1827 <row><entry spanname="descr">Determines how the encoder should handle division of frame into slices.
1828Applicable to the encoder.
1829Possible values are:</entry>
1830 </row>
1831 <row>
1832 <entrytbl spanname="descr" cols="2">
1833 <tbody valign="top">
1834 <row>
1835 <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE</constant>&nbsp;</entry>
1836 <entry>Single slice per frame.</entry>
1837 </row>
1838 <row>
1839 <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</constant>&nbsp;</entry>
1840 <entry>Multiple slices with set maximum number of macroblocks per slice.</entry>
1841 </row>
1842 <row>
1843 <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</constant>&nbsp;</entry>
1844 <entry>Multiple slice with set maximum size in bytes per slice.</entry>
1845 </row>
1846 </tbody>
1847 </entrytbl>
1848 </row>
1849
1850 <row><entry></entry></row>
1851 <row>
1852 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB</constant>&nbsp;</entry>
1853 <entry>integer</entry>
1854 </row>
1855 <row><entry spanname="descr">The maximum number of macroblocks in a slice. Used when
1856<constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant> is set to <constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</constant>.
1857Applicable to the encoder.</entry>
1858 </row>
1859
1860 <row><entry></entry></row>
1861 <row>
1862 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES</constant>&nbsp;</entry>
1863 <entry>integer</entry>
1864 </row>
1865 <row><entry spanname="descr">The maximum size of a slice in bytes. Used when
1866<constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant> is set to <constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</constant>.
1867Applicable to the encoder.</entry>
1868 </row>
1869
1870 <row><entry></entry></row>
1871 <row>
1872 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE</constant>&nbsp;</entry>
1873 <entry>enum&nbsp;v4l2_mpeg_h264_loop_filter_mode</entry>
1874 </row>
1875 <row><entry spanname="descr">Loop filter mode for H264 encoder.
1876Possible values are:</entry>
1877 </row>
1878 <row>
1879 <entrytbl spanname="descr" cols="2">
1880 <tbody valign="top">
1881 <row>
1882 <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED</constant>&nbsp;</entry>
1883 <entry>Loop filter is enabled.</entry>
1884 </row>
1885 <row>
1886 <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED</constant>&nbsp;</entry>
1887 <entry>Loop filter is disabled.</entry>
1888 </row>
1889 <row>
1890 <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY</constant>&nbsp;</entry>
1891 <entry>Loop filter is disabled at the slice boundary.</entry>
1892 </row>
1893 </tbody>
1894 </entrytbl>
1895 </row>
1896
1897 <row><entry></entry></row>
1898 <row>
1899 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA</constant>&nbsp;</entry>
1900 <entry>integer</entry>
1901 </row>
1902 <row><entry spanname="descr">Loop filter alpha coefficient, defined in the H264 standard.
1903Applicable to the H264 encoder.</entry>
1904 </row>
1905
1906 <row><entry></entry></row>
1907 <row>
1908 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA</constant>&nbsp;</entry>
1909 <entry>integer</entry>
1910 </row>
1911 <row><entry spanname="descr">Loop filter beta coefficient, defined in the H264 standard.
1912Applicable to the H264 encoder.</entry>
1913 </row>
1914
1915 <row><entry></entry></row>
1916 <row>
1917 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE</constant>&nbsp;</entry>
1918 <entry>enum&nbsp;v4l2_mpeg_h264_symbol_mode</entry>
1919 </row>
1920 <row><entry spanname="descr">Entropy coding mode for H264 - CABAC/CAVALC.
1921Applicable to the H264 encoder.
1922Possible values are:</entry>
1923 </row>
1924 <row>
1925 <entrytbl spanname="descr" cols="2">
1926 <tbody valign="top">
1927 <row>
1928 <entry><constant>V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC</constant>&nbsp;</entry>
1929 <entry>Use CAVLC entropy coding.</entry>
1930 </row>
1931 <row>
1932 <entry><constant>V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC</constant>&nbsp;</entry>
1933 <entry>Use CABAC entropy coding.</entry>
1934 </row>
1935 </tbody>
1936 </entrytbl>
1937 </row>
1938
1939 <row><entry></entry></row>
1940 <row>
1941 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM</constant>&nbsp;</entry>
1942 <entry>boolean</entry>
1943 </row>
1944 <row><entry spanname="descr">Enable 8X8 transform for H264. Applicable to the H264 encoder.</entry>
1945 </row>
1946
1947 <row><entry></entry></row>
1948 <row>
1949 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB</constant>&nbsp;</entry>
1950 <entry>integer</entry>
1951 </row>
1952 <row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
1953refreshed every frame. Each frame a succesive set of macroblocks is refreshed until the cycle completes and starts from the
1954top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
1955 </row>
1956
1957 <row><entry></entry></row>
1958 <row>
1959 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE</constant>&nbsp;</entry>
1960 <entry>boolean</entry>
1961 </row>
1962 <row><entry spanname="descr">Frame level rate control enable.
1963If this control is disabled then the quantization parameter for each frame type is constant and set with appropriate controls
1964(e.g. <constant>V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</constant>).
1965If frame rate control is enabled then quantization parameter is adjusted to meet the chosen bitrate. Minimum and maximum value
1966for the quantization parameter can be set with appropriate controls (e.g. <constant>V4L2_CID_MPEG_VIDEO_H263_MIN_QP</constant>).
1967Applicable to encoders.</entry>
1968 </row>
1969
1970 <row><entry></entry></row>
1971 <row>
1972 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>&nbsp;</entry>
1973 <entry>boolean</entry>
1974 </row>
1975 <row><entry spanname="descr">Macroblock level rate control enable.
1976Applicable to the MPEG4 and H264 encoders.</entry>
1977 </row>
1978
1979 <row><entry></entry></row>
1980 <row>
1981 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_QPEL</constant>&nbsp;</entry>
1982 <entry>boolean</entry>
1983 </row>
1984 <row><entry spanname="descr">Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4 encoder.</entry>
1985 </row>
1986
1987 <row><entry></entry></row>
1988 <row>
1989 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</constant>&nbsp;</entry>
1990 <entry>integer</entry>
1991 </row>
1992 <row><entry spanname="descr">Quantization parameter for an I frame for H263. Valid range: from 1 to 31.</entry>
1993 </row>
1994
1995 <row><entry></entry></row>
1996 <row>
1997 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_MIN_QP</constant>&nbsp;</entry>
1998 <entry>integer</entry>
1999 </row>
2000 <row><entry spanname="descr">Minimum quantization parameter for H263. Valid range: from 1 to 31.</entry>
2001 </row>
2002
2003 <row><entry></entry></row>
2004 <row>
2005 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_MAX_QP</constant>&nbsp;</entry>
2006 <entry>integer</entry>
2007 </row>
2008 <row><entry spanname="descr">Maximum quantization parameter for H263. Valid range: from 1 to 31.</entry>
2009 </row>
2010
2011 <row><entry></entry></row>
2012 <row>
2013 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP</constant>&nbsp;</entry>
2014 <entry>integer</entry>
2015 </row>
2016 <row><entry spanname="descr">Quantization parameter for an P frame for H263. Valid range: from 1 to 31.</entry>
2017 </row>
2018
2019 <row><entry></entry></row>
2020 <row>
2021 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP</constant>&nbsp;</entry>
2022 <entry>integer</entry>
2023 </row>
2024 <row><entry spanname="descr">Quantization parameter for an B frame for H263. Valid range: from 1 to 31.</entry>
2025 </row>
2026
2027 <row><entry></entry></row>
2028 <row>
2029 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP</constant>&nbsp;</entry>
2030 <entry>integer</entry>
2031 </row>
2032 <row><entry spanname="descr">Quantization parameter for an I frame for H264. Valid range: from 0 to 51.</entry>
2033 </row>
2034
2035 <row><entry></entry></row>
2036 <row>
2037 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MIN_QP</constant>&nbsp;</entry>
2038 <entry>integer</entry>
2039 </row>
2040 <row><entry spanname="descr">Minimum quantization parameter for H264. Valid range: from 0 to 51.</entry>
2041 </row>
2042
2043 <row><entry></entry></row>
2044 <row>
2045 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MAX_QP</constant>&nbsp;</entry>
2046 <entry>integer</entry>
2047 </row>
2048 <row><entry spanname="descr">Maximum quantization parameter for H264. Valid range: from 0 to 51.</entry>
2049 </row>
2050
2051 <row><entry></entry></row>
2052 <row>
2053 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP</constant>&nbsp;</entry>
2054 <entry>integer</entry>
2055 </row>
2056 <row><entry spanname="descr">Quantization parameter for an P frame for H264. Valid range: from 0 to 51.</entry>
2057 </row>
2058
2059 <row><entry></entry></row>
2060 <row>
2061 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP</constant>&nbsp;</entry>
2062 <entry>integer</entry>
2063 </row>
2064 <row><entry spanname="descr">Quantization parameter for an B frame for H264. Valid range: from 0 to 51.</entry>
2065 </row>
2066
2067 <row><entry></entry></row>
2068 <row>
2069 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP</constant>&nbsp;</entry>
2070 <entry>integer</entry>
2071 </row>
2072 <row><entry spanname="descr">Quantization parameter for an I frame for MPEG4. Valid range: from 1 to 31.</entry>
2073 </row>
2074
2075 <row><entry></entry></row>
2076 <row>
2077 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP</constant>&nbsp;</entry>
2078 <entry>integer</entry>
2079 </row>
2080 <row><entry spanname="descr">Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.</entry>
2081 </row>
2082
2083 <row><entry></entry></row>
2084 <row>
2085 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP</constant>&nbsp;</entry>
2086 <entry>integer</entry>
2087 </row>
2088 <row><entry spanname="descr">Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.</entry>
2089 </row>
2090
2091 <row><entry></entry></row>
2092 <row>
2093 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP</constant>&nbsp;</entry>
2094 <entry>integer</entry>
2095 </row>
2096 <row><entry spanname="descr">Quantization parameter for an P frame for MPEG4. Valid range: from 1 to 31.</entry>
2097 </row>
2098
2099 <row><entry></entry></row>
2100 <row>
2101 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP</constant>&nbsp;</entry>
2102 <entry>integer</entry>
2103 </row>
2104 <row><entry spanname="descr">Quantization parameter for an B frame for MPEG4. Valid range: from 1 to 31.</entry>
2105 </row>
2106
2107 <row><entry></entry></row>
2108 <row>
2109 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_SIZE</constant>&nbsp;</entry>
2110 <entry>integer</entry>
2111 </row>
2112 <row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
2113The VBV is defined in the standard as a mean to verify that the produced stream will be succesfully decoded.
2114The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the
2115output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an
2116encoder or editing process may produce.".
2117Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
2118 </row>
2119
2120 <row><entry></entry></row>
2121 <row>
2122 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
2123 <entry>integer</entry>
2124 </row>
2125 <row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
2126The CPB is defined in the H264 standard as a mean to verify that the produced stream will be succesfully decoded.
2127Applicable to the H264 encoder.</entry>
2128 </row>
2129
2130 <row><entry></entry></row>
2131 <row>
2132 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_I_PERIOD</constant>&nbsp;</entry>
2133 <entry>integer</entry>
2134 </row>
2135 <row><entry spanname="descr">Period between I-frames in the open GOP for H264. In case of an open GOP
2136this is the period between two I-frames. The period between IDR (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE control.
2137An IDR frame, which stands for Instantaneous Decoding Refresh is an I-frame after which no prior frames are
2138referenced. This means that a stream can be restarted from an IDR frame without the need to store or decode any
2139previous frames. Applicable to the H264 encoder.</entry>
2140 </row>
2141
2142 <row><entry></entry></row>
2143 <row>
2144 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_HEADER_MODE</constant>&nbsp;</entry>
2145 <entry>enum&nbsp;v4l2_mpeg_header_mode</entry>
2146 </row>
2147 <row><entry spanname="descr">Determines whether the header is returned as the first buffer or is
2148it returned together with the first frame. Applicable to encoders.
2149Possible values are:</entry>
2150 </row>
2151 <row>
2152 <entrytbl spanname="descr" cols="2">
2153 <tbody valign="top">
2154 <row>
2155 <entry><constant>V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE</constant>&nbsp;</entry>
2156 <entry>The stream header is returned separately in the first buffer.</entry>
2157 </row>
2158 <row>
2159 <entry><constant>V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME</constant>&nbsp;</entry>
2160 <entry>The stream header is returned together with the first encoded frame.</entry>
2161 </row>
2162 </tbody>
2163 </entrytbl>
2164 </row>
2165 <row><entry></entry></row>
2166 <row>
2167 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant>&nbsp;</entry>
2168 <entry>boolean</entry>
2169 </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder.
2170Applicable to the MPEG4 decoder.</entry>
2171 </row>
2172 <row><entry></entry></row>
2173 <row>
2174 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES</constant>&nbsp;</entry>
2175 <entry>integer</entry>
2176 </row><row><entry spanname="descr">vop_time_increment_resolution value for MPEG4. Applicable to the MPEG4 encoder.</entry>
2177 </row>
2178 <row><entry></entry></row>
2179 <row>
2180 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC</constant>&nbsp;</entry>
2181 <entry>integer</entry>
2182 </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry>
2183 </row>
2184
2185 </tbody>
2186 </tgroup>
2187 </table>
2188 </section>
2189
2190 <section>
2191 <title>MFC 5.1 MPEG Controls</title>
2192
2193 <para>The following MPEG class controls deal with MPEG
2194decoding and encoding settings that are specific to the Multi Format Codec 5.1 device present
2195in the S5P family of SoCs by Samsung.
2196</para>
2197
2198 <table pgwide="1" frame="none" id="mfc51-control-id">
2199 <title>MFC 5.1 Control IDs</title>
2200 <tgroup cols="4">
2201 <colspec colname="c1" colwidth="1*" />
2202 <colspec colname="c2" colwidth="6*" />
2203 <colspec colname="c3" colwidth="2*" />
2204 <colspec colname="c4" colwidth="6*" />
2205 <spanspec namest="c1" nameend="c2" spanname="id" />
2206 <spanspec namest="c2" nameend="c4" spanname="descr" />
2207 <thead>
2208 <row>
2209 <entry spanname="id" align="left">ID</entry>
2210 <entry align="left">Type</entry>
2211 </row><row><entry spanname="descr" align="left">Description</entry>
2212 </row>
2213 </thead>
2214 <tbody valign="top">
2215 <row><entry></entry></row>
2216 <row>
2217 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>
2218 <entry>integer</entry>
2219 </row><row><entry spanname="descr">If the display delay is enabled then the decoder has to return a
2220CAPTURE buffer after processing a certain number of OUTPUT buffers. If this number is low, then it may result in
2221buffers not being dequeued in display order. In addition hardware may still use those buffers as reference, thus
2222application should not write to those buffers. This feature can be used for example for generating thumbnails of videos.
2223Applicable to the H264 decoder.
2224 </entry>
2225 </row>
2226 <row><entry></entry></row>
2227 <row>
2228 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>&nbsp;</entry>
2229 <entry>integer</entry>
2230 </row><row><entry spanname="descr">Display delay value for H264 decoder.
2231The decoder is forced to return a decoded frame after the set 'display delay' number of frames. If this number is
2232low it may result in frames returned out of dispaly order, in addition the hardware may still be using the returned buffer
2233as a reference picture for subsequent frames.
2234</entry>
2235 </row>
2236 <row><entry></entry></row>
2237 <row>
2238 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P</constant>&nbsp;</entry>
2239 <entry>integer</entry>
2240 </row><row><entry spanname="descr">The number of reference pictures used for encoding a P picture.
2241Applicable to the H264 encoder.</entry>
2242 </row>
2243 <row><entry></entry></row>
2244 <row>
2245 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_PADDING</constant>&nbsp;</entry>
2246 <entry>boolean</entry>
2247 </row><row><entry spanname="descr">Padding enable in the encoder - use a color instead of repeating border pixels.
2248Applicable to encoders.</entry>
2249 </row>
2250 <row><entry></entry></row>
2251 <row>
2252 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV</constant>&nbsp;</entry>
2253 <entry>integer</entry>
2254 </row><row><entry spanname="descr">Padding color in the encoder. Applicable to encoders. The supplied 32-bit integer is interpreted as follows (bit
22550 = least significant bit):</entry>
2256 </row>
2257 <row>
2258 <entrytbl spanname="descr" cols="2">
2259 <tbody valign="top">
2260 <row>
2261 <entry>Bit 0:7</entry>
2262 <entry>V chrominance information</entry>
2263 </row>
2264 <row>
2265 <entry>Bit 8:15</entry>
2266 <entry>U chrominance information</entry>
2267 </row>
2268 <row>
2269 <entry>Bit 16:23</entry>
2270 <entry>Y luminance information</entry>
2271 </row>
2272 <row>
2273 <entry>Bit 24:31</entry>
2274 <entry>Must be zero.</entry>
2275 </row>
2276 </tbody>
2277 </entrytbl>
2278 </row>
2279 <row><entry></entry></row>
2280 <row>
2281 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF</constant>&nbsp;</entry>
2282 <entry>integer</entry>
2283 </row><row><entry spanname="descr">Reaction coefficient for MFC rate control. Applicable to encoders.
2284<para>Note 1: Valid only when the frame level RC is enabled.</para>
2285<para>Note 2: For tight CBR, this field must be small (ex. 2 ~ 10).
2286For VBR, this field must be large (ex. 100 ~ 1000).</para>
2287<para>Note 3: It is not recommended to use the greater number than FRAME_RATE * (10^9 / BIT_RATE).</para>
2288</entry>
2289 </row>
2290 <row><entry></entry></row>
2291 <row>
2292 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK</constant>&nbsp;</entry>
2293 <entry>boolean</entry>
2294 </row><row><entry spanname="descr">Adaptive rate control for dark region.
2295Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2296Applicable to the H264 encoder.</entry>
2297 </row>
2298 <row><entry></entry></row>
2299 <row>
2300 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH</constant>&nbsp;</entry>
2301 <entry>boolean</entry>
2302 </row><row><entry spanname="descr">Adaptive rate control for smooth region.
2303Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2304Applicable to the H264 encoder.</entry>
2305 </row>
2306 <row><entry></entry></row>
2307 <row>
2308 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC</constant>&nbsp;</entry>
2309 <entry>boolean</entry>
2310 </row><row><entry spanname="descr">Adaptive rate control for static region.
2311Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2312Applicable to the H264 encoder.</entry>
2313 </row>
2314 <row><entry></entry></row>
2315 <row>
2316 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY</constant>&nbsp;</entry>
2317 <entry>boolean</entry>
2318 </row><row><entry spanname="descr">Adaptive rate control for activity region.
2319Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2320Applicable to the H264 encoder.</entry>
2321 </row>
2322 <row><entry></entry></row>
2323 <row>
2324 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE</constant>&nbsp;</entry>
2325 <entry>enum&nbsp;v4l2_mpeg_mfc51_frame_skip_mode</entry>
2326 </row>
2327 <row><entry spanname="descr">
2328Indicates in what conditions the encoder should skip frames. If encoding a frame would cause the encoded stream to be larger then
2329a chosen data limit then the frame will be skipped.
2330Possible values are:</entry>
2331 </row>
2332 <row>
2333 <entrytbl spanname="descr" cols="2">
2334 <tbody valign="top">
2335 <row>
2336 <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED</constant>&nbsp;</entry>
2337 <entry>Frame skip mode is disabled.</entry>
2338 </row>
2339 <row>
2340 <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT</constant>&nbsp;</entry>
2341 <entry>Frame skip mode enabled and buffer limit is set by the chosen level and is defined by the standard.</entry>
2342 </row>
2343 <row>
2344 <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT</constant>&nbsp;</entry>
2345 <entry>Frame skip mode enabled and buffer limit is set by the VBV (MPEG1/2/4) or CPB (H264) buffer size control.</entry>
2346 </row>
2347 </tbody>
2348 </entrytbl>
2349 </row>
2350 <row><entry></entry></row>
2351 <row>
2352 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT</constant>&nbsp;</entry>
2353 <entry>integer</entry>
2354 </row><row><entry spanname="descr">Enable rate-control with fixed target bit.
2355If this setting is enabled, then the rate control logic of the encoder will calculate the average bitrate
2356for a GOP and keep it below or equal the set bitrate target. Otherwise the rate control logic calculates the
2357overall average bitrate for the stream and keeps it below or equal to the set bitrate. In the first case
2358the average bitrate for the whole stream will be smaller then the set bitrate. This is caused because the
2359average is calculated for smaller number of frames, on the other hand enabling this setting will ensure that
2360the stream will meet tight bandwidth contraints. Applicable to encoders.
2361</entry>
2362 </row>
2363 <row><entry></entry></row>
2364 <row>
2365 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE</constant>&nbsp;</entry>
2366 <entry>enum&nbsp;v4l2_mpeg_mfc51_force_frame_type</entry>
2367 </row>
2368 <row><entry spanname="descr">Force a frame type for the next queued buffer. Applicable to encoders.
2369Possible values are:</entry>
2370 </row>
2371 <row>
2372 <entrytbl spanname="descr" cols="2">
2373 <tbody valign="top">
2374 <row>
2375 <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED</constant>&nbsp;</entry>
2376 <entry>Forcing a specific frame type disabled.</entry>
2377 </row>
2378 <row>
2379 <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME</constant>&nbsp;</entry>
2380 <entry>Force an I-frame.</entry>
2381 </row>
2382 <row>
2383 <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED</constant>&nbsp;</entry>
2384 <entry>Force a non-coded frame.</entry>
2385 </row>
2386 </tbody>
2387 </entrytbl>
2388 </row>
1420 </tbody> 2389 </tbody>
1421 </tgroup> 2390 </tgroup>
1422 </table> 2391 </table>
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index cb22a2c7a467..fca24cc50436 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1156,8 +1156,13 @@ enum v4l2_colorfx {
1156#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) 1156#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37)
1157#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) 1157#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38)
1158 1158
1159#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39)
1160#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40)
1161
1159/* last CID + 1 */ 1162/* last CID + 1 */
1160#define V4L2_CID_LASTP1 (V4L2_CID_BASE+39) 1163#define V4L2_CID_LASTP1 (V4L2_CID_BASE+41)
1164
1165/* Minimum number of buffer neede by the device */
1161 1166
1162/* MPEG-class control IDs defined by V4L2 */ 1167/* MPEG-class control IDs defined by V4L2 */
1163#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) 1168#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
@@ -1329,6 +1334,141 @@ enum v4l2_mpeg_video_bitrate_mode {
1329#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) 1334#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209)
1330#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) 1335#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210)
1331#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) 1336#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211)
1337#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212)
1338#define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213)
1339#define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214)
1340#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215)
1341#define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216)
1342enum v4l2_mpeg_video_header_mode {
1343 V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,
1344 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
1345
1346};
1347#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217)
1348#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218)
1349#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219)
1350#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220)
1351#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221)
1352enum v4l2_mpeg_video_multi_slice_mode {
1353 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
1354 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
1355 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
1356};
1357#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)
1358#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
1359#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
1360#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302)
1361#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303)
1362#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304)
1363#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350)
1364#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351)
1365#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352)
1366#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353)
1367#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354)
1368#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355)
1369#define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356)
1370#define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357)
1371enum v4l2_mpeg_video_h264_entropy_mode {
1372 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0,
1373 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
1374};
1375#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358)
1376#define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359)
1377enum v4l2_mpeg_video_h264_level {
1378 V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0,
1379 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
1380 V4L2_MPEG_VIDEO_H264_LEVEL_1_1 = 2,
1381 V4L2_MPEG_VIDEO_H264_LEVEL_1_2 = 3,
1382 V4L2_MPEG_VIDEO_H264_LEVEL_1_3 = 4,
1383 V4L2_MPEG_VIDEO_H264_LEVEL_2_0 = 5,
1384 V4L2_MPEG_VIDEO_H264_LEVEL_2_1 = 6,
1385 V4L2_MPEG_VIDEO_H264_LEVEL_2_2 = 7,
1386 V4L2_MPEG_VIDEO_H264_LEVEL_3_0 = 8,
1387 V4L2_MPEG_VIDEO_H264_LEVEL_3_1 = 9,
1388 V4L2_MPEG_VIDEO_H264_LEVEL_3_2 = 10,
1389 V4L2_MPEG_VIDEO_H264_LEVEL_4_0 = 11,
1390 V4L2_MPEG_VIDEO_H264_LEVEL_4_1 = 12,
1391 V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13,
1392 V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14,
1393 V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15,
1394};
1395#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)
1396#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)
1397#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362)
1398enum v4l2_mpeg_video_h264_loop_filter_mode {
1399 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0,
1400 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
1401 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
1402};
1403#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363)
1404enum v4l2_mpeg_video_h264_profile {
1405 V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,
1406 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
1407 V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2,
1408 V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3,
1409 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4,
1410 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5,
1411 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6,
1412 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7,
1413 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8,
1414 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9,
1415 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10,
1416 V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11,
1417 V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12,
1418 V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH = 13,
1419 V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14,
1420 V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15,
1421 V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
1422};
1423#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
1424#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
1425#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366)
1426#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367)
1427enum v4l2_mpeg_video_h264_vui_sar_idc {
1428 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,
1429 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
1430 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11 = 2,
1431 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11 = 3,
1432 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4,
1433 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33 = 5,
1434 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11 = 6,
1435 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11 = 7,
1436 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8,
1437 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33 = 9,
1438 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11 = 10,
1439 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11 = 11,
1440 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12,
1441 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99 = 13,
1442 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3 = 14,
1443 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2 = 15,
1444 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,
1445 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17,
1446};
1447#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400)
1448#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)
1449#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402)
1450#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403)
1451#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404)
1452#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405)
1453enum v4l2_mpeg_video_mpeg4_level {
1454 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0,
1455 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
1456 V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2,
1457 V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3,
1458 V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4,
1459 V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5,
1460 V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,
1461 V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7,
1462};
1463#define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406)
1464enum v4l2_mpeg_video_mpeg4_profile {
1465 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0,
1466 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
1467 V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE = 2,
1468 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,
1469 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4,
1470};
1471#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407)
1332 1472
1333/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ 1473/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
1334#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) 1474#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
@@ -1371,6 +1511,33 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type {
1371#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) 1511#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10)
1372#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) 1512#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11)
1373 1513
1514/* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */
1515#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
1516
1517#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0)
1518#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1)
1519#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2)
1520enum v4l2_mpeg_mfc51_video_frame_skip_mode {
1521 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
1522 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
1523 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,
1524};
1525#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3)
1526enum v4l2_mpeg_mfc51_video_force_frame_type {
1527 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0,
1528 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
1529 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2,
1530};
1531#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4)
1532#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5)
1533#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6)
1534#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7)
1535#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50)
1536#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51)
1537#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52)
1538#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53)
1539#define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54)
1540
1374/* Camera class control IDs */ 1541/* Camera class control IDs */
1375#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) 1542#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
1376#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) 1543#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)