73 lines
2.0 KiB
C
73 lines
2.0 KiB
C
|
|
/***************************************************************************************
|
||
|
|
*
|
||
|
|
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
||
|
|
*
|
||
|
|
* By downloading, copying, installing or using the software you agree to this license.
|
||
|
|
* If you do not agree to this license, do not download, install,
|
||
|
|
* copy or use the software.
|
||
|
|
*
|
||
|
|
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
|
||
|
|
*
|
||
|
|
* Redistribution and use in binary forms, with or without modification, are permitted.
|
||
|
|
*
|
||
|
|
* Unless required by applicable law or agreed to in writing, software distributed
|
||
|
|
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||
|
|
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
||
|
|
* language governing permissions and limitations under the License.
|
||
|
|
*
|
||
|
|
****************************************************************************************/
|
||
|
|
|
||
|
|
#ifndef H265_H
|
||
|
|
#define H265_H
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 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,
|
||
|
|
};
|
||
|
|
|
||
|
|
#define IS_IRAP_NAL(nal) (nal >= 16 && nal <= 23)
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint8 vps[256];
|
||
|
|
int vps_len;
|
||
|
|
|
||
|
|
uint8 sps[256];
|
||
|
|
int sps_len;
|
||
|
|
|
||
|
|
uint8 pps[256];
|
||
|
|
int pps_len;
|
||
|
|
} H265ParamSets;
|
||
|
|
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|