summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Speed up vertical filtering using v = a+(b-a)*x formulafbarchard@chromium.org2010-04-213-39/+50
| | | | | | | | BUG=42064 TEST=unittests should still pass Review URL: http://codereview.chromium.org/1733004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45265 0039d316-1c4b-4281-b951-d872f2087c98
* Issues with video loopinghclam@chromium.org2010-04-2010-20/+43
| | | | | | | | | | | | | | | | | Some video streams are badly muxed and have video packets with timestamps greater than the duration. This causes the logic in the video renderer to sleep forever and never read the end-of-stream packet and thus the stream is never ended. This change adjusted the condition on when we should sleep and handle timestamp greater than duration as a special case. TEST=video loops BUG=41579 Review URL: http://codereview.chromium.org/1652011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45124 0039d316-1c4b-4281-b951-d872f2087c98
* scaler_bench is a simple benchmark that can be used to measure performance ↵sergeyu@chromium.org2010-04-202-0/+210
| | | | | | | | | | | | | 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 Review URL: http://codereview.chromium.org/1518034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45067 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 44950 - scaler_bench is a simple benchmark that can be used to ↵sergeyu@chromium.org2010-04-192-217/+0
| | | | | | | | | | | | | | measure performance 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 Review URL: http://codereview.chromium.org/1518034 TBR=sergeyu@chromium.org Review URL: http://codereview.chromium.org/1572047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44966 0039d316-1c4b-4281-b951-d872f2087c98
* scaler_bench is a simple benchmark that can be used to measure performance ↵sergeyu@chromium.org2010-04-192-0/+217
| | | | | | | | | | | 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 Review URL: http://codereview.chromium.org/1518034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44950 0039d316-1c4b-4281-b951-d872f2087c98
* code fix for video framejiesun@google.com2010-04-162-72/+63
| | | | | | Review URL: http://codereview.chromium.org/1623011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44774 0039d316-1c4b-4281-b951-d872f2087c98
* Filter YUV scaling at half size and below with center of pixelfbarchard@chromium.org2010-04-164-98/+156
| | | | | | | | | BUG=19113 TEST=use playerwtl and reduce size to half and turn filtering on/off. Should look better. Review URL: http://codereview.chromium.org/1625017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44760 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 2 memcpy() in the OpenMAX code pathhclam@chromium.org2010-04-1514-78/+126
| | | | | | | | | | | | Reviewed: http://codereview.chromium.org/1620012 Submitted for: wjia@chromium.org This also fixes new/delete mismatch in the last commit by using scoped_array for data. Review URL: http://codereview.chromium.org/1630026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44677 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Explicitly add a bunch of missing includes.thestig@chromium.org2010-04-153-3/+6
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1623014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44635 0039d316-1c4b-4281-b951-d872f2087c98
* fix arm warningsfbarchard@chromium.org2010-04-155-162/+163
| | | | | | | | | BUG=19113 TEST=builds on arm Review URL: http://codereview.chromium.org/1553033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44608 0039d316-1c4b-4281-b951-d872f2087c98
* Make C, MMX and SSE2 all output the same resultsfbarchard@chromium.org2010-04-158-827/+682
| | | | | | | | | BUG=19113,41045 TEST=none. just cleanup and making all platforms produce the same results Review URL: http://codereview.chromium.org/1638008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44591 0039d316-1c4b-4281-b951-d872f2087c98
* fixed compilation problem with disabled SSEsergeyu@chromium.org2010-04-151-1/+1
| | | | | | | | | BUG=19113 TEST=none Review URL: http://codereview.chromium.org/1559032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44584 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Remove 2 memcpy() for omx video decode input"hclam@chromium.org2010-04-1414-126/+78
| | | | | | | | | | Reverr r44537 as it introduces memory leaks. TBR=wjia@google.com, rsesek@chromium.org Review URL: http://codereview.chromium.org/1585038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44568 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 2 memcpy() for omx video decode inputhclam@chromium.org2010-04-1414-78/+126
| | | | | | | | | | | | Some refactoring to remove 2 memcpy() for encoded video data for OpenMAX. Submitted for: wjia@google.com Reviewer: http://codereview.chromium.org/1574024/show Review URL: http://codereview.chromium.org/1572037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44537 0039d316-1c4b-4281-b951-d872f2087c98
* Looping for audio / videohclam@chromium.org2010-04-141-3/+25
| | | | | | | | | | Fixed the looping problem with audio / video. BUG=39478 TEST=audio plays with looping Review URL: http://codereview.chromium.org/1620010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44502 0039d316-1c4b-4281-b951-d872f2087c98
* Incorrect chroma on the right border fixed.sergeyu@chromium.org2010-04-141-13/+12
| | | | | | | | | BUG=19113 TEST=Right border has correct color Review URL: http://codereview.chromium.org/1518027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44455 0039d316-1c4b-4281-b951-d872f2087c98
* quick fix for emms on linux 64fbarchard@chromium.org2010-04-141-2/+1
| | | | | | | | BUG=none TEST=build on linux 64 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44440 0039d316-1c4b-4281-b951-d872f2087c98