summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorpgudadhe <pgudadhe@nvidia.com>2010-07-26 13:59:29 -0700
committerDima Zavin <dima@android.com>2010-08-19 22:01:18 -0700
commit9c3053246c36af998ec4f5910e340f7cc0351ee9 (patch)
tree2102c5267375856f4e1591b4ea6819ab94ae634a /media
parentcdea9193f2745fd46e69858a7c5570d95f8182dc (diff)
downloadframeworks_base-9c3053246c36af998ec4f5910e340f7cc0351ee9.zip
frameworks_base-9c3053246c36af998ec4f5910e340f7cc0351ee9.tar.gz
frameworks_base-9c3053246c36af998ec4f5910e340f7cc0351ee9.tar.bz2
libstagefright: Enable tegra hw encoder
Change-Id: Ifed6b4dc4877e3fcab86ee81c9117a92b1d1ce8f
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/OMXCodec.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index 4741b1d..d293402 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -199,6 +199,7 @@ static const CodecInfo kEncoderInfo[] = {
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.qcom.7x30.video.encoder.avc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.qcom.video.encoder.avc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.TI.Video.encoder" },
+ { MEDIA_MIMETYPE_VIDEO_AVC, "OMX.Nvidia.h264.encoder" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "AVCEncoder" },
// { MEDIA_MIMETYPE_VIDEO_AVC, "OMX.PV.avcenc" },
};
@@ -854,6 +855,10 @@ void OMXCodec::setVideoInputFormat(
OMX_COLOR_FORMATTYPE colorFormat;
CHECK_EQ(OK, findTargetColorFormat(meta, &colorFormat));
+ if (!strcasecmp("OMX.Nvidia.h264.encoder", mComponentName)) {
+ colorFormat = OMX_COLOR_FormatYUV420Planar;
+ }
+
status_t err;
OMX_PARAM_PORTDEFINITIONTYPE def;
OMX_VIDEO_PORTDEFINITIONTYPE *video_def = &def.format.video;
@@ -1193,6 +1198,10 @@ status_t OMXCodec::setupAVCEncoderParameters(const sp<MetaData>& meta) {
h264type.bMBAFF = OMX_FALSE;
h264type.eLoopFilterMode = OMX_VIDEO_AVCLoopFilterEnable;
+ if (!strcasecmp("OMX.Nvidia.h264.encoder", mComponentName)) {
+ h264type.eLevel = OMX_VIDEO_AVCLevelMax;
+ }
+
err = mOMX->setParameter(
mNode, OMX_IndexParamVideoAvc, &h264type, sizeof(h264type));
CHECK_EQ(err, OK);