va: release VADisplayContext at the end of vaTerminate()

Otherwise it will result in invalid reading in va_TraceEnd()

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9)
Tested-by: Daniel Charles <daniel.charles@intel.com> on ChromiumOS
Added support for VP8 encoding.

(cherry picked from commit d46a07340a641770487e7624bebc49f3258ea2ec)

Conflicts:
	va/Android.mk
Removed fields in VP8 structures that duplicate VAEncMiscParameter structures. Added reference frames to support non auto reference frame implementation. Changed VAQMatrixBufferVP8 to use quantization index deltas.

(cherry picked from commit fbd3de9b22491689c6c3e5f1c305d7af76444e45)
va_enc_vp8: update the vp8 interface again

previous update missed some changes

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 34035a18a7e963da536e15e9dea32f77cde8577f)
Add frame_type to VP8 encoder

From penne.y.lee at intel.com

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit c61d986851140a6d1e3f9a6d788bcb7a9407dffc)
Add vaSurfaceAttribUsageHint to give the driver a hint of intended usage to optimize allocation (e.g. tiling).

(cherry picked from commit 6cdc2e54d40afeb1550b920a6a6221bafeec95ec)
h264encode: Make it runnable with the latest libva-intel-driver (1.3.2)

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
h264encode: check driver supports the RateControl control mode or not

https://bugs.freedesktop.org/show_bug.cgi?id=76720

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
avcenc: only support chroma_format_idc with 1

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Added OTC hybrid UMD driver to the list of supported drivers

This will be used for hybrid codecs like VP8 h-encode. No change
to existing KMD interface.

Signed-off-by: Sameer Kibey <sameer.kibey@intel.com>
(cherry picked from commit 98669760e62f50ca3e38e99835692aee5f89a4bf)
Added VAConfigEncQualityRange attribute and VAEncMiscParameterBufferQualityLevel to support encoder quality settings.

(cherry picked from commit 24a14f9d13e6fe0c25d4094c4884aa4076ed05bc)

Conflicts:
	va/va.h
Update comment for quality_level

Allow user set VAEncMiscParameterBufferQualityLevel::quality_level
to 0 to use default quality level

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit b05e38f64c5aa2d6edfc2bd1d6e1f4339a54095a)

Conflicts:
	va/va.h
API: add support for buffer exports.

Add interfaces for low-level buffer exports to suport interop with
external APIs like EGL or OpenCL (OCL). Theory of operations:

- vaAcquireBufferHandle(): locks buffer for external API usage. This
  is a synchronization point. Upon successful return, useful buffer
  details are returned in a somewhat implementation-specific way to
  support interop with external APIs.

- vaReleaseBufferHandle(): unlocks buffer after usage from external
  API, and deallocates any resources that were needed.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
(cherry picked from commit 544d31d2fc096a838c21f4684cec05746cfdd7b6)

Conflicts:
	va/va.h
Enable 64bit build for Android, compatible with 32bit.

Refined the Android.mk to compatible with both 32 and 64 bit android
build.

Signed-off-by: Tinghong Li <tinghong.li@intel.com>
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
(cherry picked from commit 03de01dce6f2b88b9c5ee54705aeebe17c6c5919)
vatrace: make standalone LIBVA_TRACE_CODEDBUF work w/o LIBVA_TRACE

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 22925d9b7d1730468fc7435bee96d9d9c39f5987)
vatrace: make LIBVA_TRACE_SURFACE work even without LIBVA_TRACE

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit e39ebdd95062995e4bdf082d50bd7d9005a3be6c)
vafool: simplify VAFOOL

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit ce00603a8d58f2e25c7a6bb312f60fda0833e042)
vatrace: fix a overwrite

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 7f1b4be6623f5fe65063581252d2b68bd77fd076)
vafool: fix the vaMapBuffer for the buffer from vaDeriveImage

It is not desired to run into FOOL path for the vaMapBuffer
from vaDeriveImage

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 2896166fefa36772ea6946ebc5df85024928dd6c)
vatrace: fix segfault of VASurfaceAttribExternalBufferDescriptor dumpping

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit e286c3264ebf7582792ff56537dd14c9f49903cf)