• Home
  • History
  • Annotate
  • only in /hardware/qcom/media/mm-video-v4l2/vidc/vdec/src/
History log of /hardware/qcom/media/mm-video-v4l2/vidc/vdec/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bea5ee2c97a20e5edd2540a277427d27de29a778 05-Feb-2015 Lajos Molnar <lajos@google.com> Merge "mm-video-v4l2: vdec: Disable switching to surface-mode-format" into lmp-mr1-dev
709179c13220590b748a585a698f8c57f0f59b75 18-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: vdec: Add support for describing color format

Android flexible YUV support provides apps with a generic
YUV format that can be derived from vendor-specific YUV
formats (linear formats only).
This requires the component to describe the vendor-specific
color-formats with the following info:
[1] Stride/slice-height
[2] Number of planes, and for each plane:
[a] Byte-offset from start of image
[b] y-step and x-step
[c] Horizonal and Vertical subsampling

This change specifically describes the Venus-NV12 format.

Amended by Lajos Molnar <lajos@google.com>: removed the
error log on the normal scenario when describing
standard OMX formats. Adjusted image width & height.

Bug: 17906609
Change-Id: I812e207ecd05d67475fa0495225129a0ba346d15
mx_vdec_msm8974.cpp
5edf3e6c4e8e6a2ffefabd692903bbb291adadd7 18-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: vdec: Disable switching to surface-mode-format

Do not switch the color-format _after_ the client has negotiated
and set the color-format via VideoPortFormat.
MediaCodec apps can explicitly request a specific color-format in
non-surface mode rather than expect the decoder to provide a
standard YUV format.

Bug: 17906609
Change-Id: Ib5bda3063b1da46927389c9c6eb522824c238d5e
mx_vdec_msm8974.cpp
81e3261daead3510fd21a8507b550e4b71f3c139 04-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: vdec: Use standard HEVC coding type

and pick the right il client library for hevc decoder

Change-Id: I29edfd28e0d11e6f850c96baebc7615b9966dee8
mx_vdec_msm8974.cpp
5aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7 11-Jul-2014 Praveen Chavan <pchavan@codeaurora.org> mm-core: synchronize OpenMax headers with AOSP counterparts

Update the video headers, retaining the enhancements.
Also use standard coding types (like VP8 instead of VPX)
and map the extended codec-types to standard types wherever
applicable.
Update HEVC profile/level enumeration values to follow the
spec nomenclature.

Bug: 18364450
Change-Id: I6642050e9b3c331df26c997c1d2276576cb62e93
mx_vdec_hevc.cpp
mx_vdec_msm8974.cpp
2278148b3ae1838153fe2319ddbc2e058e754079 06-Oct-2014 Zhijun He <zhijunhe@google.com> Revert "Revert "mm-video-v4l2: vdec: Retain lock while querying C2D filled length""

Bug: 17692582
This reverts commit fe8c0a39b2870dd9eab298998fabd17ce7923c06.
mx_vdec_msm8974.cpp
fe8c0a39b2870dd9eab298998fabd17ce7923c06 04-Oct-2014 Vineeta Srivastava <vsrivastava@google.com> Revert "mm-video-v4l2: vdec: Retain lock while querying C2D filled length"

This reverts commit bcb28bd2767daaab81e22b5dee0574f0bbcbf2f0.

Bug: 17811061

Change-Id: I3e24b50c1d2bf647ed941fefbfa0a0a04375571d
mx_vdec_msm8974.cpp
bcb28bd2767daaab81e22b5dee0574f0bbcbf2f0 02-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: vdec: Retain lock while querying C2D filled length

On port reconfig, c2d is torn down & reopened. This can trigger a
race condition with any c2d call in the component context. Hold
the c2d lock while querying filled length to avoid this race
condition

Bug: 17692582

Author: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: Icac85d41e5e39b510728537a980c7096d016358c
mx_vdec_msm8974.cpp
a19e2b5f4746d249b2910e577792336739cd5672 16-Sep-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: vdec: Set correct filled-length for color-converted buffers

Query the image-size of color-converted buffer from converter, sans
the padding and alignment.

bug: 16353967
Change-Id: Ifbe7229b5e963a20538547fe543be019b161db7b
mx_vdec_msm8974.cpp
9157b7d2c90c853713840ce85a78f5d22600fe1e 15-May-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video: fix compatibility issues with ion::heap_id_mask

Add a workaround to use heap_mask OR heap_id_mask based
on the target, to keep compatibility with mismatching ion
versions till they converge.

Change-Id: Ic499da40f516ce55cd25da79e7a4f8f53dda46f5
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_msm8974.cpp
8767726b6d6b2194cbb3704d7d82f0c7ef34eeb3 17-Apr-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: reconcile to CAF tip

merge up to: set native-color format (only) for surface mode

Change-Id: I1ed1f78cfb7c5f54d950ae3ce40e677bff0b5264
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_hevc_swvdec.cpp
mx_vdec_msm8974.cpp
s_parser.cpp
073c5e91be587a9f90fe39719e1e9fa7cd2a3525 08-May-2014 Vineeta Srivastava <vsrivastava@google.com> Revert "Revert "Revert "mm-video-v4l2: reconcile to CAF tip"""

This reverts commit a66301743224ed885fc1b5275acd16f4843a03f5.

Change-Id: Ic7148d1fc268611b4feb2c6d37d1394d3fb273cb
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_hevc_swvdec.cpp
mx_vdec_msm8974.cpp
s_parser.cpp
a66301743224ed885fc1b5275acd16f4843a03f5 08-May-2014 Vineeta Srivastava <vsrivastava@google.com> Revert "Revert "mm-video-v4l2: reconcile to CAF tip""

This reverts commit f84ff736ed4e9e3c52a6341f7f2f5f325d8b5bab.
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_hevc_swvdec.cpp
mx_vdec_msm8974.cpp
s_parser.cpp
f84ff736ed4e9e3c52a6341f7f2f5f325d8b5bab 07-May-2014 Narayan Kamath <narayan@google.com> Revert "mm-video-v4l2: reconcile to CAF tip"

This reverts commit 7a9835a7abaf26e9b79648550ca8f99514cd0c7a.

Change-Id: I766b5dbe122a149cbaeb339c9176e8165f42f937
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_hevc_swvdec.cpp
mx_vdec_msm8974.cpp
s_parser.cpp
7a9835a7abaf26e9b79648550ca8f99514cd0c7a 17-Apr-2014 Praveen Chavan <pchavan@codeaurora.org> mm-video-v4l2: reconcile to CAF tip

merge up to: set native-color format (only) for surface mode

Change-Id: I6a496c435c9efe99912a6e45b27d69f38254521f
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_hevc_swvdec.cpp
mx_vdec_msm8974.cpp
s_parser.cpp
e3ef275a23d37afeab8ad57c2035dec6844e4bbe 14-Mar-2014 Arun Menon <avmenon@codeaurora.org> am 869954ed: am 01053301: am 5a9eab65: mm-video: vidc: fix memory leak in dynamic buffer mode

* commit '869954edfcf91c252c9f3a627bbd068b6fd779f6':
mm-video: vidc: fix memory leak in dynamic buffer mode
869954edfcf91c252c9f3a627bbd068b6fd779f6 14-Mar-2014 Arun Menon <avmenon@codeaurora.org> am 01053301: am 5a9eab65: mm-video: vidc: fix memory leak in dynamic buffer mode

* commit '01053301f8df5abfdbc0df702e1f04d871b045ef':
mm-video: vidc: fix memory leak in dynamic buffer mode
5a9eab657a9f229a6ed3700f27dc1253a8eaddfb 09-Jan-2014 Arun Menon <avmenon@codeaurora.org> mm-video: vidc: fix memory leak in dynamic buffer mode

In dynamic buffer mode, for non-secure playback,
output buffer is mapped before each ftb to driver.
This buffer is unmapped in the fbd. During flush
operations, the mapped buffer in ftb is not freed
leading to memory leak. To fix the issue, move
the memory mapping to just before sending the ftb
to driver.

Bug: 11973141

Change-Id: Ib0e5525fdf8132434800bf4d4ff8d27b085fc8fc
mx_vdec_msm8974.cpp
8d6406d114239bdf95311ce3b880b8d85ea355d6 10-Feb-2014 Colin Cross <ccross@android.com> am 35966073: am 1490d8ec: Merge "qcom: fix errors inside ALOGV"

* commit '35966073133ed77de1eeac4c147d66ed257f0609':
qcom: fix errors inside ALOGV
4d1da97aa0a6f55329e17912dd268fb5037e0999 10-Feb-2014 Colin Cross <ccross@android.com> qcom: fix errors inside ALOGV

Fix errors exposed by adding compile-time checking to disabled ALOGVs.

Change-Id: I9e6d88250841699a460a295fdaa12250b3ce4749
evc_utils.cpp
d86bc37a5f224788e86964745db14ee80cc326e2 23-Oct-2013 Rom Lemarchand <romlem@google.com> media: rename ion_allocation_data.heap_mask to heap_id_mask

Rename the heap_mask field in ion_allocation_data struct to heap_id_mask and
match the new kernel header.

Change-Id: Id4794c0e303a15c5815f9ee50e7b21c095e959c1
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_msm8974.cpp
a943a925f77029181f0bd74f6794ea4175819582 01-Nov-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: vidc: stability fixes in decoder

Synchronize access to extradata buffer which is allocated
and accessed in separate threads.
Do not unmap output handles in dynamic buffer mode when
buffers are freed (since they are unmapped already in FBD)

Bug: 11099331
Bug: 11366221

Signed-off: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: I26d02c183d8496a52d4ded51c53f44eaf5e6e0b0
mx_vdec_msm8974.cpp
a7cc922ab8aacc121d0abca2ba687d5551ad7523 31-Oct-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: vidc: Fix codec config behavior in flush

Send pending codec config data to the driver when flushing.
Reset intermediate buffers handles when input port is
disabled and port buffers are freed.

Bug: 11099331

Signed-off: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: Ifd674b71ce04a4be16b564c53122ce5c5e4d92f1
mx_vdec_msm8974.cpp
099ba28f1f5f8a916fb20c0d097c891fd8fa02b2 09-Oct-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: set gralloc metadata only if handle is valid

In case of dynamic buffering, pre-registered gralloc handles are
not initialized. Check for handles before setting metadata to
remove log spam due to null checks

b/11021437

Change-Id: I4a9c79ba27cb09f564b3322b5f7e0748997baf7b
mx_vdec_msm8974.cpp
69e702b93a3836f881c0dbc70f0813f87607cbb6 03-Oct-2013 Arun Menon <avmenon@codeaurora.org> mm-video: vidc: disable extra data for vp8

Firmware does not support extra data for vp8 and reports zero bytes
requirement. So OMX component does not allocate any extra data buffer.
However firmware asserts when extra data is enabled but extra data
buffer is NULL. With this change, firmware should not assert.

Change-Id: I6d0278cd3ccd63c960edcf40510a31263bea629f
mx_vdec_msm8974.cpp
576efc8b5f9ab640e1a769e0524f0bf07fdfec7d 13-Aug-2013 Arun Menon <avmenon@codeaurora.org> mm-video: vidc: changes to support dynamic buffer mode

Add support for dynamic buffer mode

Change-Id: I108f3f832167b7000ef4d25a38c8f5006507c864
mx_vdec_msm8974.cpp
24bee822a91320d24cb33e0c799870adcf9d1ca2 04-Aug-2013 Arun Menon <avmenon@codeaurora.org> mm-video: vidc: support extended index for dynamic buffer mode

Add support for dynamic buffer mode

Change-Id: I5d95c739d97c1086cc23f4db2ad1979799e0dd72
mx_vdec_msm8974.cpp
7f3c89a88e9fad370f57981d10eec553c88f0735 14-Sep-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: vidc: Fix frameparser behavior on EOS with data

The frameparser currently holds back any bytes that may be part of
the next frame's start code. In general, this results in frames
ending in 0x00 or 0x00,0x00 being marked as partial and properly
flushed on the next parse_sc_frame call. If an EOS is received
with data, this flush never occurs. In that case, this change
copies the missing bytes to the destination frame.
author: Leena Winterrowd <lenhardw@codeaurora.org>

Bug: 10668205

Change-Id: Ia7f1d795b2459da86f1bf6cdb5f8ca8e21c306bd
rameparser.cpp
aa66d36cb6948770d28b7583681649c9d8826bd9 14-Sep-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: Free frame_parser in component de-init

frame_parser is alloc'ed in component init, it should be accordingly
freed in de-init rather than when input buffers are freed.
author: Leena Winterrowd <lenhardw@codeaurora.org>

Bug: 10668205

Change-Id: I2a8dd90b4831f9d9e7d50f5a1093d1a0055d3aad
mx_vdec_msm8974.cpp
74258d54fc1c909efc0cf7ebb302e54e70067a20 14-Sep-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: vidc: Flush m_input_free_q when input buffers are freed

Not flushing it can leave dangling pointers to old input buffers,
which get dereferenced if the component is re-used for another
session.
author: Deva Ramasubramanian <dramasub@codeaurora.org>

bug: 10668205

Change-Id: I8356c7db9714d1c1d420d975aed0a7f50cdedef7
mx_vdec_msm8974.cpp
50ad2f6e2dc3f0fca5f2b9a5d1e2f7b056133036 15-Aug-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video:add a component(role) that has smoothstreaming enabled

A new role with '.smoothstreaming' appended will always force
such a component to be in smoothstreaming mode by-default.

Change-Id: I41dfcdde9cdeb4e66f7c289e8650b89680e7a28f
mx_vdec_msm8974.cpp
29caf5e1d31befc442b606d77e6c170581a4bc63 08-Aug-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: vidc: delay sending EOS associated with an empty input

When an empty input (of length 0) is queued with EOS, do not
coalesce this buffer with previously enqueued buffer to avoid EOS
getting associated with that buffer.
The client may percieve this as a dropped output frame.

Bug: 10210402

Change-Id: I1eede5b20f16717ee10a7716d6bc1fd28123d1dd
mx_vdec_msm8974.cpp
8b173d647d30b0cebf73b966a620b14cc3429b41 06-Aug-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: Release driver buffers correctly

Release driver buffers when all component buffers are
released. This is needed as component may transition
back to idle state from loaded state, and prepare_buf
will fail if the buffers are not unregistered from
driver.

Bug: 10210402

Change-Id: Ia364a52c0c255ef14ff953d2ffab448d5cd73351
Signed-off-by: Surajit Podder <spodder@codeaurora.org>
mx_vdec_msm8974.cpp
f1b92e4ed363dcda40ea06783590d63b733ec659 07-Aug-2013 Praveen Chavan <pchavan@codeaurora.org> mm-video: vidc: handle EOS buffers and timestamps correctly

When EOS buffer with nFileLen > 0 is queued, the component
appends it to the buffer before the EOS. This results in a buffer with
two frames to be queued to the decoder, which subsequently ignores the
second frame.

Additionally, when generating delayed ETBs in the EOS case, the wrong
timestamp gets added for deferred frames.

Bug: 10210402

Change-Id: I5fe3e97327b2730c43570f41cd944418a8e32fba
Signed-off-by: Leena Winterrowd <lenhardw@codeaurora.org>
mx_vdec_msm8974.cpp
61a2c6a19dbd06a317a419623020e02056661876 26-Jul-2013 Praveen Chavan <pchavan@codeaurora.org> Merge up to tip (906de570) of hardware/qcom/media from codeaurora.org

Change-Id: Iee6f5ea3781748209b02725b30f2c09a8f1392fa
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_msm8974.cpp
ower_module.cpp
ueue.c
s_parser.cpp
664f2694df6c4ca49af5b6a86ec11be149006b3d 25-May-2013 Nick Kralevich <nnk@google.com> Don't call property_get with too small a buffer.

Fix build.

Change-Id: I6fcc9abb7a7c111b8367b1c898fc034d41250bb9
mx_vdec_msm8974.cpp
6eec4d1ea65df853450a6e158718981cba900bf6 30-Apr-2013 Shashank Mittal <mittals@codeaurora.org> Update mm-video to get legacy and v4l2 interfaces to co-exist

* Move mm-video to mm-video-legacy
* Add mm-video-v4l2 from codeaurora.org

Change-Id: Idf13fa2780fd0359ccefc8b004286c5a356d3546
rameparser.cpp
264_utils.cpp
evc_utils.cpp
essage_queue.c
p4_utils.cpp
mx_vdec.cpp
mx_vdec_hevc.cpp
mx_vdec_msm8974.cpp
ower_module.cpp
ueue.c
s_parser.cpp