From 251cbb44003caf179fb17afbb8a6c56643c2a646 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 18 May 2016 09:16:35 +0200 Subject: [PATCH] h264: create a new header for common h264 definitions Move the NAL unit types into it. This will allow to stop including the whole decoder-specific h264dec.h in some code that is unrelated to the decoder and only needs some enum values. --- libavcodec/h264.h | 45 ++++++++++++++++++++++++++++++++++ libavcodec/h264_parse.c | 1 + libavcodec/h264_parser.c | 1 + libavcodec/h264_refs.c | 1 + libavcodec/h264_slice.c | 1 + libavcodec/h264dec.c | 1 + libavcodec/h264dec.h | 18 -------------- libavcodec/omx.c | 2 +- libavcodec/vaapi_encode_h264.c | 2 +- 9 files changed, 52 insertions(+), 20 deletions(-) create mode 100644 libavcodec/h264.h diff --git a/libavcodec/h264.h b/libavcodec/h264.h new file mode 100644 index 0000000000..650371f803 --- /dev/null +++ b/libavcodec/h264.h @@ -0,0 +1,45 @@ +/* + * This file is part of Libav. + * + * Libav 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. + * + * Libav 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 Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * H.264 common definitions + */ + +#ifndef AVCODEC_H264_H +#define AVCODEC_H264_H + +/* NAL unit types */ +enum { + NAL_SLICE = 1, + NAL_DPA = 2, + NAL_DPB = 3, + NAL_DPC = 4, + NAL_IDR_SLICE = 5, + NAL_SEI = 6, + NAL_SPS = 7, + NAL_PPS = 8, + NAL_AUD = 9, + NAL_END_SEQUENCE = 10, + NAL_END_STREAM = 11, + NAL_FILLER_DATA = 12, + NAL_SPS_EXT = 13, + NAL_AUXILIARY_SLICE = 19, +}; + +#endif /* AVCODEC_H264_H */ diff --git a/libavcodec/h264_parse.c b/libavcodec/h264_parse.c index be75b054e6..ba67f4e012 100644 --- a/libavcodec/h264_parse.c +++ b/libavcodec/h264_parse.c @@ -19,6 +19,7 @@ #include "bytestream.h" #include "get_bits.h" #include "golomb.h" +#include "h264.h" #include "h264dec.h" #include "h264_parse.h" diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index c474183366..9e36118ac0 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -36,6 +36,7 @@ #include "get_bits.h" #include "golomb.h" +#include "h264.h" #include "h264dec.h" #include "h264_sei.h" #include "h264data.h" diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index d6dee7a290..4172fbdaa3 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -29,6 +29,7 @@ #include "internal.h" #include "avcodec.h" +#include "h264.h" #include "h264dec.h" #include "golomb.h" #include "mpegutils.h" diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index d49c619a22..1c4cf33532 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -35,6 +35,7 @@ #include "cabac_functions.h" #include "error_resilience.h" #include "avcodec.h" +#include "h264.h" #include "h264dec.h" #include "h264data.h" #include "h264chroma.h" diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 6eb2da8665..94229fe85a 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -36,6 +36,7 @@ #include "cabac_functions.h" #include "error_resilience.h" #include "avcodec.h" +#include "h264.h" #include "h264dec.h" #include "h2645_parse.h" #include "h264data.h" diff --git a/libavcodec/h264dec.h b/libavcodec/h264dec.h index 300077d7f2..e79257ea36 100644 --- a/libavcodec/h264dec.h +++ b/libavcodec/h264dec.h @@ -108,24 +108,6 @@ #define QP_MAX_NUM (51 + 2 * 6) // The maximum supported qp -/* NAL unit types */ -enum { - NAL_SLICE = 1, - NAL_DPA = 2, - NAL_DPB = 3, - NAL_DPC = 4, - NAL_IDR_SLICE = 5, - NAL_SEI = 6, - NAL_SPS = 7, - NAL_PPS = 8, - NAL_AUD = 9, - NAL_END_SEQUENCE = 10, - NAL_END_STREAM = 11, - NAL_FILLER_DATA = 12, - NAL_SPS_EXT = 13, - NAL_AUXILIARY_SLICE = 19, -}; - /** * Sequence parameter set */ diff --git a/libavcodec/omx.c b/libavcodec/omx.c index d556a202e3..961ff86764 100644 --- a/libavcodec/omx.c +++ b/libavcodec/omx.c @@ -41,7 +41,7 @@ #include "libavutil/opt.h" #include "avcodec.h" -#include "h264dec.h" +#include "h264.h" #include "internal.h" #ifdef OMX_SKIP64BIT diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index 95450f8edc..a2889806f9 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -25,7 +25,7 @@ #include "libavutil/pixfmt.h" #include "avcodec.h" -#include "h264dec.h" +#include "h264.h" #include "h264_sei.h" #include "internal.h" #include "vaapi_encode.h" -- GitLab