18d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/******************************************************************************
28d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S *
38d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Copyright (C) 2015 The Android Open Source Project
48d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S *
58d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Licensed under the Apache License, Version 2.0 (the "License");
68d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * you may not use this file except in compliance with the License.
78d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * You may obtain a copy of the License at:
88d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S *
98d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * http://www.apache.org/licenses/LICENSE-2.0
108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S *
118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Unless required by applicable law or agreed to in writing, software
128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * distributed under the License is distributed on an "AS IS" BASIS,
138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * See the License for the specific language governing permissions and
158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * limitations under the License.
168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S *
178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S *****************************************************************************
188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S*/
208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  File Name         : ih264e.h                                    */
238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  Description       : This file contains all the necessary structure and   */
258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                      enumeration definitions needed for the Application   */
268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                      Program Interface(API) of the Ittiam MPEG4        */
278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                      Encoder on Cortex A8 - Neon platform                 */
288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  List of Functions : ih264e_api_function                              */
308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  Issues / Problems : None                                                 */
328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  Revision History  :                                                      */
348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*         DD MM YYYY   Author(s)       Changes (Describe the changes made)  */
368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*         26 08 2010   100239(RCY)     Draft                                */
378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*                                                                           */
388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#ifndef _IH264E_H_
418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#define _IH264E_H_
428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#ifdef __cplusplus
448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Sextern "C" {
458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#endif
468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "iv2.h"
488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#include "ive2.h"
498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Constant Macros                                                           */
518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* API Function Prototype                                                    */
568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha SIV_STATUS_T ih264e_api_function(iv_obj_t *ps_handle, void *pv_api_ip,void *pv_api_op);
588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Enums                                                                     */
618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef enum
638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    IH264E_CMD_CTL_SET_ME_INFO_ENABLE,
658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}IH264E_CMD_CTL_SUB_CMDS;
668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Extended Structures                                                       */
708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  Get Number of Memory Records                                             */
748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    iv_num_mem_rec_ip_t                    s_ive_ip;
808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_num_mem_rec_ip_t;
818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    iv_num_mem_rec_op_t                    s_ive_op;
868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_num_mem_rec_op_t;
878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  Fill Memory Records                                                      */
918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    iv_fill_mem_rec_ip_t                   s_ive_ip;
978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_fill_mem_rec_ip_t;
988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    iv_fill_mem_rec_op_t                   s_ive_op;
1038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_fill_mem_rec_op_t;
1048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*  Retrieve Memory Records                                                  */
1078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    iv_retrieve_mem_rec_ip_t               s_ive_ip;
1138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_retrieve_mem_rec_ip_t;
1148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    iv_retrieve_mem_rec_op_t               s_ive_op;
1198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_retrieve_mem_rec_op_t;
1208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Initialize encoder                                                      */
1248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_init_ip_t                           s_ive_ip;
1298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_init_ip_t;
1308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_init_op_t                           s_ive_op;
1358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_init_op_t;
1368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Queue Input raw buffer - Send the YUV buffer to be encoded              */
1408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_queue_inp_ip_t                      s_ive_ip;
1448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_queue_inp_ip_t;
1458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_queue_inp_op_t                      s_ive_op;
1498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_queue_inp_op_t;
1508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Dequeue Input raw buffer - Get free YUV buffer from the encoder         */
1538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_dequeue_inp_ip_t                      s_ive_ip;
1578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_dequeue_inp_ip_t;
1588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_dequeue_inp_op_t                      s_ive_op;
1628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_dequeue_inp_op_t;
1638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Queue Output bitstream buffer - Send the bistream buffer to be filled   */
1678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_queue_out_ip_t                      s_ive_ip;
1718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_queue_out_ip_t;
1728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_queue_out_op_t                      s_ive_op;
1768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_queue_out_op_t;
1778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Dequeue Output bitstream buffer - Get the bistream buffer filled          */
1808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_dequeue_out_ip_t                      s_ive_ip;
1848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_dequeue_out_ip_t;
1858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_dequeue_out_op_t                      s_ive_op;
1898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_dequeue_out_op_t;
1908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
1928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Get Recon data - Get the reconstructed data from encoder                  */
1948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
1958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
1968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
1978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_get_recon_ip_t                        s_ive_ip;
1988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_get_recon_ip_t;
1998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_get_recon_op_t                        s_ive_op;
2038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_get_recon_op_t;
2048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Flush                                                    */
2068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_flush_ip_t                      s_ive_ip;
2128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_flush_ip_t;
2138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_flush_op_t                      s_ive_op;
2188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_flush_op_t;
2198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control reset                                                     */
2228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_reset_ip_t                      s_ive_ip;
2288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_reset_ip_t;
2298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_reset_op_t                      s_ive_op;
2348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_reset_op_t;
2358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control:Get Buf Info                                              */
2398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_getbufinfo_ip_t             s_ive_ip;
2458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_getbufinfo_ip_t;
2468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_getbufinfo_op_t             s_ive_op;
2528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_getbufinfo_op_t;
2538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control:Get Version Info                                          */
2588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_getversioninfo_ip_t         s_ive_ip;
2648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_getversioninfo_ip_t;
2658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_getversioninfo_op_t         s_ive_op;
2718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_getversioninfo_op_t;
2728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control:Set default params                                       */
2758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_setdefault_ip_t         s_ive_ip;
2818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_setdefault_ip_t;
2828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_setdefault_op_t         s_ive_op;
2888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_setdefault_op_t;
2898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set IPE params                                           */
2928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
2938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
2958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_ipe_params_ip_t     s_ive_ip;
2968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_ipe_params_ip_t;
2978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
2988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
2998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_ipe_params_op_t     s_ive_op;
3018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_ipe_params_op_t;
3028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Frame dimensions                                     */
3058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_dimensions_ip_t     s_ive_ip;
3098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_dimensions_ip_t;
3108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_dimensions_op_t     s_ive_op;
3148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_dimensions_op_t;
3158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Frame rates                                          */
3188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_frame_rate_ip_t     s_ive_ip;
3228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_frame_rate_ip_t;
3238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_frame_rate_op_t     s_ive_op;
3268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_frame_rate_op_t;
3278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Bitrate                                              */
3318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_bitrate_ip_t        s_ive_ip;
3358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_bitrate_ip_t;
3368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_bitrate_op_t        s_ive_op;
3408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_bitrate_op_t;
3418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Frame type                                           */
3458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_frame_type_ip_t     s_ive_ip;
3498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_frame_type_ip_t;
3508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_frame_type_op_t     s_ive_op;
3548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_frame_type_op_t;
3558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Encode mode                                          */
3588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_enc_mode_ip_t       s_ive_ip;
3628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_enc_mode_ip_t;
3638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_enc_mode_op_t       s_ive_op;
3678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_enc_mode_op_t;
3688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set QP                                                   */
3718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_qp_ip_t             s_ive_ip;
3758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_qp_ip_t;
3768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_qp_op_t             s_ive_op;
3808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_qp_op_t;
3818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set AIR params                                           */
3848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_air_params_ip_t     s_ive_ip;
3888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_air_params_ip_t;
3898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
3928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_air_params_op_t     s_ive_op;
3938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_air_params_op_t;
3948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
3958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set VBV params                                           */
3978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
3988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
3998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_vbv_params_ip_t     s_ive_ip;
4018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_vbv_params_ip_t;
4028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_vbv_params_op_t     s_ive_op;
4068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_vbv_params_op_t;
4078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Processor Details                                    */
4108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_num_cores_ip_t      s_ive_ip;
4148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_num_cores_ip_t;
4158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_num_cores_op_t      s_ive_op;
4198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_num_cores_op_t;
4208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Motion estimation params                             */
4238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_me_params_ip_t      s_ive_ip;
4278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_me_params_ip_t;
4288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_me_params_op_t      s_ive_op;
4328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_me_params_op_t;
4338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set GOP params                                           */
4368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_gop_params_ip_t     s_ive_ip;
4408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_gop_params_ip_t;
4418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_gop_params_op_t     s_ive_op;
4458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_gop_params_op_t;
4468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Deblock params                                       */
4498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_deblock_params_ip_t s_ive_ip;
4538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_deblock_params_ip_t;
4548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_deblock_params_op_t s_ive_op;
4588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_deblock_params_op_t;
4598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Video control  Set Profile params                                       */
4628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_profile_params_ip_t s_ive_ip;
4668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_profile_params_ip_t;
4678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_ctl_set_profile_params_op_t s_ive_op;
4718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_ctl_set_profile_params_op_t;
4728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Synchronous video encode call                                           */
4758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
4768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_video_encode_ip_t s_ive_ip;
4798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_video_encode_ip_t;
4808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
4828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
4838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    ive_video_encode_op_t s_ive_op;
4848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_video_encode_op_t;
4858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
4868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
487983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex/*****************************************************************************/
488983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex/*   Video usability information                                             */
489983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex/*****************************************************************************/
490983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alextypedef struct
491983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex{
492983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** size of the structure  */
493983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD32                                     u4_size;
494983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
495983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Command type : IVE_CMD_VIDEO_CTL  */
496983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    IVE_API_COMMAND_TYPE_T                      e_cmd;
497983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
498983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Sub command type : IVE_CMD_CTL_SET_GOP_PARAMS */
499983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    IVE_CONTROL_API_COMMAND_TYPE_T              e_sub_cmd;
500983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
501983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** indicates the presence of aspect_ratio */
502983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_aspect_ratio_info_present_flag;
503983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
504983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** specifies the aspect ratio of the luma samples */
505983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_aspect_ratio_idc;
506983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
507983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** width of the luma samples. user dependent */
508983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD16                                     u2_sar_width;
509983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
510983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Height of the luma samples. user dependent */
511983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD16                                     u2_sar_height;
512983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
513983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** if 1, specifies that the overscan_appropriate_flag is present
514983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * if 0, the preferred display method for the video signal is unspecified */
515983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_overscan_info_present_flag;
516983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
517983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** if 1,indicates that the cropped decoded pictures output
518983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * are suitable for display using overscan */
519983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_overscan_appropriate_flag;
520983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
521983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** if 1 specifies that video_format, video_full_range_flag and
522983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * colour_description_present_flag are present */
523983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_video_signal_type_present_flag;
524983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
525983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** pal, secam, ntsc, ...  */
526983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_video_format;
527983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
528983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** indicates the black level and range of the luma and chroma signals */
529983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_video_full_range_flag;
530983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
531983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** if 1,specifies that colour_primaries, transfer_characteristics
532983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * and matrix_coefficients are present */
533983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_colour_description_present_flag;
534983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
535983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** indicates the chromaticity coordinates of the source primaries  */
536983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_colour_primaries;
537983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
538983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** indicates the opto-electronic transfer characteristic of the source picture */
539983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_transfer_characteristics;
540983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
541983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** the matrix coefficients used in deriving luma and chroma signals
542983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * from the green, blue, and red primaries */
543983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_matrix_coefficients;
544983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
545983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** if 1, specifies that chroma_sample_loc_type_top_field and
546983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * chroma_sample_loc_type_bottom_field are present */
547983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_chroma_loc_info_present_flag;
548983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
549983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** location of chroma samples */
550983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_chroma_sample_loc_type_top_field;
551983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_chroma_sample_loc_type_bottom_field;
552983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
553983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /**  Indicates the presence of the num_units_in_ticks, time_scale flag */
554983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_vui_timing_info_present_flag;
555983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
556983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /**  Number of units that correspond to one increment of the
557983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    *   clock. Indicates the  resolution */
558983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD32                                     u4_vui_num_units_in_tick;
559983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
560983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /**  The number of time units that pass in one second */
561983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD32                                     u4_vui_time_scale;
562983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
563983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Flag indicating that time difference between two frames is a constant */
564983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_fixed_frame_rate_flag;
565983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
566983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicates the presence of NAL HRD parameters */
567983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_nal_hrd_parameters_present_flag;
568983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
569983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicates the presence of VCL HRD parameters */
570983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_vcl_hrd_parameters_present_flag;
571983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
572983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Specifies the HRD operational mode */
573983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_low_delay_hrd_flag;
574983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
575983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicates presence of SEI messages which include pic_struct syntax element */
576983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_pic_struct_present_flag;
577983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
578983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** 1, specifies that the following cvs bitstream restriction parameters are present */
579983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_bitstream_restriction_flag;
580983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
581983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** if 0, indicates that no pel outside the pic boundaries and
582983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * no sub-pels derived using pels outside the pic boundaries is used for inter prediction */
583983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_motion_vectors_over_pic_boundaries_flag;
584983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
585983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units
586983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * associated with any coded picture */
587983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_max_bytes_per_pic_denom;
588983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
589983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicates an upper bound for the number of bits of coding_unit() data */
590983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_max_bits_per_mb_denom;
591983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
592983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicate the maximum absolute value of a decoded horizontal MV component
593983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * in quarter-pel luma units */
594983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_log2_max_mv_length_horizontal;
595983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
596983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Indicate the maximum absolute value of a decoded vertical MV component
597983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex     * in quarter-pel luma units */
598983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_log2_max_mv_length_vertical;
599983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
600983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Max number of frames that are not synchronized in display and decode order */
601983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_num_reorder_frames;
602983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
603983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** specifies required size of the HRD DPB in units of frame buffers */
604983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD8                                      u1_max_dec_frame_buffering;
605983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
606983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex}ih264e_vui_ip_t;
607983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
608983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alextypedef struct
609983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex{
610983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** size of the structure                                           */
611983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD32                                     u4_size;
612983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
613983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    /** Return error code                                               */
614983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex    UWORD32                                     u4_error_code;
615983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex}ih264e_vui_op_t;
616983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
617983e1aecd4739d2a558228e3fb6f9895333f25d4Doney Alex
6188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* The enum values should not have greater than 8 bits as this is assigned to WORD8 */
6198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef enum
6208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
6218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    INTRA16x16 = 0,
6228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    INTRA4x4,
6238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    INTER16x16
6248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}IV_MB_TYPE_T;
6258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
6278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   Pic info structures                                                     */
6288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
6298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
6308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
6318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Qp  */
6328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    UWORD32                                     u4_qp;
6338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Pic Type */
6358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    IV_PICTURE_CODING_TYPE_T                    e_frame_type;
6368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_pic_info1_t;
6388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
6408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
6418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Qp  */
6428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    UWORD32                                     u4_qp;
6438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Pic Type */
6458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    IV_PICTURE_CODING_TYPE_T                    e_frame_type;
6468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Disable deblock level (0: Enable completely, 3: Disable completely */
6488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    UWORD32                                     u4_disable_deblock_level;
6498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_pic_info2_t;
6518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6528d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6538d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
6548d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*   MB info structures                                                     */
6558d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/*****************************************************************************/
6568d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
6578d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
6588d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** MV X    */
6598d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD16                                  i2_mv_x;
6608d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6618d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** MV Y    */
6628d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD16                                  i2_mv_y;
6638d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_mv_t;
6648d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6658d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
6668d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
6678d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Intra / Inter    */
6688d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD8                                       i1_mb_type;
6698d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    union
6708d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    {
6718d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mv_t                                 as_mv[1];
6728d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6738d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        /** Intra mode */
6748d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        WORD8                                       ai1_intra_mode[1];
6758d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    };
6768d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_mb_info1_t;
6778d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6788d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
6798d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
6808d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Intra / Inter    */
6818d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD8                                       i1_mb_type;
6828d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6838d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6848d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** SAD     */
6858d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    UWORD16                                     u2_sad;
6868d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6878d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    union
6888d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    {
6898d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mv_t                                 as_mv[1];
6908d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6918d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        /** Intra mode */
6928d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        WORD8                                       ai1_intra_mode[1];
6938d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    };
6948d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6958d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6968d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_mb_info2_t;
6978d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
6988d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
6998d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
7008d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Intra / Inter    */
7018d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD8                                       i1_mb_type;
7028d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7038d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    union
7048d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    {
7058d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mv_t                                 as_mv[4];
7068d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7078d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        /** Intra mode */
7088d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        WORD8                                       ai1_intra_mode[16];
7098d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    };
7108d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7118d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_mb_info3_t;
7128d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7138d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
7148d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
7158d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Intra / Inter    */
7168d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD8                                       i1_mb_type;
7178d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7188d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** Intra Mode      */
7198d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    WORD8                                       i1_intra_mode;
7208d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7218d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    /** SAD     */
7228d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    UWORD16                                     u2_sad;
7238d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7248d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    union
7258d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    {
7268d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mv_t                                 as_mv[16];
7278d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7288d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        /** Intra mode */
7298d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        WORD8                                       ai1_intra_mode[16];
7308d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    };
7318d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7328d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7338d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7348d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_mb_info4_t;
7358d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7368d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S/* Add any new structures to the following union. It is used to calculate the max size needed for allocation of memory */
7378d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha Stypedef struct
7388d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S{
7398d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    union
7408d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    {
7418d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mb_info1_t               s_mb_info1;
7428d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mb_info2_t               s_mb_info2;
7438d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mb_info3_t               s_mb_info3;
7448d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S        ih264e_mb_info4_t               s_mb_info4;
7458d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S    };
7468d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S}ih264e_mb_info_t;
7478d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S
7488d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#ifdef __cplusplus
7498d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S} /* closing brace for extern "C" */
7508d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#endif
7518d3d303c7942ced6a987a52db8977d768dc3605fHamsalekha S#endif /* _IH264E_H_ */
752