summaryrefslogtreecommitdiffstats
path: root/media/omx
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/trunk' into resubmithclam@chromium.org2010-09-031-2/+2
| | | | | | | | | | | | | | Refactor video decode engines to move them to a new folder Moving video decode engines and friends to media/video. TEST=Tree is green. Video plays. Review URL: http://codereview.chromium.org/3127027 Review URL: http://codereview.chromium.org/3291009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58446 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58429, 58428, 58427, 58423.akalin@chromium.org2010-09-031-2/+2
| | | | | | | | TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3337009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58434 0039d316-1c4b-4281-b951-d872f2087c98
* Build fix. Fix include to point to new locations.hclam@chromium.org2010-09-021-2/+2
| | | | | | | | | | | TBR=akalin@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/3300009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58427 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land part of r55416, minus actually moving the test_suite.h contents to a ↵brettw@chromium.org2010-08-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | .cc file. Cleanup in base. This moves the implementation (and a bunch of header file dependencies) from the multiprocess test and the test_suite headers to .cc files. Moves multiprocess_test to the test directory, and all of this stuff to the existing base_test_support project. I also used the base namespace. Previously other projects included this functionality just by #include because it was all inline, so I had to add dependencies on base_test_support in a few places. Moves and renames the command line switch this was using to base_switches. Move the base switch for process type to chrome switches. TEST=none BUG=none Review URL: http://codereview.chromium.org/3026055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56399 0039d316-1c4b-4281-b951-d872f2087c98
* media: change engine interface to be suitable for gpu_video_decoderjiesun@google.com2010-08-131-0/+2
| | | | | | | | | 1. we want the engine interface to be agnostic to ffmpeg. 2. we want use engine interface in both in-process and out-of-process cases. Review URL: http://codereview.chromium.org/3173013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56060 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55400 - Cleanup in base. This moves the implementation (and a bunch ↵nsylvain@chromium.org2010-08-091-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | of header file dependencies) from the multiprocess test and the test_suite headers to .cc files. Moves multiprocess_test to the test directory, and all of this stuff to the existing base_test_support project. I also used the base namespace. Previously other projects included this functionality just by #include because it was all inline, so I had to add dependencies on base_test_support in a few places. Moves and renames the command line switch this was using to base_switches. Move the base switch for process type to chrome switches. TEST=none BUG=none Review URL: http://codereview.chromium.org/3026055 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/3035062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55416 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup in base. This moves the implementation (and a bunch of header filebrettw@chromium.org2010-08-091-1/+3
| | | | | | | | | | | | | | | | | | | dependencies) from the multiprocess test and the test_suite headers to .cc files. Moves multiprocess_test to the test directory, and all of this stuff to the existing base_test_support project. I also used the base namespace. Previously other projects included this functionality just by #include because it was all inline, so I had to add dependencies on base_test_support in a few places. Moves and renames the command line switch this was using to base_switches. Move the base switch for process type to chrome switches. TEST=none BUG=none Review URL: http://codereview.chromium.org/3026055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55400 0039d316-1c4b-4281-b951-d872f2087c98
* media: OMX seek works for OMX_HEADBUFFERTYPE now.jiesun@google.com2010-06-291-6/+5
| | | | | | | | | | | | | | | | 1. Promote Stop() to engine interafce and make it Asynchronous. 2. Add Pause() and Flush() in engine interface. 3. Notify buffer return in ffmpeg engine so that future recycling could use it. 4. Add Pause logic in OMX decode engine. to fully support seek in hardware path, some pipeline work and video render work is required. that will be in the next patch (maybe jia will write it). 1. some renderer hack is required for now. but current pause model of videoRenderBase is not suitable for hardware case. we need to resolve that. 2. Seek after EOS is not supported. 3. Seek for EGL image path is not yet tested, some code is required to return EGLImage buffer to allocator's side. Review URL: http://codereview.chromium.org/2808022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51153 0039d316-1c4b-4281-b951-d872f2087c98
* 1. make omx engine the driving force to read bit streamwjia@google.com2010-06-101-15/+14
| | | | | | | | | | | | 2. update omx_codec_unittest and omx_test correspondingly 3. fix copy&paste error in shader code BUG=none TEST=dev platform Review URL: http://codereview.chromium.org/2752002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49428 0039d316-1c4b-4281-b951-d872f2087c98
* add support of OpenMAX EGL image decodingwjia@google.com2010-06-071-5/+5
| | | | | | | | | | | | add support of GLES2 EGL image rendering OpenMAX system memory decoding almost works expect flow control in video renderer base BUG=none TEST=dev platform Review URL: http://codereview.chromium.org/2456006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49089 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
* Remove omx_codec since OMX client implementation is in ↵wjia@google.com2010-05-283-1603/+0
| | | | | | | | | | | | | 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
* 1. decoder interface now looks a little strange, until we refactoring.jiesun@google.com2010-05-213-103/+36
| | | | | | | | 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
* 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
* Remove OmxSink interface because Buffer Allocation will go through Allocator ↵jiesun@google.com2010-04-274-305/+42
| | | | | | | | | | 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
* OmxInputBuffer removed as it is not used anywhere.sergeyu@chromium.org2010-04-223-159/+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
* Remove 2 memcpy() in the OpenMAX code pathhclam@chromium.org2010-04-155-43/+102
| | | | | | | | | | | | 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
* Revert "Remove 2 memcpy() for omx video decode input"hclam@chromium.org2010-04-145-102/+43
| | | | | | | | | | 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-145-43/+102
| | | | | | | | | | | | 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
* omx_unittests to load OpenMAX library dynamicallyhclam@chromium.org2010-03-051-1/+7
| | | | | | | | Now OpenMAX library has to be loaded dynamically. Review URL: http://codereview.chromium.org/667010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40693 0039d316-1c4b-4281-b951-d872f2087c98
* Pulled out Callback code into base/callback.h. This is the first step ↵akalin@chromium.org2010-02-194-11/+13
| | | | | | | | | | | | | towards redoing the Callback interfaces. Added and removed includes as needed. BUG=35223 TEST=trybots Review URL: http://codereview.chromium.org/646061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
* API to allow strategy class to work on the output buffer of OpenMAXhclam@chromium.org2010-02-176-95/+1160
| | | | | | | | | | | | | | Added interface of OmxOutputSink to interact with OmxCodec to perform buffer negotiation and buffer read signaling. TEST=media_unittests --gtest_filter=Omx* BUG=32753 BUG=32754 BUG=32870 Review URL: http://codereview.chromium.org/593047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39247 0039d316-1c4b-4281-b951-d872f2087c98
* Unit test for OmxInputBufferhclam@chromium.org2010-02-091-0/+67
| | | | | | | | | TEST=media_unittest --gtest_filter=OmxInputBuffer.* BUG=32753 Review URL: http://codereview.chromium.org/580012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38502 0039d316-1c4b-4281-b951-d872f2087c98
* Fix usage of OmxInputBuffer in OpenMAX code since it's refcounted.hclam@chromium.org2010-02-092-12/+15
| | | | | | | | | | In last refactoring of OpenMAX code, OmxInputBuffer was changed to refcounted but it wasn't probably used. This is now fixed. Unittest is coming in another patch. Review URL: http://codereview.chromium.org/596018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38498 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor media::InputBuffer to consolidate it with media::Bufferhclam@chromium.org2010-02-054-37/+38
| | | | | | | | | | | | Rename media::InputBuffer to media::OmxInputBuffer and inherit from media::Buffer. Also provide the timestamp to media::OmxCodec. TEST=omx_test BUG=32753 Review URL: http://codereview.chromium.org/577012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38247 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring of media::OmxCodec to split configuration of IO portshclam@chromium.org2010-02-044-315/+381
| | | | | | | | | | | | | Split encoder/decoder configuration of media::OmxCodec into strategy classes. This will help OmxCodec free from any codec specific bits. Also included the refactoring of omx_test to split the file output part to a separate class. Review URL: http://codereview.chromium.org/566036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38121 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor some code that depends on FFmpeghclam@chromium.org2010-01-261-528/+0
| | | | | | | | | | | | | Some FFmpeg header and source files are misplaced: media/filters/ffmpeg_common.{cc, h} -> media/ffmpeg media/tools/media_bench/file_protocol.{cc, h} -> media/ffmpeg And the necessary refactoring for the new location is done. Review URL: http://codereview.chromium.org/555087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37080 0039d316-1c4b-4281-b951-d872f2087c98
* Use OpenMAX for video decoding in the media pipelinehclam@chromium.org2010-01-231-0/+2
| | | | | | | | | | | | | This patch is to fix some issues when using OpenMAX video decoder in the media pipeline. It will enable player_x11 to decode using OpenMAX. This still requires some more work to enable Chrome to use OpenMAX for decoding. Review URL: http://codereview.chromium.org/549124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36936 0039d316-1c4b-4281-b951-d872f2087c98
* More unit tests for OpenMAXhclam@chromium.org2010-01-221-22/+95
| | | | | | | | | | | | | | | Added the following test cases: - Transition to executing state and back - Free component handle during executing state to expose leakage. - Request component handle using callbacks struct on stack and clear. This exposes bugs in library that doesn't copy the struct. TEST=omx_unittests BUG=NONE Review URL: http://codereview.chromium.org/548095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36912 0039d316-1c4b-4281-b951-d872f2087c98
* Unit tests for testing OpenMAX supporthclam@chromium.org2010-01-221-24/+331
| | | | | | | | | | | | | Added the following test cases: 1. GetComponentsByRole() now works with valid roles 2. GetHandle() / FreeHandle() pair on video decoder component 3. General configuration of video decoder component TEST=omx_unittests Review URL: http://codereview.chromium.org/550051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36834 0039d316-1c4b-4281-b951-d872f2087c98
* Video and OpenMAX: add role name to replace vendor specific component name.hclam@chromium.org2010-01-213-35/+103
| | | | | | | | | | | | | | | | | | | Add role name to replace vendor specific component name. Remove vendor specific Open MAX component name. use role name to find the appropriate component name in current OMX core library. We only pick the first component name returned and ignore all the other components with the same role. BUG=none TEST=none Reviewed: http://codereview.chromium.org/551084/show Submitted for: jiesun@chromium.org Review URL: http://codereview.chromium.org/546098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36716 0039d316-1c4b-4281-b951-d872f2087c98
* Separate input data into NALUs for testing OpenMAXhclam@chromium.org2010-01-201-30/+103
| | | | | | | | | | Feed OpenMAX H264 decoder into chunks of NALUs. That will solve some compability issues with decoders that require NALUs as boundary. Review URL: http://codereview.chromium.org/546018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36686 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build caused by omx_testhclam@chromium.org2010-01-151-0/+2
| | | | | | | | | | TBR=scherkus Initialize struct variables by memset()ing them. Review URL: http://codereview.chromium.org/552017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36401 0039d316-1c4b-4281-b951-d872f2087c98
* enable simple encoding in omx_codechclam@chromium.org2010-01-153-261/+570
| | | | | | | | | | | | | | | | | | | 1. add Format callback to notify media format change. 2. add timestamp to encoder input sample. 3. add loop count to input streams. 4. add enable-csc in encoder path. 5. measure initial delay 6. move color space conversion inside TestApp.(according to Alpha). 7. copy component name in OmxCodec ( Andrew ). BUG=31804 Submitted for: jiesun@chromium.org Reviewed: http://codereview.chromium.org/519084/show Review URL: http://codereview.chromium.org/552016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36400 0039d316-1c4b-4281-b951-d872f2087c98
* Simple unit tests for OpenMAX video decoderhclam@chromium.org2010-01-131-3/+36
| | | | | | | | | | Added two simple test cases for OpenMAX video decoder. One does init and deinit of OpenMAX. The other one enumerate available components of video_decoder role. Review URL: http://codereview.chromium.org/524044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36170 0039d316-1c4b-4281-b951-d872f2087c98
* omx_test refactor to add encoder support. (only start)hclam@chromium.org2010-01-123-83/+310
| | | | | | | | | | | | | 1. add --dumpraw options 2. add --dumpyuv options to convert NV21 to IYUV 3. change StartUp() function to take input and output format. Reviewed: http://codereview.chromium.org/523044/show Submitted for: jiesun@chromium.org Review URL: http://codereview.chromium.org/542017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35976 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my last two commits that brokoe the buildhclam@chromium.org2010-01-063-306/+79
| | | | | | | | TBR=scherkus Review URL: http://codereview.chromium.org/524050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35642 0039d316-1c4b-4281-b951-d872f2087c98
* Fix linux buildhclam@chromium.org2010-01-061-3/+4
| | | | | | | | | | | Linux 64 bit build complains about printf. Comment out those problematic lines. TBR=ajwong Review URL: http://codereview.chromium.org/524049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35641 0039d316-1c4b-4281-b951-d872f2087c98
* omx_test refactor to add encoder support. (only start)hclam@chromium.org2010-01-063-79/+305
| | | | | | | | | | | | | | | 1. add --dumpraw options 2. add --dumpyuv options to convert NV21 to IYUV 3. change StartUp() function to take input and output format. Submitted=jiesun@google.com Reviewed=hclam@google.com Review=http://codereview.chromium.org/523044 BUG=NONE Review URL: http://codereview.chromium.org/525053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35639 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of OmxVideoDecodeEngine.ajwong@chromium.org2009-12-221-3/+5
| | | | | | | | | | | | | | | | | | Also moves FFmpegVideoDecodeEngine FFmpegVideoDecoder, OmxVideoDecoder, and VideoDecoderImpl into their own files. Refactors FFmpegDemuxerTest to be less of a characterization test, and to hopefully be less fragile. Creates a set of utilities for handling Callbacks versus Tasks, and resource management related to Callbacks. Re-enables the annexb filters for the chrome build of FFmpeg. Added a BitstreamConverter class that abstracts the bitstream filter code. Cleans up a few gyp mistakes with flag exporting. Review URL: http://codereview.chromium.org/492023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35171 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in the beginnings of omx_unittests.scherkus@chromium.org2009-12-092-0/+22
| | | | | | | | | | | | Also renamed omx_wrapper to the simpler (and more accurate!) omx. BUG=n/a TEST=n/a Review URL: http://codereview.chromium.org/467055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34124 0039d316-1c4b-4281-b951-d872f2087c98
* Rename OmxVideoDecoder, and break up the omx library files from the omx_test ↵ajwong@chromium.org2009-12-023-84/+93
| | | | | | | | target. Review URL: http://codereview.chromium.org/449070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33516 0039d316-1c4b-4281-b951-d872f2087c98
* Benchmark memcpy of the output of OpenMAX decoderhclam@chromium.org2009-12-021-4/+23
| | | | | | | | | Add --copy option to omx_test for benchmarking memcpy performance from the output of OpenMAX decoder. Review URL: http://codereview.chromium.org/450031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33513 0039d316-1c4b-4281-b951-d872f2087c98
* Use argv[0] to print out executable usage info for media tools.scherkus@chromium.org2009-11-251-1/+2
| | | | | | | | | | BUG=n/a TESt=n/a Review URL: http://codereview.chromium.org/434101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33148 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanup to some OpenMAX code.scherkus@chromium.org2009-11-254-14/+20
| | | | | | | | | | | | Renamed Eos() to IsEndOfStream() to be consistent with other buffer implementations. BUG=n/a TEST=n/a Review URL: http://codereview.chromium.org/440007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33019 0039d316-1c4b-4281-b951-d872f2087c98
* Implement method stubs for OpenMAX IL instead of relying on -lOmxCore.scherkus@chromium.org2009-11-253-35/+6
| | | | | | | | | | | | | | You can switch to using -lOmxCore by setting the gyp variable use_system_openmax=1. Also fixed type-punning warnings in omx_video_decoder.cc BUG=28663 TEST=building omx_test should have no linker errors Review URL: http://codereview.chromium.org/431041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33012 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Implement method stubs for OpenMAX IL instead of relying on -lOmxCore."scherkus@chromium.org2009-11-242-2/+31
| | | | | | | Review URL: http://codereview.chromium.org/431040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32993 0039d316-1c4b-4281-b951-d872f2087c98
* Implement method stubs for OpenMAX IL instead of relying on -lOmxCore.scherkus@chromium.org2009-11-242-31/+2
| | | | | | | | | | | | You can switch to using -lOmxCore by setting the gyp variable use_system_openmax=1. BUG=28663 TEST=building omx_test should have no linker errors Review URL: http://codereview.chromium.org/436021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32988 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for bellagio compatibility.ajwong@chromium.org2009-11-242-43/+46
| | | | | | Review URL: http://codereview.chromium.org/435011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32897 0039d316-1c4b-4281-b951-d872f2087c98
* Test program for OpenMAX video decodinghclam@chromium.org2009-11-134-8/+205
| | | | | | | | | | Including gyp file for openmax and the test application. The test application will link against libOmxCore.so which is provided by the target system. Review URL: http://codereview.chromium.org/391030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31957 0039d316-1c4b-4281-b951-d872f2087c98