Due to an errant conflict resolution, V4L2_CID_MPEG_VIDC_VIDEO_H264_\
VUI_TIMING_INFO and V4L2_CID_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE share
the same constant value. This commit assigns a new constant to
VUI_TIMING_INFO.
Change-Id: I34170dc1e5de9d5d0ff37d56112cf2b59ea7eefc
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL allows for clients to request higher
than normal performance from the core.
Change-Id: I0cd4e56854f35bacd2aa26146e990e0537b3909f
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
This commit allows encoder clients to choose Constrained High
profile when encoding.
Change-Id: I0860367022bcdfab7d1a410b985f1a95fc6361cc
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Remove unused control introduced by QCOM for setting performance mode
for the WFD driver. The WFD driver now uses
V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL.
Change-Id: I10c6350209e5910ee3b63b74b51c2ac6a48bb115
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
When FW did error concealment it sets DATA_CORRUPT flag in
FBD message. This information need to be updated with client
so that client can decide not to display frame.
This change implements the functionality.
Change-Id: I6071427e33612b2786ba1fcbf075b06e7152c1c9
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
ISDB-T full seg feature needs ASPECT_RATIO, SEQDISP
and DATA_CORRUPT extradata types for MPEG2 codec.
Add support to convey this information to client.
Change-Id: I94b3e00bfc0a5a45433ac30942d6235ecca0dde4
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
I-frame and IDR-frame for v4l2 clients was same, there was no way to
differentiate them. Adding separate flag for IDR helps clients
differentiate I from IDR.
CRs-fixed: 471371 473864
Change-Id: I4a945d9ad256bfb305a11aace91245f99e241798
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
For some CODECS, some frames are used only for decoding but
not for display. This information needs to be conveyed through
DECODEONLY flag. Add support to send this flag to client.
Change-Id: I878677bdf98692288887bb3c70e645b13f4abc85
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Changes required to support decode of HEVC
bitstreams
Change-Id: Ic0e18815af2547e42fcc3e26c2fa93355061d31f
Signed-off-by: Arun Menon <menon@codeaurora.org>
Add support to enable slice delivery mode feature. Driver will now be
getting one slice in each buffer. This mode is valid only for h264 and
when slicing is MB based. This will improve the performance in
streaming scenario as client can start streaming each slice instead
of waiting for the entire frame.
Change-Id: Iffc03a951f94a543a905cad4c15ad08b6b5718af
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
Drop whitespace, unused Kconfigs, and bad Makefile entries. Undo
code movement, remove dead function, and delete entire files that
we don't compile that make our code divergent from upstream. No
functional difference.
Change-Id: I1150b3d4b317fb5180c5d26e2366dccb28a6bf43
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Add support for timeinfo and aspect ratio extradata
by setting the corresponding properties to Venus FW.
Change-Id: Ie33a451c8088d4bfe169c770fa054a73cdfcf78f
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
[smuckle@codeaurora.org: backported from msm-3.7]
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
GOB control was missing in v4l2 framework, so GOB settings could not
be conveyed to firmware. This change adds the GOB support in v4l2
framework and driver.
CRs-fixed: 433888
Change-Id: Ia276782042ba1b275ec4350b64183c14ada000be
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
Add new flag for NAL EOS type. This flag is used to
send EOS to userspace if EOS is detected by FW using NAL.
Change-Id: I6886c010232b7822fd6c21b0b072884cb7493eef
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Rename some controls for consistent naming. Also use QCOM defined
controls rather than reusing ones intended for other vendors.
Change-Id: I684f31b59a69362dd44cebb7a59a3ef2b78297aa
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Poor video quality is observed as VUI fps information is not present in
the encoded bit stream. Add support for VUI timing info in video driver
and an additional V4L2 control to set from user space.
Change-Id: I3594903cb897920ea2ef93208644ac8c6ca5d5d9
CRs-Fixed: 399017
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
Add control to enable extradata. Client can use this
control to enable a particular extradata for gathering
additional information about the associated buffer.
Change-Id: Ib39c614997cd43bee68fccac00d623ddd8caaf9b
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Changes required to protect and unprotect buffer
memory for secure video playback.
Change-Id: Ia918e35142852b9cb51275972692914d4b78bfb9
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Add support for thumbnail mode decode. This reduces
the memory requirements from HW.
Change-Id: I7f54cc618759b366389e748527b051524fb2c20b
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Add support to process Watchdog timeout and sys error
with SSR framework and reporting event bck to userspace.
Change-Id: Ie12a15044dd01cb0ceab82d4f29d612db2955b8d
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Add new V4L2 control to set AU delimiter for AVC.
Change-Id: I099c016de941b16c7e646474e371315224abe6bf
CRs-Fixed: 389030
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
Add v4l2 control V4L2_CID_QCOM_VIDEO_SYNC_FRAME_SEQ_HDR, this control
configures video hardware to enable/disable codecconfig data to be
packed with every syncframe. This has to be configured before
encoding starts.
CRs-fixed: 396716
Change-Id: I14bf83cb8583656a6a040be4f38ec0e5dea36a25
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
Add support to flush input/output buffers. This will flush
the buffers being held by firmware or video driver and
return them to client. This operation is usually used
by an application during seek operation or while
closing the driver.
Change-Id: I61d3d8f94eeeeeea0e4c40460bebfd7873f428df
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Adds support for codec config flag to be passed
to driver. This flag indicates that the buffer
associated contains codec specific data.
Change-Id: I80cfedc02dfc1efc8727f97e90ac2100e47d2f2a
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Add vendor specific controls to get and set the profile and
level of H263 clips.
Change-Id: I79e6eeb8eb2eb4ff3f5cbbe3b537e7b60ff1372a
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Flushing the core is now done with the V4L2_DEC_QCOM_CMD_FLUSH ioctl
rather than V4L2_DEC_CMD_STOP. The latter is confusing and the
arguments specified by the V4L2 spec do not allow for flushing the input
and and output buffers seperately.
Change-Id: I53e18e06c4e09ee8496bdcc337b4798f22911708
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Adds new event type to convey about the resources
requirement.
Change-Id: I7ea67231c247dc983463a02b828c10adc486b60d
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
During the migration from kernel 3.0 to 3.4, V4L2 framework changed.
This requires changes from video driver. This change makes video
driver code compatible with kernel 3.4.
Change-Id: I12fb28e4b7c261c9755fbb62bb6bb8ea299d5272
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Adds events for video codecs so that clients can be
notified of important events asynchronously.
Change-Id: I0177bdc6249306ed580aca5ec2ed434174a57ba7
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Added Support for Effects like saturtaion,contrast for YUV sensor
CRs-Fixed: 352316
Change-Id: If278755849a866e84069ce517b2f1f6c67294980
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>
Add support for userspace to push the video core clock to maximum
supported by hardware.
Change-Id: Ida6618fd77bc24fe043885306083249546797054
CRs-Fixed: 361108
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
* commit 'AU_LINUX_ANDROID_ICS.04.00.04.00.130': (39 commits)
msm: vidc: Add support for DIVX 4/5/6
msm_fb: display: Set the minimal sleep time for DSI PHY Initialisation
board: 8930: add debounce interval for gpio-keys
regulator: Extend of_get_regulator_init_data to support non-DT consumers
regulator: pm8xxx-regulator: Add slew_rate platform data parameter
crypto: Fix initialization of array variable.
arm: free all .init memory when CONFIG_STRICT_MEMORY_RWX is set
msm: clock-copper: Remove block reset ability from most clocks
msm: clock-local2: Fix local_vote_clk_reset to use right to_*_clk macro
EHCI: HSIC: Add support for suspend, resume and URB logging
arm/dt: msm-pm8941: Change boost regulator register address to 0xA000
msm: camera: Move server code into seperate file.
msm: camera: Close camera gracefully in case of userspace crash
media: dvb: mpq: Support getting decoder's buffer status
Bluetooth: Wait for wcnss to be ready after SSR
msm: msm_sdcc: Add device tree support for SDCC controllers
msm: display: Change DSI escape clock to byte clock
msm: clock-8960: Change source of DSI escape clock to byte clock
ASOC: msm: Enable mpq8064 machine driver.
EHCI: HSIC: Set the interrupt threshold control value to 8ms
...
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
Add support to the driver to properly configure the Venus core for
various DIVX formats.
Change-Id: Ica6411936a09edfc3aa4ca321c781ff22948742a
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
AU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.
First parent is from google/android-3.4.
* commit 'AU_LINUX_ANDROID_ICS.04.00.04.00.126': (8712 commits)
PRNG: Device tree entry for qrng device.
vidc:1080p: Set video core timeout value for Thumbnail mode
msm: sps: improve the debugging support in SPS driver
board-8064 msm: Overlap secure and non secure video firmware heaps.
msm: clock: Add handoff ops for 7x30 and copper XO clocks
msm_fb: display: Wait for external vsync before DTV IOMMU unmap
msm: Fix ciruclar dependency in debug UART settings
msm: gdsc: Add GDSC regulator driver for msm-copper
defconfig: Enable Mobicore Driver.
mobicore: Add mobicore driver.
mobicore: rename variable to lower case.
mobicore: rename folder.
mobicore: add makefiles
mobicore: initial import of kernel driver
ASoC: msm: Add SLIMBUS_2_RX CPU DAI
board-8064-gpio: Update FUNC for EPM SPI CS
msm_fb: display: Remove chicken bit config during video playback
mmc: msm_sdcc: enable the sanitize capability
msm-fb: display: lm2 writeback support on mpq platfroms
msm_fb: display: Disable LVDS phy & pll during panel off
...
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
Implement changes in the driver to support decoding of Divx311
bitstreams
Change-Id: Ie4e05c9161d89b866f9f36ca1865a9b64bc51240
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
As discussed during the 2011 V4L-DVB workshop, the API in dvb/video.h should
be replaced by a proper V4L2 API. This patch turns the VIDEO_(TRY_)DECODER_CMD
ioctls into proper V4L2 ioctls.
Change-Id: I8f293613c833b40ffa62e814c0d88a55ea0c7f13
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Adds control definitions in v4l2 framework needed for
configuring video codec properties. Userspace clients
and in-kernel clients can make calls into video driver
to set/change codec properties like codec, profile, level,
resolution, bitrate, ratecontrol, framerate.
Change-Id: I6396106af69b2686a78b83d5833cd60a1c6d4cef
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
- Adds video encoding and decoding functionality.
- Implements v4l2 interface based driver for interacting
with userspace modules to perform video encoding and
decoding.
- Implements kernel API for interacting with kernel
modules like Wifi display(encoder) and V4L2 based
DVB(decoder).
Change-Id: Iadb83b60139e659ae7f66e5dc38c46fef52ca99d
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Adds API to request for a particular performance
level from video core. This is needed for Wi-fi
display (WFD) to reduce end to end latency.
Change-Id: Ib4133b8cd62ccad286be1984f944911754b887c5
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
A possibility to preallocate and initialise buffers of different sizes
in V4L2 is required for an efficient implementation of a snapshot
mode. This patch adds two new ioctl()s: VIDIOC_CREATE_BUFS and
VIDIOC_PREPARE_BUF and defines respective data structures.
Change-Id: Idb6c1e11f1665201f77c73168bb5a8de84b538eb
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
Merge Upstream's stable 3.0.21 branch into msm-3.0
This consists 814 commits and some merge conflicts.
The merge conflicts are because of some local changes to
msm-3.0 as well as some conflicts between google's tree and
the upstream tree.
Conflicts:
arch/arm/kernel/head.S
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c
drivers/mmc/core/core.c
drivers/tty/serial/serial_core.c
drivers/usb/host/ehci-hub.c
drivers/usb/serial/qcserial.c
fs/namespace.c
fs/proc/base.c
Change-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Make the VIDIOC_G/S_SELECTION ioctls documentation more consistent
with the rest of media Docbook, use capital letters where necessary
and correct few minor errors.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>