platform/upstream/libva.git
11 years agoh264encode: fix mmap out of memmory issue
Austin Yuan [Tue, 21 May 2013 08:20:17 +0000 (16:20 +0800)]
h264encode: fix mmap out of memmory issue

Change-Id: I9d7047d5ac66efefb31509f3ee52a9db28aada23
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: add more cmdline options
Austin Yuan [Wed, 15 May 2013 09:58:00 +0000 (17:58 +0800)]
h264encode: add more cmdline options

Change-Id: Ia0326c2649dcf6dfbce275539cb8f4221fa37501
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: fix ftell overflow issue when open large source YUV files
Austin Yuan [Tue, 14 May 2013 02:02:13 +0000 (10:02 +0800)]
h264encode: fix ftell overflow issue when open large source YUV files

Change-Id: I30190d4e28bd643f00808a15846e50e8fca28764
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: coding 1920x1080 with crop
Austin Yuan [Mon, 13 May 2013 09:10:15 +0000 (17:10 +0800)]
h264encode: coding 1920x1080 with crop

Change-Id: I4ba61943c9f2d246deb4bcb69a4781680f63b046
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: print correct number of RefPicList0/1
Austin Yuan [Fri, 10 May 2013 08:51:33 +0000 (16:51 +0800)]
h264encode: print correct number of RefPicList0/1

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: fix thread lockup issue
Austin Yuan [Thu, 9 May 2013 10:36:04 +0000 (18:36 +0800)]
h264encode: fix thread lockup issue

Change-Id: I6065525f76796603856f5cebf0468f4a59c4b5b5
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: fix thread lockup issue
Austin Yuan [Thu, 9 May 2013 10:15:49 +0000 (18:15 +0800)]
h264encode: fix thread lockup issue

Change-Id: I3e0f23b5301d8405297b4b88b27e9edccdab6063
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: fix idr_pic_id issue when encode multiple IDR frames
Austin Yuan [Thu, 9 May 2013 07:26:50 +0000 (15:26 +0800)]
h264encode: fix idr_pic_id issue when encode multiple IDR frames

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: reset IDR poc to 0
Elaine Wang [Fri, 10 May 2013 11:04:37 +0000 (19:04 +0800)]
h264encode: reset IDR poc to 0

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
11 years agoh264encode: dump reconstructed frame and calc PSNR
Austin Yuan [Wed, 8 May 2013 04:45:57 +0000 (12:45 +0800)]
h264encode: dump reconstructed frame and calc PSNR

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: use frame height not the height from VAImage which may be wrong
Austin Yuan [Sun, 28 Apr 2013 04:34:01 +0000 (12:34 +0800)]
h264encode: use frame height not the height from VAImage which may be wrong

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: correct negative POC after a new IDR
Austin Yuan [Sun, 28 Apr 2013 03:58:54 +0000 (11:58 +0800)]
h264encode: correct negative POC after a new IDR

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: fix encode corruption issue with multiple IDR (-idr_period XX)
Austin Yuan [Sat, 27 Apr 2013 08:48:13 +0000 (16:48 +0800)]
h264encode: fix encode corruption issue with multiple IDR (-idr_period XX)

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoh264encode: add some comments
Elaine Wang [Sat, 27 Apr 2013 13:43:06 +0000 (21:43 +0800)]
h264encode: add some comments

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
11 years agoh264encode: refine calculation logic of reference frame setting
Elaine Wang [Sat, 27 Apr 2013 10:08:23 +0000 (18:08 +0800)]
h264encode: refine calculation logic of reference frame setting

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
11 years agoh264encode: fix wrong print information
Elaine Wang [Thu, 18 Apr 2013 17:25:50 +0000 (01:25 +0800)]
h264encode: fix wrong print information

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
11 years agoAVCENC: Pass the H264 RefPicList0/1 by using slice_param instead of hacked DPB reference
Zhao Yakui [Thu, 9 May 2013 06:21:32 +0000 (14:21 +0800)]
AVCENC: Pass the H264 RefPicList0/1 by using slice_param instead of hacked DPB reference

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
(cherry picked from commit 968a9bf006679ad8d752fa1ddcd4bb80fc8c5e51)

11 years agoFix possible memory leak
Xiang, Haihao [Fri, 15 Mar 2013 08:22:57 +0000 (16:22 +0800)]
Fix possible memory leak

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

11 years agova.c: need to check the symbol before calling it
Austin Yuan [Thu, 2 Aug 2012 10:16:35 +0000 (18:16 +0800)]
va.c: need to check the symbol before calling it

This is to fix Klockwork critical issue

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

11 years agova: fix vaErrorStr() to support new error codes.
Gwenole Beauchesne [Wed, 1 Feb 2012 23:13:48 +0000 (00:13 +0100)]
va: fix vaErrorStr() to support new error codes.
(cherry picked from commit 7b5c35273dc0e8e0e86cf40cf2a398119a766397)

11 years agova_x11: fix klockscan issue (details is bellow)
Austin Yuan [Tue, 5 Feb 2013 06:00:15 +0000 (14:00 +0800)]
va_x11: fix klockscan issue (details is bellow)

File:        va_x11.c
Function:    va_DisplayContextGetDriverName -> va_DRI2GetDriverName -> dri2_util.c:isDRI2Connected
Line:        154 -> 84 -> dri2_util.c:184
Code:
TRACEBACK
va_x11.c:151: driver_name is NULL
va_x11.c:154: 'driver_name' is passed to function 'va_DRI2GetDriverName'.
dri2_util.c:84: 'driver_name' is passed to function 'isDRI2Connected'.
dri2_util.c:184: 'driver_name' is explicitly dereferenced.

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

11 years agovatrace: print target_percentage
Austin Yuan [Mon, 20 May 2013 09:56:51 +0000 (17:56 +0800)]
vatrace: print target_percentage

Change-Id: I220b2fa7ad6907ab0ebda3671baeeab7fa36cc00
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 82e7dc8280da22c88a28f0a4d429f28fd99f9ced)

11 years agovatrace: trace coded buffer create/destroy
Austin Yuan [Thu, 16 May 2013 08:41:03 +0000 (16:41 +0800)]
vatrace: trace coded buffer create/destroy

Change-Id: If0388cd5e2e141184d88ff5de5612d15e51e3d20
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 880c916092c6d68096c95e49405714d8a21f9322)

11 years agovatrace: dump unknonw private misc parameters
Austin Yuan [Fri, 10 May 2013 10:27:58 +0000 (18:27 +0800)]
vatrace: dump unknonw private misc parameters

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

11 years agovatrace: remove the delimiter of every elements dump
Austin Yuan [Fri, 10 May 2013 05:14:21 +0000 (13:14 +0800)]
vatrace: remove the delimiter of every elements dump

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

11 years agovatrace: refine the format of buf data dump
Elaine Wang [Fri, 10 May 2013 10:58:47 +0000 (18:58 +0800)]
vatrace: refine the format of buf data dump

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
(cherry picked from commit 2292299fe00036eb6055a84846f63f36cbae27d9)

11 years agovatrace: refine VAEncPackedHeaderParameterBufferType format
Austin Yuan [Wed, 8 May 2013 06:52:38 +0000 (14:52 +0800)]
vatrace: refine VAEncPackedHeaderParameterBufferType format

Change-Id: I1794a9c09a88b61d7abce970d7cb9a8f101162c6
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 4853e4a3a6cc5218e032a19d729096862db82bc6)

11 years agovatrace: print VAEncPackedHeaderParameterBufferType
Austin Yuan [Wed, 8 May 2013 05:21:38 +0000 (13:21 +0800)]
vatrace: print VAEncPackedHeaderParameterBufferType

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

11 years agolibva: Add VABuffer dumping for JPEG parameters
Cheng Yao [Wed, 17 Apr 2013 06:58:11 +0000 (14:58 +0800)]
libva: Add VABuffer dumping for JPEG parameters

BZ: 98966

Dump VABuffer of JPEG parameters in libva

Change-Id: I87450d92db402a4730e0c0433215c857bc5b494d
Signed-off-by: Cheng Yao <yao.cheng@intel.com>
(cherry picked from commit 40ffef8d1fcbbc709472dc1342d7e3e983ae5d96)

11 years agovatrace: only print info of valid reference frames
Austin Yuan [Sun, 28 Apr 2013 03:57:59 +0000 (11:57 +0800)]
vatrace: only print info of valid reference frames

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

11 years agovatrace: dump flags of VAPictureH264
Elaine Wang [Wed, 24 Apr 2013 10:57:09 +0000 (18:57 +0800)]
vatrace: dump flags of VAPictureH264

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
(cherry picked from commit e1d86f000749d5fdbd6e36b55260d3fae096e457)

11 years agoLIBVA_DRIVER_NAME still needs va_getDriverName to open DRM device
Fei Jiang [Wed, 27 Mar 2013 20:29:36 +0000 (04:29 +0800)]
LIBVA_DRIVER_NAME still needs va_getDriverName to open DRM device

va_getDriverName is bypassed when LIBVA_DRIVER_NAME is set, but driver
needs DRM device fd which is only opened in va_getDriverName

Change-Id: I4fe11edf9d8c328806255d4c93313cf99655a91d
Signed-off-by: Fei Jiang <fei.jiang@intel.com>
(cherry picked from commit 04706eb13ae410b53b6b38150413d544b7fdb524)

11 years agova_trace: refine the log format
Elaine Wang [Wed, 17 Apr 2013 16:02:10 +0000 (00:02 +0800)]
va_trace: refine the log format

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
(cherry picked from commit 15a0fca64456d8c7de1f7aca2cb747c4929690cd)

11 years agovatrace: print function name for vaMapBuffer trace with coded buffer
Austin Yuan [Sun, 7 Apr 2013 10:09:36 +0000 (18:09 +0800)]
vatrace: print function name for vaMapBuffer trace with coded buffer

also fall into default va_TraceVABuffers if the buffer type falls into
"default"

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

11 years agovatrace: buffer_type_to_string: add missing VABufferType
Adrian Marius Negreanu [Mon, 11 Feb 2013 08:21:33 +0000 (10:21 +0200)]
vatrace: buffer_type_to_string: add missing VABufferType

sync with VABufferType in va/va.h.

Signed-off-by: Adrian Marius Negreanu <adrian.m.negreanu@intel.com>
(cherry picked from commit d5160173f9dd5a37c793518d1d483b09d278d90c)
[Remove unsupported types on master]
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agova_parseConfig: still need to check env_value
Austin Yuan [Thu, 27 Dec 2012 10:00:30 +0000 (18:00 +0800)]
va_parseConfig: still need to check env_value

env_value may be NULL which means the caller doens't
care the value of the environment variable, just check
if it is set.

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

11 years agovatrace: fix build issue
Austin Yuan [Wed, 5 Dec 2012 05:41:36 +0000 (13:41 +0800)]
vatrace: fix build issue

Change-Id: I1727528df6aaf48209774bada5cf136cfa1e4ee3
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit 1e0421f5ce01790e700940310aafb05e4c18d8f0)

11 years agova_trace: dump basic_unit_size/rc_flags in RateControl data struct
Austin Yuan [Wed, 5 Dec 2012 05:24:22 +0000 (13:24 +0800)]
va_trace: dump basic_unit_size/rc_flags in RateControl data struct

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

11 years agovatrace: Fix encoded coded buffer dump function
Elaine Wang [Fri, 9 Nov 2012 07:35:23 +0000 (15:35 +0800)]
vatrace: Fix encoded coded buffer dump function

libva trace can't dump coded buffer. It's caused by the wrong
decison in vaTraceEndPicture function which only dump coded buffer
when surface dumping is enabled.
Signed-off-by: Elaine Wang <elaine.wang@intel.com>
Change-Id: I8b0ec01e59faff3bfd5345d95cbf0e781f6f3706
(cherry picked from commit 202385430f29b3d3d356d86888a0f3979986b4e7)

11 years agovatrace: fix vatrace crash during video recording
Elaine Wang [Tue, 23 Oct 2012 08:04:59 +0000 (16:04 +0800)]
vatrace: fix vatrace crash during video recording

Video recording crash when va trace is enabled. It's caused by
using wrong buffer type to trace slice buffer. This patch distinguish buffer
type VAEncSliceParameterBuffer from VAEncSliceParameterBufferH264 by
the buffer size.
Signed-off-by: Elaine Wang <elaine.wang@intel.com>
Change-Id: Ibc5c6a17b155e305151a25580b4e613702665ad1
(cherry picked from commit b5b1933f60dfec8cf2cff19082362accbe6fce1d)

11 years agova_trace: allow surface trace to dump part of surface content
Austin Yuan [Wed, 8 Aug 2012 03:34:00 +0000 (11:34 +0800)]
va_trace: allow surface trace to dump part of surface content

To debug/isolate video record quality issue (blocky/corruption, etc),
we always need to dump the YUV image from camera. LibVA has such
functionality, but due to storage bandwidth issue (~10M Byte/second),
it is hard to write 1080P 30fps YUV data to disk (~88M Byte/second).
Now refine the functionality to only dump part of the image, and
won't need to modify the code in the default build.

The method is:
edit /etc/libva.conf to include bellow (all export them):
LIBVA_TRACE_SURFACE=/data/enc-XXX.yuv
LIBVA_TRACE_GEOMETRY=320x240+20+20

It will only save 320x240 from (20,20) of the source surface to file
/data/enc-XXX.yuv.

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

11 years agova_trace_surface: dumpe surface content after vaEndPicture call
Austin Yuan [Thu, 2 Aug 2012 10:32:20 +0000 (18:32 +0800)]
va_trace_surface: dumpe surface content after vaEndPicture call

vaEndPicture will kick HW decode/encode, and at this time use CPU
to dump surface content can keep GPU/CPU in parallel.

Also for encode trace, don't need to wait current frame completions
but for decode, we must wait decode till it is completed

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

11 years agoFix va_fool.c klocwork issue
Elaine Wang [Thu, 31 Jan 2013 14:52:13 +0000 (22:52 +0800)]
Fix va_fool.c klocwork issue

BZ: 83882

Fix klocwork issue that complaine array 'fool_context[idx].fool_buf'
of size 43 may use index value(s) 0..255

Change-Id: I196a36c0067e2b7e390567a203ef1520af5b873f
Signed-off-by: Elaine Wang <elaine.wang@intel.com>
11 years agoklockwork: Fix libva klocwork scaning issues
Elaine Wang [Thu, 27 Dec 2012 07:18:15 +0000 (15:18 +0800)]
klockwork: Fix libva klocwork scaning issues

Fix NULL pointer dereference risk issues and uninitialized variables

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
Change-Id: I839a9def7b08c41c1f075e4cd1cc06e8bb0c8c9e

11 years agotests: cope with new vaQuerySurfaceAttributes() API.
Gwenole Beauchesne [Mon, 27 May 2013 17:27:36 +0000 (19:27 +0200)]
tests: cope with new vaQuerySurfaceAttributes() API.

Also factor the code to check whether a specific image format or
surface attribute exists. Cache the list of supported image formats
and surface attributes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agotest: add color conversion test option in putsurface
Zhao Halley [Wed, 5 Sep 2012 09:23:22 +0000 (17:23 +0800)]
test: add color conversion test option in putsurface

- command line:  ./putsurface --fmt1 format1 --fmt2 format2
              or ./putsurface -1 format1 -2 format2
- example:       ./putsurface -1 NV12 -2 YV12
- implementation:
  - vaSurface is created with fmt1
  - get image (with fmt2) from vaSurface,
    it leads to color conversion
  - put the above image to a temp surface
    color conversion may happen
  - render the above temp surface instead of original one

11 years agotests: cope with new vaCreateSurfaces() API.
Gwenole Beauchesne [Sun, 18 Dec 2011 22:51:46 +0000 (23:51 +0100)]
tests: cope with new vaCreateSurfaces() API.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Haitao Huang <haitao.huang@intel.com>
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoAdd default implementation for vaQuerySurfaceAttributes().
Gwenole Beauchesne [Mon, 27 May 2013 18:39:29 +0000 (20:39 +0200)]
Add default implementation for vaQuerySurfaceAttributes().

Add an initial implementation for vaQuerySurfaceAttributes() in terms
of vaGetSurfaceAttributes(). This is an inefficient approach because
it dynamically allocates the whole set of surface attributes we guessed
are available.

This code is to be removed once the VA drivers are updated.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAPI: add vaQuerySurfaceAttributes().
Gwenole Beauchesne [Tue, 2 Apr 2013 15:47:27 +0000 (17:47 +0200)]
API: add vaQuerySurfaceAttributes().

vaQuerySurfaceAttributes() is the recommended way to query the driver for
all surface attributes that are supported by the underlying hardware. This
is more useful than guessing the attribute values and testing them through
vaGetSurfaceAttributes().

The older vaGetSurfaceAttributes() function is hereby removed. However, the
relevant VA driver hook is kept for now, and will be removed/replaced for a
future update.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAdded new VA_RT_FORMAT_RGBP and VA_FOURCC_411R
Jonathan Bian [Mon, 11 Mar 2013 05:46:32 +0000 (22:46 -0700)]
Added new VA_RT_FORMAT_RGBP and VA_FOURCC_411R

11 years agoSurfaceAttribMemoryType: add ION memory type for Android
Austin Yuan [Fri, 1 Mar 2013 02:45:40 +0000 (10:45 +0800)]
SurfaceAttribMemoryType: add ION memory type for Android

ION is the new Android memory manager for cross-components buffer
sharing. Adding this memory type for it.

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoASurfaceAttribExternalBuffers flags: add more memory attribute flags
Austin Yuan [Fri, 1 Mar 2013 00:42:22 +0000 (08:42 +0800)]
ASurfaceAttribExternalBuffers flags: add more memory attribute flags

The external user pointer buffers may be allocated as cacheable or
non-cacheable, with the addtitional cache attribute flags, it can help
driver implementation to set correct cache attribute into device
memory controller (e.g. MMU)

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoChanged values for VASurfaceAttribMemoryType from fourcc to bit fields.
Jonathan Bian [Mon, 17 Sep 2012 04:26:00 +0000 (21:26 -0700)]
Changed values for VASurfaceAttribMemoryType from fourcc to bit fields.

11 years agoAdded new RT formats and fourcc codes for pixel formats.
Jonathan Bian [Thu, 6 Sep 2012 23:50:27 +0000 (16:50 -0700)]
Added new RT formats and fourcc codes for pixel formats.

11 years agoAdded new surface attributes to enable VA surface creation from external buffers.
Jonathan Bian [Thu, 6 Sep 2012 23:07:31 +0000 (16:07 -0700)]
Added new surface attributes to enable VA surface creation from external buffers.

11 years agoAdd RGB RT format definition for video process
Li,Xiaowei [Mon, 27 Aug 2012 00:47:33 +0000 (08:47 +0800)]
Add RGB RT format definition for video process

RGB format surface is required for color
space conversion from YUV to RGB.

signed-off-by: Li,Xiaowei <xiaowei.a.li@intel.com>

11 years agotpi: clean the old interface, and use new one
Austin Yuan [Wed, 25 Apr 2012 06:00:03 +0000 (23:00 -0700)]
tpi: clean the old interface, and use new one

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoAdd new fourcc codes
Jonathan Bian [Tue, 24 Apr 2012 23:51:55 +0000 (16:51 -0700)]
Add new fourcc codes

Added fourcc codes for YV24 and YV32 (4:4:4 planar formats)

Signed-off-by: Jonathan Bian <jonathan.bian@intel.com>
11 years agova_TraceCreateSurface->va_TraceCreateSurfaces: correct name change
Austin Yuan [Thu, 1 Mar 2012 06:21:12 +0000 (22:21 -0800)]
va_TraceCreateSurface->va_TraceCreateSurfaces: correct name change

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
11 years agoAPI: add compat glue for older vaCreateSurfaces().
Gwenole Beauchesne [Mon, 2 Jan 2012 16:28:45 +0000 (17:28 +0100)]
API: add compat glue for older vaCreateSurfaces().

11 years agoAPI: add surface attributes.
Gwenole Beauchesne [Sun, 18 Dec 2011 22:50:25 +0000 (23:50 +0100)]
API: add surface attributes.

11 years agotest: update MPEG-2 encoding case
Xiang, Haihao [Tue, 21 May 2013 05:35:22 +0000 (13:35 +0800)]
test: update MPEG-2 encoding case

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agotests: disable v4l demo for now.
Gwenole Beauchesne [Mon, 18 Mar 2013 21:18:49 +0000 (14:18 -0700)]
tests: disable v4l demo for now.

11 years agovaPutSurface test on Android: fix build isste on Android JB
Austin Yuan [Thu, 7 Mar 2013 02:52:11 +0000 (10:52 +0800)]
vaPutSurface test on Android: fix build isste on Android JB

Change-Id: Ibfb3d6a653f9af924422edb052e751b84015ffd0
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
11 years agoh264encode: fix build warning on Android
Austin Yuan [Thu, 7 Mar 2013 02:57:32 +0000 (10:57 +0800)]
h264encode: fix build warning on Android

Change-Id: Iee2886bde2362e75d7e1837211553d9672bba650
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
11 years agoh264encode: remove the leftover file h264encode_android.cpp
Austin Yuan [Tue, 5 Mar 2013 02:53:52 +0000 (10:53 +0800)]
h264encode: remove the leftover file h264encode_android.cpp

Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
11 years agoh264encode: fix some issues
Elaine Wang [Tue, 5 Mar 2013 13:17:47 +0000 (21:17 +0800)]
h264encode: fix some issues

1. reference frame setting looks odd
2. fix the issue that the first 16 frames are encoded twice

Signed-off-by: Elaine Wang <elaine.wang@intel.com>
11 years agotest/h264encode: refine the h264encode to support advanced mode
Austin Yuan [Thu, 28 Feb 2013 06:28:14 +0000 (14:28 +0800)]
test/h264encode: refine the h264encode to support advanced mode

Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
11 years agotest/putsurface_x11.c: don't hard code the DISPLAY to ":0.0"
Austin Yuan [Wed, 6 Feb 2013 03:28:59 +0000 (11:28 +0800)]
test/putsurface_x11.c: don't hard code the DISPLAY to ":0.0"

Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
11 years agompeg2enc: find the proper profile and level
Xiang, Haihao [Fri, 7 Dec 2012 08:00:04 +0000 (16:00 +0800)]
mpeg2enc: find the proper profile and level

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Fix the picture header for B frame
Xiang, Haihao [Thu, 6 Dec 2012 08:13:35 +0000 (16:13 +0800)]
mpeg2enc: Fix the picture header for B frame

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Fix time_code_seconds in time_code
Xiang, Haihao [Thu, 6 Dec 2012 08:12:45 +0000 (16:12 +0800)]
mpeg2enc: Fix time_code_seconds in time_code

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: temporal_referenc and GOP header follow MPEG-2 Spec.
Xiang, Haihao [Thu, 6 Dec 2012 07:56:12 +0000 (15:56 +0800)]
mpeg2enc: temporal_referenc and GOP header follow MPEG-2 Spec.

temporal_reference is reset to zero at each group of pictures header

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Silence compiler warning
Xiang, Haihao [Thu, 6 Dec 2012 07:19:02 +0000 (15:19 +0800)]
mpeg2enc: Silence compiler warning

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agotest/encode: Add -Wall option to default build flags
Xiang, Haihao [Thu, 6 Dec 2012 07:17:27 +0000 (15:17 +0800)]
test/encode: Add -Wall option to default build flags

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Simplify the mapping between display order and encoding order
Xiang, Haihao [Thu, 6 Dec 2012 07:15:07 +0000 (15:15 +0800)]
mpeg2enc: Simplify the mapping between display order and encoding order

mode 0:
D: IIIII...
E: IIIII...

mode 1:
D: IPPPP...
E: IPPPP...

mode 2:
D: IBBPBBPBBPBBPBBPIBBP...
E: IPBBPBBPBBPBBPBBIPBB...

B frame is supported now

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: set the frames between I and P frames
Xiang, Haihao [Wed, 5 Dec 2012 08:18:20 +0000 (16:18 +0800)]
mpeg2enc: set the frames between I and P frames

The default valude is 2

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: forward and backword referenc follow the picture type
Xiang, Haihao [Wed, 5 Dec 2012 08:15:32 +0000 (16:15 +0800)]
mpeg2enc: forward and backword referenc follow the picture type

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Remove the assertion for mode 1
Xiang, Haihao [Thu, 29 Nov 2012 02:02:28 +0000 (10:02 +0800)]
mpeg2enc: Remove the assertion for mode 1

P frame is supported now

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: f_code[s][t] follows the picture coding type
Xiang, Haihao [Thu, 29 Nov 2012 01:56:06 +0000 (09:56 +0800)]
mpeg2enc: f_code[s][t] follows the picture coding type

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: level and profile follow the user setting
Xiang, Haihao [Thu, 29 Nov 2012 01:37:44 +0000 (09:37 +0800)]
mpeg2enc: level and profile follow the user setting

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Options for profile and level
Xiang, Haihao [Thu, 29 Nov 2012 01:30:47 +0000 (09:30 +0800)]
mpeg2enc: Options for profile and level

--profile <0|1>   specify the profile 0(Simple), or 1(Main, default)
--level <0|1|2>   specify the level 0(Low), 1(Main, default) or 2(High)

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: enumerate mode type
Xiang, Haihao [Thu, 29 Nov 2012 01:11:39 +0000 (09:11 +0800)]
mpeg2enc: enumerate mode type

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: fix a typo
Xiang, Haihao [Thu, 29 Nov 2012 00:41:18 +0000 (08:41 +0800)]
mpeg2enc: fix a typo

s/patter/pattern

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Set default qp to 8
Xiang, Haihao [Wed, 28 Nov 2012 03:32:02 +0000 (11:32 +0800)]
mpeg2enc: Set default qp to 8

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Keep the packed data consistent with each parameters
Xiang, Haihao [Wed, 28 Nov 2012 00:27:41 +0000 (08:27 +0800)]
mpeg2enc: Keep the packed data consistent with each parameters

So update paramters before packing SPS/PPS data buffers

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: update time_code for the new GOP
Xiang, Haihao [Tue, 27 Nov 2012 08:24:07 +0000 (16:24 +0800)]
mpeg2enc: update time_code for the new GOP

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: update temporal_reference
Xiang, Haihao [Mon, 26 Nov 2012 08:16:00 +0000 (16:16 +0800)]
mpeg2enc: update temporal_reference

Insert a GOP header once temporal_reference is 0

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Fix the period between I frames
Xiang, Haihao [Mon, 26 Nov 2012 08:05:38 +0000 (16:05 +0800)]
mpeg2enc: Fix the period between I frames

1 for mode 0, and 16 for mode 1 and mode 2. Also temporarily
assert mode 1 and mode 2

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: add --mode option to command line
Xiang, Haihao [Mon, 26 Nov 2012 08:00:37 +0000 (16:00 +0800)]
mpeg2enc: add --mode option to command line

Usage: --mode <0|1|2>
0 means I frames only
1 means I and P frames
2 means I, P and B frames

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: insert picture header for each picture
Xiang, Haihao [Mon, 26 Nov 2012 07:23:40 +0000 (15:23 +0800)]
mpeg2enc: insert picture header for each picture

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Fix top_field_first
Xiang, Haihao [Mon, 26 Nov 2012 03:12:22 +0000 (11:12 +0800)]
mpeg2enc: Fix top_field_first

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: f_code[s][t] takes the value 15 for I frame
Xiang, Haihao [Mon, 26 Nov 2012 03:05:57 +0000 (11:05 +0800)]
mpeg2enc: f_code[s][t] takes the value 15 for I frame

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: make sure start codes are byte aligned
Xiang, Haihao [Mon, 26 Nov 2012 02:55:55 +0000 (10:55 +0800)]
mpeg2enc: make sure start codes are byte aligned

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: VBV buffer size
Xiang, Haihao [Mon, 26 Nov 2012 02:15:27 +0000 (10:15 +0800)]
mpeg2enc: VBV buffer size

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: find the right frame_rate_code
Xiang, Haihao [Mon, 26 Nov 2012 01:54:59 +0000 (09:54 +0800)]
mpeg2enc: find the right frame_rate_code

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Update intra slice flag
Xiang, Haihao [Fri, 23 Nov 2012 02:39:14 +0000 (10:39 +0800)]
mpeg2enc: Update intra slice flag

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: Pass slice parameters in a group
Xiang, Haihao [Fri, 23 Nov 2012 02:36:34 +0000 (10:36 +0800)]
mpeg2enc: Pass slice parameters in a group

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agompeg2enc: A simple MPEG-2 encoder based on VA-API
Xiang, Haihao [Fri, 19 Oct 2012 02:56:09 +0000 (10:56 +0800)]
mpeg2enc: A simple MPEG-2 encoder based on VA-API

Support I frame firstly

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoAdd the SEI segment for CBR mode to pass HRD test
Zhao Yakui [Mon, 24 Sep 2012 21:17:19 +0000 (17:17 -0400)]
Add the SEI segment for CBR mode to pass HRD test

Otherwise the encoded h264 video stream can't be parsed by HRD test software.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>