⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fbm_driver_api.c

📁 tuner扫描
💻 C
字号:
/*==========================================================================*/
/*     (Copyright (C) 2003 Koninklijke Philips Electronics N.V.             */
/*     All rights reserved.                                                 */
/*     This source code and any compilation or derivative thereof is the    */
/*     proprietary information of Koninklijke Philips Electronics N.V.      */
/*     and is confidential in nature.                                       */
/*     Under no circumstances is this software to be exposed to or placed   */
/*     under an Open Source License of any type without the expressed       */
/*     written permission of Koninklijke Philips Electronics N.V.           */
/*==========================================================================*/
/*==========================================================================*/
/*                                                                          
       SOURCE_FILE:    $RCSfile: fbm_driver_api.c,v $
       APPLICATION:                                                         
       PACKAGE:        Video Output  
       COMPONENT:      MPEG Video       
       VERSION:        $Revision: 1.7 $
       DATE:           $Date: 1998/04/29 12:13:58 $
                                                                            
       (C) 1997: Philips Export B.V.                                  
                                                                            
       All rights are reserved. Reproduction in whole or in part is         
       prohibited without the prior written consent of the copyright        
       owner. The information presented in this document does not           
       form part of any quotation or contract, is believed to be            
       accurate and reliable and may be changed without notice.             
       No liability will be accepted by the publisher for any               
       consequence of its use. Publication thereof does not convey          
       nor imply any license under patent- or other industrial or           
       intellectual property rights.                                        
*/                                                                          
/*==========================================================================*/

/*==========================================================================*/
/*       I N C L U D E S                                                    */ 
/*==========================================================================*/

#include "standard.h"

#include "mv_dec.h"
#include "mv_decl.h"
#include "fbm_sw.h"
#include "fbm_api.h"
#include "fbm_driver_api.h"

#include "disp_api.h"

/*==========================================================================*/
/*       L O C A L   S Y M B O L   D E C L A R A T I O N S                  */ 
/*==========================================================================*/

/*==========================================================================*/
/*       L O C A L   F U N C T I O N S   P R O T O T Y P E S                */ 
/*==========================================================================*/

/*MPF=======================================================================*/
/*
    FUNCTION NAME: MV_FBM_driver_dec_to_disp	

    DESCRIPTION:
    Update the dec_to_disp_N1 flag of FBM status

    RETURNS:
        MV_FBM_OK
	MV_FBM_NOT_OK

    CALLING SEQUENCE:
*/
int
MV_FBM_driver_dec_to_disp(
ULONG         msg_buf[4],
FBM_STATUS    *ou_fbm_status_ptr
)
/*EMP=======================================================================*/
{
   UInt32 returnVal = MV_FBM_OK;

   if(msg_buf[1] == MV_DEC_TO_DISP_N1)
   {
      ou_fbm_status_ptr->dec_to_disp_N1 = TRUE;
   }
   else
   {
      ou_fbm_status_ptr->dec_to_disp_N1 = FALSE;
   }

   return(returnVal);

} /* End MV_FBM_driver_dec_to_disp */

/*MPF=======================================================================*/
/*
    FUNCTION NAME: MV_FBM_driver_scan	

    DESCRIPTION:
    Update the scan status of FBM_status

    RETURNS:
        MV_FBM_OK
	MV_FBM_NOT_OK

    CALLING SEQUENCE:
*/
int
MV_FBM_driver_scan(
ULONG         msg_buf[4],
FBM_STATUS    *ou_fbm_status_ptr
)
/*EMP=======================================================================*/
{
   UInt32 returnVal = MV_FBM_OK;

   switch(msg_buf[1])
   {
      case MV_DEC_SCAN_MODE_I_PICTURE:
      case MV_DEC_SCAN_MODE_IP_PICTURE:
      case MV_DEC_SCAN_MODE_NONE:
      
         ou_fbm_status_ptr->scan_status = msg_buf[1];
         break;
      
      default:
         returnVal = MV_FBM_NOT_OK;
         break;
   }

   return(returnVal);   

} /* End MV_FBM_driver_scan */

/*MPF=======================================================================*/
/*
    FUNCTION NAME: MV_FBM_driver_freeze	

    DESCRIPTION:
    Update the freeze status of FBM_status

    RETURNS:
        MV_FBM_OK
	MV_FBM_NOT_OK

    CALLING SEQUENCE:
*/
int
MV_FBM_driver_freeze(
ULONG         msg_buf[4],
FBM_STATUS    *ou_fbm_status_ptr
)
/*EMP=======================================================================*/
{
   UInt32 returnVal = MV_FBM_OK;

   switch(msg_buf[1])
   {
      case MV_DEC_FREEZE_MODE_B:
      case MV_DEC_FREEZE_MODE_IP:
      case MV_DEC_FREEZE_MODE_NONE:
      
         ou_fbm_status_ptr->freeze_mode_requested = msg_buf[1];
         break;
      
      default:
         returnVal = MV_FBM_NOT_OK;
         break;
   }

   return(returnVal);   

} /* End MV_FBM_driver_freeze */

/*MPF=======================================================================*/
/*
    FUNCTION NAME: MV_FBM_driver_play	

    DESCRIPTION:
    Update the play status of FBM_status

    RETURNS:
        MV_FBM_OK
	MV_FBM_NOT_OK

    CALLING SEQUENCE:
*/
int
MV_FBM_driver_play(
FBM_STATUS    *ou_fbm_status_ptr
)
/*EMP=======================================================================*/
{
   UInt32 returnVal = MV_FBM_OK;

   ou_fbm_status_ptr->scan_status           = MV_DEC_SCAN_MODE_NONE;
   ou_fbm_status_ptr->step_status           = MV_DEC_STEP_MODE_NONE;
   ou_fbm_status_ptr->freeze_mode_requested = MV_DEC_FREEZE_MODE_NONE;

   ou_fbm_status_ptr->dec_picture_controlled = FALSE;

   /*----------------------------------------------------------------!
     !    No check on decoding should be performed on the coming Vs    !
     !    Look for a new picture to decode                             !
     !----------------------------------------------------------------*/
  
   ou_fbm_status_ptr->Vs             = VS_DECODE;
   ou_fbm_status_ptr->next_Vs        = VS_DECODE;
   
   return(returnVal);

} /* End MV_FBM_driver_play */

/*MPF=======================================================================*/
/*  
    FUNCTION NAME:     MV_FBM_driver_step

    PACKAGE:           MV_FBM

    SCOPE:             <PACKAGE, COMPONENT, CLUSTER or SYSTEM>

    CALLING SEQUENCE:
*/
int                              /* Returns: <description> */
MV_FBM_driver_step(    
ULONG         msg_buf[4],
FBM_STATUS    *ou_fbm_status_ptr
)
/*EMP=======================================================================*/
{
   UInt32 returnVal = MV_FBM_OK;

   switch(msg_buf[1])
   {
      case MV_DEC_STEP_MODE_I:
      case MV_DEC_STEP_MODE_IP:
      
         ou_fbm_status_ptr->step_status = msg_buf[1];
         ou_fbm_status_ptr->step_required = TRUE;

         /* Switch to picture_controlled mode */

         ou_fbm_status_ptr->dec_picture_controlled = TRUE;

         /* Set next_Vs to VS_DECODE */

         ou_fbm_status_ptr->next_Vs = VS_DECODE;

         /* Update decode_next_picture_request */

         ou_fbm_status_ptr->decode_next_picture_request = TRUE ;
         break;
  
      case MV_DEC_STEP_MODE_NONE:
      
         ou_fbm_status_ptr->step_status = MV_DEC_STEP_MODE_NONE;
         ou_fbm_status_ptr->step_required = FALSE;

         /* Switch to picture_controlled mode */

         ou_fbm_status_ptr->dec_picture_controlled = FALSE;

         /* Set next_Vs to VS_DECODE */

         ou_fbm_status_ptr->next_Vs = VS_NO_DECODE;

         /* Update decode_next_picture_request */

         ou_fbm_status_ptr->decode_next_picture_request = FALSE ;
         break;
      
      default:
         returnVal = MV_FBM_NOT_OK;
         break;
   }

   return(returnVal);

} /* End of MV_FBM_driver_step */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -