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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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>
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)
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)
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)
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)
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)
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)
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)
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>
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
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>
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
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>
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>
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>
Jonathan Bian [Mon, 11 Mar 2013 05:46:32 +0000 (22:46 -0700)]
Added new VA_RT_FORMAT_RGBP and VA_FOURCC_411R
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>
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>
Jonathan Bian [Mon, 17 Sep 2012 04:26:00 +0000 (21:26 -0700)]
Changed values for VASurfaceAttribMemoryType from fourcc to bit fields.
Jonathan Bian [Thu, 6 Sep 2012 23:50:27 +0000 (16:50 -0700)]
Added new RT formats and fourcc codes for pixel formats.
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.
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>
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>
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>
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>
Gwenole Beauchesne [Mon, 2 Jan 2012 16:28:45 +0000 (17:28 +0100)]
API: add compat glue for older vaCreateSurfaces().
Gwenole Beauchesne [Sun, 18 Dec 2011 22:50:25 +0000 (23:50 +0100)]
API: add surface attributes.
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>
Gwenole Beauchesne [Mon, 18 Mar 2013 21:18:49 +0000 (14:18 -0700)]
tests: disable v4l demo for now.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>