Gwenole Beauchesne [Tue, 28 Jun 2011 01:30:21 +0000 (18:30 -0700)]
i965_drv_video: add support for VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD.
Gwenole Beauchesne [Tue, 28 Jun 2011 04:19:51 +0000 (21:19 -0700)]
i965_drv_video: fix subpicture scale factor for Y axis.
Gwenole Beauchesne [Tue, 28 Jun 2011 00:02:58 +0000 (17:02 -0700)]
i965_drv_video: simplify put_surface() and put_subpicture() args.
Xiang, Haihao [Fri, 24 Jun 2011 01:20:32 +0000 (09:20 +0800)]
va/test/putsurface_x11: avoid warning 'warning: ‘win’ is used uninitialized in this function'
This fixes broken putsurface on X11
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 24 Jun 2011 01:14:10 +0000 (09:14 +0800)]
va/test: return a value to silence compiler waring
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 24 Jun 2011 01:10:47 +0000 (09:10 +0800)]
va: fix warning about memset.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Austin Yuan [Mon, 20 Jun 2011 08:03:41 +0000 (01:03 -0700)]
test/putsurface: more cleanup, remove #ifdef ANDROID from putsurface_common.c
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Mon, 20 Jun 2011 03:15:23 +0000 (20:15 -0700)]
test/putsurface: add UV element into the auto-generated image
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Gwenole Beauchesne [Thu, 16 Jun 2011 13:03:46 +0000 (21:03 +0800)]
Fix vaTerminate() with non DRI-based drivers.
Austin Yuan [Thu, 16 Jun 2011 05:58:11 +0000 (13:58 +0800)]
va-android: same as X11, also always create a new VA display on android
Previously a VA display will be shared if a native display is shared by multiple threads,
it will casue some thread safety issue in a multi-threaded program.
Remove the global VADisplayContextP pDisplayContexts which is not thread safe
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Xiang, Haihao [Wed, 15 Jun 2011 01:11:26 +0000 (09:11 +0800)]
i965_drv_video: fix assertion failure
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Tue, 14 Jun 2011 01:49:44 +0000 (09:49 +0800)]
i965_drv_video: fix GPU hang issue when decoding field coded MPEG2 picture.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Edgar Hucek [Mon, 13 Jun 2011 05:46:06 +0000 (13:46 +0800)]
libva: fix memeory leaks in libva
Signed-off-by: Edgar Hucek <gimli@dark-green.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Edgar Hucek [Mon, 13 Jun 2011 05:43:37 +0000 (13:43 +0800)]
i965_drv_video: fix memory leaks in i965 driver
Signed-off-by: Edgar Hucek <gimli@dark-green.com>
Xiang, Haihao [Mon, 13 Jun 2011 04:46:16 +0000 (12:46 +0800)]
i965_drv_video: track the internal format of a surface
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Austin Yuan [Fri, 10 Jun 2011 06:00:11 +0000 (14:00 +0800)]
Revert the change in VA_DRI2SwapBuffers: _XReply -->_XSend
We should use _XReplay. _XSend will introduce more CPU usage
Signed-off-by: Edgar Hucek <gimli@dark-green.com>
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Fri, 10 Jun 2011 05:42:56 +0000 (13:42 +0800)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/libva
Xiang, Haihao [Fri, 10 Jun 2011 02:53:29 +0000 (10:53 +0800)]
test/encode/avcenc: don't include <pciaccess.h>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 10 Jun 2011 02:48:16 +0000 (10:48 +0800)]
i965_drv_video: encode on Ivybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 9 Jun 2011 08:22:03 +0000 (16:22 +0800)]
i965_drv_video: fix VME shaders
1. The response length for inter type on Ivybridge is 6.
2. fix register region
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 9 Jun 2011 05:13:24 +0000 (13:13 +0800)]
i965_drv_video: new shaders for VME on Ivybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Alexander Osin [Tue, 7 Jun 2011 18:37:11 +0000 (22:37 +0400)]
Corrected trace prints (updated, change format, etc), replaced \t by spaces in source code
Xiang, Haihao [Thu, 9 Jun 2011 01:56:16 +0000 (09:56 +0800)]
i965_drv_video: set surface base address in VME
It is easy to fill the binding table without relocation and make sure
all offsets in binding table only uses bits[15:0]
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 26 May 2011 02:33:47 +0000 (10:33 +0800)]
i965_drv_video: clean up
Don't emit PIPE_CONTROL directly, instead call intel_batchbuffer_emit_mi_flush.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Alexander Osin [Tue, 7 Jun 2011 18:35:33 +0000 (22:35 +0400)]
i965_drv_video: Added check of obj_surface->bo field inside i965_media_h264_surface_state()
Austin Yuan [Wed, 8 Jun 2011 01:48:19 +0000 (18:48 -0700)]
test/basic testing programs do not need to be installed
in /usr/bin; one can run make valgrind here as a check,
or run them under make check too.
From gimli at dark-green.com
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Zhou Chang [Wed, 1 Jun 2011 08:01:14 +0000 (16:01 +0800)]
i965_drv_video: improved MV quality for VME
Austin Yuan [Tue, 31 May 2011 02:10:12 +0000 (19:10 -0700)]
Bump to 1.0.13
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Tue, 31 May 2011 02:02:25 +0000 (19:02 -0700)]
libva: several changes
1) add free_drawable
2) clean the license of Android.mk
3) define VA_ROTATION_270 to 3 instead of 4
Signed-off-by: Zhaohan Ren <zhaohan.ren@intel.com>
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Xiang, Haihao [Wed, 25 May 2011 06:14:42 +0000 (14:14 +0800)]
i965_drv_video: clean up codes
Check and allocate surface BO in a same function
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Wed, 25 May 2011 04:55:46 +0000 (12:55 +0800)]
i965_drv_video: rendering for Ivybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Wed, 25 May 2011 01:32:50 +0000 (09:32 +0800)]
i965_drv_video: new shaders for rendering on Ivybridge
SEND on Ivybridge uses GRFs instead of MRFs
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Wed, 25 May 2011 01:27:07 +0000 (09:27 +0800)]
i965_drv_video: VC1 decoding on Ivybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Wed, 25 May 2011 01:24:08 +0000 (09:24 +0800)]
i965_drv_video: H.264 & MPEG2 decoding on Ivybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Tue, 17 May 2011 09:00:22 +0000 (17:00 +0800)]
i965_drv_video: Ivybridge PCI IDs
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Mon, 16 May 2011 01:49:01 +0000 (09:49 +0800)]
i965_drv_video: thread safety for object allocation
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 13 May 2011 07:45:22 +0000 (15:45 +0800)]
i965_drv_vidoe: thread safety for rendering
Xiang, Haihao [Mon, 16 May 2011 03:42:51 +0000 (11:42 +0800)]
va: always create a new VA display on X11
Previously a VA display will be shared if a native display is shared by
multiple threads, it will casue some thread safety issue in a multi-threaded
program.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Mon, 16 May 2011 00:48:01 +0000 (08:48 +0800)]
test/putsurface/putsurface: fix multi-thread issue on X11
On X11, a VA display is dependent on the display returned by XOpenDisplay,
vaPutSurface maybe accesses this display. So the same access mechanism is needed
for vaPutSurface and other Xlib funtion calls. Another way is to call XInitThreads
before XOpenDisplay.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 13 May 2011 07:43:51 +0000 (15:43 +0800)]
test/putsurface/putsurface: pass a valid DRAWABLE to vaPutSurface
Xiang, Haihao [Fri, 13 May 2011 05:17:58 +0000 (13:17 +0800)]
i965_drv_video: move batchbuffer to context
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 12 May 2011 08:00:30 +0000 (16:00 +0800)]
i965_drv_video: clean up batchbuffer interface
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Wed, 11 May 2011 03:20:29 +0000 (11:20 +0800)]
update .gitignore
Xiang, Haihao [Tue, 10 May 2011 05:06:22 +0000 (13:06 +0800)]
i965_drv_video: store post process parameters in context
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Tue, 10 May 2011 04:52:05 +0000 (12:52 +0800)]
i965_drv_video: store kernel info in the corresponding context
Xiang, Haihao [Tue, 10 May 2011 04:45:56 +0000 (12:45 +0800)]
i965_drv_video: use the same structure for all kernels
Xiang, Haihao [Tue, 10 May 2011 04:49:54 +0000 (12:49 +0800)]
i965_drv_video: create media_state per context
Also clean up some codes
Xiang, Haihao [Fri, 6 May 2011 01:29:56 +0000 (09:29 +0800)]
test/encode/avcenc: fix for VAEncSequenceParameterBufferH264
Alexander I Osin [Thu, 28 Apr 2011 15:52:55 +0000 (18:52 +0300)]
Implemented i965_LockSurface, i965_UnlockSurface, i965_BufferInfo
Alexander I Osin [Thu, 28 Apr 2011 15:53:55 +0000 (18:53 +0300)]
Added locked_image_id in struct object_surface
Xiang, Haihao [Fri, 6 May 2011 06:14:20 +0000 (14:14 +0800)]
va: fix build issue
va_trace.c:410: error: conflicting types for ‘va_TraceInitialize’
va_trace.h:33: note: previous declaration of ‘va_TraceInitialize’ was here
va_trace.c:420: error: conflicting types for ‘va_TraceTerminate’
va_trace.h:39: note: previous declaration of ‘va_TraceTerminate’ was here
Austin Yuan [Fri, 6 May 2011 04:52:44 +0000 (12:52 +0800)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/libva
Austin Yuan [Fri, 6 May 2011 03:04:50 +0000 (20:04 -0700)]
1) test/*: enable/refine the test/* for both X11 and Android
2) va_dri2.c: use _XSend instead of _XReply which is time-consuming
3) trace message for vaPutSurface/vaInitialize/vaTerminate
Signed-off-by: Guoliang Ji <guoliangx.ji@intel.com>
Signed-off-by: Zhaohan Ren <zhaohan.ren@intel.com>
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Fri, 6 May 2011 03:04:50 +0000 (20:04 -0700)]
1) test/*: enable/refine the test/* for both X11 and Android
2) va_dri2.c: use _XSend instead of _XReply which is time-consuming
3) trace message for vaPutSurface/vaInitialize/vaTerminate
Signed-off-by: Guoliang Ji <guoliangx.ji@intel.com>
Signed-off-by: Zhaohan Ren <zhaohan.ren@intel.com>
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Alexander I Osin [Thu, 28 Apr 2011 16:05:45 +0000 (19:05 +0300)]
corrected vaBufferInfo interface
Alexander I Osin [Thu, 28 Apr 2011 16:05:18 +0000 (19:05 +0300)]
corrected vaBufferInfo interface
Alexander I Osin [Thu, 28 Apr 2011 16:03:04 +0000 (19:03 +0300)]
Fixed number bugs in va_TraceSurface.
Zhou Chang [Thu, 28 Apr 2011 07:50:14 +0000 (15:50 +0800)]
test/encode/avcenc: a simple encoder based on VA API for H.264
Usage:
avcenc <width> <height> <input file> <output file> [qp]
Singed-off-by: Zhou Chang <chang.zhou@intel.com>
Singed-off-by: Lan Hai <hai.lan@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Tue, 26 Apr 2011 08:10:22 +0000 (16:10 +0800)]
Merge branch 'snb-encoder'
Xiang, Haihao [Tue, 26 Apr 2011 05:26:38 +0000 (13:26 +0800)]
i965_drv_video/encode: offset for coded buffer
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 05:23:09 +0000 (13:23 +0800)]
i965_drv_video/encode: indentation fix
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 05:09:03 +0000 (13:09 +0800)]
i965_drv_video/encode: media read with sampler cache
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 04:15:15 +0000 (12:15 +0800)]
i965_drv_video/video: set base address for MV data
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 02:20:59 +0000 (10:20 +0800)]
i965_drv_video/encode: merge global symbols in intra/inter shader
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 02:01:02 +0000 (10:01 +0800)]
i965_drv_video/encode: remove all intra data in inter shader
Need to revert this commit if select inter-intra mixed mode for P/B frame
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 01:53:25 +0000 (09:53 +0800)]
i965_drv_video: clean up gen6_mfc_avc_pipeline_programing
don't need to map VME output for inter frame
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 01:43:11 +0000 (09:43 +0800)]
i965_drv_video/encode: merge the object command for intra/inter frame
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 01:37:20 +0000 (09:37 +0800)]
i965_drv_video/encode: also simplify the object command for inter frame
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 22 Apr 2011 01:30:32 +0000 (09:30 +0800)]
i965_drv_video/encode: reduce inline data for inter shader
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 21 Apr 2011 05:17:00 +0000 (13:17 +0800)]
i965_drv_video: simplify the object command for intra frame
fixes some comments in intra_frame.asm as well.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 21 Apr 2011 04:56:28 +0000 (12:56 +0800)]
i965_drv_video/encode: fetch neighbor pixel in intra shader
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 21 Apr 2011 04:53:39 +0000 (12:53 +0800)]
i965_drv_video/encode: fix neighbor pixel luma value in VME message
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 21 Apr 2011 05:23:56 +0000 (13:23 +0800)]
i965_drv_video/encode: fix macroblock instra struct in VME message
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 14 Apr 2011 07:32:03 +0000 (15:32 +0800)]
i965_drv_video/encode: fix interface descriptor table
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Zhou Chang [Thu, 14 Apr 2011 05:37:45 +0000 (13:37 +0800)]
add inter frame support in vme.
Xiang, Haihao [Thu, 14 Apr 2011 05:29:14 +0000 (13:29 +0800)]
i965_drv_video/encode: fix CURBE usage for VME
This fixes a potential GPU hang issue
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Mon, 11 Apr 2011 02:13:17 +0000 (10:13 +0800)]
i965_drv_video: fix the format of a derived image for MPEG2 on ILK
The native format used for MPEG2 decoding on ILK is I420
Xiang, Haihao [Mon, 11 Apr 2011 01:04:37 +0000 (09:04 +0800)]
i965_drv_video: associate the derived image with the surface
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Zhou Chang [Wed, 6 Apr 2011 02:31:39 +0000 (10:31 +0800)]
disabling cabac zeros words inert, using 0x00000000 as end of bit streaming flag.
Zhou Chang [Sat, 2 Apr 2011 08:47:41 +0000 (16:47 +0800)]
Support Inter frames in driver.
Xiang, Haihao [Sat, 2 Apr 2011 08:23:13 +0000 (16:23 +0800)]
test/encode/h264encode: Destroy config after context.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 2 Apr 2011 08:16:04 +0000 (16:16 +0800)]
fix for VAEncCodedBufferType
It matches VA spec.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 2 Apr 2011 05:54:53 +0000 (13:54 +0800)]
Workaround for 720p/1080p encoding
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 2 Apr 2011 04:38:36 +0000 (12:38 +0800)]
release all BOs when terminating
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 2 Apr 2011 04:05:10 +0000 (12:05 +0800)]
fix internal buffer size
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 2 Apr 2011 04:02:57 +0000 (12:02 +0800)]
fix for interface descriptor
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Zhou Chang [Fri, 1 Apr 2011 07:07:46 +0000 (15:07 +0800)]
i965_drv_vidoe: Encoder on Sandy Bridge
Currently it supports Intra frame
Signed-off-by: Zhou Chang <chang.zhou@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Austin Yuan [Fri, 1 Apr 2011 07:07:31 +0000 (15:07 +0800)]
Use constant instead of enum for RenderDevice/RenderMode
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Fri, 1 Apr 2011 04:47:17 +0000 (12:47 +0800)]
Fix build issue again
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Fri, 1 Apr 2011 03:46:23 +0000 (11:46 +0800)]
Fix build issue
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Fri, 1 Apr 2011 03:41:04 +0000 (11:41 +0800)]
Bump to 1.0.12
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Austin Yuan [Fri, 1 Apr 2011 03:34:47 +0000 (11:34 +0800)]
1. add interface VARenderDevice for output the video into an external device when the WM is not aware of it
2. add interface VARenderMode for APP to swith between overlay and GPU post-processing
3. add VADisplayAttribOverlayColorKey/VADisplayAttribOverlayAutoPaintColorKey which is simliar to Xv for overlay post-processing
4. fix the build issue on Android 2.3
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Signed-off-by: Jason Hu <jason.hu@intel.com>
Signed-off-by: Zhaohan Ren <zhaohan.ren@intel.com>
Xiang, Haihao [Mon, 28 Mar 2011 06:17:42 +0000 (14:17 +0800)]
bump library version to 1.0.11
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Mon, 14 Mar 2011 05:05:57 +0000 (13:05 +0800)]
i965_drv_video/VC1: fix for single intensity compensation parameter setting
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Mon, 14 Mar 2011 01:52:54 +0000 (09:52 +0800)]
i965_drv_video/VC1: fix data offset for Main/Simple profile
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 11 Mar 2011 07:49:09 +0000 (15:49 +0800)]
i965_drv_video/VC1: disable overlap if PQUANT is less than 9 in Main/Simple profile
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 11 Mar 2011 04:54:47 +0000 (12:54 +0800)]
i965_drv_video: Fixes the dimension of a surface on SandyBridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 11 Mar 2011 03:24:22 +0000 (11:24 +0800)]
i965_drv_video: rendere I420/YV12 surface on SandyBridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 11 Mar 2011 03:10:48 +0000 (11:10 +0800)]
i965_drv_video: only use tiled surface for NV12 on SandyBridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 10 Mar 2011 06:17:20 +0000 (14:17 +0800)]
i965_drv_video: deinterlacing & scaling on SandyBridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>