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