summaryrefslogtreecommitdiffstats
path: root/mm-video
Commit message (Collapse)AuthorAgeFilesLines
* mm-video: Recognise "OMX.qcom.video.decoder.divx4" when setting rolestable/cm-12.0-caf-8960-YNG4Nstable/cm-12.0-caf-8960-YNG3Cstable/cm-12.0-caf-8960-YNG1TAstable/cm-12.0-caf-8960-YNG1Tcm-12.0-caf-8960Paras Nagda2015-02-131-1/+2
| | | | | | | | | Setting the component role for the "OMX.qcom.video.decoder.divx4" component triggered an incorrect claiming that the component wasn't recognised. This is a valid component. Change-Id: Iebb4da0171bdd2dc6266120c86d14ad452dbb8bf CRs-Fixed: 759443
* mm-video:don't remove 0 timestamp buffer for config buffersrikarri2015-02-131-5/+9
| | | | | | | | | | | -For codec config buffer, 0 time stamp buffer is been removed from timestamp queue which causes cts case testCodecBasicH264 to fail. -Fix:Do not remove 0 time stamp buffer from time stamp queue for codec config buffer case Change-Id: I57a0f1e778f65997170c748a17201fc8a28b3cff
* media: Fix cts issues related to VideoEncoderDecoderTestc_sridur2014-11-272-11/+42
| | | | | | | | | | | | -Synchronize color conversion calls (from I333f1fa9a922e456f886f5b3d8081baa7ad53a4e) -Add YUV420SP color format support (from I4085d2e9c268e839d78f9bf4ff444de68278d272) -Allow 16-bit stride for NV12 format (from I5e42606a05dfb7ef55ea1eb1f06f581d23e123dd) -Add proper stride2 value for tile format Change-Id: I04387fefa71cc756b14bde75dfeeb051c827dac9
* mm-video: vdec: Allow devices to disable adaptive playbackdhacker292014-11-232-0/+6
| | | | | | | | | * Older Adreno drivers have problems with adaptive playback due to incompatibility inside the library. * Allow devices to choose to not advertise adaptive playback capability if bad output results. Change-Id: Ie68fb9f8ec2122f2fc6e6654d9fdbc773dff509a
* mm-video: vdec: Fix memory leak in color converter.Rudolf Tammekivi2014-11-192-2/+3
| | | | | | | When OMX is deinitialized, the color converter buffers stay intact, causing the available memory pool to have less continuous space available. Change-Id: Icc2d730d540bae153c9fde36a6f4267ff3f9f088
* media: Use direct project pathmapEthan Chen2014-11-182-16/+16
| | | | Change-Id: Id402b96e531b4209508103b532732d2614ae9c64
* mm-video: Allow devices to override QComOMXMetadata headerEthan Chen2014-11-111-1/+1
| | | | | | | * Certain manufacturers add extra fields to the encoder_media_buffer_type struct. Change-Id: I2485196c2ab5d798a1dcd2353c9f8cc5114987f8
* media: Use project pathmapEthan Chen2014-11-102-16/+16
| | | | Change-Id: I0fd4523167be90302b5db284ccf88ff79d7965dd
* mm-video: vdec : Avoid updating stride in flushing stateParas Nagda2014-04-211-1/+1
| | | | | | | | | | | | | | | -omx component is accessing the buffer after fill_buffer_done call on the client. This is to update the stride value for smooth streaming. - During flushing scenario, buffers are returned to the client through fill_buffer_done call and client is expected to the free the buffers in the same context. Accessing the buffer in this scenario is leading to a crash during testH264_adaptiveSmallDrc. - Fix is to avoid updating stride value when in flushing state. CRs-fixed: 651562 Change-Id: Ibe79fad264f42da8a356ef6b43793203035bced7
* mm-video: venc: use source stride for color-converting RGB inputsrikarri2014-04-016-20/+22
| | | | | | | | | | | -RGB input may be composed by GPU with an aligned stride different from the frame-width. -CTS test cases testEncodeDecodeVideoFromSurfaceToSurface720p and testVideoEdit720p fails because gralloc-handle stride value is not used -Extract this stride from gralloc-handle to interpret the buffer Change-Id: I63fd224e933424e1e8c49a19270545f000a2ebd5
* Revert "mm-video: vdec: No need to allocate metadata by default"Samir Mehta2014-03-241-3/+3
| | | | | | This reverts commit f025625050acae22b3087b0141369d8f3fc35c38. Change-Id: I329ff484dd68bab5905f2dcf0c57dec46a353300
* mm-video: vdec: No need to allocate metadata by defaultDeepak Verma2014-02-251-3/+3
| | | | | | | If metadata is not enabled by client, there is not need to enable it by default in secure session. Change-Id: I031aa193271492e46bddf14f53ee033d0d68e138
* mm-video: vdec: display: Change in screenRefresh interfaceJustin Philip2013-12-302-29/+16
| | | | | | | | Display interface changed to optimise binder transaction. This change depends on ChangeID I4db66f2427ecf16d7a6264462ae85815217a16b1 Change-Id: I7f7861e2626fdd32efcfe3a2575a62caed91f8db
* Merge "mm-video: vdec: Set input buffer size dynamically"Linux Build Service Account2013-12-034-33/+88
|\
| * mm-video: vdec: Set input buffer size dynamicallyDeepak Verma2013-11-264-33/+88
| | | | | | | | | | | | | | | | | | OMX client can request the input buffer size based on frame resolution. This change supports overriding default input buffer size if the value requested by client is greater than default input buffer size. Change-Id: I376d60319acb462b4f806217ec57ad19ddee357b
* | mm-video: venc: Correct a typo in variable nameDeepak Verma2013-11-081-4/+4
|/ | | | | | | | | | | | A kernel variable was to be defined as unsigned long but it is mistakenly defined as unsigned only, the space is missing after long. This bug is silent because unsigned is also a valid data type by itself. Corresponding to kernel fix, similar correction is done in userspace code. Change-Id: Ie58f275149dc9c85553f75e02594113b1a03ddcf CRs-fixed: 556771
* Merge "mm-video: vdec: Support adaptive playback mode"Linux Build Service Account2013-10-312-10/+148
|\
| * mm-video: vdec: Support adaptive playback modeDeepak Verma2013-10-302-10/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this mode client checks and sets an extension to indicate that the content can change resolution, within the pre- announced maximum height/width. Component over-allocates buffers for the max resolution and dbp, and notifies client of any crop change when resolution changes within bounds. Resolution changes beyond set max width/height will result in port-reconfiguration notification, while adapting to the new resolution. Change-Id: I744ac475f3bbedaaca2b057e9a327243674f0d9e Conflicts: mm-video/vidc/vdec/src/omx_vdec.cpp
* | mm-video: vidc: set stride in gralloc-metadata for adaptive-playbackPraveen Chavan2013-10-301-0/+15
|/ | | | | | | | | | In Adaptive-playback mode, following resolution change, decoder continues to decode on larger buffer. But the stride is changed implicitly. Set the updated stride in gralloc-metadata in each buffer, so HWC/GPU can read the stride to interpret the buffer's geometry correctly. Change-Id: If223e4bf230f8032b03b9d51d41b39576d0cf961
* Merge "mm-video: vidc: Fix an issue in flush for Surfacemediasource_test"Linux Build Service Account2013-09-101-1/+1
|\
| * mm-video: vidc: Fix an issue in flush for Surfacemediasource_testPachika, Vikas Reddy2013-09-101-1/+1
| | | | | | | | | | | | | | | | | | When i/p flush is in progress, need to give back all the ETB's to client as EBD's directly instead of post_event. so do not call push_input_buffer function. Change-Id: Id17a84e9a009bbe80ec034c78a78a08b889c394a CRs-Fixed: 517599
* | Merge "mm-video: vdec: ref count the notifications to secure-display"Linux Build Service Account2013-09-102-15/+29
|\ \ | |/ |/|
| * mm-video: vdec: ref count the notifications to secure-displayPraveen Chavan2013-09-052-15/+29
| | | | | | | | | | | | | | | | | | | | | | Notifications to display HAL to secure/unsecure display is sent when component is created/destroyed. When multiple instances are created/destroyed, the shared flag which indicates status of such notification can go out-of-sync. This change ref-counts the secure status flag and protects it with a lock. Change-Id: I126c92d16b03819afcbaf2f056928ba792556ed8
* | mm-video: venc: Distinguish between normal NV12 and aligned NV12Deepak Verma2013-08-163-22/+26
|/ | | | | | | | | | | | | | | | Encoder has a hard-requirement of 2K alignment of UV plane. Apps and other non-camera sources (not aware of this alignment) will queue YUV420SP buffers, which need an explicit alignment. But for some other apps(e.g VT) that are aware that the component wants aligned NV12 and would align it themselves, causing the component to muck up the buffer by realigning it. To prevent the confusion, the component now makes a distinction between NV12 (OMX_COLOR_FormatYUV420SemiPlanar) and aligned NV12 (QOMX_COLOR_\ FORMATYUV420PackedSemiPlanar32). Clients who prefer to provide aligned buffers will now set the latter as the input port format. Change-Id: I73c337660fb825e9b267663266fd4b9d6e35443e
* Merge "vidc: venc: Add LTR feature for H264 encoder"Linux Build Service Account2013-07-318-13/+413
|\
| * vidc: venc: Add LTR feature for H264 encoderMaheshwar Ajja2013-07-128-13/+413
| | | | | | | | | | | | | | | | This commit adds Long Term Reference picture selection feature for H264 video encoder and also adds the corresponding video extensions Change-Id: Iaf2228c3f29261db4f0214b3264648745b2aaa4d
* | Merge "mm-video: vdec: Update output buffer count in thumbnail mode"Linux Build Service Account2013-07-221-0/+4
|\ \
| * | mm-video: vdec: Update output buffer count in thumbnail modePavan Chikkala2013-07-191-0/+4
| |/ | | | | | | | | | | | | | | | | | | | | This change updates the output buffer requirements when thumbnail mode is enabled. In thumbnail mode the required output buffers equal to 1. Output Buffer required for thumbnail mode were not updated earlier from the driver as a result of which allocating memory for default buffer count failed and thumbnail were not shown for some file formats. Change-Id: I607a5b0e3bfcad8056ff71557db50d0e268cf348 CRs-Fixed: 513180
* / mm-video: venc: Align chroma to 2K for non-camera YUV420SP inputDeepak Verma2013-07-171-0/+26
|/ | | | | | | | Encoder has a hard-requirement of 2K alignment of UV plane. Apps and other non-camera sources (not aware of this alignment) will queue YUV420SP buffers, which need an explicit alignment Change-Id: I9d23fc6c0fb935bc8d20e3e454e80272d6188652
* Merge "vidc: vdec: Open secure display after video driver opened"Linux Build Service Account2013-07-111-11/+26
|\
| * vidc: vdec: Open secure display after video driver openedMaheshwar Ajja2013-07-091-11/+26
| | | | | | | | | | | | | | | | Open secure display after video driver successfully opened. This change will resolve the non-secure video playback failures when secure video driver open failed cases. Change-Id: I739c1f387d131a9285f755840ff45f0c9d47dee1
* | Merge "mm-video: Get current performance level of video driver"Linux Build Service Account2013-07-118-2/+54
|\|
| * mm-video: Get current performance level of video driverDeepak Verma2013-07-098-2/+54
| | | | | | | | | | | | | | | | Get current performance level of video driver. Client can use this info to decide whether to start another video session in parallel or not. Change-Id: I95da6e2b995230bec6469845c84e66f6e3c92816
* | mm-video: vidc: Synchronize ION alloc and free APIsMaheshwar Ajja2013-07-094-76/+191
|/ | | | | | | | | | | | | This change synchronizes ION alloc and free APIs between different video instances by having static mutex varible. This change also makes changes to use single ION device fd for all the video buffers instead of having different ION device fds for each buffer. This change resolves the blank thumbnails issue in Movie Studio application. Change-Id: I1f0721d8a65a8a4fec2f8bf2a702ccfdaf0da114
* Merge "mm-video: vdec: Initialize fd values to avoid memory corruption."Linux Build Service Account2013-07-091-4/+11
|\
| * mm-video: vdec: Initialize fd values to avoid memory corruption.Deepak Verma2013-07-081-4/+11
| | | | | | | | | | | | | | | | When driver open fails, we try to close uninitialized fds which may contain any junk value. Thus, closing fd with these junk values may result in memory corruption. Change-Id: Ie3d4226022567e4ed929ed8c8c0fd44334351450
* | Merge "mm-video: vdec: Fix movie studio crash"Linux Build Service Account2013-07-091-0/+21
|\ \
| * | mm-video: vdec: Fix movie studio crashDeepak Verma2013-06-281-0/+21
| |/ | | | | | | | | | | | | | | This change updates crop information with latest data available with the driver. CRs-fixed: 487314 Change-Id: I04a54a47b34442cf38695913f5a97eb5663e36da
* | Merge "mm-video: vidc: Setprop command support for uncache buffers"Linux Build Service Account2013-07-098-1/+82
|\ \
| * | mm-video: vidc: Setprop command support for uncache buffersMaheshwar Ajja2013-06-288-1/+82
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The video playback buffers can be allocated as uncache buffers when requried using below setprop command setprop persist.video.mem.usecache 0 The video recording buffers can be allocated as uncache buffers when required using below setprop command setprop persist.camera.mem.usecache 0 By default all the buffers are allocated as cache buffers. Change-Id: Ic68414cf42afa2b8467a821fae31bda3fd10045f
* | Merge "mm-video: vdec: Allow client to set TURBO mode"Linux Build Service Account2013-07-093-13/+74
|\ \
| * | mm-video: vdec: Allow client to set TURBO modeDeepak Verma2013-07-083-13/+74
| |/ | | | | | | | | | | | | | | | | | | | | - Allow client to set TURBO mode to video decoder. - TURBO mode sets the maximum supported perfomance level to video driver. - Based on frame drops due to delayed video frames client can set TURBO mode to video decoder when required. Change-Id: I4508d8df2af8a64057ea47fcf18820b2524c7aa3
* | Merge "mm-video: vidc: Enable data corrupt flag for MPEG2 & VC1 only"Linux Build Service Account2013-07-091-3/+6
|\ \
| * | mm-video: vidc: Enable data corrupt flag for MPEG2 & VC1 onlyDeepak Verma2013-07-081-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update output buffers with data corrupt flag when required for MPEG2 and VC1 decoders only. - Enable data corrupt flag irrespective of frame type if sync frame not received. - Don't set data corrupt flag at the start of the playback and set when seek operation is made and sync frame not received yet. Change-Id: I9751d41f57af741a0762821a103e8581ce4f8b28
* | | Merge "mm-video: Add data corrupt flag on output buffers when required"Linux Build Service Account2013-07-092-0/+19
|\| |
| * | mm-video: Add data corrupt flag on output buffers when requiredDeepak Verma2013-07-082-0/+19
| |/ | | | | | | | | | | | | | | | | | | - If non-IDR frames received after seek operation, corrupted YUV frames are displayed. - Add OMX_BUFFERFLAG_DATACORRUPT flag to each output buffer till OMX_BUFFERFLAG_SYNCFRAME received. - IL client can skip rendering if DATACORRUPT flag observed. Change-Id: I735fb3d5dcfbbfd0efd3c77a59f0323ee7695c10
* | Merge "mm-video: Adjust 3 byte start code address, if multiple DMX entries ↵Linux Build Service Account2013-07-091-13/+19
|\ \ | | | | | | | | | found"
| * | mm-video: Adjust 3 byte start code address, if multiple DMX entries foundSrinu Gorle2013-06-281-13/+19
| |/ | | | | | | | | | | | | | | | | | | - Core is not able to decode bit stream, when three byte start code 0X000001 is a part of consecutive NAL's provided in single ETB. - Start address of NAL entry in DMX should be moved one byte backward as video core skipping 0X0000 skipping in every NAL bit stream. Change-Id: Ia816175e7b821dcb30200a3bd934896efd3ea20f CRs-Fixed: 468664
* / mm-video: revert usage of flag GRALLOC_USAGE_PRIVATE_CP_BUFFERRiaz Rahaman2013-06-271-1/+2
|/ | | | | | | Obsolete the custom flag added to notify usage of secure buffers. Now all secure buffers are allocated based on the flag GRALLOC_USAGE_PROTECTED Change-Id: I92a87f402892d5758fa9adef8ae734d1b8be2c83
* Merge "mm-video: add support for the bitstream_restrict flag in VUI"Linux Build Service Account2013-06-184-2/+55
|\