1aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani/****************************************************************************** 2aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * 3aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * Copyright (C) 2015 The Android Open Source Project 4aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * 5aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * Licensed under the Apache License, Version 2.0 (the "License"); 6aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * you may not use this file except in compliance with the License. 7aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * You may obtain a copy of the License at: 8aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * 9aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * http://www.apache.org/licenses/LICENSE-2.0 10aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * 11aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * Unless required by applicable law or agreed to in writing, software 12aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * distributed under the License is distributed on an "AS IS" BASIS, 13aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * See the License for the specific language governing permissions and 15aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * limitations under the License. 16aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * 17aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani ***************************************************************************** 18aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani*/ 20aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani/** 21aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani******************************************************************************* 22aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* @file 23aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* impeg2d_function_selector.c 24aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* 25aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* @brief 26aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* Contains functions to initialize function pointers used in mpeg2 27aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* 28aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* @author 29aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* Naveen 30aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* 31aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* @par List of Functions: 32aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* @remarks 33aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* None 34aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani* 35aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani******************************************************************************* 36aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani*/ 37aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani/*****************************************************************************/ 38aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani/* File Includes */ 39aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani/*****************************************************************************/ 40aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include <stdio.h> 41aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include <stddef.h> 42aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include <stdlib.h> 43aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include <string.h> 44aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 45aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "iv_datatypedef.h" 46aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "iv.h" 47aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "ithread.h" 48aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 49aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 50aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_macros.h" 51aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_buf_mgr.h" 52aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_disp_mgr.h" 53aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_defs.h" 54aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_platform_macros.h" 55aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_inter_pred.h" 56aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_idct.h" 57aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_mem_func.h" 58aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_format_conv.h" 59aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_job_queue.h" 60aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2_globals.h" 61aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 62aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "ivd.h" 63aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d.h" 64aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_api.h" 65aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_debug.h" 66aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_bitstream.h" 67aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_structs.h" 68aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_mc.h" 69aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_pic_proc.h" 70aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_vld_tables.h" 71aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_vld.h" 72aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani#include "impeg2d_pic_proc.h" 73aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 74aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhanivoid impeg2d_init_function_ptr_av8(void *pv_codec) 75aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani{ 76aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec_state_t *dec = (dec_state_t *)pv_codec; 77aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 78aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_idct_recon[0] = &impeg2_idct_recon_dc_av8; 79aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_idct_recon[1] = &impeg2_idct_recon_dc_mismatch_av8; 80aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_idct_recon[2] = &impeg2_idct_recon_av8; 81aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_idct_recon[3] = &impeg2_idct_recon_av8; 82aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 83aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_mc[0] = &impeg2d_mc_fullx_fully; 84aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_mc[1] = &impeg2d_mc_fullx_halfy; 85aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_mc[2] = &impeg2d_mc_halfx_fully; 86aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_mc[3] = &impeg2d_mc_halfx_halfy; 87aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 88aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_interpolate = &impeg2_interpolate_av8; 89aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_copy_mb = &impeg2_copy_mb_av8; 90aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 91aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_fullx_halfy_8x8 = &impeg2_mc_fullx_halfy_8x8_av8; 92aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_halfx_fully_8x8 = &impeg2_mc_halfx_fully_8x8_av8; 93aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_halfx_halfy_8x8 = &impeg2_mc_halfx_halfy_8x8_av8; 94aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_fullx_fully_8x8 = &impeg2_mc_fullx_fully_8x8_av8; 95aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 96aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_memset_8bit_8x8_block = &impeg2_memset_8bit_8x8_block_av8; 97aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_memset_16bit_8x8_linear_block = &impeg2_memset0_16bit_8x8_linear_block_av8; 98aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani 99aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_copy_yuv420p_buf = &impeg2_copy_frm_yuv420p; 100aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_fmt_conv_yuv420p_to_yuv422ile = &impeg2_fmt_conv_yuv420p_to_yuv422ile; 101aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_fmt_conv_yuv420p_to_yuv420sp_uv = &impeg2_fmt_conv_yuv420p_to_yuv420sp_uv_av8; 102aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani dec->pf_fmt_conv_yuv420p_to_yuv420sp_vu = &impeg2_fmt_conv_yuv420p_to_yuv420sp_vu_av8; 103aed24eee7ddfc93f1436b0c1679431bd286879b4Venkatarama Avadhani} 104