Changes to OMX IL Core for VP8 support.

Add support to VP8 on omxil-core

Change-Id: I97aa5f2f586a05169b851c53d550183ffca33d0e
Signed-off-by: Sameer Kibey <sameer.kibey@intel.com>
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
Changes to OMX Core to support non-Sandboxing case

Added code to load components during OMX_Init() for
non-Chromium case, where libraries are not required
to be preloaded (Chrominum requires preloading due to
Sandboxing).

Also fixed an issue with component unload. The component
Unload was being done when freeing instance handle. However
it should be done during OMX_Deinit() otherwise during
multistream playback FreeHandle for one instance will kill
other active instances.

The two changes are required together since they are for
non-preloading case playback. Hence putting in one patch.

Change-Id: I8a432d63a03a2756a6c54448d498062f7551ee5f
Signed-off-by: Sameer Kibey <sameer.kibey@intel.com>
Fix hang when port disable called for empty port.

In gst-omx playback, when transitioning component to idle state
the output port is disabled. The call to disable output port
hangs in WaitPortBufferCompletion() in the OMX IL Core. This
is due to a bug where WaitPortBufferCompletion() waits for
buffer free operation to complete on an empty port. Since port
is empty buffer free will never be called. Added check on buffer
count before doing the wait to avoid the hang.

Change-Id: Id572250e4a57c23de28a4bf02fc7f88f3b94a484
Signed-off-by: Sameer Kibey <sameer.kibey@intel.com>
omxil-core: update libomxil_base.pc

the internal header file is included without prefix of "omx/"
so the include path of CFlags should have postfix of "/omx"

issue isn't exposed before, maybe the reason is:
other component uses both omx core and util, while util's pc file has the postfix of "/omx"

gst-omx expose the issue when it uses omx core only
khronos header: sync/rebase header files to 1.1.2 revision

add OMX VERSION macro in OMX_Types.h (gst-omx check the version number)
add ext headers: OMX_CoreExt.h, OMX_ImageExt.h, OMX_ComponentExt.h
    (we haven't used them yet)
componentbase: update spec reversion

claim that we are compatible to version <=1.1.2
gst-omx requires khronos header file reversion 1.1.2
chromium requires khronos header file reversion 1.1.0

Change-Id: I8df13107c3d2ab900ecf5b5a7af46663188a7bb1
Signed-off-by: Guangxin Xu <guangxin.xu@intel.com>
Signed-off-by: Halley Zhao<halley.zhao@intel.com>
configure: add option --enable-native-buffer default is on

only if __NATIVE_BUFFER_DEFAULT__ is set to 1, ProcessorEnableNativeBuffers
is called when the port is disabled.

gst-omx do not know the details of VideoRenderBuffer

Signed-off-by: Xu Guangxin <guangxin.xu@intel.com>
Signed-off-by: Zhao Halley <halley.zhao@intel.com>
configure: add config option --use-libyami

preload libyami libs when --enable-libyami is used

Change-Id: I87e1cfe4158d5a268cf8d14e2cb4d891da6547df
componentbase: cease port after port setting changed

this change follows openamx il specification 1.2 chapter 3.1.1.4.4
we need cease decoder when we report a "port settings changed"
this give il client a chance to reallocate buffers and reconfigure component.
image a case: we report  a port setting changed, il client start to
reconfigure the component,then we find and report a decode error.
It will force il client handle error in the middle of reconfigureation.
For gst-omx, it just crashed in this case.
add mjpeg support in omx_components list

since omx_components is ended with NULL, NUM_COMPONENTS is not necessary.

Signed-off-by: Daniel Charles <daniel.charles@intel.com>
libyami: enable-libyami default to yes

libyami is set as the default parser/codec library to use with omx

Signed-off-by: Daniel Charles <daniel.charles@intel.com>
omx_enc: add h264 encoder and ref_count

1.add encodeh264
2.when module->ref_count is 0, print error and return, or it will call module_close many times.
Merge branch 'staging-rebase'