mm-video-v4l2: venc: Advertise constrained profiles for AVC encoder
Enumerate and advertise constrained profiles for AVC encoder. Inorder to have backward compatability advertise exisisting as well as newly added constants. Keep legacy constants for getters as Android media framework does not use them. Bug: 65043406 Change-Id: I6fe88a505005731c4891aa1a7c1f627c65f01861
This commit is contained in:
parent
bb2dbbd291
commit
544fdbb7db
|
@ -58,6 +58,12 @@ typedef struct OMX_NALSTREAMFORMATTYPE{
|
|||
OMX_NALUFORMATSTYPE eNaluFormat;
|
||||
} OMX_NALSTREAMFORMATTYPE;
|
||||
|
||||
/** AVC additional profiles */
|
||||
typedef enum OMX_VIDEO_AVCPROFILEEXTTYPE {
|
||||
OMX_VIDEO_AVCProfileConstrainedBaseline = 0x10000, /**< Constrained baseline profile */
|
||||
OMX_VIDEO_AVCProfileConstrainedHigh = 0x80000, /**< Constrained high profile */
|
||||
} OMX_VIDEO_AVCPROFILEEXTTYPE;
|
||||
|
||||
/** VP8 profiles */
|
||||
typedef enum OMX_VIDEO_VP8PROFILETYPE {
|
||||
OMX_VIDEO_VP8ProfileMain = 0x01,
|
||||
|
|
|
@ -4294,6 +4294,9 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else {
|
||||
|
@ -4314,6 +4317,9 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
#ifdef _MSM8226_
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
#endif
|
||||
|
|
|
@ -1702,6 +1702,7 @@ OMX_ERRORTYPE omx_venc::set_config(OMX_IN OMX_HANDLETYPE hComp,
|
|||
} else {
|
||||
m_sParamAVC.nPFrames = pParam->nPFrames;
|
||||
if ((m_sParamAVC.eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline))
|
||||
m_sParamAVC.nBFrames = pParam->nBFrames;
|
||||
else
|
||||
|
|
|
@ -1545,6 +1545,7 @@ bool venc_dev::venc_set_param(void *paramData,OMX_INDEXTYPE index )
|
|||
return false;
|
||||
} else {
|
||||
if ((pParam->eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline)) {
|
||||
if (pParam->nBFrames) {
|
||||
bFrames = pParam->nBFrames;
|
||||
|
@ -3400,7 +3401,8 @@ bool venc_dev::venc_set_profile_level(OMX_U32 eProfile,OMX_U32 eLevel)
|
|||
} else if (m_sVenc_cfg.codectype == V4L2_PIX_FMT_H264) {
|
||||
if (eProfile == OMX_VIDEO_AVCProfileBaseline) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE;
|
||||
} else if (eProfile == OMX_VIDEO_AVCProfileMain) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN;
|
||||
|
|
|
@ -58,6 +58,12 @@ typedef struct OMX_NALSTREAMFORMATTYPE{
|
|||
OMX_NALUFORMATSTYPE eNaluFormat;
|
||||
} OMX_NALSTREAMFORMATTYPE;
|
||||
|
||||
/** AVC additional profiles */
|
||||
typedef enum OMX_VIDEO_AVCPROFILEEXTTYPE {
|
||||
OMX_VIDEO_AVCProfileConstrainedBaseline = 0x10000, /**< Constrained baseline profile */
|
||||
OMX_VIDEO_AVCProfileConstrainedHigh = 0x80000, /**< Constrained high profile */
|
||||
} OMX_VIDEO_AVCPROFILEEXTTYPE;
|
||||
|
||||
/** VP8 profiles */
|
||||
typedef enum OMX_VIDEO_VP8PROFILETYPE {
|
||||
OMX_VIDEO_VP8ProfileMain = 0x01,
|
||||
|
|
|
@ -4602,9 +4602,15 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 5) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 6) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else {
|
||||
|
@ -4625,6 +4631,9 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
#ifdef _MSM8226_
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
#endif
|
||||
|
|
|
@ -1864,6 +1864,7 @@ OMX_ERRORTYPE omx_venc::set_config(OMX_IN OMX_HANDLETYPE hComp,
|
|||
} else {
|
||||
m_sParamAVC.nPFrames = pParam->nPFrames;
|
||||
if ((m_sParamAVC.eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline))
|
||||
m_sParamAVC.nBFrames = pParam->nBFrames;
|
||||
else
|
||||
|
|
|
@ -1859,6 +1859,7 @@ bool venc_dev::venc_set_param(void *paramData, OMX_INDEXTYPE index)
|
|||
return false;
|
||||
} else {
|
||||
if ((pParam->eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline)) {
|
||||
if (pParam->nBFrames) {
|
||||
bFrames = pParam->nBFrames;
|
||||
|
@ -4546,9 +4547,11 @@ bool venc_dev::venc_set_profile_level(OMX_U32 eProfile,OMX_U32 eLevel)
|
|||
} else if (m_sVenc_cfg.codectype == V4L2_PIX_FMT_H264) {
|
||||
if (eProfile == OMX_VIDEO_AVCProfileBaseline) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedHigh) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedHigh ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedHigh) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH;
|
||||
} else if (eProfile == OMX_VIDEO_AVCProfileMain) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN;
|
||||
|
|
|
@ -58,6 +58,12 @@ typedef struct OMX_NALSTREAMFORMATTYPE{
|
|||
OMX_NALUFORMATSTYPE eNaluFormat;
|
||||
} OMX_NALSTREAMFORMATTYPE;
|
||||
|
||||
/** AVC additional profiles */
|
||||
typedef enum OMX_VIDEO_AVCPROFILEEXTTYPE {
|
||||
OMX_VIDEO_AVCProfileConstrainedBaseline = 0x10000, /**< Constrained baseline profile */
|
||||
OMX_VIDEO_AVCProfileConstrainedHigh = 0x80000, /**< Constrained high profile */
|
||||
} OMX_VIDEO_AVCPROFILEEXTTYPE;
|
||||
|
||||
/** VP8 profiles */
|
||||
typedef enum OMX_VIDEO_VP8PROFILETYPE {
|
||||
OMX_VIDEO_VP8ProfileMain = 0x01,
|
||||
|
|
|
@ -3606,8 +3606,12 @@ OMX_ERRORTYPE omx_vdec::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVEL
|
|||
} else if (profileLevelType->nProfileIndex == 2) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileHigh;
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
} else if (profileLevelType->nProfileIndex == 5) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
} else if (profileLevelType->nProfileIndex == 6) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
} else {
|
||||
DEBUG_PRINT_LOW("get_parameter: OMX_IndexParamVideoProfileLevelQuerySupported nProfileIndex ret NoMore %u",
|
||||
|
|
|
@ -4736,9 +4736,15 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 5) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 6) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else {
|
||||
|
@ -4759,6 +4765,9 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
#ifdef _MSM8226_
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel4;
|
||||
#endif
|
||||
|
|
|
@ -1989,6 +1989,7 @@ OMX_ERRORTYPE omx_venc::set_config(OMX_IN OMX_HANDLETYPE hComp,
|
|||
} else {
|
||||
m_sParamAVC.nPFrames = pParam->nPFrames;
|
||||
if ((m_sParamAVC.eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline))
|
||||
m_sParamAVC.nBFrames = pParam->nBFrames;
|
||||
else
|
||||
|
|
|
@ -2087,6 +2087,7 @@ bool venc_dev::venc_set_param(void *paramData, OMX_INDEXTYPE index)
|
|||
return false;
|
||||
} else {
|
||||
if ((pParam->eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline)) {
|
||||
if (pParam->nBFrames) {
|
||||
bFrames = pParam->nBFrames;
|
||||
|
@ -5136,9 +5137,11 @@ bool venc_dev::venc_set_profile_level(OMX_U32 eProfile,OMX_U32 eLevel)
|
|||
} else if (m_sVenc_cfg.codectype == V4L2_PIX_FMT_H264) {
|
||||
if (eProfile == OMX_VIDEO_AVCProfileBaseline) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedHigh) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedHigh ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedHigh) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH;
|
||||
} else if (eProfile == OMX_VIDEO_AVCProfileMain) {
|
||||
requested_profile.profile = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN;
|
||||
|
|
|
@ -58,6 +58,12 @@ typedef struct OMX_NALSTREAMFORMATTYPE{
|
|||
OMX_NALUFORMATSTYPE eNaluFormat;
|
||||
} OMX_NALSTREAMFORMATTYPE;
|
||||
|
||||
/** AVC additional profiles */
|
||||
typedef enum OMX_VIDEO_AVCPROFILEEXTTYPE {
|
||||
OMX_VIDEO_AVCProfileConstrainedBaseline = 0x10000, /**< Constrained baseline profile */
|
||||
OMX_VIDEO_AVCProfileConstrainedHigh = 0x80000, /**< Constrained high profile */
|
||||
} OMX_VIDEO_AVCPROFILEEXTTYPE;
|
||||
|
||||
/** VP8 profiles */
|
||||
typedef enum OMX_VIDEO_VP8PROFILETYPE {
|
||||
OMX_VIDEO_VP8ProfileMain = 0x01,
|
||||
|
|
|
@ -3342,8 +3342,12 @@ OMX_ERRORTYPE omx_vdec::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVEL
|
|||
} else if (profileLevelType->nProfileIndex == 2) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileHigh;
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
} else if (profileLevelType->nProfileIndex == 5) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
} else if (profileLevelType->nProfileIndex == 6) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
} else {
|
||||
DEBUG_PRINT_LOW("get_parameter: OMX_IndexParamVideoProfileLevelQuerySupported nProfileIndex ret NoMore %u",
|
||||
|
|
|
@ -4408,9 +4408,15 @@ OMX_ERRORTYPE omx_video::get_supported_profile_level(OMX_VIDEO_PARAM_PROFILELEVE
|
|||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 3) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 4) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedBaseline;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 5) {
|
||||
profileLevelType->eProfile = OMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else if (profileLevelType->nProfileIndex == 6) {
|
||||
profileLevelType->eProfile = QOMX_VIDEO_AVCProfileConstrainedHigh;
|
||||
profileLevelType->eLevel = OMX_VIDEO_AVCLevel52;
|
||||
} else {
|
||||
|
|
|
@ -1597,6 +1597,7 @@ OMX_ERRORTYPE omx_venc::set_config(OMX_IN OMX_HANDLETYPE hComp,
|
|||
|
||||
m_sParamAVC.nPFrames = pParam->nPFrames;
|
||||
if ((m_sParamAVC.eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(m_sParamAVC.eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline))
|
||||
m_sParamAVC.nBFrames = pParam->nBFrames;
|
||||
else
|
||||
|
|
|
@ -1966,6 +1966,7 @@ bool venc_dev::venc_set_param(void *paramData, OMX_INDEXTYPE index)
|
|||
return false;
|
||||
} else {
|
||||
if ((pParam->eProfile != OMX_VIDEO_AVCProfileBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) OMX_VIDEO_AVCProfileConstrainedBaseline) &&
|
||||
(pParam->eProfile != (OMX_VIDEO_AVCPROFILETYPE) QOMX_VIDEO_AVCProfileConstrainedBaseline)) {
|
||||
if (pParam->nBFrames) {
|
||||
bFrames = pParam->nBFrames;
|
||||
|
@ -4469,9 +4470,11 @@ bool venc_dev::venc_set_profile(OMX_U32 eProfile)
|
|||
control.id = V4L2_CID_MPEG_VIDEO_H264_PROFILE;
|
||||
if (eProfile == OMX_VIDEO_AVCProfileBaseline) {
|
||||
control.value = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedBaseline ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedBaseline) {
|
||||
control.value = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE;
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedHigh) {
|
||||
} else if(eProfile == QOMX_VIDEO_AVCProfileConstrainedHigh ||
|
||||
eProfile == OMX_VIDEO_AVCProfileConstrainedHigh) {
|
||||
control.value = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH;
|
||||
} else if (eProfile == OMX_VIDEO_AVCProfileMain) {
|
||||
control.value = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN;
|
||||
|
|
Loading…
Reference in New Issue