avctx->codec_id == CODEC_ID_AC3 ||
avctx->codec_id == CODEC_ID_H263 ||
avctx->codec_id == CODEC_ID_H263P ||
- avctx->codec_id == CODEC_ID_H263I)
+ avctx->codec_id == CODEC_ID_H263I ||
+ avctx->codec_id == CODEC_ID_WMV1)
return 1;
// is extradata compatible with android?
case CODEC_ID_MP2:
case CODEC_ID_MP3:
case CODEC_ID_MPEG2VIDEO:
+ case CODEC_ID_WMV1:
#if 0
case CODEC_ID_VC1:
#endif
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_WMV12);
meta->setData(kKeyESDS, kTypeESDS, avctx->extradata, avctx->extradata_size);
break;
+ case CODEC_ID_WMV1:
+ LOGV("WMV1");
+ meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_WMV12);
+ break;
+ case CODEC_ID_WMV2:
+ LOGV("WMV2");
+ meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_WMV12);
+ meta->setData(kKeyESDS, kTypeESDS, avctx->extradata, avctx->extradata_size);
+ break;
default:
CHECK(!"Should not be here. Unsupported codec.");
break;
{".mkv", MEDIA_MIMETYPE_CONTAINER_MATROSKA},
{".ts", MEDIA_MIMETYPE_CONTAINER_TS},
{".avi", MEDIA_MIMETYPE_CONTAINER_AVI},
-#if 0
{".asf", MEDIA_MIMETYPE_CONTAINER_ASF},
+#if 0
{".wmv", MEDIA_MIMETYPE_CONTAINER_WMV},
{".wma", MEDIA_MIMETYPE_CONTAINER_WMA},
{".mpg", MEDIA_MIMETYPE_CONTAINER_MPG},
static formatmap FILE_FORMATS[] = {
{"mpegts", MEDIA_MIMETYPE_CONTAINER_TS},
{"mov,mp4,m4a,3gp,3g2,mj2", MEDIA_MIMETYPE_CONTAINER_MOV},
+ {"asf", MEDIA_MIMETYPE_CONTAINER_ASF},
};
const char *BetterSniffFFMPEG(const char * uri)
mMode = MODE_MPEGL2;
} else if (!strcmp(name, "OMX.ffmpeg.aac.decoder")) {
mMode = MODE_AAC;
+ } else if (!strcmp(name, "OMX.ffmpeg.ape.decoder")) {
+ mMode = MODE_APE;
+ } else if (!strcmp(name, "OMX.ffmpeg.wma.decoder")) {
+ mMode = MODE_WMA;
+ } else if (!strcmp(name, "OMX.ffmpeg.dts.decoder")) {
+ mMode = MODE_DTS;
+ } else if (!strcmp(name, "OMX.ffmpeg.ra.decoder")) {
+ mMode = MODE_RA;
} else {
CHECK(!strcmp(name, "OMX.ffmpeg.ac3.decoder"));
mMode = MODE_AC3;
mMode = MODE_MPEG2;
} else if (!strcmp(name, "OMX.ffmpeg.h263.decoder")) {
mMode = MODE_H263;
+ } else if (!strcmp(name, "OMX.ffmpeg.vpx.decoder")) {
+ mMode = MODE_VPX;
} else if (!strcmp(name, "OMX.ffmpeg.vc1.decoder")) {
mMode = MODE_VC1;
+ } else if (!strcmp(name, "OMX.ffmpeg.divx.decoder")) {
+ mMode = MODE_DIVX;
+ } else if (!strcmp(name, "OMX.ffmpeg.wmv12.decoder")) {
+ mMode = MODE_WMV12;
+ } else if (!strcmp(name, "OMX.ffmpeg.flv.decoder")) {
+ mMode = MODE_FLV;
+ } else if (!strcmp(name, "OMX.ffmpeg.rv.decoder")) {
+ mMode = MODE_RV;
} else {
CHECK(!strcmp(name, "OMX.ffmpeg.h264.decoder"));
- //mIgnoreExtradata = true;
}
LOGV("SoftFFmpegVideo component: %s", name);
def.format.video.cMIMEType = const_cast<char *>(MEDIA_MIMETYPE_VIDEO_VC1);
def.format.video.eCompressionFormat = OMX_VIDEO_CodingWMV;
break;
+ case MODE_WMV12:
+ def.format.video.cMIMEType = const_cast<char *>(MEDIA_MIMETYPE_VIDEO_WMV12);
+ def.format.video.eCompressionFormat = OMX_VIDEO_CodingWMV;
+ break;
default:
CHECK(!"Should not be here. Unsupported mime type and compression format");
break;
case MODE_VC1:
mCtx->codec_id = CODEC_ID_VC1;
break;
+ case MODE_WMV12:
+ mCtx->codec_id = CODEC_ID_WMV1; // CODEC_ID_WMV1 or CODEC_ID_WMV2?
+ break;
default:
CHECK(!"Should not be here. Unsupported codec");
break;
case MODE_VC1:
formatParams->eCompressionFormat = OMX_VIDEO_CodingWMV;
break;
+ case MODE_WMV12:
+ formatParams->eCompressionFormat = OMX_VIDEO_CodingWMV;
+ break;
default:
CHECK(!"Should not be here. Unsupported compression format.");
break;
"video_decoder.vc1", OMX_MAX_STRINGNAME_SIZE - 1))
supported = false;
break;
+ case MODE_WMV12:
+ if (strncmp((const char *)roleParams->cRole,
+ "video_decoder.wmv12", OMX_MAX_STRINGNAME_SIZE - 1))
+ supported = false;
+ break;
default:
CHECK(!"Should not be here. Unsupported role.");
break;