17c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* 27c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project 37c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 47c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License"); 57c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * you may not use this file except in compliance with the License. 67c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * You may obtain a copy of the License at 77c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 87c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * http://www.apache.org/licenses/LICENSE-2.0 97c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Unless required by applicable law or agreed to in writing, software 117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS, 127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * See the License for the specific language governing permissions and 147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * limitations under the License. 157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************* 187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file M4MCS_InternalFunctions.h 197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This file contains all functions declarations internal 207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * to the MCS. 217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************* 227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifndef __M4MCS_INTERNALFUNCTIONS_H__ 257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define __M4MCS_INTERNALFUNCTIONS_H__ 267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargiextern "C" { 297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4VPP_API.h" 327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4ENCODER_common.h" 337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_intApplyVPP( M4VPP_Context pContext, 377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4VIFI_ImagePlane* pPlaneIn, 387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4VIFI_ImagePlane* pPlaneOut) 397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Do the video rendering and the resize (if needed) 407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note It is called by the video encoder 417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) VPP context, which actually is the MCS 427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * internal context in our case 437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pPlaneIn (IN) Contains the image 447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pPlaneOut (IN/OUT) Pointer to an array of 3 planes that will 457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * contain the output YUV420 image 467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return ERR_MCS_VIDEO_DECODE_ERROR: the video decoding failed 487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return ERR_MCS_RESIZE_ERROR: the resizing failed 497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return Any error returned by an underlaying module 507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_intApplyVPP(M4VPP_Context pContext, M4VIFI_ImagePlane* pPlaneIn, 537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIFI_ImagePlane* pPlaneOut); 547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_SubscribeMediaAndCodec(M4MCS_Context pContext); 587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This function registers the reader, decoders, writers and encoders 597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * in the MCS. 607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note 617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext: (IN) Execution context. 627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: there is no error 637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER pContext is NULL 647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_subscribeMediaAndCodec(M4MCS_Context pContext); 677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Clear encoders, decoders, reader and writers interfaces tables 717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: The context is null 747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_clearInterfaceTables(M4MCS_Context pContext); 777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_registerWriter(M4MCS_Context pContext, 817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4VIDEOEDITING_FileType MediaType, 827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4WRITER_GlobalInterface *pWtrGlobalInterface, 837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4WRITER_DataInterface *pWtrDataInterface) 847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This function will register a specific file format writer. 857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note According to the Mediatype, this function will store in the internal 867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * context the writer context. 877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext: (IN) Execution context. 887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: there is no error 897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER pContext,pWtrGlobalInterface or pWtrDataInterface 907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * is M4OSA_NULL (debug only), or invalid MediaType 917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_registerWriter( 947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4MCS_Context pContext, 957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4WRITER_OutputFileType MediaType, 967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4WRITER_GlobalInterface* pWtrGlobalInterface, 977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4WRITER_DataInterface* pWtrDataInterface); 987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_registerEncoder( M4MCS_Context pContext, 1027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4VIDEOEDITING_VideoFormat mediaType, 1037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4ENCODER_GlobalInterface *pEncGlobalInterface) 1047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This function will register a specific video encoder. 1057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note According to the Mediatype, this function will store in the internal 1067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * context the encoder context. 1077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext: (IN) Execution context. 1087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: there is no error 1097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER pContext or pEncGlobalInterface is 1107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_NULL (debug only), or invalid MediaType 1117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_registerVideoEncoder( 1147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4MCS_Context pContext, 1157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4ENCODER_Format MediaType, 1167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4ENCODER_GlobalInterface *pEncGlobalInterface); 1177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_registerAudioEncoder( M4MCS_Context pContext, 1217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4ENCODER_AudioFormat mediaType, 1227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4ENCODER_AudioGlobalInterface *pEncGlobalInterface) 1237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This function will register a specific audio encoder. 1247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note According to the Mediatype, this function will store in the internal 1257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * context the encoder context. 1267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext: (IN) Execution context. 1277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param mediaType: (IN) The media type. 1287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pEncGlobalInterface: (OUT) The encoder interface functions. 1297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: there is no error 1307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: pContext or pEncGlobalInterface is 1317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_NULL (debug only) 1327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 1337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_registerAudioEncoder( 1357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4MCS_Context pContext, 1367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4ENCODER_AudioFormat MediaType, 1377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4ENCODER_AudioGlobalInterface *pEncGlobalInterface); 1387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 1417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Register reader. 1427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 1437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 1447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 1457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 1467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_registerReader( M4MCS_Context pContext, 1487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4READER_MediaType mediaType, 1497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4READER_GlobalInterface *pRdrGlobalInterface, 1507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4READER_DataInterface *pRdrDataInterface); 1517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 1547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Register video decoder 1557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 1567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param decoderType (IN) Decoder type 1577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pDecoderInterface (IN) Decoder interface. 1587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 1597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only),or the 1607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * decoder type is invalid 1617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************** 1627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_registerVideoDecoder( M4MCS_Context pContext, 1647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4DECODER_VideoType decoderType, 1657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4DECODER_VideoInterface *pDecoderInterface); 1667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Register audio decoder 1707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note This function is used internaly by the MCS to register Core audio decoders, 1717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param context (IN/OUT) MCS context. 1727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param decoderType (IN) Audio decoder type 1737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pDecoderInterface (IN) Audio decoder interface. 1747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 1757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null, or the decoder type is invalid(in DEBUG only) 1767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_registerAudioDecoder(M4MCS_Context pContext, M4AD_Type decoderType, 1797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4AD_Interface *pDecoderInterface); 1807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Unregister writer 1847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 1857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 1867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 1877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_unRegisterAllWriters(M4MCS_Context pContext); 1907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Unregister the encoders 1947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 1957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 1967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 1977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 1987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 1997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_unRegisterAllEncoders(M4MCS_Context pContext); 2007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Unregister reader 2047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 2057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_unRegisterAllReaders(M4MCS_Context pContext); 2107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Unregister the decoders 2147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 2157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_unRegisterAllDecoders(M4MCS_Context pContext); 2207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set current writer 2247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 2257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param mediaType (IN) Media type. 2267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4WAR_MCS_MEDIATYPE_NOT_SUPPORTED: Media type not supported 2297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_setCurrentWriter( M4MCS_Context pContext, 2327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FileType mediaType); 2337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set a video encoder 2377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 2387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param MediaType (IN) Encoder type 2397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4WAR_MCS_MEDIATYPE_NOT_SUPPORTED: Media type not supported 2427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_setCurrentVideoEncoder( M4MCS_Context pContext, 2457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_VideoFormat mediaType); 2467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set an audio encoder 2507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param context (IN/OUT) MCS context. 2517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param MediaType (IN) Encoder type 2527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_setCurrentAudioEncoder( M4MCS_Context pContext, 2577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_AudioFormat mediaType); 2587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set current reader 2627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 2637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param mediaType (IN) Media type. 2647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4WAR_MCS_MEDIATYPE_NOT_SUPPORTED: Media type not supported 2677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_setCurrentReader( M4MCS_Context pContext, 2707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4VIDEOEDITING_FileType mediaType); 2717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set a video decoder 2757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN/OUT) MCS context. 2767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param decoderType (IN) Decoder type 2777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4WAR_MCS_MEDIATYPE_NOT_SUPPORTED: Media type not supported 2807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_setCurrentVideoDecoder( M4MCS_Context pContext, 2837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4_StreamType mediaType); 2847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Set an audio decoder 2887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param context (IN/OUT) MCS context. 2897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param decoderType (IN) Decoder type 2907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: A parameter is null (in DEBUG only) 2927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ************************************************************************ 2937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 2947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_setCurrentAudioDecoder(M4MCS_Context pContext, M4_StreamType mediaType); 2957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_intCheckAudioEffects(M4MCS_InternalContext* pContext) 2997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Check if an effect has to be applied currently 3007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note It is called by the stepEncoding function 3017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pContext (IN) MCS internal context 3027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 3037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_intCheckAudioEffects(M4MCS_InternalContext* pC); 3067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 3087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_editAudioEffectFct_FadeIn() 3107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Apply audio effect FadeIn to pPCMdata 3117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pC (IN/OUT) Internal edit context 3127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pPCMdata (IN/OUT) Input and Output PCM audio data 3137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param uiPCMsize (IN) Size of pPCMdata 3147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (IN) Effect progress 3157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 3167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_editAudioEffectFct_FadeIn( M4OSA_Void *pFunctionContext, 3197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Int16 *pPCMdata, 3207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiPCMsize, 3217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4MCS_ExternalProgress *pProgress); 3227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 3247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4MCS_editAudioEffectFct_FadeIn() 3267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Apply audio effect FadeIn to pPCMdata 3277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pC (IN/OUT) Internal edit context 3287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pPCMdata (IN/OUT) Input and Output PCM audio data 3297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param uiPCMsize (IN) Size of pPCMdata 3307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pProgress (IN) Effect progress 3317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 3327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 3337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 3347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4MCS_editAudioEffectFct_FadeOut( M4OSA_Void *pFunctionContext, 3357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_Int16 *pPCMdata, 3367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_UInt32 uiPCMsize, 3377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4MCS_ExternalProgress *pProgress); 3387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 3407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} 3417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 3427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 3437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __M4MCS_INTERNALFUNCTIONS_H__ */ 3447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 345