diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-08-21 17:35:28 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-10-16 20:26:28 +0200 |
commit | c359d624d3efc3fd1d83210d78c4152bd329b765 (patch) | |
tree | 6e0cffd42aff5636052d4540c1d56b7be579e8cf /libavcodec/hevc.h | |
parent | 4abe3b049d987420eb891f74a35af2cebbf52144 (diff) |
hevcdec: move decoder-independent declarations into a separate header
This way they can be reused by other code without including the whole
decoder-specific hevcdec.h
Also, add the HEVC_ prefix to them, since similarly named values exist
for H.264 as well and are sometimes used in the same code.
Diffstat (limited to 'libavcodec/hevc.h')
-rw-r--r-- | libavcodec/hevc.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h new file mode 100644 index 0000000000..66816b8409 --- /dev/null +++ b/libavcodec/hevc.h @@ -0,0 +1,65 @@ +/* + * HEVC shared code + * + * 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 + */ + +#ifndef AVCODEC_HEVC_H +#define AVCODEC_HEVC_H + +/** + * Table 7-3: NAL unit type codes + */ +enum HEVCNALUnitType { + HEVC_NAL_TRAIL_N = 0, + HEVC_NAL_TRAIL_R = 1, + HEVC_NAL_TSA_N = 2, + HEVC_NAL_TSA_R = 3, + HEVC_NAL_STSA_N = 4, + HEVC_NAL_STSA_R = 5, + HEVC_NAL_RADL_N = 6, + HEVC_NAL_RADL_R = 7, + HEVC_NAL_RASL_N = 8, + HEVC_NAL_RASL_R = 9, + HEVC_NAL_BLA_W_LP = 16, + HEVC_NAL_BLA_W_RADL = 17, + HEVC_NAL_BLA_N_LP = 18, + HEVC_NAL_IDR_W_RADL = 19, + HEVC_NAL_IDR_N_LP = 20, + HEVC_NAL_CRA_NUT = 21, + HEVC_NAL_VPS = 32, + HEVC_NAL_SPS = 33, + HEVC_NAL_PPS = 34, + HEVC_NAL_AUD = 35, + HEVC_NAL_EOS_NUT = 36, + HEVC_NAL_EOB_NUT = 37, + HEVC_NAL_FD_NUT = 38, + HEVC_NAL_SEI_PREFIX = 39, + HEVC_NAL_SEI_SUFFIX = 40, +}; + +/** + * 7.4.2.1 + */ +#define HEVC_MAX_SUB_LAYERS 7 +#define HEVC_MAX_VPS_COUNT 16 +#define HEVC_MAX_SPS_COUNT 32 +#define HEVC_MAX_PPS_COUNT 256 +#define HEVC_MAX_SHORT_TERM_RPS_COUNT 64 +#define HEVC_MAX_CU_SIZE 128 + +#endif /* AVCODEC_HEVC_H */ |