/* * Copyright (C) 2007 Marco Gerards <[email protected]> * Copyright (C) 2009 David Conrad * Copyright (C) 2011 Jordi Ortiz * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /** * @file * Dirac Decoder * @author Marco Gerards <[email protected]>, David Conrad, Jordi Ortiz <[email protected]> */ #include "config.h" #include "libavutil/mem.h" #include "libavutil/pixdesc.h" #include "dirac.h" #include "get_bits.h" #include "golomb.h" #include "mpeg12data.h" #if CONFIG_DIRAC_PARSE dirac_source_params; /* defaults for source parameters */ static const dirac_source_params dirac_source_parameters_defaults[] = …; /* [DIRAC_STD] Table 10.4 - Available preset pixel aspect ratio values */ static const AVRational dirac_preset_aspect_ratios[] = …; /* [DIRAC_STD] Values 9,10 of 10.3.5 Frame Rate. * Table 10.3 Available preset frame rate values */ static const AVRational dirac_frame_rate[] = …; /* [DIRAC_STD] This should be equivalent to Table 10.5 Available signal * range presets */ static const struct { … } pixel_range_presets[] = …; static const enum AVColorPrimaries dirac_primaries[] = …; static const struct { … } dirac_color_presets[] = …; /* [DIRAC_STD] Table 10.2 Supported chroma sampling formats */ static const enum AVPixelFormat dirac_pix_fmt[][3] = …; /* [DIRAC_STD] 10.3 Parse Source Parameters. * source_parameters(base_video_format) */ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb, void *log_ctx) { … } /* [DIRAC_STD] 10. Sequence Header. sequence_header() */ int av_dirac_parse_sequence_header(AVDiracSeqHeader **pdsh, const uint8_t *buf, size_t buf_size, void *log_ctx) { … } #else int av_dirac_parse_sequence_header(AVDiracSeqHeader **pdsh, const uint8_t *buf, size_t buf_size, void *log_ctx) { return AVERROR(ENOSYS); } #endif