nengel@2: /* nengel@2: * H.26L/H.264/AVC/JVT/14496-10/... encoder/decoder nengel@2: * Copyright (c) 2003 Michael Niedermayer nengel@2: * nengel@2: * This file is part of FFmpeg. nengel@2: * nengel@2: * FFmpeg is free software; you can redistribute it and/or nengel@2: * modify it under the terms of the GNU Lesser General Public nengel@2: * License as published by the Free Software Foundation; either nengel@2: * version 2.1 of the License, or (at your option) any later version. nengel@2: * nengel@2: * FFmpeg is distributed in the hope that it will be useful, nengel@2: * but WITHOUT ANY WARRANTY; without even the implied warranty of nengel@2: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU nengel@2: * Lesser General Public License for more details. nengel@2: * nengel@2: * You should have received a copy of the GNU Lesser General Public nengel@2: * License along with FFmpeg; if not, write to the Free Software nengel@2: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA nengel@2: */ nengel@2: nengel@2: /** nengel@2: * @file nengel@2: * H.264 / AVC / MPEG4 part10 codec. nengel@2: * @author Michael Niedermayer nengel@2: */ nengel@2: nengel@2: #ifndef H264_H nengel@2: #define H264_H nengel@2: nengel@2: #include "h264_entropy.h" nengel@2: #include "h264_data.h" nengel@2: #include "h264_mc.h" nengel@2: #include "h264_misc.h" nengel@2: #include "h264_dsp.h" nengel@2: #include "h264_pred.h" nengel@2: #include "h264_parser.h" nengel@2: #include "h264_nal.h" nengel@2: #include "h264_rec.h" nengel@2: #include "h264_deblock.h" nengel@2: #include "h264_types.h" nengel@3: #include "VSs_impl/VSs.h" nengel@2: nengel@2: typedef struct h264_options{ nengel@2: int statsched; nengel@2: int statmbd; nengel@2: int numamap; nengel@2: int no_mbd; nengel@2: int numframes; nengel@2: int display; nengel@2: int fullscreen; nengel@2: int verbose; nengel@2: int ppe_ed; // only useful for Cell nengel@2: int profile; nengel@2: int threads; nengel@2: int smb_size[2]; // only useful for OmpSs nengel@2: int wave_order; nengel@2: int static_3d; nengel@2: int pipe_bufs; nengel@2: int slice_bufs; nengel@2: int smt; nengel@2: }h264_options; nengel@2: nengel@2: int h264_decode_cell(H264Context *h); nengel@2: int h264_decode_cell_seq(H264Context *h); nengel@2: nengel@7: int h264_decode_ompss(H264Context *h); nengel@2: nengel@2: int h264_decode_pthread(H264Context *h); nengel@2: int h264_decode_seq(H264Context *h); nengel@2: nengel@2: nengel@2: H264Context *get_h264dec_context(const char *file_name, int ifile, int ofile, int frame_width, int frame_height, h264_options *opts); nengel@2: void free_h264dec_context(H264Context *h); nengel@2: nengel@2: nengel@2: #endif /* AVCODEC_H264_H */