digiKam
de265.h File Reference

Go to the source code of this file.

Classes

struct  de265_image_allocation
 
struct  de265_image_spec
 

Macros

#define __STDC_LIMIT_MACROS   1
 
#define LIBDE265_API
 
#define LIBDE265_DEPRECATED
 
#define LIBDE265_INLINE   inline
 

Typedefs

typedef void de265_decoder_context
 
typedef int64_t de265_PTS
 

Enumerations

enum  de265_acceleration {
  de265_acceleration_SCALAR = 0 , de265_acceleration_MMX = 10 , de265_acceleration_SSE = 20 , de265_acceleration_SSE2 = 30 ,
  de265_acceleration_SSE4 = 40 , de265_acceleration_AVX = 50 , de265_acceleration_AVX2 = 60 , de265_acceleration_ARM = 70 ,
  de265_acceleration_NEON = 80 , de265_acceleration_AUTO = 10000
}
 
enum  de265_chroma { de265_chroma_mono =0 , de265_chroma_420 =1 , de265_chroma_422 =2 , de265_chroma_444 =3 }
 
enum  de265_error {
  DE265_OK = 0 , DE265_ERROR_NO_SUCH_FILE =1 , DE265_ERROR_COEFFICIENT_OUT_OF_IMAGE_BOUNDS =4 , DE265_ERROR_CHECKSUM_MISMATCH =5 ,
  DE265_ERROR_CTB_OUTSIDE_IMAGE_AREA =6 , DE265_ERROR_OUT_OF_MEMORY =7 , DE265_ERROR_CODED_PARAMETER_OUT_OF_RANGE =8 , DE265_ERROR_IMAGE_BUFFER_FULL =9 ,
  DE265_ERROR_CANNOT_START_THREADPOOL =10 , DE265_ERROR_LIBRARY_INITIALIZATION_FAILED =11 , DE265_ERROR_LIBRARY_NOT_INITIALIZED =12 , DE265_ERROR_WAITING_FOR_INPUT_DATA =13 ,
  DE265_ERROR_CANNOT_PROCESS_SEI =14 , DE265_ERROR_PARAMETER_PARSING =15 , DE265_ERROR_NO_INITIAL_SLICE_HEADER =16 , DE265_ERROR_PREMATURE_END_OF_SLICE =17 ,
  DE265_ERROR_UNSPECIFIED_DECODING_ERROR =18 , DE265_ERROR_NOT_IMPLEMENTED_YET = 502 , DE265_WARNING_NO_WPP_CANNOT_USE_MULTITHREADING = 1000 , DE265_WARNING_WARNING_BUFFER_FULL =1001 ,
  DE265_WARNING_PREMATURE_END_OF_SLICE_SEGMENT =1002 , DE265_WARNING_INCORRECT_ENTRY_POINT_OFFSET =1003 , DE265_WARNING_CTB_OUTSIDE_IMAGE_AREA =1004 , DE265_WARNING_SPS_HEADER_INVALID =1005 ,
  DE265_WARNING_PPS_HEADER_INVALID =1006 , DE265_WARNING_SLICEHEADER_INVALID =1007 , DE265_WARNING_INCORRECT_MOTION_VECTOR_SCALING =1008 , DE265_WARNING_NONEXISTING_PPS_REFERENCED =1009 ,
  DE265_WARNING_NONEXISTING_SPS_REFERENCED =1010 , DE265_WARNING_BOTH_PREDFLAGS_ZERO =1011 , DE265_WARNING_NONEXISTING_REFERENCE_PICTURE_ACCESSED =1012 , DE265_WARNING_NUMMVP_NOT_EQUAL_TO_NUMMVQ =1013 ,
  DE265_WARNING_NUMBER_OF_SHORT_TERM_REF_PIC_SETS_OUT_OF_RANGE =1014 , DE265_WARNING_SHORT_TERM_REF_PIC_SET_OUT_OF_RANGE =1015 , DE265_WARNING_FAULTY_REFERENCE_PICTURE_LIST =1016 , DE265_WARNING_EOSS_BIT_NOT_SET =1017 ,
  DE265_WARNING_MAX_NUM_REF_PICS_EXCEEDED =1018 , DE265_WARNING_INVALID_CHROMA_FORMAT =1019 , DE265_WARNING_SLICE_SEGMENT_ADDRESS_INVALID =1020 , DE265_WARNING_DEPENDENT_SLICE_WITH_ADDRESS_ZERO =1021 ,
  DE265_WARNING_NUMBER_OF_THREADS_LIMITED_TO_MAXIMUM =1022 , DE265_NON_EXISTING_LT_REFERENCE_CANDIDATE_IN_SLICE_HEADER =1023 , DE265_WARNING_CANNOT_APPLY_SAO_OUT_OF_MEMORY =1024 , DE265_WARNING_SPS_MISSING_CANNOT_DECODE_SEI =1025 ,
  DE265_WARNING_COLLOCATED_MOTION_VECTOR_OUTSIDE_IMAGE_AREA =1026
}
 
enum  de265_image_format { de265_image_format_mono8 = 1 , de265_image_format_YUV420P8 = 2 , de265_image_format_YUV422P8 = 3 , de265_image_format_YUV444P8 = 4 }
 
enum  de265_param {
  DE265_DECODER_PARAM_BOOL_SEI_CHECK_HASH =0 , DE265_DECODER_PARAM_DUMP_SPS_HEADERS =1 , DE265_DECODER_PARAM_DUMP_VPS_HEADERS =2 , DE265_DECODER_PARAM_DUMP_PPS_HEADERS =3 ,
  DE265_DECODER_PARAM_DUMP_SLICE_HEADERS =4 , DE265_DECODER_PARAM_ACCELERATION_CODE =5 , DE265_DECODER_PARAM_SUPPRESS_FAULTY_PICTURES =6 , DE265_DECODER_PARAM_DISABLE_DEBLOCKING =7 ,
  DE265_DECODER_PARAM_DISABLE_SAO =8
}
 

Functions

LIBDE265_API int de265_change_framerate (de265_decoder_context *, int more_vs_less)
 
LIBDE265_API de265_error de265_decode (de265_decoder_context *, int *more)
 
LIBDE265_API LIBDE265_DEPRECATED de265_error de265_decode_data (de265_decoder_context *, const void *data, int length)
 
LIBDE265_API void de265_disable_logging ()
 
LIBDE265_API de265_error de265_flush_data (de265_decoder_context *)
 
LIBDE265_API de265_error de265_free (void)
 
LIBDE265_API de265_error de265_free_decoder (de265_decoder_context *)
 
LIBDE265_API int de265_get_bits_per_pixel (const struct de265_image *, int channel)
 
LIBDE265_API enum de265_chroma de265_get_chroma_format (const struct de265_image *)
 
LIBDE265_API int de265_get_current_TID (de265_decoder_context *)
 
LIBDE265_API const struct de265_image_allocationde265_get_default_image_allocation_functions (void)
 
LIBDE265_API const char * de265_get_error_text (de265_error err)
 
LIBDE265_API int de265_get_highest_TID (de265_decoder_context *)
 
LIBDE265_API int de265_get_image_height (const struct de265_image *, int channel)
 
LIBDE265_API void de265_get_image_NAL_header (const struct de265_image *, int *nal_unit_type, const char **nal_unit_name, int *nuh_layer_id, int *nuh_temporal_id)
 
LIBDE265_API const uint8_t * de265_get_image_plane (const struct de265_image *, int channel, int *out_stride)
 
LIBDE265_API void * de265_get_image_plane_user_data (const struct de265_image *, int channel)
 
LIBDE265_API de265_PTS de265_get_image_PTS (const struct de265_image *)
 
LIBDE265_API void * de265_get_image_user_data (const struct de265_image *)
 
LIBDE265_API int de265_get_image_width (const struct de265_image *, int channel)
 
LIBDE265_API const struct de265_imagede265_get_next_picture (de265_decoder_context *)
 
LIBDE265_API int de265_get_number_of_input_bytes_pending (de265_decoder_context *)
 
LIBDE265_API int de265_get_number_of_NAL_units_pending (de265_decoder_context *)
 
LIBDE265_API int de265_get_parameter_bool (de265_decoder_context *, enum de265_param param)
 
LIBDE265_API const char * de265_get_version (void)
 
LIBDE265_API uint32_t de265_get_version_number (void)
 
LIBDE265_API int de265_get_version_number_maintenance (void)
 
LIBDE265_API int de265_get_version_number_major (void)
 
LIBDE265_API int de265_get_version_number_minor (void)
 
LIBDE265_API de265_error de265_get_warning (de265_decoder_context *)
 
LIBDE265_API de265_error de265_init (void)
 
LIBDE265_API int de265_isOK (de265_error err)
 
LIBDE265_API de265_decoder_contextde265_new_decoder (void)
 
LIBDE265_API const struct de265_imagede265_peek_next_picture (de265_decoder_context *)
 
LIBDE265_API de265_error de265_push_data (de265_decoder_context *, const void *data, int length, de265_PTS pts, void *user_data)
 
LIBDE265_API void de265_push_end_of_frame (de265_decoder_context *)
 
LIBDE265_API void de265_push_end_of_NAL (de265_decoder_context *)
 
LIBDE265_API de265_error de265_push_NAL (de265_decoder_context *, const void *data, int length, de265_PTS pts, void *user_data)
 
LIBDE265_API void de265_release_next_picture (de265_decoder_context *)
 
LIBDE265_API void de265_reset (de265_decoder_context *)
 
LIBDE265_API void de265_set_framerate_ratio (de265_decoder_context *, int percent)
 
LIBDE265_API void de265_set_image_allocation_functions (de265_decoder_context *, struct de265_image_allocation *, void *userdata)
 
LIBDE265_API void de265_set_image_plane (struct de265_image *img, int cIdx, void *mem, int stride, void *userdata)
 
LIBDE265_API void de265_set_image_user_data (struct de265_image *, void *user_data)
 
LIBDE265_API void de265_set_limit_TID (de265_decoder_context *, int max_tid)
 
LIBDE265_API void de265_set_parameter_bool (de265_decoder_context *, enum de265_param param, int value)
 
LIBDE265_API void de265_set_parameter_int (de265_decoder_context *, enum de265_param param, int value)
 
LIBDE265_API void de265_set_verbosity (int level)
 
LIBDE265_API de265_error de265_start_worker_threads (de265_decoder_context *, int number_of_threads)
 

Macro Definition Documentation

◆ __STDC_LIMIT_MACROS

#define __STDC_LIMIT_MACROS   1

◆ LIBDE265_API

#define LIBDE265_API

◆ LIBDE265_DEPRECATED

#define LIBDE265_DEPRECATED

◆ LIBDE265_INLINE

#define LIBDE265_INLINE   inline

Typedef Documentation

◆ de265_decoder_context

typedef void de265_decoder_context

◆ de265_PTS

typedef int64_t de265_PTS

Enumeration Type Documentation

◆ de265_acceleration

Enumerator
de265_acceleration_SCALAR 
de265_acceleration_MMX 
de265_acceleration_SSE 
de265_acceleration_SSE2 
de265_acceleration_SSE4 
de265_acceleration_AVX 
de265_acceleration_AVX2 
de265_acceleration_ARM 
de265_acceleration_NEON 
de265_acceleration_AUTO 

◆ de265_chroma

Enumerator
de265_chroma_mono 
de265_chroma_420 
de265_chroma_422 
de265_chroma_444 

◆ de265_error

Enumerator
DE265_OK 
DE265_ERROR_NO_SUCH_FILE 
DE265_ERROR_COEFFICIENT_OUT_OF_IMAGE_BOUNDS 
DE265_ERROR_CHECKSUM_MISMATCH 
DE265_ERROR_CTB_OUTSIDE_IMAGE_AREA 
DE265_ERROR_OUT_OF_MEMORY 
DE265_ERROR_CODED_PARAMETER_OUT_OF_RANGE 
DE265_ERROR_IMAGE_BUFFER_FULL 
DE265_ERROR_CANNOT_START_THREADPOOL 
DE265_ERROR_LIBRARY_INITIALIZATION_FAILED 
DE265_ERROR_LIBRARY_NOT_INITIALIZED 
DE265_ERROR_WAITING_FOR_INPUT_DATA 
DE265_ERROR_CANNOT_PROCESS_SEI 
DE265_ERROR_PARAMETER_PARSING 
DE265_ERROR_NO_INITIAL_SLICE_HEADER 
DE265_ERROR_PREMATURE_END_OF_SLICE 
DE265_ERROR_UNSPECIFIED_DECODING_ERROR 
DE265_ERROR_NOT_IMPLEMENTED_YET 
DE265_WARNING_NO_WPP_CANNOT_USE_MULTITHREADING 
DE265_WARNING_WARNING_BUFFER_FULL 
DE265_WARNING_PREMATURE_END_OF_SLICE_SEGMENT 
DE265_WARNING_INCORRECT_ENTRY_POINT_OFFSET 
DE265_WARNING_CTB_OUTSIDE_IMAGE_AREA 
DE265_WARNING_SPS_HEADER_INVALID 
DE265_WARNING_PPS_HEADER_INVALID 
DE265_WARNING_SLICEHEADER_INVALID 
DE265_WARNING_INCORRECT_MOTION_VECTOR_SCALING 
DE265_WARNING_NONEXISTING_PPS_REFERENCED 
DE265_WARNING_NONEXISTING_SPS_REFERENCED 
DE265_WARNING_BOTH_PREDFLAGS_ZERO 
DE265_WARNING_NONEXISTING_REFERENCE_PICTURE_ACCESSED 
DE265_WARNING_NUMMVP_NOT_EQUAL_TO_NUMMVQ 
DE265_WARNING_NUMBER_OF_SHORT_TERM_REF_PIC_SETS_OUT_OF_RANGE 
DE265_WARNING_SHORT_TERM_REF_PIC_SET_OUT_OF_RANGE 
DE265_WARNING_FAULTY_REFERENCE_PICTURE_LIST 
DE265_WARNING_EOSS_BIT_NOT_SET 
DE265_WARNING_MAX_NUM_REF_PICS_EXCEEDED 
DE265_WARNING_INVALID_CHROMA_FORMAT 
DE265_WARNING_SLICE_SEGMENT_ADDRESS_INVALID 
DE265_WARNING_DEPENDENT_SLICE_WITH_ADDRESS_ZERO 
DE265_WARNING_NUMBER_OF_THREADS_LIMITED_TO_MAXIMUM 
DE265_NON_EXISTING_LT_REFERENCE_CANDIDATE_IN_SLICE_HEADER 
DE265_WARNING_CANNOT_APPLY_SAO_OUT_OF_MEMORY 
DE265_WARNING_SPS_MISSING_CANNOT_DECODE_SEI 
DE265_WARNING_COLLOCATED_MOTION_VECTOR_OUTSIDE_IMAGE_AREA 

◆ de265_image_format

Enumerator
de265_image_format_mono8 
de265_image_format_YUV420P8 
de265_image_format_YUV422P8 
de265_image_format_YUV444P8 

◆ de265_param

Enumerator
DE265_DECODER_PARAM_BOOL_SEI_CHECK_HASH 
DE265_DECODER_PARAM_DUMP_SPS_HEADERS 
DE265_DECODER_PARAM_DUMP_VPS_HEADERS 
DE265_DECODER_PARAM_DUMP_PPS_HEADERS 
DE265_DECODER_PARAM_DUMP_SLICE_HEADERS 
DE265_DECODER_PARAM_ACCELERATION_CODE 
DE265_DECODER_PARAM_SUPPRESS_FAULTY_PICTURES 
DE265_DECODER_PARAM_DISABLE_DEBLOCKING 
DE265_DECODER_PARAM_DISABLE_SAO 

Function Documentation

◆ de265_change_framerate()

LIBDE265_API int de265_change_framerate ( de265_decoder_context ,
int  more_vs_less 
)

◆ de265_decode()

LIBDE265_API de265_error de265_decode ( de265_decoder_context ,
int *  more 
)

◆ de265_decode_data()

LIBDE265_API LIBDE265_DEPRECATED de265_error de265_decode_data ( de265_decoder_context ,
const void *  data,
int  length 
)

◆ de265_disable_logging()

LIBDE265_API void de265_disable_logging ( )

◆ de265_flush_data()

◆ de265_free()

LIBDE265_API de265_error de265_free ( void  )

◆ de265_free_decoder()

LIBDE265_API de265_error de265_free_decoder ( de265_decoder_context )

◆ de265_get_bits_per_pixel()

LIBDE265_API int de265_get_bits_per_pixel ( const struct de265_image ,
int  channel 
)

◆ de265_get_chroma_format()

LIBDE265_API enum de265_chroma de265_get_chroma_format ( const struct de265_image )

◆ de265_get_current_TID()

LIBDE265_API int de265_get_current_TID ( de265_decoder_context )

◆ de265_get_default_image_allocation_functions()

LIBDE265_API const struct de265_image_allocation* de265_get_default_image_allocation_functions ( void  )

◆ de265_get_error_text()

LIBDE265_API const char* de265_get_error_text ( de265_error  err)

◆ de265_get_highest_TID()

LIBDE265_API int de265_get_highest_TID ( de265_decoder_context )

◆ de265_get_image_height()

LIBDE265_API int de265_get_image_height ( const struct de265_image ,
int  channel 
)

◆ de265_get_image_NAL_header()

LIBDE265_API void de265_get_image_NAL_header ( const struct de265_image ,
int *  nal_unit_type,
const char **  nal_unit_name,
int *  nuh_layer_id,
int *  nuh_temporal_id 
)

◆ de265_get_image_plane()

LIBDE265_API const uint8_t* de265_get_image_plane ( const struct de265_image ,
int  channel,
int *  out_stride 
)

◆ de265_get_image_plane_user_data()

LIBDE265_API void* de265_get_image_plane_user_data ( const struct de265_image ,
int  channel 
)

◆ de265_get_image_PTS()

LIBDE265_API de265_PTS de265_get_image_PTS ( const struct de265_image )

◆ de265_get_image_user_data()

LIBDE265_API void* de265_get_image_user_data ( const struct de265_image )

◆ de265_get_image_width()

LIBDE265_API int de265_get_image_width ( const struct de265_image ,
int  channel 
)

◆ de265_get_next_picture()

LIBDE265_API const struct de265_image* de265_get_next_picture ( de265_decoder_context )

◆ de265_get_number_of_input_bytes_pending()

LIBDE265_API int de265_get_number_of_input_bytes_pending ( de265_decoder_context )

◆ de265_get_number_of_NAL_units_pending()

LIBDE265_API int de265_get_number_of_NAL_units_pending ( de265_decoder_context )

◆ de265_get_parameter_bool()

LIBDE265_API int de265_get_parameter_bool ( de265_decoder_context ,
enum de265_param  param 
)

◆ de265_get_version()

LIBDE265_API const char* de265_get_version ( void  )

◆ de265_get_version_number()

LIBDE265_API uint32_t de265_get_version_number ( void  )

◆ de265_get_version_number_maintenance()

LIBDE265_API int de265_get_version_number_maintenance ( void  )

◆ de265_get_version_number_major()

LIBDE265_API int de265_get_version_number_major ( void  )

◆ de265_get_version_number_minor()

LIBDE265_API int de265_get_version_number_minor ( void  )

◆ de265_get_warning()

LIBDE265_API de265_error de265_get_warning ( de265_decoder_context )

◆ de265_init()

LIBDE265_API de265_error de265_init ( void  )

◆ de265_isOK()

LIBDE265_API int de265_isOK ( de265_error  err)

◆ de265_new_decoder()

LIBDE265_API de265_decoder_context* de265_new_decoder ( void  )

◆ de265_peek_next_picture()

LIBDE265_API const struct de265_image* de265_peek_next_picture ( de265_decoder_context )

◆ de265_push_data()

LIBDE265_API de265_error de265_push_data ( de265_decoder_context ,
const void *  data,
int  length,
de265_PTS  pts,
void *  user_data 
)

◆ de265_push_end_of_frame()

LIBDE265_API void de265_push_end_of_frame ( de265_decoder_context )

◆ de265_push_end_of_NAL()

LIBDE265_API void de265_push_end_of_NAL ( de265_decoder_context )

◆ de265_push_NAL()

LIBDE265_API de265_error de265_push_NAL ( de265_decoder_context ,
const void *  data,
int  length,
de265_PTS  pts,
void *  user_data 
)

◆ de265_release_next_picture()

LIBDE265_API void de265_release_next_picture ( de265_decoder_context )

◆ de265_reset()

LIBDE265_API void de265_reset ( de265_decoder_context )

◆ de265_set_framerate_ratio()

LIBDE265_API void de265_set_framerate_ratio ( de265_decoder_context ,
int  percent 
)

◆ de265_set_image_allocation_functions()

LIBDE265_API void de265_set_image_allocation_functions ( de265_decoder_context ,
struct de265_image_allocation ,
void *  userdata 
)

◆ de265_set_image_plane()

LIBDE265_API void de265_set_image_plane ( struct de265_image img,
int  cIdx,
void *  mem,
int  stride,
void *  userdata 
)

◆ de265_set_image_user_data()

LIBDE265_API void de265_set_image_user_data ( struct de265_image ,
void *  user_data 
)

◆ de265_set_limit_TID()

LIBDE265_API void de265_set_limit_TID ( de265_decoder_context ,
int  max_tid 
)

◆ de265_set_parameter_bool()

LIBDE265_API void de265_set_parameter_bool ( de265_decoder_context ,
enum de265_param  param,
int  value 
)

◆ de265_set_parameter_int()

LIBDE265_API void de265_set_parameter_int ( de265_decoder_context ,
enum de265_param  param,
int  value 
)

◆ de265_set_verbosity()

LIBDE265_API void de265_set_verbosity ( int  level)

◆ de265_start_worker_threads()

LIBDE265_API de265_error de265_start_worker_threads ( de265_decoder_context ,
int  number_of_threads 
)