summaryrefslogtreecommitdiff
path: root/libvideoeditor
AgeCommit message (Collapse)Author
2012-10-04Integrate improved coefficient sinc resampler: VHQGlenn Kasten
Summary: Very high quality is enabled only for 44.1 -> 48 or 48 -> 44.1, and uses low quality for all other use cases. Track estimated CPU load and throttles the quality based on load; as currently configured it should allow up to 2 instances of very high quality. Medium quality and high quality are currently disabled unless explicitly requested. Details: Only load .so the first time it is needed. Cleanup code style: formatting, indentation, whitespace. Restore medium quality resampler, but it is not used (see next line). Fix memory leak for sinc resampler. Check sample rate in resampler constructor. Add logs for debugging. Rename DEFAULT to DEFAULT_QUALITY for consistency with other quality levels. Renumber VERY_HIGH_QUALITY from 255 to 4. Use enum src_quality consistently. Improve parsing of property af.resampler.quality. Fix reentrancy bug - allow an instance of high quality and an instance of very high quality to both be active concurrently. Bug: 7229644 Change-Id: I0ce6b913b05038889f50462a38830b61a602a9f7
2012-08-30Move libnbaio out of AudioFlingerGlenn Kasten
libnbaio is now a separate shared library from AudioFlinger, rather than a static library used only by AudioFlinger. AudioBufferProvider interface is now also independent of AudioFlinger, moved to include/media/ Change-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b
2012-08-08am 4348cbce: am 67f694d6: Merge "Initialize pool\'s buffer pointers to null."Jean-Baptiste Queru
* commit '4348cbcec6c3aec02af722d633ebda24f94dfcc8': Initialize pool's buffer pointers to null.
2012-07-17Use audio_channel_mask_t for channel maskGlenn Kasten
Change-Id: I1c1896da48983aa9f1462a4b471f910498816f60
2012-07-11Initialize pool's buffer pointers to null.Truls Bengtsson
If these pointers are not properly initialized to null and allocation of one of the buffers subsequently fail, the freePool mechanism might erroneously free uninitialized pointers. Change-Id: I2101bdb2cc576e5f50b5a1440e6fc0c54dc4e81b
2012-06-29Fixed a video editor crash due to "divided by 0"James Dong
The crash was because the video sample was too short and has 0 duration (or a single frame video). This patch is just simply not to support 0 duration video for editing. Change-Id: I2c7ff78b1e884a4d3a5051f87cdbeeb5dc3078a6 related-to-bug: 6670656
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-12Add NOTICE and MODULE_LICENSE_APATCH2 to libvideoeditorJames Dong
Change-Id: I19308c5fb0f39f8e696092186f4386e3dad06894 related-to-bug: 6647465
2012-06-07Fix green or corrupted video frames in the exported moviesJames Dong
At least two use cases are affected: trimming and transition clip generation. If the starting time of the transition or the trimming position is not the same as that of any existing video frame, the video frame right before the transition starting position or the trimming position must be encoded as the the first video frame for the transtion or the trimmed video, and it is encoded as a key frame. This frame was not saved without the patch. In the transcoding phrase, since we could not find such a frame, the existing code did not return an error, and incorrectly used some other frame to serve as the reference key frame for the remaining video frames of the transition or the trimmed video. As a result, we may see corrupted or green video frames in the exported movies. The fix is to always save the frame right before the trimming position or the transition starting time, so that a key frame will always be encoded, and the right reference frame is used for remaining video frames. In addition, checks are added to prevent from future mistakes to use incorrect reference frames. Patch was originally contributed by teng.hong@nxp.com Change-Id: I182784d4c1786224445224634edab3338bf2278f related-to-bug: 5713461
2012-05-31Fix another buffer overflow issueJames Dong
Using hard-coded length value easily leads to buffer overflow. Refactor the code a bit to make it more readable, and more extensible, and less subject to the buffer overflow coding error. Patch originally contributed by teng.hong@nxp.com Change-Id: Id262915302ccea8ae3b0121bf39890ab463aeeb7 related-to-bug: 6328360
2012-05-30Avoid prematurely terminating parsing when some track only has a single ↵James Dong
access unit Patch was contributed by teng.hong@nxp.com Change-Id: I0f56361d839f18627e512d18e86f51b58b9b0e05 related-to-bug: 6240789
2012-05-16Remove libvideoeditor_jni.so's dependency on static libs in video editor engineJames Dong
related-to-bug: 6502980 Change-Id: I9cbbf44eb53c406263df4003cc3de2af4d239180
2012-05-15Revert "Remove libvideoeditor_jni.so's dependency on static libs in video ↵James Dong
editor engine" This reverts commit 1af1f6a60b9fa217b6809e767babf1ce8a2e95c9.
2012-05-15Remove libvideoeditor_jni.so's dependency on static libs in video editor engineJames Dong
related-to-bug: 6328360 Change-Id: I36324820c7e72fedd8c4caf1b03443a4f7cec37f
2012-04-23remove dependency on SurfaceTexture::connect()Mathias Agopian
Change-Id: I97ce29ecfde4df171120a3570db9575b32c8d362
2012-04-20Add support for deep audio buffersEric Laurent
Allow AudioSink to use deep audio buffering when the source is audio only and its duration is more than a certain threshold. This helps improve battery life but implies higher audio latency. Change-Id: Ie79915b61c370292f05aabda9779356570e03cbb
2012-04-18rename audio policy output flagsEric Laurent
Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
2012-04-02Add gapless playback support for NuPlayerMarco Nelissen
This makes NuPlayer use a SkipCutBuffer when needed, and adds a new AudioSink method to retrieve the number of frames written so far, so NuPlayerRenderer can calculate how much data it can write without blocking. Also make some more methods const. Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
2012-03-28AV Android make files changesJames Dong
o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc o remove some runtime dependencies to libandroid, libandroid_runtime, etc Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
2012-03-24Resolve undesirable dependency of /frameworks/av/libvideoeditor on ↵James Dong
/frameworks/base/media/jni o move VideoEditorMain.h to /frameworks/av/libvideoeditor o removed JNI related C_INCLUDE in some Android.mk files o related-to-bug: 6214141 Change-Id: Iadd01eef701deb728fbac1a3f524ea1db72f6b48
2012-03-22Make file change because libvideoeditor source files movedJames Dong
o related-to-bug: 6214141 Change-Id: I3ef60ca7670df37d7e43546e244cfe6a33093ba9
2012-03-20Add libmedia_nativeGlenn Kasten
Change-Id: I4bff781a26d01023d23d5285a8aa83dbce46c629
2012-03-14Fix LOCAL_C_INCLUDES and correct #include syntaxGlenn Kasten
Change-Id: I522861043cc2ee905258a2ae409bf9dddbe452dc
2012-03-14Prepare frameworks/native/services/audioflingerGlenn Kasten
Part of this change will be reverted after the move is complete. p.s. this dependency on AudioFlinger should be removed Change-Id: Ib29d413b74a6dc1babe7a33471128be11304ce56
2012-03-12Switched to use header files in /frameworks/nativeJames Dong
o related-to-bug: 6044887 Change-Id: I3a1143b09560a6b8fd67d23bbb375c83442a12e9
2012-03-12Swtched to use header file in /frameworks/nativeJames Dong
o related-to-bug: 6044894 Change-Id: I192f0436572d240fd2fb88446f6fa63ba0128d7e
2012-03-12Merge "Refactored MediaBufferPuller class from VideoEditorVideoEncoder class"James Dong
2012-03-11Update build dependency on AudioMixer headerJean-Michel Trivi
VideoEditorSRC doesn't need to include AudioMixer.h. VideoEditorResampler includes AudioMixer.h, which requires system/media/audio_effects/include in the include path. Change-Id: Ibf6194831aeb91e788ce0a3b1282a0d930ee6e48
2012-03-08Use audio_policy_output_flags_t consistentlyGlenn Kasten
Change-Id: I425cfd442257560dcf141d3d8599ddc7d21c1d13
2012-03-06Refactored MediaBufferPuller class from VideoEditorVideoEncoder classJames Dong
o MediaBufferPull class will be useful for the audio encoder also once we switch to use OMX-based audio encoder. o This is the part one for fixing bug 5947347 Change-Id: Icddfeb636f7a59ad766220ef0d3155abace73ad3
2012-03-05Set channel mask when opening audio sinkJean-Michel Trivi
Update the code to use the AudioSink::open() interface that takes a channel mask as an additional parameter. The code is only stereo, and returns an error when attempting to create a video editor audio sink with more than two channels. Change-Id: Ib9bba067da0b286c08656976b89fba7c8b42f99f
2012-02-26fix location of libgui headersMathias Agopian
Change-Id: I0d203f4e7aa83e0449f7ebb9f3cafe021e38fc2f
2012-02-24remove dependency on android_native_buffer.hMathias Agopian
Change-Id: I720d5e6ac7e4455d7ab59eab7e9c2478b911228a
2012-02-10Update method sigs.John Grossman
Update the getNextBuffer signatures to have an additional (but ignorable) parameter used to implement timed audio output. Change-Id: Icb98e4af4d136c234ae8c5cbb4a5de4350b436bb
2012-02-09Merge "Move away from MediaDebug and use ADebug instead"James Dong
2012-02-09Fix green frame issueJames Dong
When the transition clip is generated: two clips in general are involved. The second clip was assigned the incorrect effect number when a transition was coupled with a color effect o patch contributed by Hong Teng <hongteng@nxp.com> o related-to-bug: 5713461 Change-Id: I61b497620264692b331da8b8e7753240edc5d1aa
2012-02-08Move away from MediaDebug and use ADebug insteadJames Dong
Change-Id: I307b3f565808ec8e3b9a4d944c6c0d1f603b04c9
2012-02-06Removed unnecessary memset before an immediate memcpyJames Dong
Change-Id: I447057f861bb6b7977de48a598fd5bed7e75460b
2012-02-03Use AACEncoder instead of OMX-based AAC software encoder to workaround ↵James Dong
issues in the video editor engine o related-to-bug: 5947347 Change-Id: I8eae8166e87e5809e2f3699f760f3a3e57895b4f
2012-01-30Clean up VideoEditorPreviewController class part one:James Dong
o moved local types inside the class to avoid external exposure o use non-virtual destructor since it is not meant to be a base class o removed unused header files and moved some of the header files to .cpp file from .h file o replaced #define constants with local enums Change-Id: Ib321fc8c0379955083bc892c2ef93ed58c6c2ff5
2012-01-30Merge "Fix an error to deal with 0-size nal units in some AVC files"James Dong
2012-01-27Fix an error to deal with 0-size nal units in some AVC filesJames Dong
o related-to-bug: 5890998 Change-Id: If0198e52ff7bbd7422f219f55a37aae97f7d74f1
2012-01-26Clean up VideoEditorGBAudioProcessingJames Dong
o added #ifndef/#define in the header o removed unused variables o renamed some types and methods o replaced macro with class private enum Change-Id: I588ef062fcadcd11591a5a55b4aed771c724492f
2012-01-23Merge "AudioPlayerBase and VideoEditorAudioPlayer class design is incorrect."James Dong
2012-01-23Fix an error that missed an "=" for equality in an if statementJames Dong
Change-Id: Ib566226b427f5357d52c7b9c0742afa05fdd3a84
2012-01-20AudioPlayerBase and VideoEditorAudioPlayer class design is incorrect.James Dong
o this patch removed the AudioPlayerBase class. o verified and passed functional tests Change-Id: I33727069ef63136979b954a9dee1c35309ef6dd4
2012-01-20Merge "More source code Clean up in video editor engine"James Dong
2012-01-19Don't allow evil constructors in VideoEditorBGAudioProcessingJames Dong
Change-Id: Ic525ed66308681ec62363bc90ed2cea42c165a2b
2012-01-19More source code Clean up in video editor engineJames Dong
o fixed incorrect design and got rid of PreviewPlayerBase class o removed obsolete/unused code as much as possible and reformatted the source code o verified and passed functional tests o More to come ... Change-Id: I7a89162f8b9d9ea6eabcf0457366cd2f6d970d11
2012-01-17Fix two typos in the defined frequency enumsJames Dong
Change-Id: Ia0b6af98bd8f2ccb4d79705064a225e5f699ed8d