Loading include/media/mediarecorder.h +1 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ enum video_encoder { VIDEO_ENCODER_H264 = 2, VIDEO_ENCODER_MPEG_4_SP = 3, VIDEO_ENCODER_VP8 = 4, VIDEO_ENCODER_HEVC = 5, VIDEO_ENCODER_LIST_END // must be the last - used to validate the video encoder type }; Loading media/libmedia/MediaProfiles.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ MediaProfiles *MediaProfiles::sInstance = NULL; const MediaProfiles::NameToTagMap MediaProfiles::sVideoEncoderNameMap[] = { {"h263", VIDEO_ENCODER_H263}, {"h264", VIDEO_ENCODER_H264}, {"m4v", VIDEO_ENCODER_MPEG_4_SP} {"m4v", VIDEO_ENCODER_MPEG_4_SP}, {"hevc", VIDEO_ENCODER_HEVC} }; const MediaProfiles::NameToTagMap MediaProfiles::sAudioEncoderNameMap[] = { Loading media/libmediaplayerservice/StagefrightRecorder.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -1226,6 +1226,7 @@ status_t StagefrightRecorder::checkVideoEncoderCapabilities() { (mVideoEncoder == VIDEO_ENCODER_H263 ? MEDIA_MIMETYPE_VIDEO_H263 : mVideoEncoder == VIDEO_ENCODER_MPEG_4_SP ? MEDIA_MIMETYPE_VIDEO_MPEG4 : mVideoEncoder == VIDEO_ENCODER_VP8 ? MEDIA_MIMETYPE_VIDEO_VP8 : mVideoEncoder == VIDEO_ENCODER_HEVC ? MEDIA_MIMETYPE_VIDEO_HEVC : mVideoEncoder == VIDEO_ENCODER_H264 ? MEDIA_MIMETYPE_VIDEO_AVC : ""), false /* decoder */, true /* hwCodec */, &codecs); Loading Loading @@ -1515,6 +1516,10 @@ status_t StagefrightRecorder::setupVideoEncoder( format->setString("mime", MEDIA_MIMETYPE_VIDEO_VP8); break; case VIDEO_ENCODER_HEVC: format->setString("mime", MEDIA_MIMETYPE_VIDEO_HEVC); break; default: CHECK(!"Should not be here, unsupported video encoding."); break; Loading media/libstagefright/ACodec.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -3533,8 +3533,8 @@ status_t ACodec::setupHEVCEncoderParameters(const sp<AMessage> &msg) { hevcType.eProfile = static_cast<OMX_VIDEO_HEVCPROFILETYPE>(profile); hevcType.eLevel = static_cast<OMX_VIDEO_HEVCLEVELTYPE>(level); } // TODO: Need OMX structure definition for setting iFrameInterval // TODO: finer control? hevcType.nKeyFrameInterval = setPFramesSpacing(iFrameInterval, frameRate); err = mOMX->setParameter( mNode, (OMX_INDEXTYPE)OMX_IndexParamVideoHevc, &hevcType, sizeof(hevcType)); Loading media/libstagefright/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ LOCAL_SRC_FILES:= \ FLACExtractor.cpp \ FrameRenderTracker.cpp \ HTTPBase.cpp \ HevcUtils.cpp \ JPEGSource.cpp \ MP3Extractor.cpp \ MPEG2TSWriter.cpp \ Loading Loading
include/media/mediarecorder.h +1 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ enum video_encoder { VIDEO_ENCODER_H264 = 2, VIDEO_ENCODER_MPEG_4_SP = 3, VIDEO_ENCODER_VP8 = 4, VIDEO_ENCODER_HEVC = 5, VIDEO_ENCODER_LIST_END // must be the last - used to validate the video encoder type }; Loading
media/libmedia/MediaProfiles.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ MediaProfiles *MediaProfiles::sInstance = NULL; const MediaProfiles::NameToTagMap MediaProfiles::sVideoEncoderNameMap[] = { {"h263", VIDEO_ENCODER_H263}, {"h264", VIDEO_ENCODER_H264}, {"m4v", VIDEO_ENCODER_MPEG_4_SP} {"m4v", VIDEO_ENCODER_MPEG_4_SP}, {"hevc", VIDEO_ENCODER_HEVC} }; const MediaProfiles::NameToTagMap MediaProfiles::sAudioEncoderNameMap[] = { Loading
media/libmediaplayerservice/StagefrightRecorder.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -1226,6 +1226,7 @@ status_t StagefrightRecorder::checkVideoEncoderCapabilities() { (mVideoEncoder == VIDEO_ENCODER_H263 ? MEDIA_MIMETYPE_VIDEO_H263 : mVideoEncoder == VIDEO_ENCODER_MPEG_4_SP ? MEDIA_MIMETYPE_VIDEO_MPEG4 : mVideoEncoder == VIDEO_ENCODER_VP8 ? MEDIA_MIMETYPE_VIDEO_VP8 : mVideoEncoder == VIDEO_ENCODER_HEVC ? MEDIA_MIMETYPE_VIDEO_HEVC : mVideoEncoder == VIDEO_ENCODER_H264 ? MEDIA_MIMETYPE_VIDEO_AVC : ""), false /* decoder */, true /* hwCodec */, &codecs); Loading Loading @@ -1515,6 +1516,10 @@ status_t StagefrightRecorder::setupVideoEncoder( format->setString("mime", MEDIA_MIMETYPE_VIDEO_VP8); break; case VIDEO_ENCODER_HEVC: format->setString("mime", MEDIA_MIMETYPE_VIDEO_HEVC); break; default: CHECK(!"Should not be here, unsupported video encoding."); break; Loading
media/libstagefright/ACodec.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -3533,8 +3533,8 @@ status_t ACodec::setupHEVCEncoderParameters(const sp<AMessage> &msg) { hevcType.eProfile = static_cast<OMX_VIDEO_HEVCPROFILETYPE>(profile); hevcType.eLevel = static_cast<OMX_VIDEO_HEVCLEVELTYPE>(level); } // TODO: Need OMX structure definition for setting iFrameInterval // TODO: finer control? hevcType.nKeyFrameInterval = setPFramesSpacing(iFrameInterval, frameRate); err = mOMX->setParameter( mNode, (OMX_INDEXTYPE)OMX_IndexParamVideoHevc, &hevcType, sizeof(hevcType)); Loading
media/libstagefright/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ LOCAL_SRC_FILES:= \ FLACExtractor.cpp \ FrameRenderTracker.cpp \ HTTPBase.cpp \ HevcUtils.cpp \ JPEGSource.cpp \ MP3Extractor.cpp \ MPEG2TSWriter.cpp \ Loading