yading@10: /* yading@10: * Chinese AVS video (AVS1-P2, JiZhun profile) decoder. yading@10: * Copyright (c) 2006 Stefan Gehrer yading@10: * yading@10: * This file is part of FFmpeg. yading@10: * yading@10: * FFmpeg is free software; you can redistribute it and/or yading@10: * modify it under the terms of the GNU Lesser General Public yading@10: * License as published by the Free Software Foundation; either yading@10: * version 2.1 of the License, or (at your option) any later version. yading@10: * yading@10: * FFmpeg is distributed in the hope that it will be useful, yading@10: * but WITHOUT ANY WARRANTY; without even the implied warranty of yading@10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU yading@10: * Lesser General Public License for more details. yading@10: * yading@10: * You should have received a copy of the GNU Lesser General Public yading@10: * License along with FFmpeg; if not, write to the Free Software yading@10: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA yading@10: */ yading@10: yading@10: #include "cavs.h" yading@10: yading@10: const uint8_t ff_cavs_partition_flags[30] = { yading@10: 0, //I_8X8 yading@10: 0, //P_SKIP yading@10: 0, //P_16X16 yading@10: SPLITH, //P_16X8 yading@10: SPLITV, //P_8X16 yading@10: SPLITH|SPLITV, //P_8X8 yading@10: SPLITH|SPLITV, //B_SKIP yading@10: SPLITH|SPLITV, //B_DIRECT yading@10: 0, //B_FWD_16X16 yading@10: 0, //B_BWD_16X16 yading@10: 0, //B_SYM_16X16 yading@10: FWD0|FWD1 |SPLITH, yading@10: FWD0|FWD1 |SPLITV, yading@10: BWD0|BWD1 |SPLITH, yading@10: BWD0|BWD1 |SPLITV, yading@10: FWD0|BWD1 |SPLITH, yading@10: FWD0|BWD1 |SPLITV, yading@10: BWD0|FWD1 |SPLITH, yading@10: BWD0|FWD1 |SPLITV, yading@10: FWD0|FWD1 |SYM1|SPLITH, yading@10: FWD0|FWD1 |SYM1 |SPLITV, yading@10: BWD0|FWD1 |SYM1|SPLITH, yading@10: BWD0|FWD1 |SYM1 |SPLITV, yading@10: FWD0|FWD1|SYM0 |SPLITH, yading@10: FWD0|FWD1|SYM0 |SPLITV, yading@10: FWD0|BWD1|SYM0 |SPLITH, yading@10: FWD0|BWD1|SYM0 |SPLITV, yading@10: FWD0|FWD1|SYM0|SYM1|SPLITH, yading@10: FWD0|FWD1|SYM0|SYM1 |SPLITV, yading@10: SPLITH|SPLITV, //B_8X8 = 29 yading@10: }; yading@10: yading@10: /** mark block as "no prediction from this direction" yading@10: e.g. forward motion vector in BWD partition */ yading@10: const cavs_vector ff_cavs_dir_mv = {0,0,1,REF_DIR}; yading@10: yading@10: /** mark block as using intra prediction */ yading@10: const cavs_vector ff_cavs_intra_mv = {0,0,1,REF_INTRA};