summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* fix parsing error at the end of streamwjia@google.com2010-06-041-1/+1
| | | | | | Review URL: http://codereview.chromium.org/2635002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48988 0039d316-1c4b-4281-b951-d872f2087c98
* time stamp is not used , therefore the player_x11 hangs.jiesun@google.com2010-06-022-0/+6
| | | | | | | | | | | there are also flow control problem. but it is not addressed in this CL. BUG=None. Test=dev board. Review URL: http://codereview.chromium.org/2441006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48786 0039d316-1c4b-4281-b951-d872f2087c98
* Change MediaFilter::Stop() to accept a callback so that Stop() is ↵boliu@google.com2010-06-028-137/+198
| | | | | | | | | | | asynchronous. So far PipelineImpl handles asynchronous MediaFilter::Stop(). The actual change to make MediaFilter::Stop() asynchronous will be in another check in. BUG=16059 TEST=Unit tests still runs Review URL: http://codereview.chromium.org/2101015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48769 0039d316-1c4b-4281-b951-d872f2087c98
* some vendor's compiler had issues about the constant variable.jiesun@google.com2010-06-021-2/+5
| | | | | | | | | | | we had to use uniform. TEST=On vendor's board. BUG=None. Review URL: http://codereview.chromium.org/2436007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48758 0039d316-1c4b-4281-b951-d872f2087c98
* enable omx_codec_unittest based on new omx enginewjia@google.com2010-06-021-158/+192
| | | | | | | | | BUG=none TEST=try bot Review URL: http://codereview.chromium.org/2397001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48741 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for playing audio only also files through player_x11 ↵scherkus@chromium.org2010-06-021-3/+10
| | | | | | | | | | | | application. Currently the application just hangs without doing anything if an audio only file is given as input to it. Patch by sashinde@nvidia.com: http://codereview.chromium.org/2075018 BUG=none TEST=Try playing an audio only file before and after this change. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48694 0039d316-1c4b-4281-b951-d872f2087c98
* make opengles 2.0 worksjiesun@google.com2010-06-011-1/+3
| | | | | | | | | BUG=None TEST=NVIDIA Review URL: http://codereview.chromium.org/2455003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48651 0039d316-1c4b-4281-b951-d872f2087c98
* renderer filter creation require media format have mime type and width/height.jiesun@google.com2010-05-282-6/+25
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/2352001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48519 0039d316-1c4b-4281-b951-d872f2087c98
* audio use xmmintrin for sse to reduce requirement from sse2 to ssefbarchard@chromium.org2010-05-281-1/+1
| | | | | | | | | BUG=44643 TEST=build with compiler options that enable sse but disable sse2 and chrome should still build and run on Pentium3. Review URL: http://codereview.chromium.org/2360002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48515 0039d316-1c4b-4281-b951-d872f2087c98
* set client state to kClientInitializing a little earlier in order to satisfy ↵wjia@google.com2010-05-281-2/+2
| | | | | | | | | | | | | pipeline checking Contributed by wjia@chromium.org BUG=none TEST=tested with omx_test on tegra Review URL: http://codereview.chromium.org/2234009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48496 0039d316-1c4b-4281-b951-d872f2087c98
* Remove omx_codec since OMX client implementation is in ↵wjia@google.com2010-05-285-1676/+90
| | | | | | | | | | | | | omx_video_decode_engine. Update omx_test to use omx_video_decode_engine. Contributed by wjia@chromium.org BUG=none TEST=tested on tegra Review URL: http://codereview.chromium.org/2255005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48492 0039d316-1c4b-4281-b951-d872f2087c98
* pad yuv additional 15 bytes to allow 16 pixels at a time to be processed ↵fbarchard@chromium.org2010-05-281-1/+3
| | | | | | | | | | | without going off end of buffer. BUG=43970 TEST=play http://fbarchard0-w.ad.corp.google.com/mediatests/Etherworks-WebMadeMovies3BuildingABetterInternet799.ogg with scaling down (CTRL -). Should not crash. Review URL: http://codereview.chromium.org/2337001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48471 0039d316-1c4b-4281-b951-d872f2087c98
* Implements video decoder filter for OpenMAXhclam@chromium.org2010-05-273-18/+141
| | | | | | | | | OpenMAX needs to stay in a separate filter. This greatly reduces the communications between different layers. Review URL: http://codereview.chromium.org/2168003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48446 0039d316-1c4b-4281-b951-d872f2087c98
* Merge omx_codec and omx_video_decode_enginehclam@chromium.org2010-05-272-59/+1308
| | | | | | | | | | | | | | | | 1. Redesign IL client state machine to better reflect OpenMAX workflow 2. Remove racing condition 3. Better error handling 4. Add EGLImage support 5. Ready for buffer recycling with video renderer 6. Ready for more feature support such as flushing, pausing Submitted for: wjia@chromium.org Reviewed: http://codereview.chromium.org/2143003/show Review URL: http://codereview.chromium.org/2282002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48411 0039d316-1c4b-4281-b951-d872f2087c98
* Removed PushSource::Packet. SeekableBuffer.current_time() fixed to returnsergeyu@chromium.org2010-05-266-71/+40
| | | | | | | | | | kInvalidTimestamp when the time is unknown. TEST=media_unittests BUG=28654 Review URL: http://codereview.chromium.org/2140001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48329 0039d316-1c4b-4281-b951-d872f2087c98
* refactoring decoder interfacejiesun@google.com2010-05-2610-93/+136
| | | | | | | | | | 1. install permanent buffer exchange callback. 2. render provide buffer in read=>fillthisbuffer. 3. for ffmpeg path, the provided buffer is just dummy. it had no relation to decoded buffer. so as to keep the code almost same. Review URL: http://codereview.chromium.org/2101022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48328 0039d316-1c4b-4281-b951-d872f2087c98
* Reporting a more accurate buffered time for the video taghclam@chromium.org2010-05-258-13/+56
| | | | | | | | | | | | | Instead of showing that the entire file is buffered when the video first loads, this uses current time, current bytes, and buffered bytes to estimate buffered time. Reviewed: http://codereview.chromium.org/2085012/ Submitted for: vrk@chromium.org BUG=42285 TEST=NONE Review URL: http://codereview.chromium.org/2192001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48199 0039d316-1c4b-4281-b951-d872f2087c98
* 1. decoder interface now looks a little strange, until we refactoring.jiesun@google.com2010-05-2113-181/+77
| | | | | | | | 2. first step to merge omx_decoder_engine/omx_codec by making omx_decoder_engine as simple as possible. Disable omx_codec_unittests during this process. Review URL: http://codereview.chromium.org/2117020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47965 0039d316-1c4b-4281-b951-d872f2087c98
* VideoDecoderImpl Mock Engine leak callback.jiesun@google.com2010-05-201-2/+8
| | | | | | Review URL: http://codereview.chromium.org/2085013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47857 0039d316-1c4b-4281-b951-d872f2087c98
* refactoring engine interface for openmax.jiesun@google.com2010-05-2013-233/+257
| | | | | | | | currently only fillbufferdone callback and emptythisbuffer is used. Review URL: http://codereview.chromium.org/2095002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47802 0039d316-1c4b-4281-b951-d872f2087c98
* Build fix.agl@chromium.org2010-05-201-1/+1
| | | | | | | I got lost in a sea of try bot messages and got confused about the last patch's status. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47795 0039d316-1c4b-4281-b951-d872f2087c98
* Handle EINTR and remove offset_t in ffmpeg code.agl@chromium.org2010-05-203-11/+10
| | | | | | | | (Should also fix OpenBSD build I believe) http://codereview.chromium.org/2136017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47794 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium side changes for enabling VP8 and WebM support.scherkus@chromium.org2010-05-202-0/+13
| | | | | | | | | | | Patches by Frank Galligan (fgalligan@google.com), Tom Finegan (tomfinegan@google.com) and James Zern (jzern@google.com). BUG=none TEST=none Review URL: http://codereview.chromium.org/2093007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47759 0039d316-1c4b-4281-b951-d872f2087c98
* Change default to three threads for video decoding and add command line ↵fbarchard@chromium.org2010-05-195-15/+34
| | | | | | | | | | | --video-threads. BUG=44128 TEST=player_wtl.exe --video-threads=6 d:\mediatests\crowd\crowd2.mp4 Review URL: http://codereview.chromium.org/2080008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47723 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47603 - refactoring engine interface for openmax.atwilson@chromium.org2010-05-1913-255/+233
| | | | | | | | | | | | | | | It was breaking several video tests: http://build.chromium.org/buildbot/waterfall/builders/Webkit/builds/22419/steps/webkit_tests/logs/stdio currently only fillbufferdone callback and emptythisbuffer is used. Review URL: http://codereview.chromium.org/2095002 TBR=jiesun@google.com Review URL: http://codereview.chromium.org/2070012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47608 0039d316-1c4b-4281-b951-d872f2087c98
* refactoring engine interface for openmax.jiesun@google.com2010-05-1913-233/+255
| | | | | | | | currently only fillbufferdone callback and emptythisbuffer is used. Review URL: http://codereview.chromium.org/2095002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47603 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring in media::PipelineImpl and media::MediaFilter.scherkus@chromium.org2010-05-1710-61/+48
| | | | | | | | | | | | | | | | A hack in media::PipelineImpl::BroadcastMessageTask() was previously required to remove the mime_type of the disabled renderer. Since the only use of media::PipelineImpl::BroadcastMessage() is to disable the audio renderer, refactor BroadcastMessage() to DisableAudioRenderer() and refactor media::MediaFilter::OnReceivedMessage() to OnAudioRendererDisabled(). Patch by boliu@google.com: http://codereview.chromium.org/2042014/show BUG=19384 TEST=media_unittests Review URL: http://codereview.chromium.org/2069006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47472 0039d316-1c4b-4281-b951-d872f2087c98
* Enable error recognition and error concealment options in qualification ↵fbarchard@chromium.org2010-05-172-0/+14
| | | | | | | | | | | software, for consistency with Chrome, and as a switch in media_bench BUG=31093 TEST=media_bench --error-correction --stream=video --video-threads=1 d:\mediatests\tulip\tulip2.mp4 Review URL: http://codereview.chromium.org/2107009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47443 0039d316-1c4b-4281-b951-d872f2087c98
* Fix folding code to respect new AAC channel order caused by ffmpeg roll. ↵fbarchard@chromium.org2010-05-172-11/+8
| | | | | | | | | | | Also tested for OGG. BUG=43094 TEST=play a movie with 5.1 sound. ie startrek-sbspot_h720p.mov. The voices should be centered. Review URL: http://codereview.chromium.org/2095007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47433 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed memory leaks in media_unittests that cause heapcheck errors.sergeyu@chromium.org2010-05-161-0/+9
| | | | | | | | BUG=none TEST=none TBR=ajwong@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47388 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed memleak in alsa_output.ccsergeyu@chromium.org2010-05-161-1/+2
| | | | | | TBR=ajwong@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47375 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed media_unittests.sergeyu@chromium.org2010-05-153-26/+69
| | | | | | | | | | BUG=44253,44254 TEST=media_unittests succeeds when run in valgrind TBR=ajwong@chromium.org Review URL: http://codereview.chromium.org/2103002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47374 0039d316-1c4b-4281-b951-d872f2087c98
* Fix OpenMAX video decoding hanginghclam@chromium.org2010-05-142-13/+26
| | | | | | | | | | | | | | | Avoid OpenMAX to hold many decoded frames to keep decoding going. BUG=no TEST=tree stays gree Submitted for: wjia@chromium.org Reviewer: http://codereview.chromium.org/2031010/show Review URL: http://codereview.chromium.org/2105003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47335 0039d316-1c4b-4281-b951-d872f2087c98
* Removed AlsaPcmOutputStrem::Packet. Fixed bug in ↵sergeyu@chromium.org2010-05-148-187/+262
| | | | | | | | | | | AlsaPcmOutputStream::ScheduleNextWrite which would cause high CPU consumption. BUG=28654 TEST=Audio still works on Linux Review URL: http://codereview.chromium.org/2008010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47333 0039d316-1c4b-4281-b951-d872f2087c98
* Add a private opaque pointer option to VideoFrame.scherkus@chromium.org2010-05-143-5/+70
| | | | | | | | | | | | | | This will allow using types such as EGLImageKHR for decoding and rendering. Patch by wjia@google.com: http://codereview.chromium.org/2008005/show BUG=none TEST=compiles Review URL: http://codereview.chromium.org/2137001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47307 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Add a bunch of missing includes.thestig@chromium.org2010-05-101-1/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2018001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46850 0039d316-1c4b-4281-b951-d872f2087c98
* ffmpeg audio convert float to int samples immediately after decodefbarchard@chromium.org2010-05-071-0/+62
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1969004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46728 0039d316-1c4b-4281-b951-d872f2087c98
* Add EGLImage as one media type different than regular uncompressed video buffer.scherkus@chromium.org2010-05-0515-23/+96
| | | | | | | | | | | | | | Video renderer could get this info via decoder->media_format(). This is needed in case video renderer is the buffer allocator. Patch by wjia@chromium.org: http://codereview.chromium.org/1725021/show BUG=NONE TEST=compiles Review URL: http://codereview.chromium.org/1952003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46479 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 46314 - floating point audio support in util functions for volume and ↵fbarchard@chromium.org2010-05-043-65/+29
| | | | | | | | | | | | | | folding BUG=42861 TEST=none Review URL: http://codereview.chromium.org/1856002 TBR=fbarchard@chromium.org Review URL: http://codereview.chromium.org/1926001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46320 0039d316-1c4b-4281-b951-d872f2087c98
* floating point audio support in util functions for volume and foldingfbarchard@chromium.org2010-05-043-29/+65
| | | | | | | | | BUG=42861 TEST=none Review URL: http://codereview.chromium.org/1856002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46314 0039d316-1c4b-4281-b951-d872f2087c98
* scaler_bench is a simple benchmark that can be used to measure performance ↵sergeyu@chromium.org2010-05-031-0/+12
| | | | | | | | | | | | | | | of our image scaling code. In this version it times performance of image scaling using Skia, and using Chromium's own scaler with and without filtering. BUG=none TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=44950 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=45067 Review URL: http://codereview.chromium.org/1518034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46289 0039d316-1c4b-4281-b951-d872f2087c98
* Use FFmpeg's reordered_opaque for presentation timestamp reordering.scherkus@chromium.org2010-04-286-43/+88
| | | | | | | | | | | | | | | This fixes numerous audio/video synchronization issues caused by PtsHeap getting out of sync due to the decoder silently dropping/reordering frames. Most decoder libraries (including FFmpeg and OpenMAX) feature some form of presentation timestamp reordering. This is the first step in moving away from using PtsHeap and instead requireing VideoDecodeEngines + their libraries to handle presentation timestamp reordering. This change also removes VideoFrame::GetRepeatCount() as it is an FFmpeg-specific detail. The duration is now properly calculated inside FFmpegVideoDecodeEngine. BUG=26036 TEST=videos linked in bugs remain in sync, as do all other videos Review URL: http://codereview.chromium.org/1726015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45856 0039d316-1c4b-4281-b951-d872f2087c98
* Fix nested ifs and incorrect indentation in ffmpeg_video_decode_engine.cc.scherkus@chromium.org2010-04-281-40/+42
| | | | | | | | | | | No logic change, just inserting returns and de-nesting ifs. BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/1735012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45788 0039d316-1c4b-4281-b951-d872f2087c98
* Remove OmxSink interface because Buffer Allocation will go through Allocator ↵jiesun@google.com2010-04-2710-520/+90
| | | | | | | | | | in the future, and all allocation required parameters will be passed to "Allocator factory" during intiailized phase of render/decoder. Remove OMX_BUFFERHEADERTYPE merge logic, this is based on assumptions that all vendor will use one frame per buffer scheme instead of one slice(multiple rows) per buffer which is specified by OpenMAX IL Spec. Review URL: http://codereview.chromium.org/1786001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45705 0039d316-1c4b-4281-b951-d872f2087c98
* Merging SeekableBuffer and BufferQueue:sergeyu@chromium.org2010-04-279-460/+236
| | | | | | | | | | | | 1. Removed SeekableBuffer::Buffer. 2. Extended SeekableBuffer to support all the features of BufferQueue. 3. BufferQueue removed and replaced with SeekableBuffer. BUG=28654 TEST=none Review URL: http://codereview.chromium.org/1736012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45669 0039d316-1c4b-4281-b951-d872f2087c98
* Remove AVFrame dependency.jiesun@google.com2010-04-2311-230/+250
| | | | | | | | | | | | | Currently AVFrame is used in both OmxVideoDecodeEngine and FFmpegVideoDecodeEngine. This causes an unnecessary memory copy from AVFrame to VideoFrame. We can remove the additional copy by using VideoFrame. Also in the hardware (OpenMAX) path, VideoFrames are allocated inside decode engines, therefore the interface was changed such that VideoFrames are created inside the decode engines but buffered in VideoDecoderImpl. BUGS=none TEST=none Review URL: http://codereview.chromium.org/1669002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45448 0039d316-1c4b-4281-b951-d872f2087c98
* Vertical Scaler better pipelined for Atomfbarchard@chromium.org2010-04-233-77/+105
| | | | | | | | | BUG=42064 TEST=sse2 version of scaling should be faster on Atom. No quality change. Review URL: http://codereview.chromium.org/1700010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45431 0039d316-1c4b-4281-b951-d872f2087c98
* OmxInputBuffer removed as it is not used anywhere.sergeyu@chromium.org2010-04-224-162/+0
| | | | | | | | | BUG=28654 TEST=none Review URL: http://codereview.chromium.org/1763006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45364 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up the audio timestamp and duration code.scherkus@chromium.org2010-04-221-22/+14
| | | | | | | | | | | | | | While debugging this code I found it to be a tangled web of logic. The new version is much simpler: - Always calculate a duration (this makes sense anyway) - Use the estimated timestamp when one isn't available - Reset the estimated timestamp when a valid timestamp is available BUG=26036 TEST=everything still plays in sync Review URL: http://codereview.chromium.org/1695009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45339 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 45265 - Speed up vertical filtering using v = a+(ba)*x formulafbarchard@chromium.org2010-04-223-50/+39
| | | | | | | | | | | BUG=42064 TEST=unittests should still pass Review URL: http://codereview.chromium.org/1733004 TBR=jamesr@chromium.org Review URL: http://codereview.chromium.org/1718007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45270 0039d316-1c4b-4281-b951-d872f2087c98