GitHub/LineageOS/android_hardware_samsung_slsi_openmax.git
8 years agoosal: Fix OSAL lock ANB type casting cm-12.1 stable/cm-12.1-YOG4P
Ethan Chen [Wed, 12 Aug 2015 01:18:47 +0000 (18:18 -0700)]
osal: Fix OSAL lock ANB type casting

* commit 9d7f3c9550db35b835be9ca679befbca171c0333 picked the original
  change incorrectly resulting in the useAndroidNativeBuffer function
  passing a pBuffer into a function expecting a buffer_handle_t. This
  would cause CSC to crash when converting video frames.

Change-Id: Ia0270d93558f682d64d830643aba43295414dba1

8 years agovideo_dec: Fix issue where EOS Flag is returned multiple times for vc1
SeungBeom Kim [Tue, 30 Jun 2015 16:28:17 +0000 (19:28 +0300)]
video_dec: Fix issue where EOS Flag is returned multiple times for vc1

Change-Id: I803054e7bd2939487b8f821b6b937a4f0e7e2244

8 years agovideo_dec: Add ThumbnailMode decoding to WMV
Andreas Schneider [Tue, 5 May 2015 22:35:09 +0000 (00:35 +0200)]
video_dec: Add ThumbnailMode decoding to WMV

Change-Id: Iffbed657f6e58e63cafce1cb5ebfe9f678ef07a1
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
8 years agovideo_dec: Fix types and casting in h264 codec
Andreas Schneider [Tue, 5 May 2015 22:40:43 +0000 (00:40 +0200)]
video_dec: Fix types and casting in h264 codec

Change-Id: Ic21cc4a664784564623d18d5040a151a84523a09
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
8 years agovideo_dec: Fix h264 function prototypes
Andreas Schneider [Tue, 5 May 2015 22:40:16 +0000 (00:40 +0200)]
video_dec: Fix h264 function prototypes

Change-Id: Ie3e2915bbacb5d5458c52bc4989ed438b79ac190
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
8 years agovideo_dec: Add missing prototype for Exynos_Allocate_CodecBuffers
Andreas Schneider [Tue, 5 May 2015 22:39:34 +0000 (00:39 +0200)]
video_dec: Add missing prototype for Exynos_Allocate_CodecBuffers

Change-Id: Ib35f1e7ffee77cde1f588fee81e20b3505c93be2
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
8 years agovdec: report width/height as stride/slice-height for BUFFER_COPY
Lajos Molnar [Wed, 8 Apr 2015 19:25:31 +0000 (21:25 +0200)]
vdec: report width/height as stride/slice-height for BUFFER_COPY

This is a workaround for bytebuffer mode, as decoder actually uses width
and height as stride and slice height for the output buffer.  Changing
only at getParam as the internal value may be used elsewhere.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I9360dd5c17cc3f1be206cad65c440cae7d260b5f
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
8 years agovc1: Fix OMX_IndexVendorThumbnailMode usage
Christopher N. Hesse [Tue, 23 Jun 2015 22:53:52 +0000 (00:53 +0200)]
vc1: Fix OMX_IndexVendorThumbnailMode usage

Apparently there was a mismatch between the header and the actual code.

Change-Id: Icb877468f55fd81f98b6498fc02578e538211615

9 years agovideo_dec: Squashed MPEG2 updates cm-12.0 stable/cm-12.0-YNG3C stable/cm-12.0-YNG4N
SeungBeom Kim [Tue, 31 Mar 2015 21:59:57 +0000 (00:59 +0300)]
video_dec: Squashed MPEG2 updates

Squash of the following commits:

video_dec: Add buffer index reset scheme.

Add buffer index reset scheme when the Dynamic Resolution Change with
dynamic DPB Change working.
Backported-from: hardware/samsung_sli/exynos5
Change-Id: Id0bd2b8f1271c240a7280a7e3f39fdc802a7c339
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
----------------------------------------------------------

video_dec: Add ThumbnailMode decoding to h264

Extension name:
 - EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL "OMX.SEC.index.enableThumbnailMode"
Backported-from: hardware/samsung_slsi/exynos5
Change-Id: I630cfa54de361dccfde1f8b56e7b8ba2f534654f
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Change-Id: Icd2fa453c608144ac4cd908e1abab074bd100e87

----------------------------------------------------------

video_dec: Fix for dynamic resolution change timing issue.

Backported-from: hardware/samsung_slsi/exynos5
Change-Id: I8bba464d9a7eaa43511d0324badba711ea1cc931
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
----------------------------------------------------------

video_dec: Fix issue where EOS Flag is returned multiple times

There is a bug that EOS Flag is returned too many times in special
cases.
Backported-from: hardware/samsung_slsi/exynos5
Change-Id: I2a7e83ce4a3da56585255fb9b3884262056cc24d
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Change-Id: Icd2fa453c608144ac4cd908e1abab074bd100e87

9 years agovideo_dec: Set crop only if frame dimensions change
SeungBeom Kim [Mon, 30 Mar 2015 16:36:13 +0000 (18:36 +0200)]
video_dec: Set crop only if frame dimensions change

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: Ic8c8a59f799334210a7c51bfaceb272b94ba7602
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_[enc|dec]: Add support for resubmitting CSDs after flush
SeungBeom Kim [Mon, 30 Mar 2015 16:31:20 +0000 (18:31 +0200)]
video_[enc|dec]: Add support for resubmitting CSDs after flush

This modifies OMX code for seeking.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: Ia340e4d9274f7691917e71fa77fd38f0bd037d81
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Add crop info update code
SeungBeom Kim [Sun, 29 Mar 2015 15:43:27 +0000 (17:43 +0200)]
video_dec: Add crop info update code

This patch resolves the failure of testH264_flushConfigureDrc CTS. OMX
update the Crop information when client call the SetParameter with
OMX_IndexParamPortDefinition.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I985f326ae46129a2a48afa7ecf2ab77ce4a67e22
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agoosal: Fix OSAL lock anb type casting
SeungBeom Kim [Mon, 30 Mar 2015 16:12:37 +0000 (18:12 +0200)]
osal: Fix OSAL lock anb type casting

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: Ifc8cfeaa247be26bc673fc51ef501f81ed8dc8f7
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Limit the number of added minUndequeuedBufs
SeungBeom Kim [Mon, 30 Mar 2015 15:46:38 +0000 (17:46 +0200)]
video_dec: Limit the number of added minUndequeuedBufs

We try to allocate more memory than the memory size reserved in the
case of DRM play.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I906ebd4fed95a860ef72176ee63e4a6a65c982b9
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Fix issue where EOS Flag is returned multiple times
SeungBeom Kim [Mon, 30 Mar 2015 15:41:34 +0000 (17:41 +0200)]
video_dec: Fix issue where EOS Flag is returned multiple times

There is a bug that EOS Flag is returned too many times in special
cases.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I2a7e83ce4a3da56585255fb9b3884262056cc24d
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Add Dynamic resolution support for MPEG4 and VP8.
SeungBeom Kim [Mon, 30 Mar 2015 15:30:43 +0000 (17:30 +0200)]
video_dec: Add Dynamic resolution support for MPEG4 and VP8.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I4581c613a07fa13925376fcca384ba8ccec008db
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_enc: Change scheme of codec buffer alloc in video encode
SeungBeom Kim [Mon, 30 Mar 2015 12:14:58 +0000 (14:14 +0200)]
video_enc: Change scheme of codec buffer alloc in video encode

The case of input port copy mode in video encode, need codec buffer.
This patch supports dynamic calculation of the buffer size of the codec.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: Iac1ad718003061519fc9d0673d257406a4c77fd7
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Fix scheme of output metadata buffer in Decode component
SeungBeom Kim [Sun, 29 Mar 2015 13:55:38 +0000 (15:55 +0200)]
video_dec: Fix scheme of output metadata buffer in Decode component

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I2d9df629349469d0ad5560e513de8855aae9de03
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Add compensate the defect of dynamic resolution change.
SeungBeom Kim [Sun, 29 Mar 2015 10:20:18 +0000 (12:20 +0200)]
video_dec: Add compensate the defect of dynamic resolution change.

If seek position immediately after Dynamic resolution change, error
occurs. Also, the case of if send port_disable command immediately after
flush, error occurs.

Backported-from: hardware/samsung_sli/exynos5

Change-Id: I999f2ef12faaafea607d39986efac977355ea886
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Add buffer index reset scheme.
SeungBeom Kim [Sun, 29 Mar 2015 10:14:03 +0000 (12:14 +0200)]
video_dec: Add buffer index reset scheme.

Add buffer index reset scheme when the Dynamic Resolution Change with
dynamic DPB Change working.

Backported-from: hardware/samsung_sli/exynos5

Change-Id: Id0bd2b8f1271c240a7280a7e3f39fdc802a7c339
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Fix for dynamic resolution change timing issue.
SeungBeom Kim [Sun, 29 Mar 2015 13:22:44 +0000 (15:22 +0200)]
video_dec: Fix for dynamic resolution change timing issue.

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I8bba464d9a7eaa43511d0324badba711ea1cc931
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Add ThumbnailMode decoding to h264
SeungBeom Kim [Sun, 29 Mar 2015 11:30:08 +0000 (13:30 +0200)]
video_dec: Add ThumbnailMode decoding to h264

Extension name:
 - EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL "OMX.SEC.index.enableThumbnailMode"

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I630cfa54de361dccfde1f8b56e7b8ba2f534654f
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo_dec: Increase default buffer size for copy mode recording
SeungBeom Kim [Sun, 29 Mar 2015 10:47:52 +0000 (12:47 +0200)]
video_dec: Increase default buffer size for copy mode recording

Backported-from: hardware/samsung_slsi/exynos5

Change-Id: I190546400e4d1d06b242b7c078a8a6700b4bfd35
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agoresourcemanager: Fix memset warning.
Andreas Schneider [Mon, 30 Mar 2015 14:41:46 +0000 (16:41 +0200)]
resourcemanager: Fix memset warning.

Change-Id: I286e775723eba09f5686f8ab71a0f3ce40e12bb9
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agoinclude: Avoid redefinition of ALIGN
Andreas Schneider [Mon, 30 Mar 2015 16:12:02 +0000 (18:12 +0200)]
include: Avoid redefinition of ALIGN

Change-Id: Icd48935357c1ceb2aac4bcdee4e5a57621f61b93
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo: Add missing function prototypes
Andreas Schneider [Mon, 30 Mar 2015 14:41:38 +0000 (16:41 +0200)]
video: Add missing function prototypes

We get a lot of implicit declaration of function warnings and they could
lead to segfaults etc.

Change-Id: Ibb95e0f657cf3983906aaa3e18dbbdc78de78373
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agompeg2 + vc1: Add kernel headers to include path
Alberto96 [Mon, 30 Mar 2015 21:05:44 +0000 (00:05 +0300)]
mpeg2 + vc1: Add kernel headers to include path

Change-Id: I382a9189fd4a85b56cfb2f3e89f59eef79c7ad58

9 years agovideo_dec: Update VP8 component role
Andreas Schneider [Sun, 29 Mar 2015 10:43:41 +0000 (12:43 +0200)]
video_dec: Update VP8 component role

VP8 component role changed to "video_decoder.vp8" in the framework.

Change-Id: Ie1d8d8c054a68938508d5e57a34dd5cdbc2c95de
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
9 years agovideo-enc: Add missing prototypes.
Andreas Schneider [Tue, 6 Jan 2015 16:27:23 +0000 (17:27 +0100)]
video-enc: Add missing prototypes.

Missing prototypes can lead to segfaults.

Change-Id: Ibe4a8d8b2f811ee30b42c0da7fede2f3fcae9a76
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit fca30d0804d4a6f68d88065ed238861740f52670)

9 years agoOpenMax: Update from ODROID-XU 04212014 BSP stable/cm-11.0
Ethan Chen [Thu, 26 Jun 2014 07:43:53 +0000 (00:43 -0700)]
OpenMax: Update from ODROID-XU 04212014 BSP

Change-Id: I3f3a000cee43c0ae20f8d0d117195d115025af7b

10 years agoOpenMAX: Add kernel headers to include path
Ethan Chen [Thu, 24 Oct 2013 23:47:57 +0000 (16:47 -0700)]
OpenMAX: Add kernel headers to include path

10 years agoosal: properly ifdef for USE_DMA_BUF
Ethan Chen [Tue, 27 Aug 2013 22:06:27 +0000 (15:06 -0700)]
osal: properly ifdef for USE_DMA_BUF

10 years agoopenmax: allow frameworks/native NV12Tiled format
Ethan Chen [Tue, 27 Aug 2013 22:05:41 +0000 (15:05 -0700)]
openmax: allow frameworks/native NV12Tiled format

10 years agoopenmax: only build for insignal SLSI variant
Ethan Chen [Tue, 27 Aug 2013 21:10:28 +0000 (14:10 -0700)]
openmax: only build for insignal SLSI variant

11 years agoopenmax: Dequeue API changes for I/O error handling
SeungBeom Kim [Wed, 6 Mar 2013 00:31:30 +0000 (09:31 +0900)]
openmax: Dequeue API changes for I/O error handling

Change output buffer dequeue I/O error handling in decode component.

Change-Id: If35efe23b781072fb540310952bfa57965529b68
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agoremoved dependency variable
Taehwan Kim [Thu, 28 Feb 2013 11:55:24 +0000 (11:55 +0000)]
removed dependency variable

BoardConfig.mk is already included by build system.
removed dependency variable.

Change-Id: I93fec3c3d4590c8f5dc8faeb61b81a9b13b51192
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agocommon/video: added INVAILD_STATE in exceptionFlag
Taehwan Kim [Mon, 4 Mar 2013 04:11:38 +0000 (04:11 +0000)]
common/video: added INVAILD_STATE in exceptionFlag

Waits for loadedResource semaphore
during OMX_CommandPortEnable command.

If occur an error from OpenMAX IL Client
before completing resource allocation,
loadedResource semaphore couldn't be released.

added INVAILD_STATE in exceptionFlag
in order to release loadedResource semaphore
in above case.

Change-Id: I31e1c398136d2fcbcf886408683c1d21625e1794
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: fixed a FrameMap problem in kMetadataBufferTypeCameraSource case.
Taehwan Kim [Mon, 4 Mar 2013 05:17:18 +0000 (05:17 +0000)]
venc: fixed a FrameMap problem in kMetadataBufferTypeCameraSource case.

in case of kMetadataBufferTypeCameraSource,
ANBColorFormat is not set.
so, It is possible to use an uninitialized value.

modified a handling to decide a value of FrameMap.

Change-Id: I5221f48902724b47d68a1e6170c34695a60fad36
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoopenmax: Additional code for Buffer flag processing scheme change after EOS.
SeungBeom Kim [Fri, 22 Feb 2013 00:33:46 +0000 (09:33 +0900)]
openmax: Additional code for Buffer flag processing scheme change after EOS.

Sometimes, OpenMAX do not use Specific output buffer.
This buffer was return from MFC after EOS.
That Buffer will be free at finish time.(It Is not a memory leak.)
But, Buffer is not used.

This patch is solved that problem.

Depends On
 - Change I5090887e: openmax: Buffer flag processing scheme change after EOS.

Change-Id: I8bcdecb8d0dc12ac985af44283412a543e219f84
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agoopenmax: Support EOSBehavior.
SeungBeom Kim [Wed, 27 Feb 2013 01:10:02 +0000 (10:10 +0900)]
openmax: Support EOSBehavior.

Google has updated CTS test.
Support EOSBehavior for testEOSBehaviorH263 & testEOSBehaviorH264.
In case of "EOS Flag with Data",
This Patch is support for normal processing.

Depends On
 - Change I781712a5: libcodec: Support EOSBehavior.

Change-Id: I560434c55dd4932f018f973e0093453f493409cb
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agoosal: resolved prevent defect
Taehwan Kim [Fri, 22 Feb 2013 09:05:56 +0000 (09:05 +0000)]
osal: resolved prevent defect

- 19329, 21140

Change-Id: I21cb12259bedfcb69699b10445d738fed1a1636a
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: removed FlushXXBufferReturn function
Taehwan Kim [Fri, 1 Feb 2013 06:03:53 +0000 (06:03 +0000)]
venc: removed FlushXXBufferReturn function

modified to use Exynos_XXBufferReturn
instead of Exynos_FlushXXBufferReturn.

Change-Id: Icb3f26ef9c1e9e46ad97f6a7efc26bd796e73a7f
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoopenmax: Buffer flag processing scheme change after EOS.
SeungBeom Kim [Wed, 20 Feb 2013 06:47:49 +0000 (15:47 +0900)]
openmax: Buffer flag processing scheme change after EOS.

Add tag INDEX_AFTER_EOS = 0xE05.
In the case of after EOS,
1. MFC DD will return INDEX_AFTER_EOS tag.
2. OpenMAX will detect INDEX_AFTER_EOS tag.
3. OpenMAX will return buffer(with timestame = 0x0 and flags = 0x0).

< Without patch >
Sometimes, OpenMAX will return EOS flag twice when using ACodec.

Depends On
 - Change I57265bc8: MFC: MEDIA: EXYNOS: Change default tag of EOS

Change-Id: I5090887eb626fba14d5cba946ff71e3709ec4cfe
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agoopenmax: Change DPB setting scheme.
SeungBeom Kim [Tue, 19 Feb 2013 04:56:51 +0000 (13:56 +0900)]
openmax: Change DPB setting scheme.

Change DPB setting scheme on buffer shared mode for init and buffer reconfigure.
In the case of DPB buffer setting to MFC FW before incomming buffer to OpenMAX component,
Need for the Improved stability of buffer processing.

Depends On
 - Change-Id: If008de62a40baa262085fcf9dbadfe4b80ac2619

Change-Id: Iae6843dfc23708f4b80faa1fceeeccef09148482
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agocore: resolved prevent defect
Taehwan Kim [Wed, 13 Feb 2013 10:21:33 +0000 (10:21 +0000)]
core: resolved prevent defect

- 17726 : Null pointer dereferences

Change-Id: Id836e6fe16c4520941a03163b32516658d5e6947
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovideo/common: resolved prevent defects
Taehwan Kim [Wed, 13 Feb 2013 08:05:23 +0000 (08:05 +0000)]
video/common: resolved prevent defects

- 15864 : Null pointer dereferences

- 16787, 16788, 16790, 16791, 16793, 16794, 16795
: Memory-illegal access

Change-Id: I7d7f0e50f374115c80b60db60d7a6c866e526fed
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agobaseport: Error contrast codes.
SeungBeom Kim [Mon, 18 Feb 2013 05:03:19 +0000 (14:03 +0900)]
baseport: Error contrast codes.

Add NULL pointer check before buffer return.

Change-Id: I7a171150f31c3518c7bf4142aac59a11b103874d
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agovdec: added OMX_IndexParamSetDTSMode support
Jinsung Yang [Fri, 1 Feb 2013 07:09:41 +0000 (16:09 +0900)]
vdec: added OMX_IndexParamSetDTSMode support

typedef struct _EXYNOS_OMX_VIDEO_PARAM_DTSMODE {
    OMX_U32         nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_BOOL        bDTSMode;
} EXYNOS_OMX_VIDEO_PARAM_DTSMODE;

- bDTSMode
    true  : DTS(Decorder Time Stamp)
    false : PTS(Presentation Time Stamp)

Change-Id: I9a7591ff8ebd9eb4fb3a2dbdd1dba7f6d2f549e8
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
11 years agovenc: changed file property
Taehwan Kim [Fri, 1 Feb 2013 06:41:12 +0000 (06:41 +0000)]
venc: changed file property

file property is changed to unix from dos.

Change-Id: Iea921d421e484f04c9347e9d43f91d3f7145d5a5
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: added OMX_IndexParamVideoIntraRefresh support
Taehwan Kim [Thu, 17 Jan 2013 02:08:56 +0000 (02:08 +0000)]
venc: added OMX_IndexParamVideoIntraRefresh support

support "Cyclic intra-refresh" only.
doesn't support "Adaptive intra-refresh".

Change-Id: I50722f5bfe8729243395123f998025e6c655b7bd
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: cleaned up code
Taehwan Kim [Fri, 1 Feb 2013 04:47:16 +0000 (04:47 +0000)]
vdec: cleaned up code

Change-Id: I59f523993ed9638b9640d6fc9877f662c057f639
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: changed buffer count related with MAX DPB
Taehwan Kim [Fri, 1 Feb 2013 01:21:48 +0000 (01:21 +0000)]
vdec: changed buffer count related with MAX DPB

number of buffer is modified
to nBufferCountActual from maxDPBNum
in share mode case.

Change-Id: I07e5267ab80bf7b32442b8a4ebfba39cfe52131c
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoh264enc/osal: modified OMX_IndexParamPrependSPSPPSToIDR support
Taehwan Kim [Thu, 31 Jan 2013 10:04:06 +0000 (10:04 +0000)]
h264enc/osal: modified OMX_IndexParamPrependSPSPPSToIDR support

in case of "OMX.google.android.index.prependSPSPPSToIDRFrames",
android uses the PrependSPSPPSToIDRFramesParams structure.
PrependSPSPPSToIDR support is decided by bEnable value.

struct PrependSPSPPSToIDRFramesParams {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_BOOL bEnable;
};

Change-Id: I7c65cd8510d2446061f2f18402f2288c274c6a53
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoexynos_omx: Add secure encode component.
SeungBeom Kim [Fri, 25 Jan 2013 01:15:14 +0000 (10:15 +0900)]
exynos_omx: Add secure encode component.

Add secure encode component for WFD.
Input buffer
 - Metadata : kMetadataBufferTypeCameraSource with FD(Secure buffer).
Output buffer
 - FD(Secure buffer) : pBuffer of OMX_BUFFERHEADERTYPE is FD.

Change-Id: Ie9f70da1101649d553669ad6044d77000eb987d3
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agovdec: fixed memory type problem in DRM case
Taehwan Kim [Wed, 30 Jan 2013 00:12:09 +0000 (00:12 +0000)]
vdec: fixed memory type problem in DRM case

must to use the SECURE_MEMORY type in DRM case.
but, the memory type has been overwritten
by other condition.
fixed this problem.

Change-Id: I8b2f8519c09425b2355e38c81fa87ed514451c03
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: fixed reinput at output problem
Taehwan Kim [Tue, 29 Jan 2013 11:21:12 +0000 (11:21 +0000)]
vdec: fixed reinput at output problem

even though that FillThisBuffer isn't needed
when stopping drop logic,
has done the FillThisBuffer.
moved it to correct condition.

Change-Id: Idb624ea34837beb1c89b83641c9a33454c1c168b
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: fixed the mapper.lock failed problem
Taehwan Kim [Tue, 29 Jan 2013 10:11:41 +0000 (10:11 +0000)]
vdec: fixed the mapper.lock failed problem

If needs the PortSettingsChanged event,
it is possible to be used old width and height
in LockANB function,
before reconfiguring an output buffer.
added to check an exceptionFlag in LockANB function.

Change-Id: I57f2b98beed0050a87f0ff13ab892f6c6d5ce7c4
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: changed a flag value in case of CONTIG_MEM
Taehwan Kim [Tue, 29 Jan 2013 23:45:46 +0000 (23:45 +0000)]
osal: changed a flag value in case of CONTIG_MEM

changed to ION_EXYNOS_MFC_INPUT_MASK from 0.
It means that first try to allocate a buffer
in area of reserved memory.

Change-Id: I90173b0d0423e6481d712f45223c7ae9d3377e64
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: Remove DPB plane size alignment calculation dependency
Satish Kumar Reddy [Thu, 3 Jan 2013 03:54:09 +0000 (03:54 +0000)]
vdec: Remove DPB plane size alignment calculation dependency

DPB plane size alignment calculation is removed from exynos OMX
and instead aligned size information is retrieved from MFC driver

Change-Id: I1fb9d748532022da02c0caf340f3e961119d1113
Signed-off-by: Satish Kumar Reddy <palli.satish@samsung.com>
11 years agowmvdec: modified NEED_TIMESTAMP_REORDER handling
Taehwan Kim [Wed, 16 Jan 2013 08:08:29 +0000 (08:08 +0000)]
wmvdec: modified NEED_TIMESTAMP_REORDER handling

if there is a skipping frame before the EOS frame,
used the already saved index about timestamp.
so, couldn't notice the EOS flag.

this patch fixes the above problem.

Change-Id: Ib2d7329f4e3c3f4f46fa5bc92bcbd3371af7a09e
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovideo: added OMX_IndexVendorGetBufferFD support
Taehwan Kim [Thu, 3 Jan 2013 10:37:45 +0000 (10:37 +0000)]
video: added OMX_IndexVendorGetBufferFD support

in order to get the FD about buffer,
added OMX_IndexVendorGetBufferFD support.

Change-Id: I2034d97c7afcdabe41876e08380ec4f8b120f52f
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovideo: added OMX_IndexVendorNeedContigMemory support
Taehwan Kim [Thu, 3 Jan 2013 09:12:54 +0000 (09:12 +0000)]
video: added OMX_IndexVendorNeedContigMemory support

in order to set to allocate physically contig. buffer,
added OMX_IndexVendorNeedContigMemory support.

Change-Id: I27660a4b135d6c27c9eedd749cd2665157d72e70
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agocommon: added bNeedContigMem in port
Taehwan Kim [Thu, 3 Jan 2013 09:08:23 +0000 (09:08 +0000)]
common: added bNeedContigMem in port

If needs to allocate physically contiguous buffer,
bNeedContigMem is true.

Change-Id: I72ac999e45f3206b4852e78e6eb7e1a812fd3dbf
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec/venc: modified memory type in CSC
Taehwan Kim [Thu, 3 Jan 2013 08:09:49 +0000 (08:09 +0000)]
vdec/venc: modified memory type in CSC

fixed to use CSC_MEMORY_DMABUF before.
If use the HW-CSC in case of non-DMA_BUF environment,
needs to set CSC_MEMORY_USERPTR.

Change-Id: I23656f49cf762e507e8a11abc2047e99075e721b
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: added CONTIG_MEMORY type
Taehwan Kim [Thu, 3 Jan 2013 09:01:43 +0000 (09:01 +0000)]
osal: added CONTIG_MEMORY type

If use the CONTIG_MEMORY,
OMX allocates the buffer that is contiguous physically.

Change-Id: I7bbf08578b33eeb4f8ee7dd019323197fca54aae
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoadec: added the initial part for port flush status
Kim Sangyub [Tue, 15 Jan 2013 07:46:17 +0000 (07:46 +0000)]
adec: added the initial part for port flush status

Before Input Buffer is taken from the queue, port flush status is checked,
however, the current port flush status is always false.
so added to set the initial part

Change-Id: I86c715f1df751a34fb03b52b44587193db0810ad
Signed-off-by: Kim Sangyub <sangyub.kim@samsung.com>
11 years agoh264enc: Support prepending SPS/PPS to every IDR/I frames
Jinsung Yang [Sun, 30 Dec 2012 06:43:40 +0000 (15:43 +0900)]
h264enc: Support prepending SPS/PPS to every IDR/I frames

Encoder enables the feature prepending SPS/PPS to every IDR/I frames
when called google extension index
"OMX.google.android.index.prependSPSPPSToIDRFrames".

Change-Id: I30e31f7b6631b399b16010acc8650ed071d45c71
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
11 years agovideo: added USE_CSC_HW macro
Taehwan Kim [Fri, 28 Dec 2012 02:26:22 +0000 (02:26 +0000)]
video: added USE_CSC_HW macro

Change-Id: I64609678de85d69b108c2c32158901f7ca00c327
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: added USE_IMPROVED_BUFFER support
Taehwan Kim [Fri, 28 Dec 2012 02:10:19 +0000 (02:10 +0000)]
osal: added USE_IMPROVED_BUFFER support

in case of USE_IMPROVED_BUFFER,
flag about SYSTEM_MEMORY is changed
for improved performance.

Change-Id: Id0c7c194e76b67a1a0f032d1909550e4b1631be4
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovideo: changed the memory type about ION
Taehwan Kim [Wed, 26 Dec 2012 06:56:50 +0000 (06:56 +0000)]
video: changed the memory type about ION

memory type about ION is changed
to SYSTEM_MEMORY from NORMAL_MEMORY.

Change-Id: I6b1703fd4a1fc0969bbf31e71d30df49fb927f67
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoh264dec: fixed the DRC handling problem
Taehwan Kim [Fri, 28 Dec 2012 08:35:33 +0000 (08:35 +0000)]
h264dec: fixed the DRC handling problem

happened re-setup about DPB in SHARE MODE,
before generating the OMX_EventPortSettingsChanged event
in case of DRC.
solved to use exceptionFlag.

Change-Id: I363eeb59e170ebaa999bd486e4a6a31333957fe8
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoRevert "[HACK] venc: support USERPTR about input"
Taehwan Kim [Mon, 31 Dec 2012 00:23:28 +0000 (00:23 +0000)]
Revert "[HACK] venc: support USERPTR about input"

This reverts commit f27148d67da2a9a308adcb4d5f192ef69e7bbe9c.

Change-Id: Iacde17dca45d4e0034b7119d39ce41e8db87cbcb
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: modified mem_cnt calculation
Taehwan Kim [Fri, 28 Dec 2012 06:01:35 +0000 (06:01 +0000)]
osal: modified mem_cnt calculation

despite isn't owner of memory, mem_cnt is decreased.
this problem is fixed.
and seperated alloc/free and map/unmap.

Change-Id: I11b434aaad40362371b7484d9bfb922dbd46b766
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: cleaned up related code with codec buffer
Taehwan Kim [Fri, 28 Dec 2012 00:32:41 +0000 (00:32 +0000)]
venc: cleaned up related code with codec buffer

Change-Id: Id0d878e507e323e3987f05a1db80114290fa3273
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovc1dec: WMV decoder EOS handling fix
Taehwan Kim [Fri, 14 Dec 2012 04:03:20 +0000 (04:03 +0000)]
vc1dec: WMV decoder EOS handling fix

This patch solves eos event not returned issue

Change-Id: Ibeb571b24172f60f9cd11d4f5c22162018d77b45
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: added UnlockANBHandle in video encode component.
SeungBeom Kim [Thu, 20 Dec 2012 02:51:38 +0000 (11:51 +0900)]
venc: added UnlockANBHandle in video encode component.

added UnlockANBHandle in video encode component
to support sharing gralloc buffer about input port.
locked ANB is needed unlock before returning.

Change-Id: Ibaf65e50134b3fcc96ad37f49cad5ac6b631e382
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
11 years agoRevert "venc: added UnlockANB in FlushPort sequence"
Taehwan Kim [Tue, 18 Dec 2012 00:26:39 +0000 (00:26 +0000)]
Revert "venc: added UnlockANB in FlushPort sequence"

This reverts commit a1b54e5db6a1ed43c0a838bd442a77f340113ab3.

Change-Id: I23ca829daa2b7842eccf2f8d5a89ff510ce97551

11 years agovenc: added UnlockANB in FlushPort sequence
Taehwan Kim [Fri, 7 Dec 2012 01:20:09 +0000 (01:20 +0000)]
venc: added UnlockANB in FlushPort sequence

added UnlockANB in FlushPort sequence
to support sharing gralloc buffer about input port.
locked ANB is needed unlock before returning.

Change-Id: I27c7e4cd8fa7c90ad4015429d1d02fcc1a49ea04
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: cleaned up related code with codec buffer
Taehwan Kim [Fri, 7 Dec 2012 00:30:05 +0000 (00:30 +0000)]
venc: cleaned up related code with codec buffer

added new functions to extract the most used code.
1. alloc codec buffer
2. free codec buffer
3. regist codec buffer

Change-Id: I0c4988fe577421658291013d65105125ab816e22
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: changed CSC method in case of RGB input color
Taehwan Kim [Tue, 11 Dec 2012 09:20:31 +0000 (09:20 +0000)]
venc: changed CSC method in case of RGB input color

if USE_GSC_RGB_ENCODER is true,
CSC method is chaned to CSC_METHOD_HW from CSC_METHOD_SW
in case of RGB input color.

Change-Id: I67212bfd04a7bf8c9b5d7d65551b26a31d63c150
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: Fix build error
Jinsung Yang [Fri, 7 Dec 2012 15:01:56 +0000 (00:01 +0900)]
osal: Fix build error

Change-Id: I56f30102fa1448217abafaf8f9967d7d642962e9
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
11 years agoosal: add RGB lock support
Jinsung Yang [Wed, 5 Dec 2012 14:23:28 +0000 (23:23 +0900)]
osal: add RGB lock support

When RGB buffer is allocated by gralloc, this patch allows to lock
for this buffer with ion_map() since that for the RGB format buffer,
gralloc uses PVR own function to virtual address mapping instead of
ion_map().

The flag GRALLOC_USAGE_HW_VIDEO_ENCODER is used to aware the buffer
is RGB format in gralloc.

Change-Id: Iae92296751cc1bb1015aa33ec7f3b4ccc78955d7
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
11 years agocommon: Increase max instance number
Jinsung Yang [Fri, 16 Nov 2012 04:49:06 +0000 (13:49 +0900)]
common: Increase max instance number

DEC: 3 -> 8
ENC: 1 -> 8

Change-Id: Iae88c1f41763b2a9b7c63f7bbe8e0e9b2de6e2d6
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
11 years agoh264dec/include: support S3D
Taehwan Kim [Wed, 5 Dec 2012 01:43:30 +0000 (01:43 +0000)]
h264dec/include: support S3D

added VIDEO_FRAME_STATUS_ENABLED_S3D handling
and the OMX_EventS3DInformation event,
in order to support S3D.

Change-Id: I189b10a1b760bb7c7db4e49836988d70122fbf10
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: support Dynamic Resolution Change in case of H264dec
Taehwan Kim [Thu, 29 Nov 2012 01:48:25 +0000 (01:48 +0000)]
vdec: support Dynamic Resolution Change in case of H264dec

added DPB reconfiguration handling
in order to support DRC playback
in case of H264Dec.

Change-Id: I366374d7cb5eadd3c715ac566be16d45e92b0bc2
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: modified to RGBA_8888 hal pixel format from ARGB888
Taehwan Kim [Thu, 6 Dec 2012 06:17:31 +0000 (06:17 +0000)]
osal: modified to RGBA_8888 hal pixel format from ARGB888

HAL_PIXEL_FORMAT_ARGB888 is custom format.
but, HAL_PIXEL_FORMAT_RGBA_8888 is native format.

Byte order is same with HAL_PIXEL_FORMAT_RGBA_8888.
so, modified to use HAL_PIXEL_FORMAT_RGBA_8888.

Change-Id: I59d27cc440652fd55fb578a355bdfb6ce51ff6a9
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovideo: fixed missing code for H/W CSC
Taehwan Kim [Thu, 6 Dec 2012 04:32:25 +0000 (04:32 +0000)]
video: fixed missing code for H/W CSC

vdec: wrapped unneeded code, if DMA_BUF is used.

venc: added ifdef macro.
if it isn't there, DstBuf value will be wrong.

all:
added to set FD value at CodecBufferToData function
for H/W CSC.
if DMA_BUF is used, needs FD value.

Change-Id: Icca36d5a8e80cd7cc0c462416db085af005592bb
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years ago[HACK] venc: support USERPTR about input
Taehwan Kim [Thu, 29 Nov 2012 08:55:20 +0000 (08:55 +0000)]
[HACK] venc: support USERPTR about input

This is temporary patch
in order to support USERPTR about input
in camera recording scenario
even if use DMA_BUF.

Change-Id: Ie218644d6dca425ce29ab4b190152c1b8c59ee03
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: added UnlockANB in FlushPort sequence
Taehwan Kim [Thu, 29 Nov 2012 00:04:06 +0000 (00:04 +0000)]
vdec: added UnlockANB in FlushPort sequence

added UnlockANB in FlushPort sequence
to support output share mode.
locked ANB is needed unlock sequence before returning.

Change-Id: Ibf3fd3ae7eca723736d88c0514ffca311712a8bd
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: cleaned up related code with codec buffer
Taehwan Kim [Thu, 22 Nov 2012 00:34:44 +0000 (00:34 +0000)]
vdec: cleaned up related code with codec buffer

added new functions to extract the most used code.
1. alloc codec buffer
2. free codec buffer
3. regist codec buffer

Change-Id: Iae4989bfa1ab0eb3b49c5017e43dde8215f30958
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: modified codecBufferQ scheme about output port
Taehwan Kim [Wed, 14 Nov 2012 07:08:15 +0000 (07:08 +0000)]
venc: modified codecBufferQ scheme about output port

what is enqueued in codecBufferQ has been modified
to CodecBuffer from VideoBuffer.

Change-Id: Ia1c9a9b11d0d92e383be3c3f0b4163fb4b350ddf
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec: modified codecBufferQ scheme about output port
Taehwan Kim [Wed, 14 Nov 2012 02:16:12 +0000 (02:16 +0000)]
vdec: modified codecBufferQ scheme about output port

What is enqueued in codecBufferQ has been modified
to CodecBuffer from VideoBuffer.

Change-Id: Ib608bc65b4ee0bf2f2f013b86b31b12a2b36db90
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovdec/venc: Added mem_type param for csc_set_src_buffer.
meka rama [Thu, 29 Nov 2012 05:59:49 +0000 (14:59 +0900)]
vdec/venc: Added mem_type param for csc_set_src_buffer.

Default, it is set to CSC_MEMORY_DMABUF.

Change-Id: I3e4088609162c1c2d1161c82dd12abdf0d8963ee
Signed-off-by: meka rama <v.meka@samsung.com>
11 years agovdec: removed FlushXXBufferReturn function.
Taehwan Kim [Thu, 22 Nov 2012 04:30:12 +0000 (04:30 +0000)]
vdec: removed FlushXXBufferReturn function.

modified to use Exynos_XXBufferReturn
instead of Exynos_FlushXXBufferReturn.

Change-Id: Ie6e1b6110ef03ec69cb7799a90b177be570fb8d0
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: cleaned up code
Taehwan Kim [Thu, 22 Nov 2012 06:04:04 +0000 (06:04 +0000)]
osal: cleaned up code

Change-Id: I33630bca0dec430bf743ce2f3125193a2dc37652
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agoosal: changed a condition check in case of OMX_IndexParamEnableAndroidBuffers.
Taehwan Kim [Wed, 21 Nov 2012 07:06:55 +0000 (07:06 +0000)]
osal: changed a condition check in case of OMX_IndexParamEnableAndroidBuffers.

It is possible to use NON-ANB, even if OMX_IndexParamEnableAndroidBuffers.
changed a condition check in case of above.

Change-Id: I2197a71df7194a85ae693cd8fb2222e651113dcc
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc: added to support the dynamic configuration
Taehwan Kim [Tue, 20 Nov 2012 06:53:17 +0000 (06:53 +0000)]
venc: added to support the dynamic configuration

added to support the dynamic configuration
in order to support OMX_IndexConfigVideoIntraVOPRefresh.

Change-Id: Ia8a23f3efec960af4b92fd40e9938dcd20f9037d
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agovenc/osal: modified a bFirstInput handling position
Taehwan Kim [Tue, 20 Nov 2012 00:03:37 +0000 (00:03 +0000)]
venc/osal: modified a bFirstInput handling position

modified a bFirstInput handling position
to venc from osal.

Change-Id: I3b042db705b91c41104721c6a9926192166c414d
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
11 years agobuild: Replace TARGET_DEVICE to TARGET_BOOTLOADER_BOARD_NAME
Jinsung Yang [Wed, 21 Nov 2012 05:01:25 +0000 (14:01 +0900)]
build: Replace TARGET_DEVICE to TARGET_BOOTLOADER_BOARD_NAME

Change-Id: I269ed8b0842036b7483115406f245ccc7b583283
Signed-off-by: Jinsung Yang <jsgood.yang@samsung.com>
11 years agocommon: added signal abendStateEvent if componentInit fails
Taehwan Kim [Mon, 12 Nov 2012 05:52:36 +0000 (05:52 +0000)]
common: added signal abendStateEvent if componentInit fails

This patch fixes the ANR at reset/release time,
caused by some failures in initializing component.

Change-Id: I45e560068e91fb2441a3c316a3c0f293b28b15ff
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>