| 139 | } |
| 140 | |
| 141 | void decoderLibde265::resolveLibraryFunctionPointers() |
| 142 | { |
| 143 | // Get/check function pointers |
| 144 | if (!resolve(this->lib.de265_new_decoder, "de265_new_decoder")) |
| 145 | return; |
| 146 | if (!resolve(this->lib.de265_set_parameter_bool, "de265_set_parameter_bool")) |
| 147 | return; |
| 148 | if (!resolve(this->lib.de265_set_parameter_int, "de265_set_parameter_int")) |
| 149 | return; |
| 150 | if (!resolve(this->lib.de265_disable_logging, "de265_disable_logging")) |
| 151 | return; |
| 152 | if (!resolve(this->lib.de265_set_verbosity, "de265_set_verbosity")) |
| 153 | return; |
| 154 | if (!resolve(this->lib.de265_start_worker_threads, "de265_start_worker_threads")) |
| 155 | return; |
| 156 | if (!resolve(this->lib.de265_set_limit_TID, "de265_set_limit_TID")) |
| 157 | return; |
| 158 | if (!resolve(this->lib.de265_get_error_text, "de265_get_error_text")) |
| 159 | return; |
| 160 | if (!resolve(this->lib.de265_get_chroma_format, "de265_get_chroma_format")) |
| 161 | return; |
| 162 | if (!resolve(this->lib.de265_get_image_width, "de265_get_image_width")) |
| 163 | return; |
| 164 | if (!resolve(this->lib.de265_get_image_height, "de265_get_image_height")) |
| 165 | return; |
| 166 | if (!resolve(this->lib.de265_get_image_plane, "de265_get_image_plane")) |
| 167 | return; |
| 168 | if (!resolve(this->lib.de265_get_bits_per_pixel, "de265_get_bits_per_pixel")) |
| 169 | return; |
| 170 | if (!resolve(this->lib.de265_decode, "de265_decode")) |
| 171 | return; |
| 172 | if (!resolve(this->lib.de265_push_data, "de265_push_data")) |
| 173 | return; |
| 174 | if (!resolve(this->lib.de265_push_NAL, "de265_push_NAL")) |
| 175 | return; |
| 176 | if (!resolve(this->lib.de265_flush_data, "de265_flush_data")) |
| 177 | return; |
| 178 | if (!resolve(this->lib.de265_get_next_picture, "de265_get_next_picture")) |
| 179 | return; |
| 180 | if (!resolve(this->lib.de265_free_decoder, "de265_free_decoder")) |
| 181 | return; |
| 182 | DEBUG_LIBDE265("decoderLibde265::resolveLibraryFunctionPointers - decoding functions found"); |
| 183 | |
| 184 | // Get pointers to the internals/statistics functions (if present) |
| 185 | // If not, disable the statistics extraction. Normal decoding of the video will still work. |
| 186 | |
| 187 | if (!resolve(this->lib.de265_internals_get_CTB_Info_Layout, |
| 188 | "de265_internals_get_CTB_Info_Layout", |
| 189 | true)) |
| 190 | return; |
| 191 | if (!resolve( |
| 192 | this->lib.de265_internals_get_CTB_sliceIdx, "de265_internals_get_CTB_sliceIdx", true)) |
| 193 | return; |
| 194 | if (!resolve( |
| 195 | this->lib.de265_internals_get_CB_Info_Layout, "de265_internals_get_CB_Info_Layout", true)) |
| 196 | return; |
| 197 | if (!resolve(this->lib.de265_internals_get_CB_info, "de265_internals_get_CB_info", true)) |
| 198 | return; |