|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds updated TI code (under the OMAP_ENHANCEMENT conditional) for
compatibility with the current version of OMAP3/OMAP4 kernel-side
code.
This is a squashed combination of 138 commits from omapzoom:
Stagefright OMXCodec changes to enable TI Hardware Codecs
Descritpion:
These changes are ported from Froyo branch. The change details:
(1) Decoder table is updated with TI Ducati codec components
(2) OMX version is updated
(3) Component quirks are modified as per ducati codec requirements
(4) Codec configuration parameters are modified as per ducati codec
requirements
Change-Id: If845c3464281a1be053dbbff85c8db56b1163286
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Stagefright changes for video thumnail generation
Descritpion: These changes are ported from Froyo branch.
The change details:
(1) OMXCodec changes for quirks, bufferallocation
(2) Colorconverter changes to support strided buffer color conversion
from NV-12 packed to RGB
(3) stagefright metadata retriever changes for codec create with proper
flags and codec configuration changes required for Ducati codec
Change-Id: I252284d9e98653d9cccc46521e6391f1d439e90a
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Stagefright Changes to use externally allocated buffers
Description: These changes are ported from Froyi branch.
The change details:
(1) Video Renderer and OMXRenderer interface changes to pass buffers
from Renderer to Awesome player
(2) Awesoem player changes to set the buffers with the OMXCodec
and release the buffers once rendered
(3) OMXCodec changes to use the externally allocated buffers
while configuring the hardware codec.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 5: Cherry-picked on current tree. No changes made.
Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I39e1c014eb52f9b0c2cb717671d0339889b09e07
Stagefright changes to support interlaced video formats
Description: These changes are ported from Froyo branch
Change details:
(1) Stagefrightmetadata retriever changes to check the video content
and configure teh OMXCodec with appropriate flags.
(2) OMX Codec changes to update the quirks and configure codec accordingly.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4 Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ia2e79d3883b2359ea416d5fcf509c4f3c38358e2
Stagefright changes for H263 decoders
Desrciption: These changes are ported from Froyo branch.
The change details:
H263 mime type and color format checks are added.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4 : Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Iafac582a0b426503533fcd53f62d3ced91b89b15
OMXCodec changes for buffer alignment
Description: These changes are ported from Froyo branch
The change details:
A constant has been defined to make buffer size aligned on 32 bit boundary
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4 : Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I8e8850eaa907966fd9670a57a254c1328cfb1478
Non-PreAnnouncement mode for thumbnail generation
Description: These changes are ported from Froyo
Since tiler memory is limited we cannot have 2 instance of decoder 1 instance of encoder
and camera running in parallel. This is a requirement from 1080p camcorder perceptive.
To save tiler memory we are allocating only 2 actual full size buffers but remaining all
buffers as dummy. The dummy buffer will help us to move to idle state. Then we would provide
full allocate buffers only to ducati and then on receiving the Third EmptyThisBufferDone we
would send an EOS. This will flush out the Decoded first I frame buffer back to the component.
This is the frame from which we will make the thumbnail.
Here we have not voilated any OMX protocol but still able to save memory. This is called as
NON-PreAnnoucement mode where we dont give all the actual buffer to the OMX component before
Hand for mapping on the accelerator
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Icd9650f2aa51a2eb919b51962f4c9e61ca763fe5
OMXCodec changes for software codec
Descritpion: These changes are ported from Froyo
change details:
(1) property based checks are added for software codecc
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I3cd522ecaf69f8d46877fd89f10000550fbd8622
OMXCodec changes to add software decoders/encoders to the list
Description: The codecs table is updated with the Android software codecs.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 2: cherry-pick on current tree. No changes made.
Verifications and approvals taken from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I4fdcf597fe087b54f6be10c0ad93dea0ce24bdce
OMX Renderer changres for on-the-fly resize support
Description: These changes are ported from Froyo.
Change details:
(1) Renderer interface is extended for resize
(2) Init Renderer is modified to call resize instead of destroy renderer,
if teh rendere is already created.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I519ba180cf652cf16ea7579e98c8a5278a16d790
Stagefright media extractor and parser changes
Description: These changes are ported from Froyo branch.
The change details:
(1) Extended MPEG4 extractor to support more format types
(2) Addition of cutom enums for openmax formats and errors
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on new tree. No changes made.
Taking verifications and approvals from previous patch
sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: If28b1605ea9e75f453adab7499095b5f69348af9
Stagefright and Surfaceflinger changes for S3D
Description: These changes are ported from Froyo
Change details:
(1) custom SEI parser is added
(2) Renderer creation is overloaded for s3d
(3) Awesome player has been modified to create the appropriate renderer
(4) Surface flinger is modified for appropriate overlay creation
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 7: Cherry-picking patch 4 on current head. No changes made.
Taking verifications and approvals from patch set 4. Just reuploading
to get description right.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I9e8824ac88279bacf6ad9e71dd2a94e6fefd9c73
StageFright Audio fixes
Description: These changes are ported from Froyo
Change details:
(1) Audio flush function is added
(2) quirks are updated for MP3 and AAC codecs
(3) mpeg4 extractor is updated for amr codecs
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current tree. No changes made.
Taking verifications and approvals from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic9f351b8b251aa29d36e1805014f27184c1dff22
Mediaplayer & AwesomePlayer changes for Video Cloning
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9754
Description# MediaPlayer interface and video Renderer interfaces have been
extended for enabling and disabling video cloning. Awesome receives the
Video mode state from mediaplayer and sets the renderer accordingly.
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 2: Cherry-picked on current tree. No changes made.
Taking approvals and verifications from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I0eeec627987c16cf54e361cafb927809493629a1
Awesomeplayer changes for Video Cloning on HDMI after application suspend/resume
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,10447
Description# when Gallery app is suspended by pressing home button, MediaPlayer
gets suspended and underlying Renderer and overlay are destroyed. But the
Awesomeplayer is just reset. Hence the Videomode (normal or Clone) is left
to the last value set before the suspend.
Once the application is resumed, and tries to set the clone mode again,
it would be filtered at the AwesomePlayer level because of the cached value.
This is fixed by resetting the Video mode to normal while resetting the
Awesomeplayer.
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch set 2: Cherry-picked on current tree. No changes made.
Taking verifications and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ie346c1a81b976ad56cfd7be675a26368556caf35
Stagefright: Updating meta data with profile,level,referenceframe data. Communicate to AVC component
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9467
- Added support to parse and save Video profile,level, scan-type,number of reference frames in meta data
- Communicate to ducati component
- Removed earlier isinterlaced() interface, and replaced with more updatemetadata() call in TIVideoConfigParser.cpp
----------------------------------------------------------
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch set 4: No changes made. Cherry-pick on current tree.
Taking verification, approvals and build test from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I1bb89f27a19ac53461f0ed98a54b7adbee6c66a6
Flush the audio sink when resuming from a pause-->seek
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9462
1) Play an audio file
2) Pause playback
3) Seek to another position in the file
4) Resume playback
... some audio from the position before the seek is played before the audio at the new position is played.
This patch resolves the issue by flusing the audio sink before resuming the playback if there had been a seek
while the audio was paused
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch set 3: Cherry-pick on current tree. No changes made.
Taking verifications, approvals and build test from patch set
2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic2b135473f4400cbcc92b4f2906e482f07aa4c1f
Improve AV sync logic for accurate frame posting
Current logic:
1. On Play a 10msec defalt event is posted which has a callback onVideoEvent in awesomeplayer.cpp.
2. If we find a frame in renderer comming from Ducati then we check its time stamp against system / audio time stamp
3. There is a start delta which is always adjusted from the current time.
4. If the frame is late by 50 msec we drop it
5. If the frame is early more than 100 msec then we post a event after 10msec
6. if the frame is within 10 msec of current time then post it.
7. After a frame is posted we trigger a 10msec event to go to next frame
Flaws in current logic
1. we will never post it accurate; a 33 msec frame will get divided in three 10 msec windows and we will post it 3 mec early.
2. 100 msec check was wrong.
3. polling every 10 msec is increasing the MHZ
4. After displaying the frame we start a 10msec event which could have been 1 Msec to get more accurate posting results
5. Audio on OMAP4 increase the timestamp after 42 msec and we need accuracy of 1msec. So we will never have a precise posting
Modified logic
1. We check 10msec for early ness as per google original logic. Required for precise posting
2. For PPM optimization 2 things are done
1. Post the first frame event after 1 msec instead of 10 msec
2. Post the exact time future event for frame posting
e.g 33 msec we will have 1 msec and 32 msec 2 polls only reducing the ARM MHZ and also having precise posting of frame
3. Increase accuracy of audio by interpolating in between 2 audio frame increments. So polling in between 42 msec also provides
accurate results and keeps audio buffer sizes independent of AV sync logic
4. Added safety check so that if audio dies we dont keep playing video via interpolating logic.
5. A safety modulation logic is added so that if we seek we dont wait in the event for huge time.
This will cause hangs if we dont do this in seek case.
6. Added few instrumentation to know the exact delta between to postings
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 2: Failed rebase.
Patch set 3: Cherry-pick on current tree. No changes made.
Taking verifications, and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic5651df3a8e657c123c670b11724e043218fb349
OMAP4:Stagefright player changes to use Codec recommended number of O/P buffers
Description: Currently there is no communication between OMX codec configuration
and the TIHardware renderer wrt the number of Overlay buffers to be used for
on the output port. In this patch, the Awesome player logic is enhanced to
query Codec for the recommended number of buffers for output port and
communicate the same down to TI Hardware Renderer. The codec recommended number
is buffered with the optimal buffer count to be maintained at the DSS driver.
With this patch the hardcoding for the output port buffer number is removed
and also the lower limit for the buffer count is removed in TIHardware Renderer.
this patch has to be merged along with 1.21-p5 ducati migration.
Validation: Tested AV playback from Android Gallery for different resolution cl$
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch set 2: Cherry-pick on current tree. No changes made.
Taking verifications, approvals and build test from patch set
1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I7d858108e8768294ded1b2fc2c2887429f8968a7
OMAP3: create mCodecSpecificData without CodecConfig flag
This fixes a case that encoder returns the first buffer not
including CodecConfig. In case of OMX.TI.Video.encoder using
MPEG4 or H.264, the encoder does not return the CodecConfig
buffer but returns CodecConfig and the first encoded data
in one buffer without OMX_BUFFERFLAG_CODECCONFIG flag set.
Concerning the compatibility of Froyo and GB, this regards only
MPEG4Writer issue in GB.
Change-Id: Ie4d541fd6d3ae540eebbdebed0ef235ec0d557e7
Signed-off-by: keun-o.park <sahara@ti.com>
H264 encoder fixes for OMAP4
logic put in for OMAP3 h264 encoder is breaking OMAP4 h264 encoder.
Making change OMAP3 specific. Also fixing debug compilation error.
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Patch Set 3: Simple Cherry-pick on tree. Taking approvals,
verfications from patch set 2. No changes made.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Iebfd4ca74b0c7c15c4bb504399653baa8a4e4a65
OMAP: Stagefright: Added rotation support to S3D Renderer.
OMX in Gingerbread need new HardwareAPI, createRendererWithRotation
to create rotated overlay for play video clips which have rotation info.
OMAP used old-fashion createRenderer to pass platform specific args,
such as isS3D, numOfOpBuffers but, no rotation degrees passed.
The function, createRendererWithRotation dynamically loaded
from libstagefrighthw.so only if it is defined. If not,
createRenderer will be loaded just like old times.
Change-Id: I440637aab1ba9c68fdb6eeb413095cf3814b5dad
Signed-off-by: Homin Lee <homin.lee@ti.com>
Gingerbread Camcorder : Generic Encoder chnages.
Description : These cahnges are generic to all the encoders. It sets the
port configurations, I/p & O/p buffers count, Quirks for
i/p * o/p ports, stride information & other generic ducati settings.
Signed Off By : Sreenidhi Koti <sreenidhi@ti.com>
Patch Set 4: Cherry-picking on current tree. Merge conflict resolved.
Taking approvals and verifications from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I49d3af4f26e0e0948cf36e867d99c921ee106b2d
Gingerbread Camcorder : Support for H.264 Encoder
Description : Adds support for H.264 encoder.
Signed Off By : Sreenidhi Koti <Sreenidhi@ti.com>
Patch Set 5: Rebasing to break dependency chain. Cherry-picked
on current tree. No changes made. Taking verifications and
approvals from patch set 4.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic2e811ac32ceadc2ae34dc7a9dc75c462df8a77c
Encoder-H264 : Support for B-Frames
This patch enables inclusion of B-Frames in H264 Encoded Video.
Signed-off-by : Kalpesh Patil <kalpeshpatil@ti.com>
Patch set 3: Simple cherry-pick to break dependency on non-existent
patch. No changes made. Taking approvals and verifications fom
patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I020e5d45febe2830e7a72536043267db051be2c0
Stagefright: OMAP4 output buffer count from codec - bug fix.
minimum no of buffers required on a port is communicated by codec via video.portdef.nBufferCountMin
actual no. of buffers allocated on a port is communicated to codec via def.nBufferCountActual parameter.
Today def.nBufferCountActual is used to set buffer count which is not intended and causing high buffer count usage
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Taking build test, verifications and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ib9f57aa981b86408aaf7612f80b3540587d57e7a
Store Stride in the meta data.
Stride is required by flash to perform color conversion.
Note# these changes are ported from Froyo
http://review.omapzoom.org/#change,10713
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
Patch Set 2: Cherry-pick on current tree. No changes made.
Taking verifications, approvals and build test from patch set
1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I3404dd2f3687f59618d50b7fc297c9d48a6301cb
OMXCodec: Initialize quirk to kRequiresAllocateBufferOnOutputPorts
If the quirk is set to kRequiresAllocateBufferOnOutputPorts by the
OMXCodec Client, then AllocateBuffer is called on the output buffer
else UseBuffer is called. UseBuffer can be called only for Overlay
buffers. Ideally speaking, one should not expect the client to know
these details. They must be handled internally.
In the case of flash playback, it is expected to call
OMXCodec::Create() with the flag kPreferAllocateBufferOnOutputPorts.
This flag is a TI specific flag and hence flash is unaware of it.
Furthermore, it cannot be hardcoded in flash since the enum value
has been changing too.
Patch Set 3: Resolved OMAP3 build issues by making it OMAP4 specific.
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
Patch Set 4: Simple cherry-pick on current tree. No changes made.
Taking build test, approvals and verifications from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I8ad9697cbaf25d04b0d5e3e394fd2db66b78fe59
Stagefright: Making kRequiresAllocateBufferOnOutputPorts as default quirk breaks NPA thumbnail mode
Changeset1:
- Making kRequiresAllocateBufferOnOutputPorts as default quirk breaks NPA thumbnail mode
Clear it for NPA thumbnail mode
- Break was introduced by http://review.omapzoom.org/11427
Change-Id: I14ba6d98398903a436b306e1e5490f6d83341719
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
OMXCodec changes to handle overlay decided buffer count
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9211
Description: Currently, the number of buffers required on code output port are
calculated in OMXcodec as well as in TIHardwareRenderer.
And OMXCodec assumes that those many buffers are in deed allocated by overlay.
But in some scenarios it it so possible that, Overlay might get fewer number
of buffers than requested by OMXCodec. In that scenario there will be a
segmentation fault in the system. In order to handle this scenario, OMX codec
is enhanced to reconfigure the codec when it receives the buffers from the
Hardware Renderer (through AwesomePlayer) for the first time.
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 3: Cherry-pick on current tree. No changes made. Taking
approvals and verifications from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ie1642d25eb8f520cb796526882969cb70e751acd
OMAP4: Re-enable Vorbis decoder
MIMETYPE of Vorbis audio decoder contents is missing after
OMAP4 integration, resulting in no OGG sound
Patch Set 2: No changes made. Simple cherry-pick on top of
current tree. Taking verifications and approvals from patch
set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I24a85288ad124c345ef0a9035d18e0d247fc2af3
Stagefright: Added support for 2 new codecs - VP6 and VP7
Description# Modified OMXCodec table to include ducati VP6 and VP7 codecs.
updated decoder caps for the same. And updated ducati specific checks for
VP6 & VP7 as well.
Note# These changes are ported from Froyo
Patch Set 2: Rebased against latest.
Change-Id: I6bd46ed45c862e21e80e2b11166b846881ba4406
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
Stagefright: Enable support for dynamic port -reconfiguration while using Ducati IVAHD codecs
Patchset1:
- When codec detects change is width,height of the stream, it raises port reconfig event, port is disabled and enabled.
- For port -reconfiguration during AVPlaybakc usecase, Since new set of overlay buffers are required before re -enabling port, defer port enable for ducati playback usecase till overlay buffers are available.
- ResizeRenderer() should be aware of new output buffer count for new resolution
- For port -reconfiguration during thumbnail usecase or stagefright -t tests, retry will happen in StagefrightMetaDataretriever, while output port will disable and reenable itself with allocated buffers.
- Limitation: NPA mode for thumbnail is not working for now and disabled. will be enabled incrementally
Patchset2:
- Rebased to latest codebase
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Patch Set 3: Cherry picked on current tree. No changes made. Taking
approvals, build test and verifications from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I1eabf4fb9d060dc5126b443cbe77f687687ec7d9
OMXRenderer changes to propagate display W&H on resizing
Description# OMXRenderer is modified to propagate the display
W&H along with the decoded buffer W&H while resizing the
rendererer. This is required to update the crop window with
Overlay.
Awesomeplayer is modified to query the Video width and height
and provide the same for resize Rendererer call.
DRT#OMAPS00236082 - Multiple robustness test clips are playing with noise
in the right side of screen due to incorrect port reconfig handling
Note#This is one of the multiple patches for this DR
this patch is dependent on
http://review.omapzoom.org/#change,12705
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 3: Simple cherry-pick on current head. Taking approvals,
verification and build test from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Iceadb97202750b08dd45f8749a5337d5c69f0dc5
Surfaceflinger changes for dynamic display change
Description: These changes are ported from Froyo
change details:
(1) custom omap mm library has been added
(2) Surface class is extended for display ID settings and introduced omapmm
lib as a friend class
(3) Layer base and buffer class changes for display setting to the Overlay
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 5: rebased again. Merge conflicts fixed.
Patch Set 6: Patch Set 5 with a comma in include/surfaceflinger/ISurface.h.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: If13257af633958fab57a63a504b17d17c27d2537
SurfaceFlinger changes for Overlay cloning
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9708
Description# ISurface interface is extended for dynamic overlay cloning.
This includes ISurface binder extension and layer buffer implemetation
to call overlay data context for requesting overlay cloning.
The same interface is used for enabling/disabling the overlay cloning.
Hence based on whether this is enable or disable, the ISurface interface
handles duping the fd for the cloned video device.
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 2: No change made. Simple cherry-pick on current tree.
Taking verfications and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ie1df963238ffa83181b36fd1cb92b9aa5ce020ce
Changes made to OMXCodec.h so that a derived class can be created.
Minor changes made to the class definition so that we can create a TIOMXCodec that is derived from OMXCodec.
In future, all changes to OMXCodec should be made in TIOMXCodec, instead.
AwesomePlayer also needs to be modified to use TIOMXCodec instead of OMXCodec.
This is necessary in order to maintain compatibility for flash playback.
Note# these changes are ported from Froyo
http://review.omapzoom.org/#change,9014
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch set 2: Simple cherry-pick. No changes made. Taking
approvals, build test and verifications from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Id687b5b2e84c71f1aab71276d5c0ae16770431c2
Stagefright: Re-enable NPA mode for thumbnail generation, which was disabled for port reconfiguration changes
Changeset1:
- Our Stagefright NPA statemachine has to be reset when PortReconfig is triggered,
so as to go ahead with post port-config sequence
- For 1D output buffer usecases, port config should result in nStride update as nFrameWidth will be new.
No chagne for 2D output buffers, since constant 4K stride is used
Changeset2:
- Rebased
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Patch Set 3: Breaking dependency on merge commit. No changes made.
Taking approvals and verifications from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic421140a892384b8c30a9e59e2d5076b1bd8fa65
Gingerbread : Including TI Index header files & removing duplicate codes
Description : Removing duplicate codes by including TI index header files.
Signed Off By : Sreenidhi Koti <sreenidhi@ti.com>
Patch Set 5: Cherry-picking on current tree to break the dependency on
patch 9556. Taking approvals and verification from patch set 4.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I9063c273426fb1987c9c20d04af6f10633140b20
FM Rx: Added FM framework support
This patch is rework of patch 6235 (cd38325421b73ae5693b1f9991aeeb5b982154c8) on p-froyo for FM Rx
changes. The audio flinger directory is changed in gingerbread. Resubmitting the patch for FM Rx in
gingerbread. All the changes are in OMAP_ENHANCMENT flag
Description: FM Support: Added the FM support in the framework for enabling FM.
Change-Id: I1ff2f6484c673522f83659d9696aba6a2060a798
Defined the DEVICE_OUT_FM_TRANSMIT for FM Tx device in Android Framework
cherry picked from p-froyo commit-id b820e1009d4c619c254ef6cfaa58cf48182b4e3f
Signed-off-by: Shitiz Kumar <shitiz_kumar@ti.com>
Patch Set 2: Cherry pick onto current head. No changes made.
Taking verification and approvals from previous patch set.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: If8c05732954fd7b2c7ca908504a9e27820b115c5
add support for Low Power and DMIC
AudioService registers for intents from applications
that notify of mic selections, and changes in power mode.
For now, mic choice will be determined by system property only.
For changes in power mode, AudioService will set the connection
state of a new DEVICE_OUT_LOW_POWER and trigger policy manager to
route to the low power hw device.
Signed-off-by: Chris Kelly <c-kelly@ti.com>
Patch Set 2: Removed whitespace error. No significant changes made.
Taking approvals and verifications from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I9085217d76d5e897c855df31d397a604649ef04c
AudioSystem: voice call record: new channel CHANNEL_IN_VOICE_UPLINK_DNLINK
Voice call record is started by selecting inputsource
AUDIO_SOURCE_VOICE_UPLINK or AUDIO_SOURCE_VOICE_DOWNLINK
or AUDIO_SOURCE_VOICE_CALL.
For inputsource AUDIO_SOURCE_VOICE_UPLINK and
AUDIO_SOURCE_VOICE_DOWNLINK, there's only 1 dedicated input channel
that permits to start record in mono.
But for inputsource AUDIO_SOURCE_VOICE_CALL, there's no dedicated
channel so the channel CHANNEL_IN_VOICE_UPLINK and
CHANNEL_IN_VOICE_DNLINK are enable.
Therefore the record is done in stereo.
To avoid that and be inline with a voice call record uplink only
or downlink only a new input channels is created.
Change-Id: I6f1d383e185b51d4798db8e62f9310a52ad8da7c
Add a java OMAP_ENHANCEMENT property definition
Cherry picked from 3f812d8daf3ffa685104083abeb7fcb30056baf1
Change-Id: I439fc98cbb38e07044d568444ed9a729a0172e81
OMXCodec changes to overload constructor for OMXNode Id
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,10897
Description# OMXCodec create function is overloaded to provide OMXNode Id
handle back. The node Id is used by the Awesomeplayer for configuring the
codec directly.
This patch is only addition of the overloaded method, but the method is
not being used at this point.
----------------------------------------------------------
Patchset2: Fixed build error for OMAP3
Change-Id: I52fb78486048f66e00608e08d31bd20b32f2c178
Signed-off-by:<dnk.mohan@ti.com>
GingerBread Camcorder : Support for padded width & padded height.
Adds support for padded width & padded height in Stagefright AV-Record path.
Patchset-3 makes correction in width & height used for SetParameter for
OMX_TI_IndexParam2DBufferAllocDimension.
Signed Off By : Sreenidhi Koti <sreenidhi@ti.com>
Change-Id: I60aa6a5caf01218d6650eea2f090427a16b46d02
Stagefright fix: Low resolution clips crash with ducati codec
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9651
- MediaBuffer mSize should used video padded height, rather than original video height,
since output buffer size will have padded width and height.
Break should've introduced when Android video proxy is updated to remove 2D buffer support.
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 2: Cherry-picked on current head, no changes made.
Taking verifications, approvals and build test from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I142b622a7c4455e7cfe431847001a458a8875599
OMXCodec fix for buffer size calculation.
Description# When the video source meta data is maintained
separately for video frame w&h and buffer w&h, the buffer size should be
calculated from the padded height instead of the Video height.
This was missed out earlier, this patch corrects the buffer size calculation.
Change-Id: Idd46b71e050c2c3759b92330aa91aea52878591b
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Stagefright: Thumbnail corruption fix on port reconfig
Patchset1:
- On port reconfig, thumbnail driver or any other OMXCodec user should be aware of updated WxH
MediaTrack metadata will have new WxH
OMXCodec MetaData will have padded WxH (this is by default)
- Whitespace changes (remove tabs)
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Taking approvals and verifications from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ibeb7935307c49492e482dc74d779a69300e4b620
Stagefright changes to maintain buffer padded W&H along with Video W&H
Description# Stagefright OMXCodec and AwesomePlayer are modified to
store and use the padded width and height for the output buffers.
This is required to handle port reconfiguration scenarios where in,
both video dimensions and buffer dimensions are required. Earlier the OMXCodec
metadata was always holding the padded width and height, hence there was
no way to communicate the video dimensions to Awesomeplayer.
DRT#OMAPS00236082 - Multiple robustness test clips are playing with noise
in the right side of screen due to incorrect port reconfig handling
Note#This is one of the multiple patches for this DR
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 3: Simple cherry-pick on current head. Taking approvals,
verfication and build test from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I441c95dece8b126794f749759d6b6fc651f27094
Moving Input buffer of video decoder to usebuffer call
Currently we are using allocate buffer call for input buffer.
These buffers are 1D tiler buffers and allocated by DOMX.
We see improvement in memcopy if we ask omx il to allocate buffer
and pass it to the component. THis improvement in copy time is
due to cache attributes. So we have moved to use buffer than
allocate buffer. This was also recomended by PSI team
Defect ID: OMAPS00229223
Change-Id: Ib2d355417e479fe2be76c3d5ce5e127158fcf482
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Resolved VP6/7 playback issues
New extended OMX parameters must be set for VP6/7
depending on the type of stream.
Note# these changes are ported from Froyo
http://review.omapzoom.org/#change,9653
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch set 2: Cherry-pick on current tree. No changes made.
Taking verifications, and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Iee8d579bfc4dd7e93cb08275a89e2514aef05e32
Add support for ASF parser in Stagefright
This patch adds the changes needed to support the ASF parser which is needed for playing
WMV and WMA clips. This patch does not contain the parser itself but it makes the parser
runtime-discoverable.
Change-Id: I72bad81bbdecc5293b0528b593d9cd3df4f65815
VideoView changes to handle Dynamic display changes
Description: This patch includes changes in the VideoView widget to
load the custom java/jni, and send dynamic display change events to the JNI.
Note# these changes are ported from Froyo branch
Change-Id: I95f9ca064375985501cebf1ef228a1ed4e18d36f
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
VideoView changes to enable Video cloning on HDTV and LCD
Description# Video view is modified to set the mediaplayer with the Omapmmlib.
This mediaplyer instance is used by the Omapmmjni service to enable
video cloning on media player.
Validation# tested aV playback on LCD and HDMI
Change-Id: Ia8fdc3ebb2c002fe07ea9321b831d63a9cc4f862
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
OmapMMLibrary changes for Video Cloning The changes are for porting the below patch from Froyo to Gingerbread ---------------------------------------------------------- http://review.omapzoom.org/#change,9755
Description#OmapMMlibrary is extended to talk to mediaplayer for
video cloning. Video view is modified to set the mediaplyer instance object
with the omapmm custom library.
----------------------------------------------------------
Patchset2: Removed changes in videoview.java as it will be handled in another patch
to avoid build issues.
Change-Id: Iaa5cfeba74e3884397a4f301b6d5380b8b2f85a7
Signed-off-by:<dnk.mohan@ti.com>
stagefright: Pass offset value of the frame data from camera source to omx codec
When VNF is enabled the data received from camera source provides an offset
value with each frame that has to be passed to the omx codec (ducati) for
proper encoding. In the absence of this there were artifacts seen in the
resulting output. This patch addresses this issue.
Solves DR#OMAPS00233255
Verified sanity on AV record/playback.
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 3: Addressed the formatting issues raised by Dan.
Taking approvals and verifications from patch set 2 since no
code was fundamentally changed.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I2081c1038195671843d83977d8940af1914731f1
Framebuffer: Support variable number of framebuffers in the UI
This change defines a macro NUM_FRAME_BUFFERS to set
the desired number of framebuffers to be used by the UI,
instead of hard-coding 2 framebuffers.
Aditional logic was added to handle the initialization and destruction
of NUM_FRAME_BUFFERS buffers.
Ported from FroYo
Change-Id: I86c707d6deaae61ef72e5e48ae91437b2472977a
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Native window support for any FB.
This patch allows clients of the class FrameBufferNativeWindow
to be able to create a native window surface on any display.
Change-Id: I8902858be85b83b287b8d9944bc80c82e7c34e1f
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
OverlayRenderer: A new class for accessing Overlay
Since only the mediaserver process has the necessary permissions
to create a surface and to create an overlay, we need this new class
for the flash plugin to make use of overlay.
Note# these changes are ported from Froyo
http://review.omapzoom.org/#change,9245
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch set 2: Cherry-pick on current tree. No changes made.
Taking verifications, and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic482acffd3148d7b4b189646f4741cfe85a430a9
IOMX: implement getBuffer() call for IOMX interface, so as exteral application use own player driver
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,10692
if External applicaiton creates a player driver(awesomeplayer), then H/W renderer is
created by MediaServer if the AwesomePlayer, which is created by external-application
wants to send buffers to the H/W Renderer, it have to send by Binder calls.
This patch implements getBuffer Binder interface between H/W Renderer of MediaServer
and AwesomePlayer of external application.
----------------------------------------------------------
Signed-off-by:<dnk.mohan@ti.com>
Patch set 2: Cherry-pick on current tree. No changes made.
Taking verifications, approvals and build test from patch set
1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I6cddb8f06a8bbf857763839ed5de698c303c9a6a
OMAP4: Enable Stride and Offset Support in Camera Framework
Modify camera and stagefright framework for taking
stide and offset from timestamp callback
Change-Id: I19308cda849bfad3a03dbe7fe070c38ab5bdc5d4
Conflicts:
services/camera/libcameraservice/CameraService.h
OMAP3: SF: Fix the misuse of mLastVideoBuffer in AwesomePlayer
mLastVideoBuffer is not used with OMAP_ENHANCEMENT flag. And,
current code causes a segmentation fault when it tries to access
mLastVideoBuffer which is not initialized at constructor.
This fixes the segmentation fault in suspend function.
Because there's no code for OMAP4, 'if(0) {' routine for OMAP4
was still left unchanged.
Change-Id: Ie2a8abaf3f36a62235be4331956a74737c8aa896
Signed-off-by: keun-o.park <sahara@ti.com>
OmapmmLib changes to fix native surface field
Description# surface class mSurface field id replaced with mNativeSurface.
patchset2: rebased to the latest codebase.
Change-Id: I7bdc8148ea8bf58ce73a62cd6d68e0f44c6cc84e
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
OMXCodec fix for NPA mode thumbnail scenario
Description# The mNumberOfNPABuffersSent state variable
update is corrected in fillbufferdone callback.
Earlier we were decrementing the state variable in
FillbufferDone callback unconditionally.During port
reconfiguration scenarios we were resetting this variable
to "0" hence the further decrement in FillBufferDone callback
was wrapping around this unsigned state variable to large value.
This was resulting in no buffer sending to Ducati for thumbnail
generation, hence thumbnail generator was hanging forever.
This is fixed by decrementing the mNumberOfNPABuffersSent state
memeber only if it non-zero positive number.
DRT# OMAPS00236210 - No thumbnails generated for the clips which result
in port reconfiguration
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 2: Simple cherry-pick on current head. Taking approvals,
verfication and build test from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ibaaca788497583ab7d0fadef5cc491c72dfb0486
OMXCodec changes for tearing effect
Description# In the OMXCodec buffer info, a new field has been added to track
the buffers which are with Player. This means the buffer could be in AV sync
logic, or already with DSS for rendering in case of video buffers, or with
Audio HAL incase of Audio buffers. Earlier these buffers are given back
to codec for filling irrespective of whether they are with sink or free.
This is fixed by adding additional state for the buffer to track the
life cycle of the buffer with the sink.
Validation# tested AV playback and AV record.
DRT#OMAPS00234704 - Tearing video frame on display when fastford/rewind
during the video playback
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Taking approvals, verification and build test from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I1bcddddfeaf79c624f304b63f0b342625a4d6e33
OMAP4: S3D: OMX component configurations to handle SEI messages for video playback
Description: Reads Codec buffer metadata to reconfigure S3D display driver
- Parse output buffer for SEI MetaData
- Read metadata and configure S3D display driver
upon framelayout changes sent by codec
Note: Patch ported from Froyo
Dependencies: Patches 13385
Change-Id: I1a1afc1159248f98fc199c0aa288366a592f7e89
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
Gingerbread Camcorder : Fix for color distortion in Recorded Clip
Encoder needs a NULL buffer pointer to be passed to OMX_UseBuffer() fucntion.
Whereas Decoder needs a valid buffer pointer for the same.
This patch adds an overloaded function definition for useBuffer() with extra argument 'size'.
For Encoders, this size is passed to OMX_UseBuffer() along with NULL buffer pointer.
For Decoders, this size is ignored.
With this patch, decision is taken which argument to pass based on if component is Encoder or Decoder.
Signed-off-by : Kalpesh Patil <kalpeshpatil@ti.com>
Patch Set 4: Simple cherry-pick on current tree. No changes made.
Taking verifications and approvals from patch set 3.
Change-Id: I176881dd632af2f61e9ed6ade02f6d50e1edbc94
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Patch Set 5: fixed compilation issue with OMAP3
changed #ifdef to be omap4 specific in include/media/IOMX.h
OMAP4: Include OMX_TI_IVCommon.h header file to support definition of color format (PackedSemiPlanar_Sequential_TopBottom)
-- Remove the definiton from Stagefright includes files as
it is a TI custom index.
Note: Patch ported from Froyo.
Dependencies:
GITS omx (http://review.omapzoom.org/#change,10685)
omap3 (http://review.omapzoom.org/#change,13389)
Change-Id: Ie45ac17d985a5008c631e5c5d8b49e3a849f5dea
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
Avoid deadlock in OMX::freeNode
By making sure OMXCodecObserver does not hold the
last reference of OMXCodec object
Mirroring change in OMXCodecObserver from mirror update. Mutex
is removed from on_message and moved to onMessage function in
OMXCodecObserver. Fixes race condition we see when stopping
video record.
See 6328185b6cc632f85ff640f6e854ab33815ae97f from gingerbread mirror
Change-Id: If5f4c92f06eb56060659547db39341b428da2b9f
Code cleanup to fix some issues introduced in the ASF parser patch
Fixed following issues:
- Removed complete path from a #include
- Removed leftover debug messages
- Fixed indentation
- Fixed whitespace issues
Change-Id: Ia509d62cd1b93509cf6708eebcd44ae0b0808b50
Changes to support repeated PAUSE_RESUME Scenario.
Consider the following scenario:
1. Buffer arrives early, means in function onVideoEvent mVideoBuffer is not set to NULL
2. Pause
3. Resume, play_l is called successfully at this point
4. In function onVideoEvent, mFirstVideoBuffer is not made NULL as mVideoBuffer is not NULL (see point 1)
5. Again Pause
6. Then Resume
7. play_l is called with mFirstVideoBuffer non-NULL
8. play_l fail in CHECK(mFirstVideoBuffer == NULL)
This patch corrects this issue by releasing mFirstVideoBuffer, if it has not been released already in onVideoEvent
Change-Id: Ie9de7c647936aee3c16bf2ab0ea4cb7bae3cae04
Stagefright: Awesome player and OMXCodec changes to fix some types of port reconfig
Port reconfig is supported as of now. But it does not support port reconfig
during playback (after playing some frames).
This patch adds changes to appropriately flush the buffers towards OMX component
and the renderer.Also it sends proper free buffer requests to OMX component to
enable proper state transitions in OMX component.
Verified with available port reconfig clips.
Patchset2:
For clips having Port reconfig at the beginning sometimes there was a race
condition on causing failure to start playback. This is addressed by adding a
delay in setbuffers before flushing the buffers with freeBuffersOnPort().
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 3: Simple cherry-pick on current tree; no changes made.
Taking approvals and verification from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I5ef8feb46812f1c34e0398d208cd0336d1bdcfe2
AwesomePlayer changes to handle the render buffer failure scenario
Description# Currently Awesome player local data structures are updated with
the buffers with renderer after the render call returns. This would leave out
a scenario where, the render call fails to successfully queue the buffer
with the DSS. In this scenario the buffer can't be reclaimed as it is not
registered with the Awesomeplayer.
This is fixed by updating the bufferswithrenderer structure before invoking
the render method.
Validation# AV playback suspend/resume on LCD and HDTV
DRT#OMAPS00234816 - Gallery app stop reponding after pressing END CALL key
while playing a video on HDMI
DRT#OMAPS00234810 - PT: PPM: AV Playback on HDMI. Video is not rendered back
to HDMI after suspend/resume; instead is played distorted in the LCD
Change-Id: Ib6ce15c6f87c81eeb67b4eb6316f8801cdddc816
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
OMAP3: set static buffer count for video output
Due to VRFB buffer limitation, it is needed to limit the buffer count
of output port for OMAP3. This fixes that memcpy is used for video
output.
Signed-off-by: keun-o.park <sahara@ti.com>
Patch set 6: Simple cherry-pick on current tree; no changes made.
Taking approvals, build test and verifications from patch set 5.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I254032d9235e11bc5203560f3de1e8c728f84960
Modified Buffer Allocation logic for Video Decoders
Current logic:
For all video decoder usecases (thumbnail, gallery playback, stagefright tests,
flash playback, etc), call OMX_UseBuffer for output port.
For Non-Overlay usecases, the output buffers are allocated by MemoryDealer.
For Overlay usecases, the output buffers are allocated by Overlay.
This ensures that there is no memcpy even when OMXCodec(browser process) and
OMXNodeInstance(mediaserver process) live in two different process contexts.
Patch Set 2&3: Rebased patch on current tree. Fixed merge conflict.
Change-Id: I94eecfa337f115d268ffd26ad95e93ab388529d5
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
OMAP3: lib StageFright crashes on end of decoding WMA
WMA Decoder sends stopped signal twice at the end of decoding.
The second signal will cause Stagefright to crash due to invalid
thread state.
Signed-off-by: Steve Schefter <sschefter@ti.com>
Patch Set 3: Simple cherry-pick on current tree. No changes made.
Taking approvals, verifications and build test from previous patch
sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I0258d3d7124479bc00f0288604a4c5c6966e26f5
Surfaceflinger changes for overlay integration
Description: These changes are ported from Froyo
Change Details:
(1) LayerBuffer class is modified to route Layer calls to Overlay library
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current head of tree. No changes
made. Broke the dependency chain.
Taking verifications and approvals from previous patch sets.
Change-Id: I62bb72f36d2d8f9be34c129337527f7f4742ed64
SurfaceFlinger changes to decide when to enable the color key
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,9443
Description: Since color key and per-pixel alpha need to be enabled exclusively
there should be a mechanism in surface flinger to decide when to enable
color key and when to disable.
a new method has been added to the surface flinger to query the graphic plane
pixel format and then enabl/disable color key accordingly.
----------------------------------------------------------
Change-Id: Id7b08c9bcb1187e9eb90fc31f237b3b66c033f4b
Signed-off-by:<dnk.mohan@ti.com>
Moving Input buffer of video decoder to usebuffer call
Currently we are using allocate buffer call for input buffer.
These buffers are 1D tiler buffers and allocated by DOMX.
We see improvement in memcopy if we ask omx il to allocate buffer
and pass it to the component. THis improvement in copy time is
due to cache attributes. So we have moved to use buffer than
allocate buffer. This was also recomended by PSI team
Defect ID: OMAPS00229223
Change-Id: I8518c1adf2389028417ee2f041f2aa8b92bb395f
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Both OUT and IN buffers should be 128byte aligned according to DSPBridge requirement.
When decoding H264 video via Flash10 Player, OUTPUT buffers are allocated by Stagefright *OMXCodec.cpp), but they have not been 128byte aligned. And it causes the DSPProcessor MAP failure.
This patch applies 128byte alignment for OUTPUT buffer before allocating the memory by Stagefright.
For INPUT buffers, 128byte aligned size is set by OMX before, so we don't need to re-aligned it by Stagefright again.
For the Gallery usecase, OUTPUT buffers are allocated via Overlay, so we don't need to make a alignment here.
Patch Set 2: Simple cherry-pick on current tree. No changes made. Taking
approvals and verifications from previous patch set.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ib54eae1fe173f4393643f91e9dd498cfb2a4584d
Reduce memcpy in mpeg4extractor for H264
Currently the file content is read into a source buffer and then
parsered for NAL unit size. Then the start code and nal unit is
dumped in destination buffer provided by application.
The code is optimized to put the data from file directly into
application buffer.
Defect ID: OMAPS00229223
Change-Id: Ie6411145fcd5bc1cac4d0d76efee2cb3c133185d
Signed-off-by: Dandawate Saket <dsaket@ti.com>
MPEG4 Extractor memcpy logic correction
Description# Currently the memcpy logic inside MPEG4Extractor
works fine for mNALLengthSize = 4, but for the clips which have
different mNALLengthSize the logic results in segmentation fault.
The memcpy logic is corrected in this patch.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 2: No changes made. Taking verifications and approvals
from previous patch set.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I95355367e17df9eeb172f7716ab048880af9af85
OMAP4::S3D: Fix S3D playback of recorded videos
Note: -Add support for multiple SEI types per NAL Unit
to support recorded videos.
-Add OMAP4 flag around SEINALLength initialization
Patch set 3 - fix SEINALLenght init for GB.
Change-Id: I2f9a8561792d08a8b17e17566b8dee56051bc260
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
libstagefright: Confine port reconfiguration related changes to Ducati video decoders
The below patches
http://review.omapzoom.org/#change,11472
http://review.omapzoom.org/#change,11485
have port reconfiguration related changes that are relevant to
Ducati video decoders only. For other omx decoders(eg:audio)they are not
applicable and will cause issues at start of decoding.
This patch adds additional checks for this purpose.
Verified AV playback and Thumbnail generation.
Signed-off-by:<dnk.mohan@ti.com>
Patch Set 2: Simple cherry-pick, no changes made. Taking
approvals and verifications from patch set 1. Taking build
test from there too.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I2280dbb2086022fb508e21c214487f111dbd6bdb
Setting mOverlay to 0 after destroying it
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,4536
Setting mOverlay to 0 after destroying it
This was a fix made on HTC Codebase to resolve some Seg faults.
Hence migrating it from Donut to eclair to froyo.
----------------------------------------------------------
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch set 2: Cherry-pick on current tree. No changes made.
Taking verifications, approvals and build test from patch set
1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I692a831441016a2a7054bfcd14928a84a59648d9
LayerBuffer fix for Dynamic Display ID change
Description# HDMI Hotplug support is added by modifying the Layer dpy field
from the omapmmLib. This dpy is modified inside the Layer Source on every
display Change event. In this model, there is corner case possible where in
We initiate the suspend/resume, but abort it immediately. This would trigger
HDMI detach in the kernel and hence the detach event is propagated to LayerB
But by this time if the OverlaySource is already destroyed keeping the Layer
Buffer alive, we miss this Layer dpy update. Hence on immediate resume,
The overlay source would see HDMI as the current dpy and configures overlay
for the same even though HDMI is not yet attached in the kernel.
This would result in Overlay configuration failure and hence no Video on LCD
or TV.
This is fixed by initializing the Layer dpy to 0 while constructing the
Overlay source.
DRT# OMAPS00235635 - PT: HDMI AV Playback: When resuming system, before
unlocking the screen, the notification bar shows the clip playing.
DRT# OMAPS00235626 - HDMI AV Playback suspend/resume: Gallery hang
Change-Id: I73f66dd8049849748cc86cc1ad28e9b68294c1a7
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
OMAP3: SF: fix build error
This fixes 'frameworks/base/media/libstagefright/AwesomePlayer.cpp:
1368: error: 'MEDIA_MIMETYPE_AUDIO_WMA' was not declared in this
scope' in OMAP3
Change-Id: I13325b54b75ff314a567ef4ab8239322630996ff
Signed-off-by: keun-o.park <sahara@ti.com>
libui: Ensures there isn't an uninitialised function pointer
This patch fix the boot up issue in gingerbread with DDK 1.7.17.4958
for using cancelbuffer.
Change-Id: I21336878b39efa0b804ce232a23eebe09e3cd5c0
Signed-off-by: Eric Luong <x0119002@ti.com>
Camera Framework: Adds support for burst messages
- Burst, Exposure and Temporal
bracketing are being started and run
with just one call to takePicture. The
existing mechanism in CameraService
prevents this by explicitly reseting and
checking the compressed message
type during each dataCallback. The
new burst message type on the other
hand will continue processing burst
frames until the sequence completes.
Signed-off-by: Emilian Peev <epeev@mm-sol.com>
Patch Set 6: Simple cherry-pick on current tree. No changes made.
Taking verifications and approvals.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ib9bfdeae1e4121b5d09f09001224acd9df3b5b40
OMAP4: Enable Camera on Gingerbread
Modify CameraService to select correct overlay format
Change-Id: I4c90cb9161db0d237649f706430e397a4918a1d3
Enable S3D preview in camera framework
Porting over changes from Froyo to enable
S3D preview.
Change-Id: I47a5ab32072a5b118c8ca8ea239e92aa857e655d
Gingerbread Camcorder : Support for H.263 Encoder
Description : Adds support for H.263 encoder.
Signed Off By : Sreenidhi Koti <Sreenidhi@ti.com>
Patch Set 4: Cherry-picked on current tree. No changes made.
Taking verification and approvals from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ib0ac27fa493b567279cd4a28b121183ca56a9006
OMAP4: S3D: Add SEI Video Encoding configuration support in Stagefrigth
Description: Get Camcorder encoder settings and configure OMX component
to incorporate SEI messages.
Patch Set 7: Set preset values to userdefined in case of S3D
Change-Id: I2982cb71fc8dfdfef33c3b60a97a1c044e083188
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
Removing initial seekTo(0) when playing back camera shutter sound.
This fixes DR OMAPS00236070. After boot, with headset plugged in,
when doing an image capture, the shutter sound would play twice due to
an unnecessary seek from the camera service. The seek in this case is
happening before the AudioPlayer is created, and thus, it gets treated as
a deferred seek, which results in the AudioPlayer not being able to do
a simple end of stream call.
Signed-off-by: Ricky Bhatia <a0866433@ti.com>
Change-Id: I7938657c3ceecc01e09ea14d4e42493e190b8146
OMAP3: Handle NULL pointer exception in RawCallback
Change-Id: Ic3a4ca6d2dd58b864be60d183af16bd9562680bb
Signed-off-by: Julian Shandorov <jshandorov@mm-sol.com>
Gingerbread Camcorder : Setting the correct colour format for recording
Descrition : Using YUV420PackedSemiPlanar color format for recording use-cases.
Signed Off By : Sreenidhi Koti <Sreenidhi@ti.com>
Change-Id: Iea7316ca75cf52d3e06c708f6cff742da52f4010
OMAP3: set UYVY format for YUV422I CameraSource
OMX.TI.Video.encode uses YUV422ILE(Little endian) for encording.
So setting YCbYCr caused the incorrect color issue when decoding
the encoded video clip.
Signed-off-by: keun-o.park <sahara@ti.com>
Patch Set 5: Simple cherry-pick; no changes made. Taking approvals,
verifications and build test from patch set 4.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Iad509f0b4d96ec7f4c87c52765043e8281a79917
Fix for EOS buffer sending in Thumbnail mode
In case of thumbnail we are providing 2 codec config buffers and one data buffer.
The data buffer has EOS flag which triggers the decoding and flushing on the output
port. It was seen that the input buffer also gets an callback. This was causing next
input buffer to be send with EOS which is not desired. We want to send only 1 input
buffer.
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Patch Set 2: Removing whitespace errors.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Patch Set 3: Review comment fix
Patch Set 4: White space removal
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Patch Set 6: Simple cherry-pick. No changes made. Taking
approvals and verifications from pathc set 5.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic520417621fd4086061a5d8f4185b3d24155c926
Gingerbread Camcorder : Support for MPEG4 Encoder
Description : Adds support for MPEG4 encoder.
Signed Off By : Sreenidhi Koti <Sreenidhi@ti.com>
Patch set 4: Simple cherry-pick on current tree. No changes
made. Taking verifications and approvals from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I2b8c22c3426511bfe5843668885e45afae716297
stagefright: remove memcpy from mp4 parser to OMX input buffer
For AV playback, mem copy from MP4 parser to OMX is a cost operation,
this patch avoided the intermediate copy from MPEG4Source to OMX I/P
which is currently configured to use Tiler 1D buffers, audio and NAL
fragments/multi-slice mode are not impacted by this optimization.
DR#OMAPS00232517
Signed-off-by: Yong Zhi <y-zhi@ti.com>
Patch Set 5: Simple cherry-pick on current tree. No changes made.
Taking approvals, verifications and build test from patch set 4.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I4716d16f64f164d09f7cb6f45f2f051e6f0add33
MPEG4 parser changes for ctts structure
Description: These changes are ported from Froyo.
Change details:
MPEG4 parser currently doesnt understand the ctts structure. If decode
timestamp is not sample as presentation timestamp then the frames will
be presented to AV sync logic in wrong order.
The mp4 parser mandates to take into account the ctts if the decode &
display timestamps are not same.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current head of tree. No changes
made. Taking verifications and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I53c3339f8fcba937ac3ddc13ea6810719703ff23
OMXCodec pause/resume scenario handling
Description# For OMXCodec source, there is a pause state, but
there is no explicit resume state. On resume of Awesomeplayer,
the OMXCodec is resumed on first read call from AwesomePlayer.
During this pause/resume transitions, on few iterations, there
is a starvation of Codec for buffers on the input port, because of previous
EMPTY_BUFFER_DONE call back couldn't initiate buffer to Codec,
because of Pause assertion. This is fixed by initiating the
buffer flow on I/P port in read method if the OMXCodec is resumed
from pause state.
Validation# Tested AV playback pause/resume multiple times.
patchset2# moved input buffer drain logic before filloutput buffer
to avoid deadlock.
Change-Id: Id0e72e346b1c9b50e4118007f01ca4ee0610bf75
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
SF: removing race condition of setting mOwnedByComponent
This fixes a race condition of setting mOwnedByComponent value.
Without this fix, setting mOwnedByComponent at the return of
fill_buffer() call sometimes lose in the race with FillBufferDone
call which also tries to set mOwnedByComponent.
To avoid the race condition and keep proper meaning of
mOwnedByComponent, mOwnedByComponent line should be placed right
before the fill_buffer() or emtpy_buffer() call.
Signed-off-by: keun-o.park <sahara@ti.com>
Patch set 3: Simple cherry-pick on the current tree. No changes
made. Taking verifications, approvals and build test from patch
set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I49a3fd18f7fac48d53956f8294e302f7362be641
Stagefright: Putting back memcpy from a previous change for OMAP3
This change will put back a memcpy removed by a previous change by
setting the changes to be target specific.
Signed-off-by: Juan Escamilla <juan.escamilla@ti.com>
Patch set 3: Simple cherry-pick on current tree. Taking approvals,
verfication and build test from previous patch set.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Id1a11c4f85482da2eb2e07057b49e96fda6f094a
OMAP3: enable two ITTIAM encoder codecs
This patch enables the two ITTIAM encoder.
OMX.ITTIAM.AAC.encode
OMX.TI.720P.Encoder
Change-Id: I84533191575e7f3be847f5dffb64d7038eb1e7b8
Signed-off-by: keun-o.park <sahara@ti.com>
Camcorder : Support for No Audio feature in MediaRecorder
By default NB-AMR is enabled for No-audio.
This patch prevents setting of Audio Encoder Parameters for No-Audio option.
This patch ports below patch from Froyo to Gingerbread.
http://review.omapzoom.org/#change,5318
Patchset-2 Adds check for SystemProperties.OMAP_ENHANCEMENT
Signed-off-by : Kalpesh Patil <kalpeshpatil@ti.com>
Change-Id: I408c25ba5d758bd222f4e006ee7e3a7de938927b
FM UI framework changes for FM Rx GUI
The changes are done under OMAP_ENHANCEMENT flag for FM+ Multimedia combo use cases.
cherry picked from p-froyo commit-id 541a8145f7994b59b9334d53a0448f0e43a3d4bb
Change-Id: I5c9f0be1257e855dcd3341eae7eaeb9a01b18906
Signed-off-by: Shitiz Kumar <shitiz_kumar@ti.com>
Disable capture message types before stopping preview
If we try to stopPreview in the middle of capture, these
callbacks might occur. In this case, stopPreview will already be
holding mLock while the message handler will try to grab mLock.
Deadlock occurs if the stopPreview and message callback dependencies
are in the same thread.
Issue reproduced with Image Capture/Home Key scenario.
DR: 229853
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Taking approvals, build test and verifications from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I222d00f8bd69c11302a35610095efe0ddc49f876
OMAP3: CameraService: Set timeout to lockIfmessageWanted()
- This prevents from entering into infinite loop often.
One reason for this is when trying to lock the mLock in
CameraService::Client::notifyCallback() and in the same time
CameraService::Client::sendCommand() grabs mLock. In CameraHal we never return
from CameraHal::sendCommand(), because we wait for callback from previewthread,
which is locked in mNotifyCb(), which actually waits infinitely for
mLock.tryLock() in CameraService::Client::lockIfMessageWanted(). So we never
release mLock in CameraHal::sendCommand().
Change-Id: I3d5014a44b47ed0571ffdd062c9671938953fb2c
Signed-off-by: Julian Shandorov <jshandorov@mm-sol.com>
OMAP4: Adding support for 3D images extension (JPS/MPO) for gallery application
Change-Id: I8d3ef643a12c83b3acc1159ac6700e1470b26353
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
OMAP4: S3D: Add support for S3D Images extension (JPS/MPO) for Android Framework
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
Patch set 5: Simple rebase on current tree. No changes made.
Taking approvals and verification from previous patch set.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ic430500e9693db116f44e2c630319056323c8e16
OMXCodec::read() to wait indefinitely when executing flash use case.
Issue: Recently, the conditional wait [ mBufferFilled.wait() ] in OMXCodec::read()
was replaced with a timed wait call [ mBufferFilled.waitRelative() ]. This breaks
pause-resume functionality during flash video playback.
Root cause: Flash and Awesome Player handle pause in a different manner.
In the case of AwesomePlayer, when the user pauses the video, AwesomePlayer
implements pause by not calling OMXCodec::read(). Flash implements pause by not
providing any input data. Flash calls OMXCodec::read() even during pause state.
When OMXCodec:: read() times out and returns an error, flash exits the
video_decode thread, resulting in a hang.
Solution: For flash usecases, we are replacing mBufferFilled.waitRelative() with
mBufferFilled.wait(). That is, we will wait indefinitely.
This issue has been discussed with Adobe and they are open to handling this
scenario in a different manner. However, since it is past their code freeze date,
no changes can be made in flash codebase for the WASABI release. Hence we will
put in this temporary fix now and revert/update it later when adobe makes the
necessary changes.
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Takin verifications and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I461bc8a944a050ab9cd8fcfc28e3e1d5774e3067
Making MPEG4Writer understand out of order streams
Current mp4 writer doesnt understand out of order frames which is caused
due to insertion of BFrames in codecs
B frames is a bidirection frame and is dependent on the next frame to decode
itself
Current issue is the on turning on the B frames in encoder the timestamps
at the output of the encoder gets organized in a pattern.
e.g of 2 b frames
I/p of encoder I B1 B2 P [0 33 66 99]
O/p of encoder I P B1 B2 [0 99 33 66]
So normal decode timestamp is 99 - 0 , 33 - 66 , 66 - 33
Now we will have negative delta for 33 - 66 which will be encoded.
This is going to cause issue when presented to decoder as we will loose
sign anyways. Standard doesnt allow negative delta encoding in stts structure
So we have to sort the timestamps and then make the stts structure.
Then make a ctts structure which will hold the offset from the decode TS
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Patch set 6: Addressed Dan's comments and cherry-picked on current
tree. Taking approvals and verifications from patch set 5.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I1a0eeec83af6cd0e340d29a00bd9f74549eefb90
GB Camcorder : Fix AV-Sync Issue in camcorder
Description : 1) Stagefright recorder spawns two threads to record audio & video tracks independently.
2) Both the threads are scheduled with the standard Linux time-sharing schedule attribute SCHED_OTHER.
3) In the current implementation Audio track thread is created first followed by the video track thread.
4) The audio player is NOT started untill stagefright issues Play() command. This command is called when both
AUdio & Video sources are initialized & their respective threads are ready to run.
5) Since the Audio track thread is initialized before video thread, the dynamic priority of the thread keeps increasing every quantum
it's ready to run but being blocked by the scheduler (As the Audio Player start command is still not issued).
6) Once the Audio player is initialized, the scheduler allows the audio thread to execute for some time quantum
& the audio thread starts reading the data immediatly.
7) At this point Video track is still not started & is blocked to execute by the scheduler.
8) By the time video gets to execute, Audio has already filled approx 512 msec of data (At 128 msec intervals, 8Khz sample rate) . And there is an offset of
half a second.
9) So we will hear the Audio half a second after the video, when Audio & video are played back at the same time.
This patch reverses the creation sequence of Audio & Video, so that video is created first & allowed to execute for few time quantums before audio starts.
Since the update frequency of video TS are fast as compared to audio (33 msec), we will have only few video frames started early when compared to Audio.
This gives perfect AV-Sync when Played back. The actual reason on why Google has cerated Audio before video for REcord needs to be examined.
Defect Id : OMAPS00233256
Verified on AAC & NB-AMR audio codecs with different resolution, Frame rates & all video codecs (H264, H263 & MPEG4).
Verified AV-Sync for short duration (10 secs) & long duration (10 mins)
Signed Off By : Sreenidhi Koti <sreenidhi@ti.com>
Change-Id: I10a64f5c5e202164157b0af8ef245479d2af3388
SF high res/bitrate av streaming support
AwesomePlayer has to wait for 10 sec amount of data being buffered to start playing,
currently NuCachedSource2's kHighWaterThreashold is configured to 5M bytes, this is
less than 10 sec for high bitrate playback duration, so AwesomePlayer is not able to
complete prepare phase, the patch made modification of following parameters:
1. NuCachedSource2/kHighWaterThreshold - sum of max prefetched bytes + gray area,
changed to 13M to buffer 6 - 10 sec duration.
2. NuCachedSouece2/kLowWaterThreshold - threshhold value to trigger prefetch,
changed to 3M, AwesomePlayer will pause if prefeched duration is less than 2 sec
3. AweSomePlayer/kHighWaterMarkUs - cached duration to start playback or seek,
reduced to 6 sec based on 1 and 2, this is also good for seek experience.
Defect: OMAPS00231728
Signed-off-by: Yong Zhi <y-zhi@ti.com>
Patch Set 3: Cherry-picked on current tree. No changes made. Taking
build test, approvals and verification from patch set 2.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: Ide2b7be7e1fffd2c3de1235df2448de993d18b12
libstagefright: fix lock-up condition for av streaming
This fix lock-up condition when AwesomePlayer is waiting for NuCachedSource2 to fill more data
while NuCachedSource2 is above kLowWaterThreshold and enters idle. Also increased kGrayArea,
this value is determined by max video resolution and worst case media layout, 3Mb is about good
enough to handle web oriented clips. This is a re-work of patch #11177 which has mirror update
conflicts.
Change-Id: Ifcd985499e7695f4971e750f3a8c5c5b6fcc8568
Signed-off-by: Yong Zhi <y-zhi@ti.com>
AwesomePlayer enum correction on GingerBread
Description: AwesomePlayer state machine enum is corrected to avoid
conflicts with the default enum values.
Validation# AV Playback from Android Gallery app
Change-Id: I9b292b9d58970a6ce77e6638fa2ede937c554f99
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Stagefright: Handling playback negative seek scenario
The changes are for porting the below patch from Froyo to Gingerbread
----------------------------------------------------------
http://review.omapzoom.org/#change,5711
This patch has change to fix the issue while performing
the stagefright "b 3" tests. They were failing as negative
offset was calculated and used for seek.
Actually in the SF middleware we have condition to check the
parameters. If the seek value is < 0, then android assert is
triggerred which leads to the issue. Actually as per the test app,
the test has to seek and continue decoding till the EOF.
Hence have modified the seek position handling accordingly.
-----------------------------------------------------------
Change-Id: I0fdd8391f1134b91f7c0c03f635de97fb8b7b2cc
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
StageFright: Skip zero size chunks in mp4 parser
Some mp4 clips were not playing with error ERROR_MALFORMED
returned from stagefright mp4 parser. These clips had zero
size chunks which the parser was not skipping. The patch
achieves this. I can share the clips if needed.
CSR#OMAPS00234409
Change-Id: Ifd9d99f735b642e8c6c9951bf35a79ec8c995453
Signed-off-by: Srinivas Spurthi G <spurthi.gs@ti.com>
Stagefright parser fix: fixes to play currently failing MP4 files The changes are for porting the below patch from Froyo to Gingerbread ---------------------------------------------------------- http://review.omapzoom.org/#change,10609
- ftypwmf
Few MP4 files have filetype atom as "ftypwmf". Not standard as per www.ftyps.com, but we have test samples with such headers.
Either we accept it like above, or don.t return error if we get valid MOOV or MDAT atoms later.
- mdat check
Few MP4 containes, don.t have filetype atom "ftyp" at all.
Don.t return error ahead, see if we have valid MDAT or other valid atom types. (opencore mp4 parser behavior. Path: opencore/fileformats/mp4)
----------------------------------------------------------
Patchset2# Added OMAP_ENHANCEMENT FLAG
Patchset3# Corrected LOGE macro.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Patch Set 4: Cherry-picked on current tree. No changes made.
Taking approvals, verifications and build test.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I058696f93e2429ea99020285c289706c3027b9af
SF: configure kPadding for high-profile AV streaming
During AV seek, if one track's buffer being read first, suppose this
is video, and if the corresponding audio chunk happens to be ahead of
video offset, then there is cache miss, to counter this penalty, kPadding
is used to read 32K bytes adhed of the requested position, adjusted to 768k
to cope better with 720p/1080p.
Signed-off-by: Yong Zhi <y-zhi@ti.com>
Patch set 2: Simple cherry-pick - no changes made. Taking
approvals, verification and build test from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I41de69ff0a81aa7dcf32b4e22f205c3b456232d5
SF: AV streaming bug fix for ERROR_END_OF_STREAM condition
When mFinalStatus is ERROR_END_OF_STREAM, the avail size could still be greater
than the requested size in both single track and multiple track cases, so move
the evaluate and copy block ahead of error checking, this patch also pushed go
google for review (#21967).
DR#OMAPS00234827
Change-Id: I475f15fab844ade2980e67fee6461be25224cc8e
Signed-off-by: Yong Zhi <y-zhi@ti.com>
stagefright: OMXCodec changes to resolve regression in port reconfig
The patch addresses two issues.
1. Due to recent changes to support pause/resume state awareness in OMXCodec
port reconfig funtionality is impacted.
2. There is a race condition occuring some times due to which
we receive multiple times INFO_FORMAT_CHANGED from OMXCodec::read()
leading playback failure.
Verified sanity on AV playback/thumbnail generation
Fixes DR#OMAPS00235166
Change-Id: If9f4421a8ab0b04ef24afc84552df21904616b07
Signed-off-by:<dnk.mohan@ti.com>
720P HW Codec should be used for H264 BP video which H or W is bigger than 864.
Stagefright always select OMX.TI.Video.Decoder for H264 BP video if its resolution
is smaller than 864x480.
But since the supported Width and Height by OMX.TI.Video.Decoder is up tp 864,
we need to use 720P.Video.Decoder for H264 BP Video which resolution is smaller than
864x480 but the Height or Width is bigger than 864.
This patch adds this if-condition.
Ref:OMAPS00243751
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Taking approvals, verifications and build test from previous patch
sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: If6637bdd0dd37d6642a5f0f1c3fde3313ad901da
MPEG4 Sniffers fixes for files with only Audio tracks
Description# There are two fixes as part of this patch:
(1) In positionFileAtAtom method we are checking for atom size
to be > 8. But there are few atoms like "free", "wide" etc
which could be of size 8.The comparision is corrected
to >= 8.
(2) And there are few clips which are having only audio traks.
There are no video traks hence the confidence is never changed
to 0.4; this would cause those clips failing to get
detected correctly.
DRT# OMAPS00238282 - MPEG4 sniffer confidence issue
Change-Id: I9cc5da12c35f35fb68ed609c63381de6c43f3f84
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Stagefright changes to support SoftwareCodecs for thumbnail mode
Description# findMatchingCodecs method in OMXCodec is modified to remove:
the hardcoding of Hardware codecs irrespetive of the quirk.
And capture frame method during thumbnail generation is modified
to remove the unnecessary logic which was forcing the first frame for
thumbnail if it fails during s/w decoding.
DRT# OMAPS00241143-Thumbnails generation of h263,mpg4,h264 of
resolution 32x32 results in media server died
Change-Id: I549edfbb813ea15554a30407f3e07596b41412d4
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Gingerbread Camcorder: Fix first I-Frame corruption issue for H264 in GB camcorder
Description : The ducati codec mandatorily returns the first frame as IDR frame after codec config.
GB writer extracts the sequence & picture param set info only from the codec config.
And doesn't expect this info to be present in the consequent I-frame. Since our codec
always sends the first frame as IDR frame, it has extra SPS, PPS & SEI specific
info which GB writer does not understand.
This was causing the GB writer to add these extra info as data & eventually
corrupting the I-frame.
This patch strips off the extra info from the IDR frames so that the parser gets the
info thay way it desires. This patch (along with ducati patch) also fixes the seek issue
for H264 encoder when 4 Motion Vector is enabled. The corresponding ducati patch is:
https://android.dal.design.ti.com/#change,385
Signed Off By : Sreenidhi Koti <sreenidhi@ti.com>
Change-Id: Ibff4060afb3809e6a811dfdcb04d954803ade1cc
Adding support for the 3gpp2 file format
Adding "ftyp3g2" to the Mpeg4FileTypeList to add support for 3gpp2 (.3g2) files
OMAPS00231859
Change-Id: I797e2daf910df38577fa6dfe411edae8f5da1a55
Signed-off-by: Juan Escamilla <juan.escamilla@ti.com>
Stagefright: Add "skm2" into known ftyp types for MPEG4 extractor
In mpeg4extractor ftyp type "skm2" was not there.
Found one customer clip not being played due to this.
Added it to knownFileTypes.
Verified sanity on AV playback and thumbnail generation.
Change-Id: I92994902474be1f44922d5265fbc32ad4b9d598e
Signed-off-by:<dnk.mohan@ti.com>
Stagefright: Add "avc" into known ftyp types for MPEG4 extractor
In mpeg4extractor ftyp type "avc" was not there.
Some of the customer clips are not being played due to this.
Hence added it to knownFileTypes.
Verified sanity on AV playback and thumbnail generation.
Fixes DR#OMAPS00237169
Patchset2: Had further check on availbale ftyp types.
There is no all inclusive list available. But over time
we have covered most of them.Corrected avc to avc1 as there
are no other versions(like avc2, avc3 etc) avialble.
There are two types with iso : isom and iso2.Hence made changed
check for iso.
Change-Id: I4e7919b11ab960aeb5da8ff1c1e15a0e7d1256bd
Signed-off-by:<dnk.mohan@ti.com>
OMAP4: S3D: Restoring SEI message to IDR frames
Note: S3D decoder relies first SEI message on IDR frame
to configure the display driver.
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
Patch Set 5: Simple cherry-pick on current tree. No changes made.
Taking verification and approvals from previous patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I53d9a17c2a17b54e5511ec721c9c44ec5ab2caa8
OMAP3: SF: handling multiple NALs in a output buffer
In case of Ittiam's 720P encoder, it returns the output which has
multiple NALs in itself. And, these multiple NALs has a start code
for each NAL to parse each NAL unit. This patch make MPEG4Writer
be able to handle multiple NALs in a output buffer properly.
Change-Id: I58b285946c4e735cac53aee77c119783536a1942
Signed-off-by: keun-o.park <sahara@ti.com>
Gingerbread Camcorder : Support for H.264 Encoder - High Profile
This patch makes H264-High-profile as default profile for H264 Encoder.
A check was commented in MPEG4Writer which prevents H264-High-profile encoding.
Signed-off-by : Kalpesh Patil <kalpeshpatil@ti.com>
Patch set 2: Simple cherry-pick onto current tree. No changes made.
Taking verifications and approvals from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Patch set 3: Rebase again as previous patch rebased. Taking approvals
and verifications from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I5f71dd84cab8e03dbb25687d7bfa0c14c160caf7
OMAP3:SF Fix for 1st frame corruption in MPEG4 encoding.
Discard the buffer after receiving the codec specific data.
Else this will lead to writing of wrong entries into
the stss, stsz & other atoms. Which causes the playback
of first 1 second of clip to be blank on QuickTime.
TI Video encoder and Ittiam Video encoder sends only the codec
specific data in the first buffer now. But, it still doesn't
have the codec specific data flag set yet.
Change-Id: I4174d50d7db6e866c30c0791581dcf81dca98c01
Signed-off-by: Vikram Simha <vikram.simha@ti.com>
Signed-off-by: keun-o.park <sahara@ti.com>
MPEG4 Writer changes to reduce time taken for Stts and Ctts Writes
With Current implementation, in the for loops for entering Stts Entry as
well as Ctts entry, the check for iterator was the List.size() call. This
API is implemented to iterate throught the list and return the size. So when
we iterate through list of size more than 10000 ( around 10 min record ) this
iterator check added significant delay and hence TN generation was taking
close to 1 min for a 10 min Video.
This patch removes the uncessary List.size() and saves the size beforehand
in a local variable.
Fix for DR: OMAPS00241059
Signed-off-by: Sathya Prakash M R <a0393677@ti.com>
Patch Set 2: Simple cherry-pick on current tree. No changes made.
Taking approvals, verifications and build test from patch set 1.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I13d8438024b7841b2590179a8defb228f82b0592
Update Timestamps based on sample counts
For non 1080p clips we are seein that the sample count is
comming to be non zero quite often. This was causing a
drift in timestamp. Added correction in finding difference
in timestamp. This is bug in implementation and was missed.
Change-Id: I3e8e2e5bdb2621217f629d2a017a39c21f1c35d9
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Mpeg4 doesnt meet the PPM target
Mpeg4 ppm clips dont meet the validation criteria of 30fps.
The issue was found to be in ctts structure not added to the
stts structure causing wrong time stamp to be presented to
the decoder. This was done only for H264 and not for mpeg4.
DRT: OMAPS00229150
patchset2: fixed review comments.
Change-Id: I71112f48564ad8f778628bfd59bc11c59fcdce6d
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
libstagefright: Discard SEI messages after getting the frame packing
we don't recognize anything else, anyway, and some messages confuse
the parser
Change-Id: Ie74f5fa9dc3b50cc7108f4b252faaacf716a4c60
OMAP3: StagefrightRecoder: limit Max-bitrate by H.264 profile level.
When the H.264 recording of Camera is freezed and hanged.
(In case of, set high bitrate to low resolution)
In the CODEC side, codec waiting for corresponding bitrate by profile level.
- Added encoding parameters table.
- find corresponding bitrate by calculated level and limit max-bitrate
Signed-off-by: Min-su.Kim <x0154824@ti.com>
Patch Set 4: Simple cherry-pick on current tree. No changes made.
Taking verifications and approvals from previous patch sets. Build
test done in patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I704cbe858e8498f41497a48a0c54428da9613a01
OMAP: Configuring sample rate appropriatetly for AMR-WB record
StagefrightRecorder was setting the sample rate incorrectly for
AMR-WB speech codec. This change will configure this setting
accordingly.
Change-Id: Ibef47106b84a026719edcc001cfe75ddbeeff4c7
Signed-off-by: Juan Escamilla <juan.escamilla@ti.com>
Signed-off-by: Ricky Bhatia <a0866433@ti.com>
OMAP3: Support FW3A libcamera blobs
FW3A libcameras support a number of extended parameters, but do
not respect the standard API.
camera-omap3 includes support for fw3a, but it requires a set of headers
and libraries that aren't publicly available, so use
BOARD_HAS_OMAP3_FW3A_LIBCAMERA to enable the blob
Change-Id: Ic6e6b88576a538e015ae77eb1fd9fe9ea186a3c4
StageFright: Support for Ittiam AAC encode
This patch is used to enable Ittiam AAC encode at SF level
patch set 3- remove commented out code for wbamr encoder
Signed-off-by: Richard Gong <rgong@ti.com>
Patch Set 4: Simple cherry-pick on current tree. No changes made.
Taking approvals, verification and build test from patch set 3.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I5c8cddee193f69d2e69530c05b8b9e6456419738
OMAP3: SF: Fix wrong condition check for WMV decoder
This fixes the wrong condition check in the OMXCodec.
And, this makes SF select proper codec by a resolution size.
Signed-off-by: Sumukh HS <sumukh.hs@ittiam.com>
Signed-off-by: keun-o.park <sahara@ti.com>
Patch set 4: Simple cherry-pick on current tree. No changes made.
Taking verifications, approvals and build test from previous
patch sets.
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Change-Id: I7b5786b15dadae06a8241dcf0d02a9fb4d2f053b
OMAP3: Allow a device to set its own number of overlay buffers
This uses the same build-time variable as the corresponding liboverlay
change
Change-Id: Ia477f7ac3901ca64e7af46a7b6ac004b64f33c95
Change-Id: Iedba0187175e333d69d3348d2917c40fbf6a5d27
|