summaryrefslogtreecommitdiff
path: root/media/libstagefright/ACodec.cpp
AgeCommit message (Collapse)Author
2012-11-28Added optional intra macroblock refresh support for encodingJames Dong
o related-to-bug: 7524791 Change-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f
2012-11-14Properly signal an error if codec configuration goes wrong.Andreas Huber
previously any error signaled by setupXXX inside ACodec::configureCodec would be overwritten with the result of setMinBufferSize at the end of the function. Change-Id: Id4beb571ca52ea4646239d0af006e09ce1130268 related-to-bug: 7542181
2012-11-01Make video encoders' bitrate mode (constant, variable, ...) configurableandroid-sdk-support_r11jb-mr1-devAndreas Huber
through the desired output format. Configure the video encoder to use constant bitrate mode for WFD. Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333 related-to-bug: 7459597
2012-09-28Tell the encoder to emit SPS/PPS before IDR frames in wifi display code.Andreas Huber
Change-Id: Ic40e09b66784dd2e370d30b688d50561a47ab85a related-to-bug: 7245308
2012-09-28Various improvements to a cleaner shutdown of the wifi display connection.Andreas Huber
Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239 related-to-bug: 7247918
2012-09-13Support IDR requests in wifi display, MediaCodec and ACodec.Andreas Huber
Change-Id: I596cf8dd61b63465437f78413186fad2be287244
2012-08-29Initial checkin of support for acting as a wifi display sourceAndreas Huber
Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
2012-08-07Make sure codec names and corresponding quirks are returned together.Andreas Huber
Previously they were returned in separate vectors and only one of them was sorted if software codecs were preferred, leaving the quirks no longer matching the codec name at the same index. Change-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604 related-to-bug: 6737884
2012-07-29Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl
Conflicts: services/audioflinger/AudioFlinger.cpp Change-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b
2012-06-21Update ANativeWindow client code for syncJamie Gennis
This change updates all the uses of ANativeWindow to use the new ANW functions that accept and return Sync HAL fence file descriptors. Change-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16
2012-06-21Add vendor specific output color formatHaynes Mathew George
- Add Qualcomm specific color format support to OMXCodec and ACodec - This is the default color format supported on QCom chipsets Change-Id: Id947b158c3b403c2d347f708bc1e780b4d65e220
2012-05-29Unwedge ACodec if allocating output buffers fails while reconfiguring.Andreas Huber
Change-Id: I871cf639167c01860e65c0408d3ce935f8f8f1ea related-to-bug: 6571060
2012-05-22Tell surface flinger that we want to protect output buffers from beingAndreas Huber
sent to HDMI (without HDCP) and push a few black frames on IDLE->LOADED similar to OMXCodec's behaviour. Change-Id: Iea6055a115151ca881220a70a31af6ade2c58cb3 related-to-bug: 6537187
2012-05-21If we encounter an error during buffer allocation change state backAndreas Huber
to LOADED instead of remaining in the transitional state LOADED->IDLE that won't properly handle flush or shutdown requests. Change-Id: Ica1bf22eb884b220f18ed2a4f7a9c56eec228796 related-to-bug: 6516512
2012-05-15Explicitly set the video scaling mode to "stretch".Andreas Huber
Change-Id: I23b8848cfef51bc8ea72deb22783e21d093dbd98 related-to-bug: 6498150
2012-05-14ACodec mustn't override the video scaling mod.Andreas Huber
Change-Id: Id9b569446d73dcfe44ab4a3488812203758c9c42 related-to-bug: 6490687
2012-05-11Increase AAC software decoder's buffer count. Refactor how clientsAndreas Huber
of ACodec get notified about codec buffers and buffer ids. Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e related-to-bug: 6478823
2012-05-09OMX IL wrapper for FLAC encoderJean-Michel Trivi
Add wrapper around libFLAC for FLAC encoding in OpenMAX IL. Declare FLAC encoder in OMX component roles. Bug 5525503 Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
2012-05-07Get rid of vendor specific video encoder component names from ACodec and ↵James Dong
OMXCodec o related-to-bug: 6446245 Change-Id: I1fa07ad8a39337e3b19ac51c10533a2de8c11bb5
2012-05-03Respect channel mask in ACodec and NuPlayer.Andreas Huber
Refactor conversion from MetaData into AMessage while we're at it. Change-Id: I5479129836ea4316e8de28cf1b472bf19e3ac4ab related-to-bug: 6439076
2012-04-30Fix mono gapless playback for decoders that output stereoMarco Nelissen
The old AAC decoder always outputs stereo, even for mono source material, so we need to use the number of channels of the output when calculating the number of bytes to skip, not the number of channels in the source. This makes OMXCodec skip the right amount of data, and prevents NuPlayer from writing half a frame and then asserting when the AudioSink doesn't accept it. Also move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also works when using the new Java APIs, and make SkipCutBuffer derive from RefBase. b/774846 Change-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0
2012-04-25Add Fraunhofer AAC encoder with AAC-ELD support.Dave Burke
Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
2012-04-24Make sure OMXCodec and ACodec both accept more than 2 channels of audioAndreas Huber
and fill in the OMX channel mask properly. Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
2012-03-29Implementation of a raw audio "decoder".Andreas Huber
Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
2012-03-26Provisional support for secure decryption of media streams.Andreas Huber
Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
2012-03-16ACodec is a little more aggressive in its error checking now.Andreas Huber
Update components to do the right thing. Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d
2012-03-01Instead of hardcoding OMX component names in our code, supportAndreas Huber
a config file instead. Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
2012-02-28Separate the notion of "stop" from that of "release", i.e.Andreas Huber
stop - means transition back to LOADED state and keeping the component instance allocated. release - means we get rid of the component completely. Change-Id: I40ad01ce70821faaad43f57999249904f9144924
2012-02-27fix libgui header locationMathias Agopian
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
2012-02-22Add new APIs AMessage::(set|find)Buffer to make it safer to passAndreas Huber
ABuffer objects through messages. Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
2012-02-22Implementation of a java media codec interface and associated tools.Andreas Huber
Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
2012-01-08Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-06Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2011-11-29Fix the broken buildJames Dong
Change-Id: Ib508514891474d24f14ac69d721b0c9c700a0c3f
2011-11-29am 52607c53: am d12dc284: Merge "If an error occurs that prevents us from ↵Andreas Huber
reallocating buffers during a format change" into ics-mr1 * commit '52607c5364446df6ac5b2f55cb50e146e6023a4f': If an error occurs that prevents us from reallocating buffers during a format change
2011-11-28If an error occurs that prevents us from reallocating buffers during a ↵Andreas Huber
format change we need to transition to executing state anyway to be able to properly flush/shutdown in the future. Change-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f related-to-bug: 5655016
2011-10-26Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
2011-09-30Support for an MPEG2 Program Stream extractor.Andreas Huber
Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
2011-09-28Support AMR, G.711 and vorbis audio in ACodec and friends.Andreas Huber
Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
2011-09-26Propagate error signalled by the source all the way to the output EOS ↵Andreas Huber
notification. Change-Id: I30e959a6d669f09745c59fbdebee08f869511cf7 related-to-bug: 5372901
2011-09-16Various improvements to nuplayer playbackAndreas Huber
- Drastically cut down the number of times we supply the AudioSink with data by estimating the time until the sink would run out of data and then scheduling a refill in advance of that. - Use a dedicated looper for video decoders since they are currently taking too long to return from OMX_FillThisBuffer (bug 5325201) - Revise thread priorities for the OMX dispatcher and software codecs, instead of running them at ANDROID_PRIORITY_AUDIO, they now only run at ANDROID_PRIORITY_FOREGROUND - Since threads created by pthread_create inherit all of the parent threads attributes including thread priority, briefly reset thread priority to ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then restore it. Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
2011-09-12Turn an another assertion into a runtime error in ACodec's implementationAndreas Huber
Change-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd related-to-bug: 5284760
2011-08-26Signal errors to the client instead of asserting in ACodec.Andreas Huber
Also make sure NuPlayer can properly shutdown in certain edge cases. Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
2011-08-16Error handling in ACodec and Nuplayer.Andreas Huber
Codec errors (and codec not found errors) now trigger a controlled shutdown of playback and signal errors to the MediaPlayer client. Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
2011-07-19use SurfaceTexture new scaling mode in SFMathias Agopian
SF now obeys SurfaceTexture's scaling mode instead of inferring it from the buffer's size Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
2011-07-01Ignore all flush-complete notifications with port == OMX_ALLAndreas Huber
Use of this notification is not consistent across implementations. We'll drop this notification and rely on flush-complete notifications on the individual port indices instead. Change-Id: I76c0dfdcfc92a7c9acf57abf3027d2638d77efca
2011-06-30Some (most) OMX decoders do not send a OMX_CmdComplete/Flush OMX_ALL ↵Andreas Huber
notification Change-Id: I1bdcc7be5f12dab301891a5f9ee5cc981e09ba82
2011-06-28Multiple changes to ACodec/codec tools:Andreas Huber
Make sure sf2 does not coalesce input buffers, generalize ACodec's codec instantiation based on OMXCodec's list of eligible component names. Some changes/additions to the "sf2" commandline tool Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s' New option '-R' renders surface-allocated buffers. Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified. Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
2011-06-03Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.hJames Dong
Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
2011-05-25Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.Andreas Huber
Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5