Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e779fda authored by Rajneesh Chowdury's avatar Rajneesh Chowdury
Browse files

Fix for 4132872 inefficient export logic.

Also fixes 3371103 Transitions between images takes a long time
to generate.

Redundant transcoding is removed. Decode encode will be done only
once per clip.
For images, conversion to 3gp clip is removed (except for generating
Kenburn image clip).

Change-Id: Id722cd0296641bd643eb5c63f4d8028716259c01
parent 2d461d44
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -67,8 +67,9 @@ typedef enum
    M4DA_StreamTypeAudioBpc                = 25,    /**< BPC audio */

    /* ADPCM */
    M4DA_StreamTypeAudioADPcm            = 26    /**< ADPCM */
    M4DA_StreamTypeAudioADPcm            = 26,    /**< ADPCM */

    M4DA_StreamTypeVideoARGB8888        = 27
} M4_StreamType;

/**
+17 −0
Original line number Diff line number Diff line
@@ -113,6 +113,22 @@ typedef enum
    M4DECODER_kOptionID_NextRenderedFrameCTS = M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON,\
                                                                         0x05),

    /**
    Set the YUV data to the dummy video decoder
    */
    M4DECODER_kOptionID_DecYuvData =
        M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x06),
    /**
    Set the YUV data with color effect applied to the dummy video decoder
    */
    M4DECODER_kOptionID_YuvWithEffectNonContiguous =
        M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x07),

    M4DECODER_kOptionID_YuvWithEffectContiguous =
        M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x08),

    M4DECODER_kOptionID_EnableYuvWithEffect =
        M4OSA_OPTION_ID_CREATE(M4_READ, M4DECODER_COMMON, 0x09),

    /* common to MPEG4 decoders */
    /**
@@ -201,6 +217,7 @@ typedef enum
    M4DECODER_kVideoTypeAVC,
    M4DECODER_kVideoTypeWMV,
    M4DECODER_kVideoTypeREAL,
    M4DECODER_kVideoTypeYUV420P,

    M4DECODER_kVideoType_NB  /* number of decoders, keep it as last enum entry */

+57 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
*************************************************************************
 * @file    M4VD_Null.h
 * @brief   Implementation of the a "null" video decoder,i.e. a decoder
 *          that does not do actual decoding.
 * @note    This file defines the getInterface function.
*************************************************************************
*/
#ifndef __M4DECODER_NULL_H__
#define __M4DECODER_NULL_H__

#include "M4DECODER_Common.h"

#ifdef __cplusplus
extern "C" {
#endif


/**
 ************************************************************************
 * @brief Retrieves the interface implemented by the decoder
 * @param pDecoderType        : Pointer to a M4DECODER_VideoType
 *                             (allocated by the caller)
 *                             that will be filled with the decoder type
 * @param pDecoderInterface   : Address of a pointer that will be set to
 *                              the interface implemented by this decoder.
 *                              The interface is a structure allocated by
 *                              this function and must be freed by the caller.
 *
 * @returns : M4NO_ERROR  if OK
 *            M4ERR_ALLOC if allocation failed
 ************************************************************************
*/
M4OSA_ERR M4DECODER_NULL_getInterface( M4DECODER_VideoType *pDecoderType,
                                 M4DECODER_VideoInterface **pDecoderInterface);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /*__M4DECODER_NULL_H__*/
+1 −0
Original line number Diff line number Diff line
@@ -369,6 +369,7 @@ typedef struct {
    M4OSA_UInt32                        uiStillPicWidth;        /**< Image width */
    M4OSA_UInt32                        uiStillPicHeight;       /**< Image height */
    M4OSA_UInt32                        uiClipAudioVolumePercentage;
    M4OSA_Bool                          bSetImageData;

} M4VIDEOEDITING_ClipProperties;

+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@

/* ----- AAC decoder support ----- */
#define M4VSS_SUPPORT_AUDEC_AAC            /**< [default] Support AAC, AAC+ and eAAC+ streams */
#define M4VSS_SUPPORT_VIDEC_NULL

/* ----- MP4/H263 video decoder support ----- */
#define M4VSS_SUPPORT_VIDEC_3GP         /**< [default] Support mpeg4 and H263 decoders */
Loading