summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mm-video-v4l2: vidc: Update supported Level valuescaf/LA.HB.1.3.1Praneeth Paladugu2016-05-262-8/+8
| | | | | | | | Update max supported Level entry in both decoder and encoder. CRs-Fixed: 980418 Change-Id: I0c49acafef18ec339d59be4ac41ea6abaa1f0ca3
* Merge "mm-core: Remove the size and version fields for some vpp structures"Linux Build Service Account2016-05-261-12/+11
|\
| * mm-core: Remove the size and version fields for some vpp structuresKim Zhang2016-05-191-12/+11
| | | | | | | | | | | | | | | | | | | | These vpp structures are not used for omx ctrls, they are the aligned same definition as in vpp.h. VPP only has two omx ctrls in which size and version are already added. So remove the size and version fields so that direct cast can be done on them from omx definition to vpp definition. Change-Id: Ie71269e28df2c85ad2cd4abd68e0a9b7bcf03f27
* | mm-video-v4l2: vdec: Update the buffer size after g_fmtVikash Garodia2016-05-231-5/+4
| | | | | | | | | | | | | | | | The buffer size check for C2D is done after getting the updated size from the g_fmt. Change-Id: If7154536f469c8d941e3ae8a8f2f5f0411ac7f49 CRs-fixed: 1018025
* | Merge "mm-video-v4l2: Pass stride and scanlines with reconfig event"Linux Build Service Account2016-05-201-1/+8
|\ \
| * | mm-video-v4l2: Pass stride and scanlines with reconfig eventAbdulla Anam2016-05-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | Pass stride and scanlines along with port reconfig event as omx_vpp_component needs the information to communicate vpp library. Change-Id: I2300617c9ec1826aae7dfa87e636dd5d8971d254
* | | mm-video-v4l2: vidc: vdec: Change DPB mode to combined for VP9Praneeth Paladugu2016-05-121-1/+12
|/ / | | | | | | | | | | | | | | | | | | | | Disabling split mode for VP9 as DPB buffers in split mode are scratch buffers and RELEASE_REFERENCE event currently does not handle the circulation of scratch buffers.This affects VP9 Spatial Scalability clips as some of the DPB buffers might be held for reference even after the flush. CRs-fixed: 1004386 Change-Id: Icae40e7d9862d930715bdcb5d5b7e15576484d67
* / mm-video-v4l2: vdec: DPB mode to split for CPU access of buffersPraneeth Paladugu2016-05-092-15/+10
|/ | | | | | | | | | | The driver sends info to userspace whether the clip is progressive or maybe interlaced. For CPU access of buffers, change the DPB mode to split with DPB as UBWC and OPB as the color format selected when the clip is progressive. Similarly the DPB mode is in combined mode when the clip is maybe interlaced. CRs-fixed: 1004998 Change-Id: Ie31d1eb5543f3d5c2221694e52108975e52baee3
* mm-video-v4l2: vidc: vdec: Add support for Output crop extra dataArun Menon2016-05-032-19/+71
| | | | | | | | | | Firmware will update the crop dimensions for each fbd in the extra data buffer. OMX component should parse the extra data buffer and get the crop information. If the output crop extra data is not present, then OMX component should fall back and get the information from the fbd v4l2 reserved fields. Change-Id: I450278bbf22b0933f16318769c7c79999b9e1be4
* Merge "mm-video-v4l2: vidc: Restore pixel format on capture plane"Linux Build Service Account2016-04-291-4/+21
|\
| * mm-video-v4l2: vidc: Restore pixel format on capture planeKim Zhang2016-04-281-4/+21
| | | | | | | | | | | | | | | | | | Capture plane's pixel format may be changed during different DPB-OPB modes switching in real-time, which will lead to a wrong buffer size returned from driver/fw. For example, dynamic changing resolution clip with VPP feature enabled. Change-Id: I12dbed62e87d3934f6630cb1ced9a09ef2a33159
* | mm-video-v4l2: Pointer null check before deferencing itDeepak Kushwah2016-04-261-0/+4
| | | | | | | | | | | | | | Pointer needs to be checked for sanity before dereferencing it. Change-Id: I4734b581cb6b506ebad9c99b8c9f407bccb4c3d1
* | Merge "mm-video-v4l2: vidc: validate omx param/config data"Linux Build Service Account2016-04-255-12/+199
|\ \
| * | mm-video-v4l2: vidc: validate omx param/config dataPraveen Chavan2016-04-215-12/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check the sanity of config/param strcuture objects passed to get/set _ config()/parameter() methods. Bug: 27533317 Security Vulnerability in MediaServer omx_vdec::get_config() Can lead to arbitrary write CRs-Fixed: 997518 Change-Id: I6c3243afe12055ab94f1a1ecf758c10e88231809
* | | Merge "mm-video-v4l2: vdec: add safety checks for freeing buffers"Linux Build Service Account2016-04-241-10/+52
|\ \ \
| * | | mm-video-v4l2: vdec: add safety checks for freeing buffersPraveen Chavan2016-03-221-10/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow only up to 64 buffers on input/output port (since the allocation bitmap is only 64-wide). Do not allow changing the actual buffer count while still holding allocation (Client can technically negotiate buffer count on a free/disabled port) Add safety checks to free only as many buffers were allocated. Fixes: Security Vulnerability - Heap Overflow and Possible Local Privilege Escalation in MediaServer (libOmxVdec problem #3) Bug: 27532282 Change-Id: I06dd680d43feaef3efdc87311e8a6703e234b523
* | | | Merge "mm-video-v4l2: vdec: deprecate unused config ↵Linux Build Service Account2016-04-211-104/+1
|\ \ \ \ | |_|/ / |/| | | | | | | OMX_IndexVendorVideoExtraData"
| * | | mm-video-v4l2: vdec: deprecate unused config OMX_IndexVendorVideoExtraDataPraveen Chavan2016-04-211-104/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | This config (used to set header offline) is no longer used. Remove handling this config since it uses non-process-safe ways to pass memory pointers Change-Id: I7a535a3da485cbe83cf4605a05f9faf70dcca42f Fixes: Security Vulnerability - Segfault in MediaServer (libOmxVdec problem #2) Bug: 27475409
* | | Merge "mm-video-v4l2: venc: add safety checks for freeing buffers"Linux Build Service Account2016-04-213-9/+38
|\ \ \ | |/ / |/| |
| * | mm-video-v4l2: venc: add safety checks for freeing buffersPraveen Chavan2016-03-213-9/+38
| |/ | | | | | | | | | | | | | | | | | | | | | | Allow only up to 64 buffers on input/output port (since the allocation bitmap is only 64-wide). Add safety checks to free only as many buffers were allocated. Fixes: Heap Overflow and Possible Local Privilege Escalation in MediaServer (libOmxVenc problem) Bug: 27532497 Change-Id: I31e576ef9dc542df73aa6b0ea113d72724b50fc6
* | Merge "mm-video-v4l2: vidc: vdec: Add Extra data size during update_portdef"Linux Build Service Account2016-04-151-0/+14
|\ \
| * | mm-video-v4l2: vidc: vdec: Add Extra data size during update_portdefArun Menon2016-04-141-0/+2
| | | | | | | | | | | | | | | | | | | | | While reporting the buffer size to client, OMX component should include the extra data size as well. Change-Id: I201de3116d4696a15722a34a259d7e9e34652541
| * | mm-video-v4l2: vdec: Call vidioc_g_fmt to get updated buffer sizeArun Menon2016-04-041-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | During get_parameter(OMX_IndexParamPortDefinition) call, OMX component was not querying the updated buffer size information from driver and relying on stale buffer size information. Change-Id: I10abbc35d67ec33d29bb6cafa6c47ceab5a38566
* | | mm-video-v4l2: vidc: venc: Fix VQZIP issuesPraneeth Paladugu2016-04-062-0/+3
|/ / | | | | | | | | | | | | - Featurize VQZIP SEI insertion. - Enable VQZIP feature on mainline. Change-Id: I4f32a108abc36f99734a46ad980615bc7a6591ed
* | Merge "mm-video-v4l2: vidc: venc: Fix rotation issue"Linux Build Service Account2016-03-301-5/+7
|\ \
| * | mm-video-v4l2: vidc: venc: Fix rotation issuePraneeth Paladugu2016-03-251-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | Currently OMX component swapping dimensions irrespective of rotation angle. This makes 0 and 180 to fail. Hence add check to swap dimensions only for 90 and 270. Change-Id: I802b88f4564ca1abfc1ca6cab4a9ea172f34e321
* | | mm-video-v4l2: vdec: Malloc failure handling in memory prefetchRohit Kulkarni2016-03-281-10/+10
| | | | | | | | | | | | | | | | | | | | | Gracefully handle memory allocation failures encountered during ioctl call setup for secure memory prefetching. Change-Id: Ic251962a1afe54797cdc4f37f4a196f5cb87d2c3
* | | mm-video-v4l2: vdec: Add support for prefetching secure memoryShalaj Jain2016-03-242-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | Call an ioctl to ION to prefetch memory required for next resolution when a resolution change is detetced. This is done to reduce allocation times and avoid glitches. Change-Id: I0b787f6f2b5c5ed497ae5643e2a21c4eb25ee411
* | | Merge "mm-video: vidc: Squashed changes for component"Linux Build Service Account2016-03-2310-603/+482
|\ \ \ | |_|/ |/| |
| * | mm-video: vidc: Squashed changes for componentPraneeth Paladugu2016-03-0810-603/+482
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit has following squashed changes 565211e5 mm-video-v4l2: vidc: venc: Fix issues with Hier P 8538cef2 mm-video-v4l2: vidc: venc: Synchronize ETB and config commands a11b610e mm-video: Add extensions to enable and configure ROI QP info (try 2) 0f38e8f8 mm-video-v4l2: Revert a couple of extradata commits as part of re-write 56a3bf04 mm-video-v4l2: vidc: vdec: Add support for low latency mode 1bdcc0362 mm-video-v4l2: vidc: venc: featurize VQZIP code 1c071d8fe mm-video-v4l2: vidc: venc: Fix Level calculation 1cf4aeaa8 mm-video-v4l2: vidc: venc: Set default POC type 10f18b978 mm-video-v4l2: vdec: Return buffers back to client for qbuf failure 1e65b50e7 mm-video-v4l2: vdec: Use global setprop to disable UBWC mode Change-Id: I05f53c0d9cbc6cc9ed2bd7a725ed913ecdaf2b29
* / mm-video-v4l2: vidc: HEVC Main10 profile supportRohit Kulkarni2016-03-151-1/+1
|/ | | | | | Return HEVC Main10 as highest supported profile Change-Id: I809826df1661b7e693c5f91a19d96347c2c5bf96
* mm-video-v4l2: vdec: Increase buffer count to support high fpsArun Menon2016-02-292-3/+39
| | | | | | | | Increase output buffer count for high fps video session, for which dpb count is 16 or more. The additional buffer count provides a cushion to avoid frame drops in the renderer. Change-Id: Ib30275d24057cc88f5f1a80ebf6a79c124350b3e
* Merge "mm-core: Fix compilation issue to erratic string constant"Linux Build Service Account2016-02-231-1/+1
|\
| * mm-core: Fix compilation issue to erratic string constantAmit Shekhar2016-02-011-1/+1
| | | | | | | | | | | | | | Fix compilation issue to erratic string constant in metadata header Change-Id: Ibd0197d46cd73ac8f4635b818d8fc9be0da1f22e CRs-Fixed: 889710
* | Merge "mm-video-v4l2: vidc: venc: Add support for low latency mode"Linux Build Service Account2016-02-176-21/+99
|\ \
| * | mm-video-v4l2: vidc: venc: Add support for low latency modeAshray Kulkarni2016-01-286-21/+99
| |/ | | | | | | | | | | | | Enable low latency mode to driver when client called set param for the same. Change-Id: Icc2205d6e21f55e854136ae5cf7859df5fe1b5f2
* | Merge "mm-video-v4l2: vidc: vdec: skip enabling S3D extra data for secure ↵Linux Build Service Account2016-02-162-1/+34
|\ \ | | | | | | | | | session"
| * | mm-video-v4l2: vidc: vdec: skip enabling S3D extra data for secure sessionSrinu Gorle2016-02-111-0/+4
| | | | | | | | | | | | | | | | | | | | | S3D frame packing extradata is not supported for secure sessions. Skip it for secure sessions. Change-Id: Ide08564e9e8a581c27b416fa705b31411771853a
| * | mm-video-v4l2: vidc: vdec: Add support for S3D metadataAshray Kulkarni2016-02-102-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | Stereo video output information is present in H264 SEI. Venus HW decodes it and sends to OMX component as extradata. OMX component parses extradata and sends this information to display as metadata. Change-Id: I08af0a408e4c44c396587600a7ea1b5a61fbe5a9
* | | Merge "mm-video-v4l2: vidc: venc: Fix profile and level setting issue"Linux Build Service Account2016-02-094-5/+28
|\ \ \ | |/ / |/| |
| * | mm-video-v4l2: vidc: venc: Fix profile and level setting issuePraneeth Paladugu2016-01-294-5/+28
| |/ | | | | | | | | | | | | | | Profile and Level validation is not valid when VQZIP is enabled. Fix the condition to reflect the same. CRs-Fixed: 951349 Change-Id: I2ae1bff8c2dd0ee3b46fcad545d168f1c9bf8fa9
* / mm-video-v4l2: vidc: venc: Fix rotation issue for 180 degreesPraneeth Paladugu2016-02-011-18/+17
|/ | | | | | | | | When clients sets 180 degrees rotation, this setting is not set to driver. Hence the final encoded video doesn't have the rotation effect. This change fixes the same. Change-Id: I622b58332cc4e443e2b919f06e46ac5ed30cd1c3 CRs-Fixed: 933466
* mm-video: vidc: memset struct v4l2_format prior to S_FMTDeva Ramasubramanian2016-01-121-0/+14
| | | | | | | There are some unused fields in there that are uninitialized. This results in the driver returning errors due to garbage. Change-Id: I0c208291e2019db4ee1f5dc4dcc817c5f34b2e4e
* Merge "mm-video-v4l2: vidc: Do not queue output buffer if flush is in progress"Linux Build Service Account2016-01-091-2/+5
|\
| * mm-video-v4l2: vidc: Do not queue output buffer if flush is in progressArun Menon2015-12-221-2/+5
| | | | | | | | | | | | | | | | | | | | Skip queuing of output buffer to driver if output flush is in progress. Without this change, there is an issue when a output FBD with drop flag is received by omx component and requeued back to the driver and never returned. This change will fix the issue and avoid losing the output buffer when flush is in progress. Change-Id: I3560914f526066f7570d7784d7ac635bdc70ef29
* | mm-video-v4l2: vidc: vdec: Add property to disable UBWC for OPBArun Menon2016-01-063-5/+36
| | | | | | | | | | | | | | | | The default mode for OPB is UBWC mode, if OMX Client wants to explicitly disable UBWC mode then it should set the following property OMX_QTIIndexParamForceUnCompressedForOPB. Change-Id: I7f8364f8b5ec60fca57bb8717b1af8c50a935f73
* | Merge "mm-video: vidc: Communicate the right colorformat to the driver"Linux Build Service Account2015-12-232-3/+11
|\ \
| * | mm-video: vidc: Communicate the right colorformat to the driverDeva Ramasubramanian2015-12-182-3/+11
| | | | | | | | | | | | | | | | | | | | | While going thru the C2D path, we never re-configured the driver to expect NV12 input rather than QOMX_DEFAULT_COLOR_FMT. Change-Id: Ia445e37b0b7e0e2521b618d7b2ecd9d7ff93cdf4
* | | Merge "mm-video: vidc: Reliably stop the message thread"Linux Build Service Account2015-12-234-28/+66
|\ \ \
| * | | mm-video: vidc: Reliably stop the message threadPraveen Chavan2015-12-194-28/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Message thread blocked on a read(), may never wake if the joining thread fails to write the stop command. Instead, monitor the input pipe with timed-wait, and bail-out in case stop is signaled. CRs-Fixed: 952668 Change-Id: I35409034f66281b8acaa216171d85f1dfd868906