summaryrefslogtreecommitdiffstats
path: root/media/media.gyp
Commit message (Collapse)AuthorAgeFilesLines
* Revert 116349 - Creating integration tests for media pipeline that use real ↵acolwell@chromium.org2012-01-041-2/+1
| | | | | | | | | | | | | | | | | decoders and demuxers. Reverting so I can fix TSAN errors. TEST=PipelineIntegrationTest Review URL: http://codereview.chromium.org/8968035 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/9094002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116375 0039d316-1c4b-4281-b951-d872f2087c98
* Creating integration tests for media pipeline that use real decoders and ↵acolwell@chromium.org2012-01-041-1/+2
| | | | | | | | | | | demuxers. TEST=PipelineIntegrationTest Review URL: http://codereview.chromium.org/8968035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116349 0039d316-1c4b-4281-b951-d872f2087c98
* Replace subclass interface from VideoRendererBase with a single paint callback.scherkus@chromium.org2011-12-221-4/+0
| | | | | | | | | | As a result, many of the existing VideoRendererBase subclasses have been simplified or even removed entirely. BUG=28208 Review URL: http://codereview.chromium.org/8999029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115583 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate AudioRendererAlgorithm classes into one classvrk@google.com2011-12-191-16/+1
| | | | | | | | | | | | | | There's no reason to have 2 derived classes of AudioRendererAlgorithmBase. This CL deletes the derived classes and pushes the behavior into the base class. It shouldn't change any existing logic; should be just pushing things around. BUG=106492 TEST=media_unittests Review URL: http://codereview.chromium.org/8879041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115006 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo introduced in r114819acolwell@chromium.org2011-12-161-1/+1
| | | | | | | | TBR=jennb@chromium.org Review URL: http://codereview.chromium.org/8970030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114828 0039d316-1c4b-4281-b951-d872f2087c98
* Removing DataSource from Filter hierarchy and refactoring FilterHost into ↵acolwell@chromium.org2011-12-161-0/+7
| | | | | | | | | | | | | | DemuxerHost & DataSourceHost. Over the last year, several refactorings have caused DataSource to have almost nothing in common with the Filter interface. This change removes it from the Filter class hierarchy and splits up the FilterHost interface so that DataSource, Demuxer, and Filter have their own host interfaces. Splitting FilterHost improves encapsulation and makes it easier to reason about which host methods are required by different parts of the code. BUG= TEST=media_unittests Review URL: http://codereview.chromium.org/8936014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114819 0039d316-1c4b-4281-b951-d872f2087c98
* Adds new full-duplex test which measures and logs the reported audio delays.henrika@chromium.org2011-12-141-0/+1
| | | | | | | | BUG=none TEST=media_unittests --gtest_filter=AudioLowLatencyInputOutputTest* Review URL: http://codereview.chromium.org/8840004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114423 0039d316-1c4b-4281-b951-d872f2087c98
* Exclude the GPU video decoder from the build for Android.peter@chromium.org2011-12-141-0/+2
| | | | | | | | | | | | The decoder relies on ffmpeg as a fall-back for video decoding when the GPU isn't able to process the video, while ffmpeg may not be available. BUG= TEST= Review URL: http://codereview.chromium.org/8933030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114421 0039d316-1c4b-4281-b951-d872f2087c98
* <video> decode in hardware! fischman@chromium.org2011-12-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | This uses the GpuVideoDecodeAccelerator machinery (already written to enable ppapi to take advantage of OpenMAX HW where available) to decode <video> data. This increases idle CPU from 20% to 45% on one particularly large (internal) test video (red0.mp4), on an ARM crosbook. HW decode is done on a best-effort basis; if the GPU code doesn't know how to deal with a codec/profile we still fall back to ffmpeg for decode. Because the vast majority of chrome installs will be on HW with no video decode support (yet) we only attempt HW video decode on platforms we know have a shot at it. This is a copy of http://codereview.chromium.org/8686010/ PS#13 to work around rietveld losing the "status" for some files in the patch. BUG=104579 TEST=manual testing w/ video test matrix, trybots. Review URL: http://codereview.chromium.org/8922010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114183 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for incremental cluster parsing.acolwell@chromium.org2011-12-131-0/+1
| | | | | | | | | | | BUG=104160 TEST=Covered by ChunkDemuxer unittests. Review URL: http://codereview.chromium.org/8775035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114163 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 114030 - Adding support for incremental cluster parsing.acolwell@chromium.org2011-12-121-1/+0
| | | | | | | | | | | | | BUG=104160 TEST=Covered by ChunkDemuxer unittests. Review URL: http://codereview.chromium.org/8775035 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/8921010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114033 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for incremental cluster parsing.acolwell@chromium.org2011-12-121-0/+1
| | | | | | | | | | BUG=104160 TEST=Covered by ChunkDemuxer unittests. Review URL: http://codereview.chromium.org/8775035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114030 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 113895 - <video> decode in hardware!fischman@chromium.org2011-12-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | This uses the GpuVideoDecodeAccelerator machinery (already written to enable ppapi to take advantage of OpenMAX HW where available) to decode <video> data. This increases idle CPU from 20% to 45% on one particularly large (internal) test video (red0.mp4), on an ARM crosbook. HW decode is done on a best-effort basis; if the GPU code doesn't know how to deal with a codec/profile we still fall back to ffmpeg for decode. Because the vast majority of chrome installs will be on HW with no video decode support (yet) we only attempt HW video decode on platforms we know have a shot at it. BUG=104579 TEST=manual testing w/ video test matrix, trybots. Review URL: http://codereview.chromium.org/8686010 TBR=fischman@chromium.org Review URL: http://codereview.chromium.org/8897022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113908 0039d316-1c4b-4281-b951-d872f2087c98
* <video> decode in hardware!fischman@chromium.org2011-12-101-0/+2
| | | | | | | | | | | | | | | | | | | This uses the GpuVideoDecodeAccelerator machinery (already written to enable ppapi to take advantage of OpenMAX HW where available) to decode <video> data. This increases idle CPU from 20% to 45% on one particularly large (internal) test video (red0.mp4), on an ARM crosbook. HW decode is done on a best-effort basis; if the GPU code doesn't know how to deal with a codec/profile we still fall back to ffmpeg for decode. Because the vast majority of chrome installs will be on HW with no video decode support (yet) we only attempt HW video decode on platforms we know have a shot at it. BUG=104579 TEST=manual testing w/ video test matrix, trybots. Review URL: http://codereview.chromium.org/8686010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113895 0039d316-1c4b-4281-b951-d872f2087c98
* Collapse FFmpegVideoDecodeEngine into FFmpegVideoDecoder and remove ↵scherkus@chromium.org2011-12-071-5/+0
| | | | | | | | VideoDecodeEngine. Review URL: http://codereview.chromium.org/8772069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113358 0039d316-1c4b-4281-b951-d872f2087c98
* Upstream: Media implementation for Android.michaelbai@chromium.org2011-12-021-8/+31
| | | | | | | | | | | | | | | | | - This CL makes media_unittests linked. - The audio_track_output_stub_android.cc is in place of audio_track_output_android.cc because the Java environment is not avaliable yet. - Also changed to dependence on '../third_party/ffmpeg/ffmpeg.gyp' only if os is not Android in media.gyp. BUG= TEST= Review URL: http://codereview.chromium.org/8718014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112739 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for capture device enumeration on Windows.henrika@chromium.org2011-11-241-0/+2
| | | | | | | | | | | | | | | | Example output (two devices found on Windows 7 machine): device_name: Microphone (6- SB Arena Headset) unique_id: {0.0.1.00000000}.{24515814-26fd-4382-b4bc-0a8d847ed853} device_name: Microphone (Realtek High Definition Audio) unique_id: {0.0.1.00000000}.{8db6020f-18e3-4f25-b6f5-7726c9122574} BUG=None TEST=audio_input_device_unittest.cc Review URL: http://codereview.chromium.org/8606006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111500 0039d316-1c4b-4281-b951-d872f2087c98
* Fire canplaythrough event at the proper time for audio/videovrk@google.com2011-11-181-0/+3
| | | | | | | | | | | | | In this CL, the browser fires the canplaythrough event based on an approximation of the download speed of the media instead of firing the event right away. BUG=73609 TEST=NONE Review URL: http://codereview.chromium.org/8399023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110733 0039d316-1c4b-4281-b951-d872f2087c98
* Make pulseaudio available for all posix platforms and add support on OpenBSD.scherkus@chromium.org2011-11-181-25/+25
| | | | | | | | | This time without breaking the windows build! Patch by robert.nagy@gmail.com: http://codereview.chromium.org/8499029/ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110629 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 110584 - Make pulseaudio available for all posix platforms and add ↵scherkus@chromium.org2011-11-171-23/+25
| | | | | | | | | | | | support on OpenBSD. Patch by robert.nagy@gmail.com: http://codereview.chromium.org/8499029/ TBR=scherkus@chromium.org Review URL: http://codereview.chromium.org/8590045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110590 0039d316-1c4b-4281-b951-d872f2087c98
* Make pulseaudio available for all posix platforms and add support on OpenBSD.scherkus@chromium.org2011-11-171-25/+23
| | | | | | | Patch by robert.nagy@gmail.com: http://codereview.chromium.org/8499029/ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110584 0039d316-1c4b-4281-b951-d872f2087c98
* Low-latency AudioOutputStream implementation based on WASAPI for Windows.henrika@chromium.org2011-11-161-4/+7
| | | | | | | | BUG=none TEST=audio_low_latency_output_win_unittest.cc Review URL: http://codereview.chromium.org/8440002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110282 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify VideoDecodeEngine interface by making everything synchronous.scherkus@chromium.org2011-11-041-2/+0
| | | | | | | | | | | | | | | Although I plan to remove VideoDecodeEngine entirely it requires detangling some of the code first. Other noteworthy changes: - It's no longer valid to call VideoFrameReady(NULL), instead FFmpegVideoDecoder will raise an error the moment it finds one - Buffer recycling has been vanquished (for now), with video frames always allocated in the decoder - Produce/ConsumeVideoFrame() has been replaced by Read() - Video decode byte statistics are only updated if more than 0 bytes were decoded - FFmpegVideoDecodeEngine no longer attempts to preroll Review URL: http://codereview.chromium.org/8417019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108612 0039d316-1c4b-4281-b951-d872f2087c98
* Reland the CL 8162015.xians@chromium.org2011-10-291-0/+1
| | | | | | | | | | | | | CL 8162015 failed the trybot and was reverted. But I could not reproduce the issue in my local machine, so I just make a new CL and test it on trybot again. BUG= TEST= Review URL: http://codereview.chromium.org/8361031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107842 0039d316-1c4b-4281-b951-d872f2087c98
* Remove media::VideoDecodeContext as it has no implementation and is unused.scherkus@chromium.org2011-10-281-2/+0
| | | | | | Review URL: http://codereview.chromium.org/8417016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107796 0039d316-1c4b-4281-b951-d872f2087c98
* exclude the linux files that are not needed on openbsdrobert.nagy@gmail.com2011-10-251-3/+3
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/8394002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107185 0039d316-1c4b-4281-b951-d872f2087c98
* Low-latency AudioInputStream implementation based on WASAPI for Windows.henrika@chromium.org2011-10-241-0/+5
| | | | | | | | | Requires Windows Vista or higher. BUG=none TEST=Attached unit test (requires undefined CHROME_HEADLESS) Review URL: http://codereview.chromium.org/8283032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106899 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD patches for media, split from CR #8275005robert.nagy@gmail.com2011-10-201-1/+7
| | | | | | | | | | | | | Sync the dummy OpenBSD audio manager and exclude -mssse3 from cflags on OpenBSD since it's not supported in the used gcc version. BUG= TEST= Review URL: http://codereview.chromium.org/8329024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106590 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 106513 - The first step to add device selection to linux.garykac@chromium.org2011-10-201-1/+0
| | | | | | | | | | | | | | This patch will loop through the soundcard and return a list of available devices when the AudioInputDeviceManager does the device enumeration. Previously, only default device will be returned. Reverted because this CL caused the Linux/Windows (shared) builds to fail. Review URL: http://codereview.chromium.org/8162015 TBR=xians@chromium.org Review URL: http://codereview.chromium.org/8362004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106517 0039d316-1c4b-4281-b951-d872f2087c98
* The first step to add device selection to linux.xians@chromium.org2011-10-201-0/+1
| | | | | | | | | This patch will loop through the soundcard and return a list of available devices when the AudioInputDeviceManager does the device enumeration. Previously, only default device will be returned. Review URL: http://codereview.chromium.org/8162015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106513 0039d316-1c4b-4281-b951-d872f2087c98
* Adding VideoCaptureDevice for Mac.mflodman@chromium.org2011-10-181-1/+7
| | | | | | | | | | | Adding dependency on QTKit and CoreVideo. BUG= TEST= Review URL: http://codereview.chromium.org/8177008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106036 0039d316-1c4b-4281-b951-d872f2087c98
* Rename media::AudioRendererImpl to media::ReferenceAudioRendererImpl.fischman@chromium.org2011-10-071-2/+2
| | | | | | | | | | | | This removes the name-collision with ::AudioRendererImpl, which lives in content/renderer/media, and is actually the implementation used in chrome. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/8201018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104587 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of AudioInputStream for Mac OS X using the special AUHAL ↵henrika@chromium.org2011-10-051-0/+3
| | | | | | | | | input Audio Unit present in OS 10.4 and later. The AUHAL input Audio Unit is for low-latency audio I/O. Review URL: http://codereview.chromium.org/7981022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104077 0039d316-1c4b-4281-b951-d872f2087c98
* Remove no-longer-necessary conditional mention of an already-included source ↵fischman@chromium.org2011-10-011-5/+0
| | | | | | | | | | | | file. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/7966030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103599 0039d316-1c4b-4281-b951-d872f2087c98
* Improve ChunkDemuxer so AppendData() calls no longer have to be done on ↵acolwell@chromium.org2011-09-301-0/+2
| | | | | | | | | | | | element boundries. BUG=86536 TEST=ChunkDemuxerTest::TestAppendingInPieces Review URL: http://codereview.chromium.org/7981024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103543 0039d316-1c4b-4281-b951-d872f2087c98
* Follow-up cleanup promised during r103376's CR.fischman@chromium.org2011-09-301-2/+0
| | | | | | | | | | | | | | | | | | | | | | | - mock_task.{h,cc} is gone. - MockCallback is now MockClosure, and its commentary brought up to date (the commentary checked in was a mix of old and attempt-at-new that never materialized) - NewExpectedCallback is NewExpectedClosure. A bit of background on FooCallback vs. FooCB: when acolwell@ & I did the first conversions to the new world, everything was named FooCallback. I proposed using FooCB for the migrated ones as a way to both easily visually differentiate as well as save characters (!). Now that we have an additional "don't typedef Closures" guideline I like having FooCB for non-closure new-style callbacks, and FooClosure for new-style closures. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/8085017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103464 0039d316-1c4b-4281-b951-d872f2087c98
* Removing mfplayer and mfdecoder tools.scherkus@chromium.org2011-09-301-44/+0
| | | | | | | | They've been unused for a year and are trivial to revert should we need them again. Review URL: http://codereview.chromium.org/8083011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103430 0039d316-1c4b-4281-b951-d872f2087c98
* Convert all of media/ over to the new base::{Bind,Callback} hotness.fischman@chromium.org2011-09-291-24/+25
| | | | | | | | | | | | | | | | | | | Mostly this was a rote conversion, replacing: - Pass-by-pointer CallbackN<>'s become pass-by-const-ref Callback<>'s. - scoped_ptr<CallbackN<>> members become Callback<> members. - several dedicated FooCallback typedefs became base::Closure. Because it was only used in a small handful of places and only in one place profitably, I deleted AutoCallbackRunner. Because it tickles a Bind bug I disabled mfdecoder in .gyp (about to get deleted in a scherkus CL). BUG=none TEST=media_tests, trybots Review URL: http://codereview.chromium.org/8071007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103376 0039d316-1c4b-4281-b951-d872f2087c98
* Remove AdaptiveDemuxer since it's been replaced with ChunkingDemuxer.fischman@chromium.org2011-09-291-6/+0
| | | | | | | | | | BUG=none TEST=trybots Review URL: http://codereview.chromium.org/8065023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103279 0039d316-1c4b-4281-b951-d872f2087c98
* Exclude ffmpeg from the build when building for Android.peter@chromium.org2011-09-231-65/+126
| | | | | | | | | | | | | | | | Conditionalize the ffmpeg dependency and exclude files which rely on it for the media and media_unittest targets. Disable the ffmpeg_unittests, ffmpeg_tests and media_bench for Android targets as they require it. This change also conditionalizes the inclusion of yasm_compile.gyp, as yasm is only used for the ia32 and x86 target architectures. BUG= TEST= Review URL: http://codereview.chromium.org/7977023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102474 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce AudioDecoderConfig to migrate away from GetAVStream().scherkus@chromium.org2011-09-211-0/+2
| | | | | | | | | Instead add DemuxerStream::audio_decoder_config() to break FFmpegAudioDecoder's dependency on the AVCodecContext object maintained by FFmpegDemuxer. Review URL: http://codereview.chromium.org/7867051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102183 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r101418: Fix aspect ratio and clarify video frame dimensionsvrk@google.com2011-09-191-0/+2
| | | | | | | | | | | | Fixes shared build errors for windows and linux. BUG=18941,94861 TEST=shared builds compile TBR=acolwell Review URL: http://codereview.chromium.org/7932005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101808 0039d316-1c4b-4281-b951-d872f2087c98
* Rewriting FFmpegAudioDecoder and eliminating DecoderBase.scherkus@chromium.org2011-09-171-2/+0
| | | | | | | | | BUG=93379 TEST=media_unittests, layout tests Review URL: http://codereview.chromium.org/6901135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101607 0039d316-1c4b-4281-b951-d872f2087c98
* Replace AudioDecoderConfig with simple accessors on AudioDecoder.scherkus@chromium.org2011-09-161-1/+0
| | | | | | | | AudioDecoderConfig was being used as a struct for outputting format information to an AudioRenderer. This was confusing and in contrast to VideoDecoderConfig, which is is actually used as input to configure a video decoder! Review URL: http://codereview.chromium.org/7796033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101563 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize YUV scalers (Continued)hclam@chromium.org2011-09-161-8/+10
| | | | | | | | | | | | | | | | | | | | After rewriting assembly code in YASM we can finally move all these different versions of files in the same folder, i.e. media/base/simd. After this change the main entry point will be: yuv_convert.cc and yuv_convert.h It then calls into the internal functions under media/base/simd. After this change I'll move all the color conversion files to media/csc. BUG=None TEST=Tree is gree Review URL: http://codereview.chromium.org/7888012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101507 0039d316-1c4b-4281-b951-d872f2087c98
* Write tests for FFmpegAudioDecoder so I can rewrite the class sans regressions.scherkus@chromium.org2011-09-161-0/+1
| | | | | | | | | TEST=media_unittests BUG=96773 Review URL: http://codereview.chromium.org/7891050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101429 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit - Rewrite color space conversions suite using YASM"hclam@chromium.org2011-09-141-6/+49
| | | | | | | | | | | | I'll watch the official buildbot this time. TBR=ajwong, dhollowa BUG=None TEST=None Review URL: http://codereview.chromium.org/7891039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101067 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100915 - Rewrite color space conversions suite using YASMdhollowa@chromium.org2011-09-141-49/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Failed on official Linux 32 builder. (x486?) http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux/builds/11240/steps/compile/logs/stdio In file included from media/base/yuv_convert.cc:33: /usr/lib/gcc/i486-linux-gnu/4.4.3/include/emmintrin.h:32:3:error: #error "SSE2 instruction set not enabled" make: *** [out/Release/obj.target/yuv_convert/media/base/yuv_convert.o] Error 1 Besides rewrite assembly code in YASM, this change also do runtime selection of routine depending processor support. There are couple advantages in this YASM version. 1. Performance improvement Using YASM we can push less to the stack, this results in ~5% improvement on 32-bits system. 2. MMX and SSE versions are separate SSE version use movntq while MMX version use movq. 3. 64-bits version works universally This means that 64-bits YASM code compile and run on 64-bits windows, mac and linux. While previously it only runs on linux 64. 4. Handling PIC much better PIC code runs and build on 32-bits and 64-bits system. This is better than before which only works on 32-bits mac. 5. Easier maintenance This code uses x86asm.inc for a bunch of nice macros. Having just one YASM verion is better than having inline VC assembly and don't have to worry inline assemly has different register names on mac and linux. I tested on linux 32-bits, linux 32-bits PIC and linux 64-bits that this code is at least as fast as before. BUG=None TEST=media_unittests runs and all passing Review URL: http://codereview.chromium.org/7858003 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/7887025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101008 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Demuxer from the Filter class hierarchy.acolwell@chromium.org2011-09-131-0/+4
| | | | | | | | | BUG=92254 TEST=Covered by existing tests. Review URL: http://codereview.chromium.org/7839035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100959 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite color space conversions suite using YASMhclam@chromium.org2011-09-131-6/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides rewrite assembly code in YASM, this change also do runtime selection of routine depending processor support. There are couple advantages in this YASM version. 1. Performance improvement Using YASM we can push less to the stack, this results in ~5% improvement on 32-bits system. 2. MMX and SSE versions are separate SSE version use movntq while MMX version use movq. 3. 64-bits version works universally This means that 64-bits YASM code compile and run on 64-bits windows, mac and linux. While previously it only runs on linux 64. 4. Handling PIC much better PIC code runs and build on 32-bits and 64-bits system. This is better than before which only works on 32-bits mac. 5. Easier maintenance This code uses x86asm.inc for a bunch of nice macros. Having just one YASM verion is better than having inline VC assembly and don't have to worry inline assemly has different register names on mac and linux. I tested on linux 32-bits, linux 32-bits PIC and linux 64-bits that this code is at least as fast as before. BUG=None TEST=media_unittests runs and all passing Review URL: http://codereview.chromium.org/7858003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100915 0039d316-1c4b-4281-b951-d872f2087c98