aboutsummaryrefslogtreecommitdiff
path: root/include/uapi/linux/dvb
Commit message (Collapse)AuthorAgeFilesLines
* Revert "media: dvb: Use fill count for dvb_ringbuffer"Gilad Broner2014-06-221-1/+4
| | | | | | | | | | | | | This reverts commit f3ba3f6a042102f9e834b2bee89796f0a0efd20e. In order to sync on buffer state with SDMX, demux manipulates the read/write pointers of dvb_ringbuffer directly to account for new data from SDMX. When dvb_ringbuffer is using fill count internally, updating the read/write pointers does not affect the fill count and so buffer is out of sync with SDMX. Change-Id: I70828ba3337e49c53da67862b20d5f2c119f4271 Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* media: dvb: Add buffer flushing APIGilad Broner2014-02-051-0/+4
| | | | | | | | | | | | Automatically flushing the output buffer when buffer overflows is not always the desired behavior as this discards pending data while user may actually want to read the data collected so far. Add a new module parameter to allow turning off the automatic buffer flushing as well as a new ioctl DMX_FLUSH_BUFFER to allow user to flush the output buffer manually. Change-Id: I191bfcdd1e3194cd47884f0eabbbaf36b0a44f7e Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* media: dvb: Use fill count for dvb_ringbufferGilad Broner2014-01-121-5/+2
| | | | | | | | | | | | | For circular buffer, to distinguish between a full buffer and an empty buffer, dvb_ringbuffer implementation reserved one slot to always be unused (so read and write offset can only be equal when buffer is empty). This is not suitable for working with circular buffers managed by hardware like TSPP2, as it causes the HW offsets and dvb_ringbuffer offset to be out-of-sync. Change-Id: I09749021d6d03c0f1319b358651350aa4b8dab70 Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* media: dvb: add support for extradata handling and trickmode playHaifeng Xu2013-11-221-0/+39
| | | | | | | | | The extradata handling support is added for extradata types. Trickmode play support is also added for fast forward, and rewind. The smooth trick mode playback is supported too. Change-Id: I8535c1e1c831e31b8c3aab73f9806e5639e9b9be Signed-off-by: Haifeng Xu <haifeng@codeaurora.org>
* media: dvb: TSPPv2 demux pluginGilad Broner2013-11-041-1/+11
| | | | | | | | | | Add new demux plugin to support TSPPv2 hardware. The plugin utilizes the HW capabilities of TSPPv2 to offload some processing such as: TS packet inspection, PID filtering, PES assembly, Indexing and more. Change-Id: I820237215e2fd812e2a6974c75b1d57601c59146 Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* media: dvb: Add detection of SEI messagesHamad Kadmany2013-09-041-0/+2
| | | | | | | | | | | | Video decoder expects SEI messages to be sent along with the data of the following frame instead of the preceding frame. Detection of SEI messages allows closure of previous frame data when SEI messages are encountered. Change-Id: I43a292c4518592d45373c63eb8f2edae14b3adcd Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Extend API for secure settingsHamad Kadmany2013-09-041-5/+47
| | | | | | | | | | | Some applications require setting of multiple cipher operations for a specific PID for either decryption and/or encryption. In addition, applications may need to play content from secured buffer after decryption was performed on the original content. Change-Id: Iaf0b7c0684d7b95156363b203f4e89b48eae8711 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Report maximum value of STCHamad Kadmany2013-09-041-0/+3
| | | | | | | | | Applications need to know the maximum possible value of STC that may be reported by demux to handle wrap-around in STC counter. Change-Id: I562a0a42523e3cb5473627e182fc68c42c326a14 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Clean-up capabilities of demux devicesHamad Kadmany2013-09-041-0/+3
| | | | | | | | | | demux kernel implementation exposed capabilities both to user-space applications and internally to demux-device layer. demux-device layer was changed to re-use the capabilities reported to user-space to avoid duplications and redefinitions of capabilities. Change-Id: Ib0eed8240c1bae0fce5ed7a1bae8129b185f3f87 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Add support for monitoring scrambling bitsHamad Kadmany2013-09-041-5/+40
| | | | | | | | Query of scrambling bits and notification when these change are required by some applications. Change-Id: If39dccb712c6bb14f2e277c8919eb34798f84146 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Add event notification on section timeoutHamad Kadmany2013-09-041-1/+9
| | | | | | | | | | | No events were sent to applications when timer expires waiting for section filter that was configured with timeout interval. Applications waiting for demux events using POLLPRI would never wake-up if such event occurs and would not get notified on the error. Change-Id: Id06340e893f3d5d014e3814d4886d945c70216f3 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Add support for section insertionHamad Kadmany2013-09-041-0/+42
| | | | | | | | | TS buffers insertion is required by some applications to insert modified tables into recorded stream in order to describe the content of the recording. Change-Id: Ib7ba3007efb30817c7ee13c2c1d284381eacbf59 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* msm: dvb: Pass STC attached to video packet in video stream-bufferHamad Kadmany2013-09-041-0/+3
| | | | | | | | STC may be used by video consumer to notify applications on the time of arrival of video frames. Change-Id: If7a00f6412a73621a1c665f0586f786ed06ace61 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Support indexing of recorded contentHamad Kadmany2013-09-041-2/+50
| | | | | | | | | | | Indexing of recorded content is required by applications in order to perform trick-modes on the recorded content. The feature allows applications to specify different kinds of indexing types and get notifications on the detected index entries in the recorded content. Change-Id: Idbda0c316fcc5d558e45a803e54e39f72aeecc9e Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Move video pattern search to dvb-demux levelHamad Kadmany2013-09-041-18/+32
| | | | | | | | | | | | | | | | Video pattern search is required for both video framing done at plug-in level and indexing to be done by dvb-demux level. The pattern search routine was moved as a common service at dvb-demux level so that it can be used by both. At plug-in level, the plug-in needs the video codec in order to perform the framing regardless of the indexing parameters, therefore indexing parameters was renamed to video codec. Change-Id: I2e3e648c3a7d09254e7284c25ca7550089887907 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Out-of-Band (OOB) commands supportGilad Broner2013-09-041-3/+30
| | | | | | | | | | | | | | | Extend demux API with ability to push OOB commands to the DVR device during playback from memory. OOB command is then received by all running filters. Two types of OOB commands are supported: 1. Data markers - these allow user to mark with an identifier certain points in the source stream, and be notified via the demux filters when those are reached. 2. End-of-Stream (EOS) - allow user to declare source stream has reached its end. This will make pending data readable to user and block any more data from being output. Change-Id: I3b3574718fa975ff7626663c38ed3b8f9e1853e4 Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* media: dvb: Add option to mask eventsHamad Kadmany2013-09-041-9/+39
| | | | | | | | | | Events reported by demux can be enable or disabled so that users can choose which events user is interested in. In addition user may enable an event but specify whether the event will cause the user to wake-up when poll with POLLPRI flag is used. Change-Id: I8398f3d8beaa03442881fc5b40753a1f91295929 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: mpq: Secure demux supportHamad Kadmany2013-09-041-2/+17
| | | | | | | | | | | | | | | This change adds support for demuxing of encrypted streams which current software demux implementation does not support. User-space API is extended to allow setting of key ladder information needed in order to perform decryption. If secure demux application is available, demuxing does not take place in the dvb demux sw filter anymore but instead is performed in the new secure demux, regardless of whether the stream is encrypted or not. Otherwise, the dvb demux sw filter will be used as before and demuxing of encrypted streams will not be available. Change-Id: If75a7b03d1f13d3b012250b87c25eaf6d6cbc399 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: Report error statistics in new PES eventsHamad Kadmany2013-09-041-1/+13
| | | | | | | | | | Report counters for transport error indicator, continuity-counter errors and total number of TS packet constructing a PES in the PES events so that applications can decide whether to decode or drop the packet based on the errors information. Change-Id: I8680163783a12c4f2518cd83fa0b3c7dfa882c34 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: mpq: Support new elementary stream data eventsLiron Kuch2013-09-041-6/+61
| | | | | | | | | | | | Video elemenatry stream data is usually passed from demux to a video consumer (e.g. video decoder) in kernel-space via tunneling. However there are cases when the video consumer is a user-space application controlled by the middleware. This change adds support for notifying user-space about newly available elementary stream data and associated meta-data, using the existing events queue mechanism. Change-Id: I6d104c6ad7ccc791b29b75e7bf376c985416585e Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
* media: dvb: External buffers support for decoder filtersGilad Broner2013-09-041-5/+48
| | | | | | | | | Extend Demux user-space API to set decoder buffers allocated externally by user, supporting multiple linear buffers or a single cyclic buffer. Internal decoder buffer allocation is still supported. Change-Id: I98c63fffa14b597945dff8b4ac2fde05d9719e1b Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* media: dvb: mpq: Add Support to use DeinterlacerAnanda Kishore2013-09-041-0/+7
| | | | | | | | Changes to use MDP Deinterlacer for Interlaced DVB Video content. Change-Id: I25d93b543aa987dcaa25fa9ff420da5e48d63b7b Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
* media: dvb: mpq: Add ioctl to set output buffer countAnanda Kishore2013-09-041-0/+1
| | | | | | | | | Video decoder Output Buffer count can be controlled by ioctl from userspace instead of using a pre-defined count value. Change-Id: Ia83e6adc936ef079d87fa5a4db5332763dab1cae Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
* media: dvb: Add support for external demux buffer allocationHamad Kadmany2013-09-041-0/+57
| | | | | | | | | | | demux input/output buffers were allocated internally by the driver, for MPQ use-cases there's a need for user-space MPQ player to allocate the buffers through ION driver and set them to demux similar to the way other kinds of buffers are managed in android multimedia stack for video Change-Id: I072185147ccef08f795c7bcf7c784156f0cd1781 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: mpq: Add support for dvb/videoAnanda Kishore2013-09-041-17/+133
| | | | | | | | | | Support for dvb/video interface for Qualcomm 8960 platform. This code provides standard DVB Video API and its extensions for broadcast scenario. Refer http://linuxtv.org/ for complete API specification. Change-Id: Ie60aa0719c6c7d9ab5d473382e3ef229c8b02be2 Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
* media: dvb: Add events API for demuxHamad Kadmany2013-09-041-1/+139
| | | | | | | | | | | user-space programs using demux require to be notified on several kinds of events such new PES event, new section event, new recording-chunk event and other error events. demux API was extended to meet this requirement Change-Id: I768b6acde346139e194a3e6637b6fc0fc9648446 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
* media: dvb: dvb-core: Extend get-capabilities APIHamad Kadmany2013-09-041-0/+53
| | | | | | | | | Provide richer information to applications about actual demux capabilities Change-Id: I5b849ea72366f5332f716735818b9f090c46de43 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org> (cherry picked from commit d2c325e05cce18145b4639eb22b205efedfb34c5)
* media: dvb: dvb-core: Add video indexing support for MPQ usecaseLiron Kuch2013-09-041-4/+30
| | | | | | | | | | | | | | | | MPQ uses dvb/demux and dvb/video for broadcast feature. Video indexing (or framing) is required for PVR use case or when the video decoder does not handle framing. Linux dvb-core was extended to support video indexing. New features: - Support passing video indexing parameters as part of PES filter parameters. - Support storing video indexing parameters per TS feed. Change-Id: I33289743cb93e8bc46ba8d6da88805326c89c523 Signed-off-by: Liron Kuch <lkuch@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
* media: dvb: dvb-core: Add new features for MPQ use-casesHamad Kadmany2013-09-041-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | MPQ requires dvb/demux and dvb/video devices for broadcast feature. Linux dvb-core was extended to enable extra features required for MPQ use-cases that dvb-core did not support originally. New features: - Add handling of transport streams with TS packets of 192-bytes (in addition to TS packets of 188-bytes), required for Bluray/DLNA transport streams. - Support mmap to optimize data transfer between kernel and user-space for high-bitrate streams. - Support pull-mode when playing from memory so that buffers are not overflowed as in the case of live playback (push-mode). - Support setting buffer-size of filters with data tunneled to decoder. Change-Id: Ia357186874165ba218773ede3cf5b5e2dab91567 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
* [media] demux.h: Remove duplicated enumMauro Carvalho Chehab2013-04-081-1/+1
| | | | | | | | | | | | "enum dmx_ts_pes" and "typedef enum dmx_pes_type_t" are just the same enum declared twice, since Kernel (2.6.12). There's no reason to duplicate it there, and sparse complains about that: drivers/media/dvb-core/dmxdev.c:600:55: warning: mixing different enum types So, remove the internal define, keeping just the external one. Internally, use only "enum dmx_ts_pes", as it is too late to drop dmx_pes_type_t from the userspace API. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb: Add DVBv5 statistics propertiesMauro Carvalho Chehab2013-01-232-2/+79
| | | | | | | | | | | | | | | | | | The DVBv3 statistics parameters are limited on several ways: - It doesn't provide any way to indicate the used measure, so userspace need to guess how to calculate/use it; - Only a limited set of stats are supported; - Can't be called in a way to require them to be filled all at once (atomic reads from the hardware), with may cause troubles on interpreting them on userspace; - On some OFDM delivery systems, the carriers can be independently modulated, having different properties. Currently, there's no way to report per-layer stats. To address the above issues, adding a new DVBv5-based stats API. While here, correct inner code nomenclature on a few places. Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* UAPI: (Scripted) Disintegrate include/linux/dvbDavid Howells2012-10-179-0/+1403
| | | | | | | | | | Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* UAPI: (Scripted) Set up UAPI Kbuild filesDavid Howells2012-10-021-0/+1
Set up empty UAPI Kbuild files to be populated by the header splitter. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com>