summaryrefslogtreecommitdiffstats
path: root/media/base
Commit message (Collapse)AuthorAgeFilesLines
* Attempt four at landing the "histogram.h removed from message_loop.h" patch.erg@chromium.org2010-07-153-0/+3
| | | | | | | | | | | | | | Previously committed as r52349 and r52336. Related commits: r52367, r52364 and r52343. Rerunning trybots due to previous trybot breakage. TEST=none BUG=none Review URL: http://codereview.chromium.org/2965015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52496 0039d316-1c4b-4281-b951-d872f2087c98
* Revert everything related to the relanding.erg@chromium.org2010-07-143-3/+0
| | | | | | Review URL: http://codereview.chromium.org/2982009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52367 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r52336.erg@chromium.org2010-07-143-0/+3
| | | | | | | | | | | | | | (I accidentally committed a previous version of the patch (the fixed version was in codereview since I had switched to my mac to address this exact compile failure.) BUG=none TEST=none TBR=evan Review URL: http://codereview.chromium.org/2937010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52336 - More header cleanup:erg@chromium.org2010-07-143-3/+0
| | | | | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52343 0039d316-1c4b-4281-b951-d872f2087c98
* More header cleanup:erg@chromium.org2010-07-143-0/+3
| | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52336 0039d316-1c4b-4281-b951-d872f2087c98
* media: Remove a not accurated TODO.tfarina@chromium.org2010-07-101-12/+3
| | | | | | | | | BUG=None TEST=trybots Review URL: http://codereview.chromium.org/2901007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52047 0039d316-1c4b-4281-b951-d872f2087c98
* Use LoadLibraryEx() instead of SetDllDirectory() for overriding DLL loading ↵scherkus@chromium.org2010-06-301-12/+5
| | | | | | | | | | path. BUG=35857 TEST=install a real version of chrome (don't simply unzip a build). close chrome. create an empty file named C:\Windows\avutil-50.dll. start chrome and go to www.youtube.com/html5. no error dialog box should appear. repeat these steps with an earlier version of chrome to verify that an error dialog box appears complaining about C:\Windows\avutil-50.dll. Review URL: http://codereview.chromium.org/2853018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51304 0039d316-1c4b-4281-b951-d872f2087c98
* 1. remove initial rendering lag time for egl image decoding pathwjia@google.com2010-06-241-0/+26
| | | | | | | | | | | 2. put all GLES operations in one thread BUG=none TEST=dev platform and desktop Review URL: http://codereview.chromium.org/2836019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50749 0039d316-1c4b-4281-b951-d872f2087c98
* Limit the DLL search path when loading FFmpeg binaries on Windows.scherkus@chromium.org2010-06-231-2/+14
| | | | | | | | | | This prevents us from accidentally loading other copies of FFmpeg during renderer process boot. BUG=35857 TEST=install a real version of chrome (don't simply unzip a build). close chrome. create an empty file named C:\Windows\avutil-50.dll. start chrome and go to www.youtube.com/html5. no error dialog box should appear. repeat these steps with an earlier version of chrome to verify that an error dialog box appears complaining about C:\Windows\avutil-50.dll. Review URL: http://codereview.chromium.org/2856013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50617 0039d316-1c4b-4281-b951-d872f2087c98
* code cleanup for media code for video renerers.jiesun@google.com2010-06-234-17/+10
| | | | | | | | | add more generic surface format and surface type signalling from video decoder to video renderer. if we want to allocate buffer in renderer, we had to know these kind of information. remove redundant ParseMediaFormat and duplicated width,height, egl_image_supports in derived class of VideoRenderBase. Review URL: http://codereview.chromium.org/2829009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50558 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49990 - xthakis@chromium.org2010-06-161-12/+0
| | | | | | | TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/2813011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49994 0039d316-1c4b-4281-b951-d872f2087c98
* xthakis@chromium.org2010-06-161-0/+12
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49990 0039d316-1c4b-4281-b951-d872f2087c98
* Chromoting unit test: Adding DecoderVerbatimTesthclam@chromium.org2010-06-152-0/+4
| | | | | | | | | Adding a test case to DecodeVerbatimTest. TEST=remoting_unittests Review URL: http://codereview.chromium.org/2849006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49839 0039d316-1c4b-4281-b951-d872f2087c98
* Added checks to GetBufferedTime() to cap at the media's durationvrk@google.com2010-06-143-9/+52
| | | | | | | | | | | | No longer tries to estimate buffered time when media is fully loaded. Also caps estimation at the duration of the media. BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/2782004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49714 0039d316-1c4b-4281-b951-d872f2087c98
* Make MediaFilter::Stop() asynchronous.boliu@chromium.org2010-06-111-8/+6
| | | | | | | | | | | | | | This is the second issue regarding making Stop() asynchronous. All Stop() in subclasses of MediaFilter is made to accept a callback and runs the callback at the end of its stop. BUG=16059 TEST=media_unittest, unit_tests, test_shell_tests still passes Review URL: http://codereview.chromium.org/2541003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49548 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a chromoting client using X11hclam@chromium.org2010-06-093-1/+62
| | | | | | | | | | | | | Using XRender to render the chromoting client. This patch has done several things: 1. Rename chromotocol_pb to remoting 2. Defined ChromotingView as the display area of the remote view 3. Implemented X11Client as the client that uses X11 for display 4. Implemented X11View that uses XRender for drawing 5. Fixed several problems in host capturer and encoder Review URL: http://codereview.chromium.org/2745006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49329 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
* 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
* Removed PushSource::Packet. SeekableBuffer.current_time() fixed to returnsergeyu@chromium.org2010-05-263-14/+22
| | | | | | | | | | 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-262-10/+44
| | | | | | | | | | 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-256-13/+51
| | | | | | | | | | | | | 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
* Change default to three threads for video decoding and add command line ↵fbarchard@chromium.org2010-05-192-5/+12
| | | | | | | | | | | --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
* Refactoring in media::PipelineImpl and media::MediaFilter.scherkus@chromium.org2010-05-177-54/+43
| | | | | | | | | | | | | | | | 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
* Removed AlsaPcmOutputStrem::Packet. Fixed bug in ↵sergeyu@chromium.org2010-05-143-0/+45
| | | | | | | | | | | 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
* Add EGLImage as one media type different than regular uncompressed video buffer.scherkus@chromium.org2010-05-052-2/+26
| | | | | | | | | | | | | | 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
* Use FFmpeg's reordered_opaque for presentation timestamp reordering.scherkus@chromium.org2010-04-282-12/+0
| | | | | | | | | | | | | | | 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
* Remove OmxSink interface because Buffer Allocation will go through Allocator ↵jiesun@google.com2010-04-271-1/+9
| | | | | | | | | | 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-276-447/+225
| | | | | | | | | | | | 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-232-0/+12
| | | | | | | | | | | | | 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-232-75/+97
| | | | | | | | | 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
* Revert 45265 - Speed up vertical filtering using v = a+(ba)*x formulafbarchard@chromium.org2010-04-222-44/+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-212-39/+44
| | | | | | | | 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-206-9/+19
| | | | | | | | | | | | | | | | | 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
* 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
* 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-157-827/+681
| | | | | | | | | 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
* 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
* Disable SSE2 for Windows media playbackfbarchard@chromium.org2010-04-141-2/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1654001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44438 0039d316-1c4b-4281-b951-d872f2087c98
* YUV scale clamp horizontal pixels when filteringfbarchard@chromium.org2010-04-141-11/+22
| | | | | | | | | BUG=19113 TEST=scale up by 4x and watch right edge for texel wrap. Review URL: http://codereview.chromium.org/1560032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44437 0039d316-1c4b-4281-b951-d872f2087c98
* Fix windows scaling bugfbarchard@chromium.org2010-04-131-4/+2
| | | | | | | | | BUG=41294 TEST=scale a video up on windows with filtering enabled. Review URL: http://codereview.chromium.org/1645004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44368 0039d316-1c4b-4281-b951-d872f2087c98
* include emmintrin for chrome linux to use mmx _m64 types.fbarchard@chromium.org2010-04-132-12/+10
| | | | | | | | | BUG=19113 TEST=build official chrome on linux 32 bit. Review URL: http://codereview.chromium.org/1508031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44318 0039d316-1c4b-4281-b951-d872f2087c98
* Changed horizontal scaler to start with 0 instead of 0.5.sergeyu@chromium.org2010-04-132-4/+4
| | | | | | | | | BUG=19113 TEST=Left border in WebKit/LayoutTests/media/content/test.ogv is clearly visible. Review URL: http://codereview.chromium.org/1650002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44311 0039d316-1c4b-4281-b951-d872f2087c98
* Vertical filtering conditional on fraction/scale factorfbarchard@chromium.org2010-04-132-32/+71
| | | | | | | | | BUG=19113 TEST=do large scale factors and look for lines every nth line. Should look smooth and be faster than previously. Review URL: http://codereview.chromium.org/1521023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44307 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed build problem with disabled SSE.sergeyu@chromium.org2010-04-112-2/+8
| | | | | | | | | BUG=19113 TEST=Code builds with disabled SSE. Review URL: http://codereview.chromium.org/1576032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44214 0039d316-1c4b-4281-b951-d872f2087c98
* Optimized version of bilinear video scaler. It is about 2 times faster than ↵sergeyu@chromium.org2010-04-097-467/+805
| | | | | | | | | | | Skia that is currently used for video scaling. BUG=19113 TEST=none Review URL: http://codereview.chromium.org/1556021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44119 0039d316-1c4b-4281-b951-d872f2087c98
* Hierarchy. Hierarchy. Hierarchy!!!avi@chromium.org2010-04-091-1/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1561020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44107 0039d316-1c4b-4281-b951-d872f2087c98
* Fix use_system_ffmpeg and clean up ffmpeg.gypscherkus@chromium.org2010-03-301-5/+20
| | | | | | | | | | | | | To make use_system_ffmpeg work more correctly, we now use the system include path for headers and make use of the version number macros to determine the shared library names. Also removed a bunch of cruft without breaking anything on Windows, Mac or Linux. BUG=23602, 39430 TEST=ffmpeg should still work both with and without use_system_ffmpeg Review URL: http://codereview.chromium.org/1503002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43030 0039d316-1c4b-4281-b951-d872f2087c98