+/** + * Causes for H5Pget_no_selection_io_cause() property + */ +/** Selection I/O was not performed because \ + the feature was disabled by the API */ +public static final int H5D_SEL_IO_DISABLE_BY_API = + (0x0001); +/** Selection I/O was not performed because the \ + dataset was neither contiguous nor chunked */ +public static final int H5D_SEL_IO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET = + (0x0002); +/** Selection I/O was not performed because of \ + sieve buffer for contiguous dataset */ +public static final int H5D_SEL_IO_CONTIGUOUS_SIEVE_BUFFER = + (0x0004); +/** Selection I/O was not performed because the VFD \ + does not have vector or selection I/O callback */ +public static final int H5D_SEL_IO_NO_VECTOR_OR_SELECTION_IO_CB = + (0x0008); +/** Selection I/O was not performed because of \ + page buffer */ +public static final int H5D_SEL_IO_PAGE_BUFFER = + (0x0010); +/** Selection I/O was not performed because of \ + dataset filters */ +public static final int H5D_SEL_IO_DATASET_FILTER = + (0x0020); +/** Selection I/O was not performed because of \ + chunk cache */ +public static final int H5D_SEL_IO_CHUNK_CACHE = + (0x0040); +/** Selection I/O was not performed because the \ + type conversion buffer is too small */ +public static final int H5D_SEL_IO_TCONV_BUF_TOO_SMALL = + (0x0080); +/** Selection I/O was not performed because the \ + type conversion background buffer is too small */ +public static final int H5D_SEL_IO_BKG_BUF_TOO_SMALL = + (0x0100); +/** Selection I/O was not performed because the \ + selection I/O mode is DEFAULT and the library \ + chose it to be off for this case */ +public static final int H5D_SEL_IO_DEFAULT_OFF = + (0x0200); + +/* Causes for H5D_MPIO_NO_SELECTION_IO */ +public static final int H5D_MPIO_NO_SELECTION_IO_CAUSES = + (H5D_SEL_IO_DISABLE_BY_API | H5D_SEL_IO_TCONV_BUF_TOO_SMALL | H5D_SEL_IO_BKG_BUF_TOO_SMALL | + H5D_SEL_IO_DATASET_FILTER | H5D_SEL_IO_CHUNK_CACHE); + +/** +/** + * Selection I/O mode property + * + * \details The default value, #H5D_SELECTION_IO_MODE_DEFAULT, + * indicates selection I/O can be ON or OFF as + * determined by library internal. + */ +/** enum H5D_selection_io_mode_t */ +public static final int + +/** Default selection I/O mode. */ + H5D_SELECTION_IO_MODE_DEFAULT = 0, + +/** Selection I/O is off. */ + H5D_SELECTION_IO_MODE_OFF = 1, + +/** Selection I/O is on. */ + H5D_SELECTION_IO_MODE_ON = 2; +/** +
/********************/ /* Public Variables */ /********************/ @@ -17535,10 +17614,13 @@ error class belongs. Can be \c NULL. * (#H5Z_FILTER_DEFLATE) and the Fletcher32 error detection filter * (#H5Z_FILTER_FLETCHER32). * - * The array \p c_values contains \p cd_nelmts integers which are - * auxiliary data for the filter. The integer values will be - * stored in the dataset object header as part of the filter - * information. + * The array \p cd_values contains \p cd_nelmts unsigned integers + * which are auxiliary data for the filter. The values are typically + * used as parameters to control the filter. In a filter's + * \p set_local method (called from \p H5Dcreate), the values are + * interpreted and possibly modified before they are used to control + * the filter. These, possibly modified values, are then stored in + * the dataset object header as auxiliary data for the filter. * * The \p flags argument is a bit vector with the following * fields specifying certain general properties of the filter: @@ -17630,7 +17712,7 @@ error class belongs. Can be \c NULL. * format. The filters will come into play only when dense storage * is used (see H5Pset_link_phase_change()) and will be applied to * the group’s fractal heap. The fractal heap will contain most of - * the the group’s link metadata, including link names. + * the group’s link metadata, including link names. * * \note When working with group creation property lists, if you are * adding a filter that is not in HDF5’s set of predefined filters, @@ -18515,7 +18597,7 @@ error class belongs. Can be \c NULL. * after the call to H5Pset_fapl_core(). It is an error to use this * function with any other VFD. * - * \note This function only applies to the backing store write operation + * \note This function only applies to the backing store write operation, * which typically occurs when the file is flushed or closed. This * function has no relationship to the increment parameter passed * to H5Pset_fapl_core(). @@ -18563,7 +18645,7 @@ error class belongs. Can be \c NULL. *
{@code - * // Example 1: Both metadata and rawdata files are in the same + * // Example 1: Both metadata and raw data files are in the same * // directory. Use Station1-m.h5 and Station1-r.h5 as - * // the metadata and rawdata files. + * // the metadata and raw data files. * hid_t fapl, fid; * fapl = H5Pcreate(H5P_FILE_ACCESS); * H5Pset_fapl_split(fapl, "-m.h5", H5P_DEFAULT, "-r.h5", H5P_DEFAULT); * fid=H5Fcreate("Station1",H5F_ACC_TRUNC,H5P_DEFAULT,fapl); * - * // Example 2: metadata and rawdata files are in different + * // Example 2: metadata and raw data files are in different * // directories. Use PointA-m.h5 and /pfs/PointA-r.h5 as - * // the metadata and rawdata files. + * // the metadata and raw data files. * hid_t fapl, fid; * fapl = H5Pcreate(H5P_FILE_ACCESS); * H5Pset_fapl_split(fapl, "-m.h5", H5P_DEFAULT, "/pfs/%s-r.h5", H5P_DEFAULT); @@ -28066,10 +28320,7 @@ error class belongs. Can be \c NULL. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* - * Programmer: Robb Matzke - * Monday, August 2, 1999 - * - * Purpose: The public header file for the sec2 driver. + * Purpose: The public header file for the sec2 driver */ // #ifndef H5FDsec2_H // #define H5FDsec2_H @@ -28105,10 +28356,7 @@ error class belongs. Can be \c NULL. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* - * Programmer: Robb Matzke - * Monday, August 2, 1999 - * - * Purpose: The public header file for the sec2 driver. + * Purpose: The public header file for the C stdio driver */ // #ifndef H5FDstdio_H // #define H5FDstdio_H @@ -33113,6 +33361,16 @@ error class belongs. Can be \c NULL. * \brief Current version of the H5L_class_t struct */ public static final int H5L_LINK_CLASS_T_VERS = 1; + +/** + * \brief Version of external link format + */ +public static final int H5L_EXT_VERSION = 0; + +/** + * \brief Valid flags for external links + */ +public static final int H5L_EXT_FLAGS_ALL = 0; // Targeting ../H5L_create_func_t.java @@ -33724,12 +33982,12 @@ error class belongs. Can be \c NULL. * descriptive name for the filter, and may be the null pointer. * * \c can_apply, described in detail below, is a user-defined callback - * function which determines whether the combination of the dataset + * function that determines whether the combination of the dataset * creation property list values, the datatype, and the dataspace * represent a valid combination to apply this filter to. * * \c set_local, described in detail below, is a user-defined callback - * function which sets any parameters that are specific to this + * function that sets any parameters that are specific to this * dataset, based on the combination of the dataset creation property * list values, the datatype, and the dataspace. * @@ -33739,9 +33997,9 @@ error class belongs. Can be \c NULL. * The statistics associated with a filter are not reset by this * function; they accumulate over the life of the library. * - * #H5Z_class_t is a macro which maps to either H5Z_class1_t or + * #H5Z_class_t is a macro that maps to either H5Z_class1_t or * H5Z_class2_t, depending on the needs of the application. To affect - * only this macro, H5Z_class_t_vers may be defined to either 1 or 2. + * only this macro, H5Z_class_t_vers may be defined as either 1 or 2. * Otherwise, it will behave in the same manner as other API * compatibility macros. See API Compatibility Macros in HDF5 for more * information. H5Z_class1_t matches the #H5Z_class_t structure that is @@ -33758,15 +34016,15 @@ error class belongs. Can be \c NULL. * defined as described in the HDF5 library header file H5Zpublic.h. * * When a filter is applied to the fractal heap for a group (e.g., - * when compressing group metadata) and if the can apply and set local - * callback functions have been defined for that filter, HDF5 passes + * when compressing group metadata) and if they can apply and set local + * callback functions that have been defined for that filter, HDF5 passes * the value -1 for all parameters for those callback functions. This * is done to ensure that the filter will not be applied to groups if * it relies on these parameters, as they are not applicable to group * fractal heaps; to operate on group fractal heaps, a filter must be * capable of operating on an opaque block of binary data. * - * The \Emph{can apply} callback function must return a positive value + * The \Emph{can-apply} callback function must return a positive value * for a valid combination, zero for an invalid combination, and a * negative value for an error. * \snippet this H5Z_can_apply_func_t_snip @@ -33799,9 +34057,9 @@ error class belongs. Can be \c NULL. * \Emph{set local} callback functions for any filters used in the * dataset creation property list are called. These callbacks receive * \c dcpl_id, the dataset's private copy of the dataset creation - * property list passed in to H5Dcreate() (i.e. not the actual - * property list passed in to H5Dcreate()); \c type_id, the datatype - * identifier passed in to H5Dcreate(), which is not copied and should + * property list passed into H5Dcreate() (i.e. not the actual + * property list passed into H5Dcreate()); \c type_id, the datatype + * identifier passed into H5Dcreate(), which is not copied and should * not be modified; and \c space_id, a dataspace describing the chunk * (for chunked dataset storage), which should also not be modified. * @@ -33842,13 +34100,13 @@ error class belongs. Can be \c NULL. * will work in many cases, but if there is a mismatch between the * memory allocators used in the library and any filter that * reallocates a buffer, there could be problems. This is most often - * the case with Windows and/or when debug memory allocators are being + * the case with Windows and/or when debugging memory allocators are being * used. In both cases, the "state" of the memory allocator lies in * different libraries and will get corrupted if you allocate in one * library and free in another. Windows adds the C standard library - * via dlls that can vary with Visual Studio version and debug vs + * via dlls that can vary with Visual Studio version and debug vs. * release builds. Static links to the MSVC CRT can also introduce - * new memory allocator state. + * a new memory allocator state. * * The library does provide H5allocate_memory() and H5free_memory() * functions that will use the library's allocation and free functions, @@ -33895,7 +34153,7 @@ error class belongs. Can be \c NULL. * sure that all cached data that may use this filter are written out. * * If the application is a parallel program, all processes that - * participate in collective data write should call this function to + * participate in collective data writing should call this function to * ensure that all data is flushed. * * After a call to H5Zunregister(), the filter specified in filter diff --git a/llvm/README.md b/llvm/README.md index 4d96b6502f1..46e1b3a8423 100644 --- a/llvm/README.md +++ b/llvm/README.md @@ -9,7 +9,7 @@ Introduction ------------ This directory contains the JavaCPP Presets module for: - * LLVM 16.0.3 http://llvm.org/ + * LLVM 16.0.4 http://llvm.org/ Please refer to the parent README.md file for more detailed information about the JavaCPP Presets. @@ -50,7 +50,7 @@ We can use [Maven 3](http://maven.apache.org/) to download and install automaticorg.bytedeco llvm-platform -16.0.3-1.5.9-SNAPSHOT +16.0.4-1.5.9-SNAPSHOT diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index 3d7fb0497d8..225ccbf4611 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -7,7 +7,7 @@ if [[ -z "$PLATFORM" ]]; then exit fi -LLVM_VERSION=16.0.3 +LLVM_VERSION=16.0.4 download https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_VERSION/llvm-project-$LLVM_VERSION.src.tar.xz llvm-project-$LLVM_VERSION.src.tar.xz mkdir -p $PLATFORM diff --git a/llvm/platform/pom.xml b/llvm/platform/pom.xml index 7f67cbbabbf..b7cf46d1f89 100644 --- a/llvm/platform/pom.xml +++ b/llvm/platform/pom.xml @@ -12,7 +12,7 @@ org.bytedeco llvm-platform -16.0.3-${project.parent.version} +16.0.4-${project.parent.version} JavaCPP Presets Platform for LLVM diff --git a/llvm/pom.xml b/llvm/pom.xml index 19ebb77d3a1..e92fe0cd834 100644 --- a/llvm/pom.xml +++ b/llvm/pom.xml @@ -11,7 +11,7 @@ org.bytedeco llvm -16.0.3-${project.parent.version} +16.0.4-${project.parent.version} JavaCPP Presets for LLVM diff --git a/llvm/samples/clang/pom.xml b/llvm/samples/clang/pom.xml index 32b2a7a68c2..5493324d7ce 100644 --- a/llvm/samples/clang/pom.xml +++ b/llvm/samples/clang/pom.xml @@ -12,7 +12,7 @@ org.bytedeco llvm-platform -16.0.3-1.5.9-SNAPSHOT +16.0.4-1.5.9-SNAPSHOT diff --git a/llvm/samples/llvm/pom.xml b/llvm/samples/llvm/pom.xml index bd336c79dc8..ec3592106f5 100644 --- a/llvm/samples/llvm/pom.xml +++ b/llvm/samples/llvm/pom.xml @@ -12,7 +12,7 @@ org.bytedeco llvm-platform -16.0.3-1.5.9-SNAPSHOT +16.0.4-1.5.9-SNAPSHOT org.bytedeco diff --git a/llvm/samples/polly/pom.xml b/llvm/samples/polly/pom.xml index a411c9a1605..ce97dc2a218 100644 --- a/llvm/samples/polly/pom.xml +++ b/llvm/samples/polly/pom.xml @@ -13,7 +13,7 @@org.bytedeco llvm-platform -16.0.3-1.5.9-SNAPSHOT +16.0.4-1.5.9-SNAPSHOT org.bytedeco diff --git a/nvcodec/README.md b/nvcodec/README.md index 28c896ec39b..cd7c1d0f81f 100644 --- a/nvcodec/README.md +++ b/nvcodec/README.md @@ -17,7 +17,7 @@ Introduction ------------ This directory contains the JavaCPP Presets module for: - * NVIDIA Video Codec SDK 12.0.16 https://developer.nvidia.com/nvidia-video-codec-sdk + * NVIDIA Video Codec SDK 12.1.14 https://developer.nvidia.com/nvidia-video-codec-sdk Please refer to the parent README.md file for more detailed information about the JavaCPP Presets. @@ -31,7 +31,7 @@ Java API documentation is available here: Sample Usage ------------ -Here is a simple example ported to Java from C code based on `Samples/AppEncode/AppEncCuda` and `Samples/AppDecode/AppDec` included in `Video_Codec_SDK_12.0.16.zip` available at: +Here is a simple example ported to Java from C code based on `Samples/AppEncode/AppEncCuda` and `Samples/AppDecode/AppDec` included in `Video_Codec_SDK_12.1.14.zip` available at: * https://developer.nvidia.com/nvidia-video-codec-sdk/download @@ -55,7 +55,7 @@ You can find more encoder and decoder samples in the [`samples`](samples) subdirdiff --git a/nvcodec/platform/pom.xml b/nvcodec/platform/pom.xml index 7b72e66cd96..44e96865238 100644 --- a/nvcodec/platform/pom.xml +++ b/nvcodec/platform/pom.xml @@ -12,7 +12,7 @@ org.bytedeco nvcodec-platform -12.0.16-1.5.9-SNAPSHOT +12.1.14-1.5.9-SNAPSHOT org.bytedeco nvcodec-platform -12.0.16-${project.parent.version} +12.1.14-${project.parent.version} JavaCPP Presets Platform for NVIDIA Video Codec SDK diff --git a/nvcodec/pom.xml b/nvcodec/pom.xml index 0ef8073ac48..4f520efad8d 100644 --- a/nvcodec/pom.xml +++ b/nvcodec/pom.xml @@ -11,7 +11,7 @@ org.bytedeco nvcodec -12.0.16-${project.parent.version} +12.1.14-${project.parent.version} JavaCPP Presets for NVIDIA Video Codec SDK diff --git a/nvcodec/samples/pom.xml b/nvcodec/samples/pom.xml index ed99c4778a8..ca09d7a2d4c 100644 --- a/nvcodec/samples/pom.xml +++ b/nvcodec/samples/pom.xml @@ -16,7 +16,7 @@ diff --git a/nvcodec/samples/simple/pom.xml b/nvcodec/samples/simple/pom.xml index de6c9c9dd0a..fc4e039d7ad 100644 --- a/nvcodec/samples/simple/pom.xml +++ b/nvcodec/samples/simple/pom.xml @@ -12,7 +12,7 @@ org.bytedeco nvcodec-platform -12.0.16-1.5.9-SNAPSHOT +12.1.14-1.5.9-SNAPSHOT diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvcuvid.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvcuvid.java index a1fe2945505..580e07a9994 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvcuvid.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvcuvid.java @@ -20,7 +20,7 @@ public class nvcuvid extends org.bytedeco.nvcodec.presets.nvcuvid { /* * This copyright notice applies to this header file only: * - * Copyright (c) 2010-2022 NVIDIA Corporation + * Copyright (c) 2010-2023 NVIDIA Corporation * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation @@ -424,7 +424,7 @@ public class nvcuvid extends org.bytedeco.nvcodec.presets.nvcuvid { /* * This copyright notice applies to this header file only: * - * Copyright (c) 2010-2022 NVIDIA Corporation + * Copyright (c) 2010-2023 NVIDIA Corporation * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvencodeapi.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvencodeapi.java index 5e46bff88e6..36e91bb2e0f 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvencodeapi.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/global/nvencodeapi.java @@ -22,7 +22,7 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /* * This copyright notice applies to this header file only: * - * Copyright (c) 2010-2022 NVIDIA Corporation + * Copyright (c) 2010-2023 NVIDIA Corporation * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation @@ -106,7 +106,7 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { public static final int NVENCAPI_MAJOR_VERSION = 12; -public static final int NVENCAPI_MINOR_VERSION = 0; +public static final int NVENCAPI_MINOR_VERSION = 1; public static final int NVENCAPI_VERSION = (NVENCAPI_MAJOR_VERSION | (NVENCAPI_MINOR_VERSION << 24)); @@ -185,33 +185,6 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { // ========================================================================================= // * Preset GUIDS supported by the NvEncodeAPI interface. // ========================================================================================= -// {B2DFB705-4EBD-4C49-9B5F-24A777D3E587} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_DEFAULT_GUID(); - -// {60E4C59F-E846-4484-A56D-CD45BE9FDDF6} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_HP_GUID(); - -// {34DBA71D-A77B-4B8F-9C3E-B6D5DA24C012} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_HQ_GUID(); - -// {82E3E450-BDBB-4e40-989C-82A90DF9EF32} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_BD_GUID(); - -// {49DF21C5-6DFA-4feb-9787-6ACC9EFFB726} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID(); - -// {C5F733B9-EA97-4cf9-BEC2-BF78A74FD105} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_LOW_LATENCY_HQ_GUID(); - -// {67082A44-4BAD-48FA-98EA-93056D150A58} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_LOW_LATENCY_HP_GUID(); - -// {D5BFB716-C604-44e7-9BB8-DEA5510FC3AC} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID(); - -// {149998E7-2364-411d-82EF-179888093409} -@MemberGetter public static native @Const @Deprecated @ByRef GUID NV_ENC_PRESET_LOSSLESS_HP_GUID(); - // Performance degrades and quality improves as we move from P1 to P7. Presets P3 to P7 for H264 and Presets P2 to P7 for HEVC have B frames enabled by default // for HIGH_QUALITY and LOSSLESS tuning info, and will not work with Weighted Prediction enabled. In case Weighted Prediction is required, disable B frames by // setting frameIntervalP = 1 @@ -263,14 +236,7 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /** Variable bitrate mode */ NV_ENC_PARAMS_RC_VBR = 0x1, /** Constant bitrate mode */ - NV_ENC_PARAMS_RC_CBR = 0x2, - /** Deprecated, use NV_ENC_PARAMS_RC_CBR + NV_ENC_TWO_PASS_QUARTER_RESOLUTION / NV_ENC_TWO_PASS_FULL_RESOLUTION + - lowDelayKeyFrameScale=1 */ - NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ = 0x8, - /** Deprecated, use NV_ENC_PARAMS_RC_CBR + NV_ENC_TWO_PASS_QUARTER_RESOLUTION / NV_ENC_TWO_PASS_FULL_RESOLUTION */ - NV_ENC_PARAMS_RC_CBR_HQ = 0x10, - /** Deprecated, use NV_ENC_PARAMS_RC_VBR + NV_ENC_TWO_PASS_QUARTER_RESOLUTION / NV_ENC_TWO_PASS_FULL_RESOLUTION */ - NV_ENC_PARAMS_RC_VBR_HQ = 0x20; + NV_ENC_PARAMS_RC_CBR = 0x2; /** * Multi Pass encoding @@ -284,6 +250,26 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /** Two Pass encoding is enabled where first Pass is full resolution */ NV_ENC_TWO_PASS_FULL_RESOLUTION = 0x2; +/** + * Restore Encoder state + */ +/** enum NV_ENC_STATE_RESTORE_TYPE */ +public static final int + /** Restore full encoder state */ + NV_ENC_STATE_RESTORE_FULL = 0x01, + /** Restore only rate control state */ + NV_ENC_STATE_RESTORE_RATE_CONTROL = 0x02, + /** Restore full encoder state except for rate control state */ + NV_ENC_STATE_RESTORE_ENCODE = 0x03; + +/** enum NV_ENC_OUTPUT_STATS_LEVEL */ +public static final int + NV_ENC_OUTPUT_STATS_NONE = 0, /** No output stats */ + NV_ENC_OUTPUT_STATS_BLOCK_LEVEL = 1, /** Output stats for every block. + Block represents a CTB for HEVC, macroblock for H.264, super block for AV1 */ + NV_ENC_OUTPUT_STATS_ROW_LEVEL = 2; /** Output stats for every row. + Row represents a CTB row for HEVC, macroblock row for H.264, super block row for AV1 */ + /** * Emphasis Levels */ @@ -316,7 +302,6 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /** Currently This is not supported. Value in NV_ENC_PIC_PARAMS::qpDeltaMap will be treated as QP value. */ NV_ENC_QP_MAP = 0x3; - /** * Input picture structure */ @@ -680,7 +665,17 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { * This indicates that the client is attempting to unmap a resource * that has not been successfully mapped. */ - NV_ENC_ERR_RESOURCE_NOT_MAPPED = 25; + NV_ENC_ERR_RESOURCE_NOT_MAPPED = 25, + + /** + * This indicates encode driver requires more output buffers to write an output + * bitstream. If this error is returned from ::NvEncRestoreEncoderState() API, this + * is not a fatal error. If the client is encoding with B frames then, + * ::NvEncRestoreEncoderState() API might be requiring the extra output buffer for accomodating overlay frame output in a separate buffer, for AV1 codec. + * In this case, client must call NvEncRestoreEncoderState() API again with NV_ENC_RESTORE_ENCODER_STATE_PARAMS::outputBitstream as input along with + * the parameters in the previous call. When operating in asynchronous mode of encoding, client must also specify NV_ENC_RESTORE_ENCODER_STATE_PARAMS::completionEvent. + */ + NV_ENC_ERR_NEED_MORE_OUTPUT = 26; /** * Encode Picture encode flags. @@ -696,7 +691,11 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /** Write the sequence and picture header in encoded bitstream of the current picture */ NV_ENC_PIC_FLAG_OUTPUT_SPSPPS = 0x4, /** Indicates end of the input stream */ - NV_ENC_PIC_FLAG_EOS = 0x8; + NV_ENC_PIC_FLAG_EOS = 0x8, + /** Do not advance encoder state during encode */ + NV_ENC_PIC_FLAG_DISABLE_ENC_STATE_ADVANCE = 0x10, + /** Write reconstructed frame */ + NV_ENC_PIC_FLAG_OUTPUT_RECON_FRAME = 0x20; /** * Memory heap to allocate input and output buffers. @@ -821,7 +820,9 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { This buffer usage type is not supported for HEVC ME only mode. */ NV_ENC_OUTPUT_MOTION_VECTOR = 0x1, /** Registered surface will be used for output bitstream in encoding */ - NV_ENC_OUTPUT_BITSTREAM = 0x2; + NV_ENC_OUTPUT_BITSTREAM = 0x2, + /** Registered surface will be used for output reconstructed frame in encoding */ + NV_ENC_OUTPUT_RECON = 0x4; /** * Encoder Device type @@ -1210,10 +1211,30 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { */ NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH = 50, + /** + * Indicates encoding without advancing the state support. + */ + NV_ENC_CAPS_DISABLE_ENC_STATE_ADVANCE = 51, + + /** + * Indicates reconstructed output support. + */ + NV_ENC_CAPS_OUTPUT_RECON_SURFACE = 52, + + /** + * Indicates encoded frame output stats support for every block. Block represents a CTB for HEVC, macroblock for H.264 and super block for AV1. + */ + NV_ENC_CAPS_OUTPUT_BLOCK_STATS = 53, + + /** + * Indicates encoded frame output stats support for every row. Row represents a CTB row for HEVC, macroblock row for H.264 and super block row for AV1. + */ + NV_ENC_CAPS_OUTPUT_ROW_STATS = 54, + /** * Reserved - Not to be used by clients. */ - NV_ENC_CAPS_EXPOSED_COUNT = 51; + NV_ENC_CAPS_EXPOSED_COUNT = 55; /** * HEVC CU SIZE @@ -1310,6 +1331,27 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /** NV_ENC_CAPS_PARAM struct version. */ public static native @MemberGetter int NV_ENC_CAPS_PARAM_VER(); public static final int NV_ENC_CAPS_PARAM_VER = NV_ENC_CAPS_PARAM_VER(); +// Targeting ../nvencodeapi/NV_ENC_RESTORE_ENCODER_STATE_PARAMS.java + + + +/** NV_ENC_RESTORE_ENCODER_STATE_PARAMS struct version. */ +public static native @MemberGetter int NV_ENC_RESTORE_ENCODER_STATE_PARAMS_VER(); +public static final int NV_ENC_RESTORE_ENCODER_STATE_PARAMS_VER = NV_ENC_RESTORE_ENCODER_STATE_PARAMS_VER(); +// Targeting ../nvencodeapi/NV_ENC_OUTPUT_STATS_BLOCK.java + + + +/** NV_ENC_OUTPUT_STATS_BLOCK struct version. */ +public static native @MemberGetter int NV_ENC_OUTPUT_STATS_BLOCK_VER(); +public static final int NV_ENC_OUTPUT_STATS_BLOCK_VER = NV_ENC_OUTPUT_STATS_BLOCK_VER(); +// Targeting ../nvencodeapi/NV_ENC_OUTPUT_STATS_ROW.java + + + +/** NV_ENC_OUTPUT_STATS_ROW struct version. */ +public static native @MemberGetter int NV_ENC_OUTPUT_STATS_ROW_VER(); +public static final int NV_ENC_OUTPUT_STATS_ROW_VER = NV_ENC_OUTPUT_STATS_ROW_VER(); // Targeting ../nvencodeapi/NV_ENC_ENCODE_OUT_PARAMS.java @@ -1317,6 +1359,13 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { /** NV_ENC_ENCODE_OUT_PARAMS struct version. */ public static native @MemberGetter int NV_ENC_ENCODE_OUT_PARAMS_VER(); public static final int NV_ENC_ENCODE_OUT_PARAMS_VER = NV_ENC_ENCODE_OUT_PARAMS_VER(); +// Targeting ../nvencodeapi/NV_ENC_LOOKAHEAD_PIC_PARAMS.java + + + +/** NV_ENC_LOOKAHEAD_PIC_PARAMS struct version. */ +public static native @MemberGetter int NV_ENC_LOOKAHEAD_PIC_PARAMS_VER(); +public static final int NV_ENC_LOOKAHEAD_PIC_PARAMS_VER = NV_ENC_LOOKAHEAD_PIC_PARAMS_VER(); // Targeting ../nvencodeapi/NV_ENC_CREATE_INPUT_BUFFER.java @@ -1426,6 +1475,22 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { NV_ENC_TUNING_INFO_LOSSLESS = 4, /** Count number of tuningInfos. Invalid value. */ NV_ENC_TUNING_INFO_COUNT = 5; + +/** + * Split Encoding Modes (Split Encoding is not applicable to H264). + */ +/** enum NV_ENC_SPLIT_ENCODE_MODE */ +public static final int + /** Default value, split frame forced mode disabled, split frame auto mode enabled */ + NV_ENC_SPLIT_AUTO_MODE = 0, + /** Split frame forced mode enabled with number of strips automatically selected by driver to best fit configuration */ + NV_ENC_SPLIT_AUTO_FORCED_MODE = 1, + /** Forced 2-strip split frame encoding (if NVENC number > 1, 1-strip encode otherwise) */ + NV_ENC_SPLIT_TWO_FORCED_MODE = 2, + /** Forced 3-strip split frame encoding (if NVENC number > 2, NVENC number of strips otherwise) */ + NV_ENC_SPLIT_THREE_FORCED_MODE = 3, + /** Both split frame auto mode and forced mode are disabled */ + NV_ENC_SPLIT_DISABLE_MODE = 15; // Targeting ../nvencodeapi/NV_ENC_INITIALIZE_PARAMS.java @@ -1494,7 +1559,6 @@ public class nvencodeapi extends org.bytedeco.nvcodec.presets.nvencodeapi { -/** Macro for constructing the version field of ::_NV_ENC_LOCK_BITSTREAM */ public static native @MemberGetter int NV_ENC_LOCK_BITSTREAM_VER(); public static final int NV_ENC_LOCK_BITSTREAM_VER = NV_ENC_LOCK_BITSTREAM_VER(); // Targeting ../nvencodeapi/NV_ENC_LOCK_INPUT_BUFFER.java @@ -2474,6 +2538,34 @@ internal buffers (NvI1, NvI2...). These internal buffers are managed by NvEncode */ +// NvEncRestoreEncoderState +/** + * \brief Restore state of encoder + * + * This function is used to restore the state of encoder with state saved internally in + * state buffer corresponding to index equal to 'NV_ENC_RESTORE_ENCODER_STATE_PARAMS::bfrIndex'. + * Client can specify the state type to be updated by specifying appropriate value in + * 'NV_ENC_RESTORE_ENCODER_STATE_PARAMS::state'. The client must call this + * function after all previous encodes have finished. + * + * @param encoder [in] + * Pointer to the NvEncodeAPI interface. + * @param restoreState [in] + * Pointer to the ::_NV_ENC_RESTORE_ENCODER_STATE_PARAMS structure + * + * @return + * ::NV_ENC_SUCCESS \n + * ::NV_ENC_ERR_INVALID_PTR \n + * ::NV_ENC_ERR_INVALID_ENCODERDEVICE \n + * ::NV_ENC_ERR_DEVICE_NOT_EXIST \n + * ::NV_ENC_ERR_UNSUPPORTED_PARAM \n + * ::NV_ENC_ERR_OUT_OF_MEMORY \n + * ::NV_ENC_ERR_INVALID_PARAM \n + * ::NV_ENC_ERR_ENCODER_NOT_INITIALIZED \n + * ::NV_ENC_ERR_GENERIC \n + * + */ +public static native @Cast("NVENCSTATUS") int NvEncRestoreEncoderState(Pointer encoder, NV_ENC_RESTORE_ENCODER_STATE_PARAMS restoreState); // NvLockInputBuffer /** @@ -3090,6 +3182,33 @@ internal buffers (NvI1, NvI2...). These internal buffers are managed by NvEncode * Pointer to buffer containing the details of the last error encountered by the API. */ + +// NvEncLookaheadPicture +/** + * \brief Submit an input picture for lookahead. + * + * This function can be used by clients to submit input frame for lookahead. Client could call this function + * NV_ENC_INITIALIZE_PARAMS::lookaheadDepth plus one number of frames, before calling NvEncEncodePicture() for the first frame. + * + * @param encoder [in] + * Pointer to the NvEncodeAPI interface. + * @param lookaheadParams [in] + * Pointer to the ::_NV_ENC_LOOKAHEAD_PIC_PARAMS structure. + * + * @return + * ::NV_ENC_SUCCESS \n + * ::NV_ENC_NEED_MORE_INPUT \n should we return this error is lookahead queue is not full? + * ::NV_ENC_ERR_INVALID_PTR \n + * ::NV_ENC_ERR_ENCODER_NOT_INITIALIZED \n + * ::NV_ENC_ERR_GENERIC \n + * ::NV_ENC_ERR_INVALID_ENCODERDEVICE \n + * ::NV_ENC_ERR_DEVICE_NOT_EXIST \n + * ::NV_ENC_ERR_UNSUPPORTED_PARAM \n + * ::NV_ENC_ERR_OUT_OF_MEMORY \n + * ::NV_ENC_ERR_INVALID_PARAM \n + * ::NV_ENC_ERR_INVALID_VERSION \n + */ +public static native @Cast("NVENCSTATUS") int NvEncLookaheadPicture(Pointer encoder, NV_ENC_LOOKAHEAD_PIC_PARAMS lookaheadParamas); // Targeting ../nvencodeapi/PNVENCOPENENCODESESSION.java @@ -3210,6 +3329,12 @@ internal buffers (NvI1, NvI2...). These internal buffers are managed by NvEncode // Targeting ../nvencodeapi/PNVENCGETSEQUENCEPARAMEX.java +// Targeting ../nvencodeapi/PNVENCRESTOREENCODERSTATE.java + + +// Targeting ../nvencodeapi/PNVENCLOOKAHEADPICTURE.java + + // Targeting ../nvencodeapi/NV_ENCODE_API_FUNCTION_LIST.java diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENCODE_API_FUNCTION_LIST.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENCODE_API_FUNCTION_LIST.java index b76c5c4f015..7e02c62d120 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENCODE_API_FUNCTION_LIST.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENCODE_API_FUNCTION_LIST.java @@ -128,6 +128,10 @@ public class NV_ENCODE_API_FUNCTION_LIST extends Pointer { public native PNVENCGETENCODEPRESETCONFIGEX nvEncGetEncodePresetConfigEx(); public native NV_ENCODE_API_FUNCTION_LIST nvEncGetEncodePresetConfigEx(PNVENCGETENCODEPRESETCONFIGEX setter); /** [out]: Client should access ::NvEncGetSequenceParamEx() API through this pointer. */ public native PNVENCGETSEQUENCEPARAMEX nvEncGetSequenceParamEx(); public native NV_ENCODE_API_FUNCTION_LIST nvEncGetSequenceParamEx(PNVENCGETSEQUENCEPARAMEX setter); + /** [out]: Client should access ::NvEncRestoreEncoderState() API through this pointer. */ + public native PNVENCRESTOREENCODERSTATE nvEncRestoreEncoderState(); public native NV_ENCODE_API_FUNCTION_LIST nvEncRestoreEncoderState(PNVENCRESTOREENCODERSTATE setter); + /** [out]: Client should access ::NvEncLookaheadPicture() API through this pointer. */ + public native PNVENCLOOKAHEADPICTURE nvEncLookaheadPicture(); public native NV_ENCODE_API_FUNCTION_LIST nvEncLookaheadPicture(PNVENCLOOKAHEADPICTURE setter); /** [in]: Reserved and must be set to NULL */ public native Pointer reserved2(int i); public native NV_ENCODE_API_FUNCTION_LIST reserved2(int i, Pointer setter); @MemberGetter public native @Cast("void**") PointerPointer reserved2(); diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_H264.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_H264.java index 1af0ff62c68..fd4ab9cf669 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_H264.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_H264.java @@ -82,9 +82,7 @@ public class NV_ENC_CONFIG_H264 extends Pointer { /** [in]: Set 1 to enable constrained intra prediction. */ public native @Cast("uint32_t") @NoOffset int useConstrainedIntraPred(); public native NV_ENC_CONFIG_H264 useConstrainedIntraPred(int setter); /** [in]: Set to 1 to enable insertion of filler data in the bitstream. - This flag will take effect only when one of the CBR rate - control modes (NV_ENC_PARAMS_RC_CBR, NV_ENC_PARAMS_RC_CBR_HQ, - NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ) is in use and both + This flag will take effect only when CBR rate control mode is in use and both NV_ENC_INITIALIZE_PARAMS::frameRateNum and NV_ENC_INITIALIZE_PARAMS::frameRateDen are set to non-zero values. Setting this field when diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_HEVC.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_HEVC.java index 1fa021e1c52..f3b185e0a54 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_HEVC.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_CONFIG_HEVC.java @@ -74,9 +74,7 @@ public class NV_ENC_CONFIG_HEVC extends Pointer { /** [in]: Specifies pixel bit depth minus 8. Should be set to 0 for 8 bit input, 2 for 10 bit input.*/ public native @Cast("uint32_t") @NoOffset int pixelBitDepthMinus8(); public native NV_ENC_CONFIG_HEVC pixelBitDepthMinus8(int setter); /** [in]: Set to 1 to enable insertion of filler data in the bitstream. - This flag will take effect only when one of the CBR rate - control modes (NV_ENC_PARAMS_RC_CBR, NV_ENC_PARAMS_RC_CBR_HQ, - NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ) is in use and both + This flag will take effect only when CBR rate control mode is in use and both NV_ENC_INITIALIZE_PARAMS::frameRateNum and NV_ENC_INITIALIZE_PARAMS::frameRateDen are set to non-zero values. Setting this field when diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_ENCODE_OUT_PARAMS.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_ENCODE_OUT_PARAMS.java index 8c9ab2ee872..1f05298a7c9 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_ENCODE_OUT_PARAMS.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_ENCODE_OUT_PARAMS.java @@ -15,7 +15,6 @@ import static org.bytedeco.nvcodec.global.nvencodeapi.*; - /** * Encoder Output parameters */ diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_INITIALIZE_PARAMS.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_INITIALIZE_PARAMS.java index 852179d0797..8726bf7e37a 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_INITIALIZE_PARAMS.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_INITIALIZE_PARAMS.java @@ -74,8 +74,19 @@ public class NV_ENC_INITIALIZE_PARAMS extends Pointer { /** [in]: Set this to 1 to enable weighted prediction. Not supported if encode session is configured for B-Frames (i.e. NV_ENC_CONFIG::frameIntervalP > 1 or preset >=P3 when tuningInfo = ::NV_ENC_TUNING_INFO_HIGH_QUALITY or tuningInfo = ::NV_ENC_TUNING_INFO_LOSSLESS. This is because preset >=p3 internally enables B frames when tuningInfo = ::NV_ENC_TUNING_INFO_HIGH_QUALITY or ::NV_ENC_TUNING_INFO_LOSSLESS). */ public native @Cast("uint32_t") @NoOffset int enableWeightedPrediction(); public native NV_ENC_INITIALIZE_PARAMS enableWeightedPrediction(int setter); + /** [in]: Split Encoding mode in NVENC (Split Encoding is not applicable to H264). + Not supported if any of the following features: weighted prediction, alpha layer encoding, + subframe mode, output into video memory buffer, picture timing/buffering period SEI message + insertion with DX12 interface are enabled in case of HEVC. + For AV1, split encoding is not supported when output into video memory buffer is enabled. */ + public native @Cast("uint32_t") @NoOffset int splitEncodeMode(); public native NV_ENC_INITIALIZE_PARAMS splitEncodeMode(int setter); /** [in]: Set this to 1 to enable output of NVENC in video memory buffer created by application. This feature is not supported for HEVC ME only mode. */ public native @Cast("uint32_t") @NoOffset int enableOutputInVidmem(); public native NV_ENC_INITIALIZE_PARAMS enableOutputInVidmem(int setter); + /** [in]: Set this to 1 to enable reconstructed frame output. */ + public native @Cast("uint32_t") @NoOffset int enableReconFrameOutput(); public native NV_ENC_INITIALIZE_PARAMS enableReconFrameOutput(int setter); + /** [in]: Set this to 1 to enable encoded frame output stats. Client must allocate buffer of size equal to number of blocks multiplied by the size of + NV_ENC_OUTPUT_STATS_BLOCK struct in system memory and assign to NV_ENC_LOCK_BITSTREAM::encodedOutputStatsPtr to receive the encoded frame output stats.*/ + public native @Cast("uint32_t") @NoOffset int enableOutputStats(); public native NV_ENC_INITIALIZE_PARAMS enableOutputStats(int setter); /** [in]: Reserved bitfields and must be set to 0 */ public native @Cast("uint32_t") @NoOffset int reservedBitFields(); public native NV_ENC_INITIALIZE_PARAMS reservedBitFields(int setter); /** [in]: Reserved private data buffer size and must be set to 0 */ @@ -83,8 +94,8 @@ public class NV_ENC_INITIALIZE_PARAMS extends Pointer { /** [in]: Reserved private data buffer and must be set to NULL */ public native Pointer privData(); public native NV_ENC_INITIALIZE_PARAMS privData(Pointer setter); /** [in]: Specifies the advanced codec specific structure. If client has sent a valid codec config structure, it will override parameters set by the NV_ENC_INITIALIZE_PARAMS::presetGUID parameter. If set to NULL the NvEncodeAPI interface will use the NV_ENC_INITIALIZE_PARAMS::presetGUID to set the codec specific parameters. - Client can also optionally query the NvEncodeAPI interface to get codec specific parameters for a presetGUID using ::NvEncGetEncodePresetConfig() API. It can then modify (if required) some of the codec config parameters and send down a custom config structure as part of ::_NV_ENC_INITIALIZE_PARAMS. - Even in this case client is recommended to pass the same preset guid it has used in ::NvEncGetEncodePresetConfig() API to query the config structure; as NV_ENC_INITIALIZE_PARAMS::presetGUID. This will not override the custom config structure but will be used to determine other Encoder HW specific parameters not exposed in the API. */ + Client can also optionally query the NvEncodeAPI interface to get codec specific parameters for a presetGUID using ::NvEncGetEncodePresetConfigEx() API. It can then modify (if required) some of the codec config parameters and send down a custom config structure as part of ::_NV_ENC_INITIALIZE_PARAMS. + Even in this case client is recommended to pass the same preset guid it has used in ::NvEncGetEncodePresetConfigEx() API to query the config structure; as NV_ENC_INITIALIZE_PARAMS::presetGUID. This will not override the custom config structure but will be used to determine other Encoder HW specific parameters not exposed in the API. */ public native NV_ENC_CONFIG encodeConfig(); public native NV_ENC_INITIALIZE_PARAMS encodeConfig(NV_ENC_CONFIG setter); /** [in]: Maximum encode width to be used for current Encode session. Client should allocate output buffers according to this dimension for dynamic resolution change. If set to 0, Encoder will not allow dynamic resolution change. */ @@ -101,6 +112,14 @@ public class NV_ENC_INITIALIZE_PARAMS extends Pointer { public native @Cast("NV_ENC_TUNING_INFO") int tuningInfo(); public native NV_ENC_INITIALIZE_PARAMS tuningInfo(int setter); /** [in]: Input buffer format. Used only when DX12 interface type is used */ public native @Cast("NV_ENC_BUFFER_FORMAT") int bufferFormat(); public native NV_ENC_INITIALIZE_PARAMS bufferFormat(int setter); + /** [in]: Number of state buffers to allocate to save encoder state. Set this to value greater than zero to enable encoding without advancing the encoder state. */ + public native @Cast("uint32_t") int numStateBuffers(); public native NV_ENC_INITIALIZE_PARAMS numStateBuffers(int setter); + /** [in]: Specifies the level for encoded frame output stats, when NV_ENC_INITIALIZE_PARAMS::enableOutputStats is set to 1. + Client should allocate buffer of size equal to number of blocks multiplied by the size of NV_ENC_OUTPUT_STATS_BLOCK struct + if NV_ENC_INITIALIZE_PARAMS::outputStatsLevel is set to NV_ENC_OUTPUT_STATS_BLOCK or number of rows multiplied by the size of + NV_ENC_OUTPUT_STATS_ROW struct if NV_ENC_INITIALIZE_PARAMS::outputStatsLevel is set to NV_ENC_OUTPUT_STATS_ROW + in system memory and assign to NV_ENC_LOCK_BITSTREAM::encodedOutputStatsPtr to receive the encoded frame output stats. */ + public native @Cast("NV_ENC_OUTPUT_STATS_LEVEL") int outputStatsLevel(); public native NV_ENC_INITIALIZE_PARAMS outputStatsLevel(int setter); /** [in]: Reserved and must be set to 0 */ public native @Cast("uint32_t") int reserved(int i); public native NV_ENC_INITIALIZE_PARAMS reserved(int i, int setter); @MemberGetter public native @Cast("uint32_t*") IntPointer reserved(); diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOCK_BITSTREAM.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOCK_BITSTREAM.java index 6e551c7bd96..58e95945231 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOCK_BITSTREAM.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOCK_BITSTREAM.java @@ -84,9 +84,6 @@ public class NV_ENC_LOCK_BITSTREAM extends Pointer { public native @Cast("uint32_t") int ltrFrameBitmap(); public native NV_ENC_LOCK_BITSTREAM ltrFrameBitmap(int setter); /** [out]: TemporalId value of the frame when using temporalSVC encoding */ public native @Cast("uint32_t") int temporalId(); public native NV_ENC_LOCK_BITSTREAM temporalId(int setter); - /** [in]: Reserved and must be set to 0 */ - public native @Cast("uint32_t") int reserved(int i); public native NV_ENC_LOCK_BITSTREAM reserved(int i, int setter); - @MemberGetter public native @Cast("uint32_t*") IntPointer reserved(); /** [out]: For H264, Number of Intra MBs in the encoded frame. For HEVC, Number of Intra CTBs in the encoded frame. For AV1, Number of Intra SBs in the encoded show frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ public native @Cast("uint32_t") int intraMBCount(); public native NV_ENC_LOCK_BITSTREAM intraMBCount(int setter); /** [out]: For H264, Number of Inter MBs in the encoded frame, includes skip MBs. For HEVC, Number of Inter CTBs in the encoded frame. For AV1, Number of Inter SBs in the encoded show frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ @@ -97,11 +94,19 @@ public class NV_ENC_LOCK_BITSTREAM extends Pointer { public native @Cast("int32_t") int averageMVY(); public native NV_ENC_LOCK_BITSTREAM averageMVY(int setter); /** [out]: Number of bytes generated for the alpha layer in the encoded output. Applicable only when HEVC with alpha encoding is enabled. */ public native @Cast("uint32_t") int alphaLayerSizeInBytes(); public native NV_ENC_LOCK_BITSTREAM alphaLayerSizeInBytes(int setter); - + /** [in]: Size of the buffer pointed by NV_ENC_LOCK_BITSTREAM::outputStatsPtr. */ + public native @Cast("uint32_t") int outputStatsPtrSize(); public native NV_ENC_LOCK_BITSTREAM outputStatsPtrSize(int setter); + /** [in, out]: Buffer which receives the encoded frame output stats, if NV_ENC_INITIALIZE_PARAMS::enableOutputStats is set to 1. */ + public native Pointer outputStatsPtr(); public native NV_ENC_LOCK_BITSTREAM outputStatsPtr(Pointer setter); + /** [out]: Frame index in display order */ + public native @Cast("uint32_t") int frameIdxDisplay(); public native NV_ENC_LOCK_BITSTREAM frameIdxDisplay(int setter); /** [in]: Reserved and must be set to 0 */ public native @Cast("uint32_t") int reserved1(int i); public native NV_ENC_LOCK_BITSTREAM reserved1(int i, int setter); @MemberGetter public native @Cast("uint32_t*") IntPointer reserved1(); /** [in]: Reserved and must be set to NULL */ public native Pointer reserved2(int i); public native NV_ENC_LOCK_BITSTREAM reserved2(int i, Pointer setter); @MemberGetter public native @Cast("void**") PointerPointer reserved2(); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint32_t") int reservedInternal(int i); public native NV_ENC_LOCK_BITSTREAM reservedInternal(int i, int setter); + @MemberGetter public native @Cast("uint32_t*") IntPointer reservedInternal(); } diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOOKAHEAD_PIC_PARAMS.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOOKAHEAD_PIC_PARAMS.java new file mode 100644 index 00000000000..8125a2d6657 --- /dev/null +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_LOOKAHEAD_PIC_PARAMS.java @@ -0,0 +1,51 @@ +// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.nvcodec.nvencodeapi; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; +import org.bytedeco.nvcodec.nvcuvid.*; +import static org.bytedeco.nvcodec.global.nvcuvid.*; + +import static org.bytedeco.nvcodec.global.nvencodeapi.*; + + +/** + * Lookahead picture parameters + */ +@Properties(inherit = org.bytedeco.nvcodec.presets.nvencodeapi.class) +public class NV_ENC_LOOKAHEAD_PIC_PARAMS extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public NV_ENC_LOOKAHEAD_PIC_PARAMS() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public NV_ENC_LOOKAHEAD_PIC_PARAMS(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public NV_ENC_LOOKAHEAD_PIC_PARAMS(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public NV_ENC_LOOKAHEAD_PIC_PARAMS position(long position) { + return (NV_ENC_LOOKAHEAD_PIC_PARAMS)super.position(position); + } + @Override public NV_ENC_LOOKAHEAD_PIC_PARAMS getPointer(long i) { + return new NV_ENC_LOOKAHEAD_PIC_PARAMS((Pointer)this).offsetAddress(i); + } + + /** [in]: Struct version. */ + public native @Cast("uint32_t") int version(); public native NV_ENC_LOOKAHEAD_PIC_PARAMS version(int setter); + /** [in]: Specifies the input buffer pointer. Client must use a pointer obtained from ::NvEncCreateInputBuffer() or ::NvEncMapInputResource() APIs.*/ + public native NV_ENC_INPUT_PTR inputBuffer(); public native NV_ENC_LOOKAHEAD_PIC_PARAMS inputBuffer(NV_ENC_INPUT_PTR setter); + /** [in]: Specifies input picture type. Client required to be set explicitly by the client if the client has not set NV_ENC_INITALIZE_PARAMS::enablePTD to 1 while calling NvInitializeEncoder. */ + public native @Cast("NV_ENC_PIC_TYPE") int pictureType(); public native NV_ENC_LOOKAHEAD_PIC_PARAMS pictureType(int setter); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint32_t") int reserved(int i); public native NV_ENC_LOOKAHEAD_PIC_PARAMS reserved(int i, int setter); + @MemberGetter public native @Cast("uint32_t*") IntPointer reserved(); + /** [in]: Reserved and must be set to NULL */ + public native Pointer reserved1(int i); public native NV_ENC_LOOKAHEAD_PIC_PARAMS reserved1(int i, Pointer setter); + @MemberGetter public native @Cast("void**") PointerPointer reserved1(); +} diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_OUTPUT_STATS_BLOCK.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_OUTPUT_STATS_BLOCK.java new file mode 100644 index 00000000000..56469a2b765 --- /dev/null +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_OUTPUT_STATS_BLOCK.java @@ -0,0 +1,51 @@ +// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.nvcodec.nvencodeapi; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; +import org.bytedeco.nvcodec.nvcuvid.*; +import static org.bytedeco.nvcodec.global.nvcuvid.*; + +import static org.bytedeco.nvcodec.global.nvencodeapi.*; + + +/** + * Encoded frame information parameters for every block. + */ +@Properties(inherit = org.bytedeco.nvcodec.presets.nvencodeapi.class) +public class NV_ENC_OUTPUT_STATS_BLOCK extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public NV_ENC_OUTPUT_STATS_BLOCK() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public NV_ENC_OUTPUT_STATS_BLOCK(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public NV_ENC_OUTPUT_STATS_BLOCK(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public NV_ENC_OUTPUT_STATS_BLOCK position(long position) { + return (NV_ENC_OUTPUT_STATS_BLOCK)super.position(position); + } + @Override public NV_ENC_OUTPUT_STATS_BLOCK getPointer(long i) { + return new NV_ENC_OUTPUT_STATS_BLOCK((Pointer)this).offsetAddress(i); + } + + /** [in]: Struct version */ + public native @Cast("uint32_t") int version(); public native NV_ENC_OUTPUT_STATS_BLOCK version(int setter); + /** [out]: QP of the block */ + public native @Cast("uint8_t") byte QP(); public native NV_ENC_OUTPUT_STATS_BLOCK QP(byte setter); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint8_t") byte reserved(int i); public native NV_ENC_OUTPUT_STATS_BLOCK reserved(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer reserved(); + /** [out]: Bitcount of the block */ + public native @Cast("uint32_t") int bitcount(); public native NV_ENC_OUTPUT_STATS_BLOCK bitcount(int setter); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint32_t") int reserved1(int i); public native NV_ENC_OUTPUT_STATS_BLOCK reserved1(int i, int setter); + @MemberGetter public native @Cast("uint32_t*") IntPointer reserved1(); +} diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_OUTPUT_STATS_ROW.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_OUTPUT_STATS_ROW.java new file mode 100644 index 00000000000..870873164c6 --- /dev/null +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_OUTPUT_STATS_ROW.java @@ -0,0 +1,51 @@ +// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.nvcodec.nvencodeapi; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; +import org.bytedeco.nvcodec.nvcuvid.*; +import static org.bytedeco.nvcodec.global.nvcuvid.*; + +import static org.bytedeco.nvcodec.global.nvencodeapi.*; + + +/** + * Encoded frame information parameters for every row. + */ +@Properties(inherit = org.bytedeco.nvcodec.presets.nvencodeapi.class) +public class NV_ENC_OUTPUT_STATS_ROW extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public NV_ENC_OUTPUT_STATS_ROW() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public NV_ENC_OUTPUT_STATS_ROW(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public NV_ENC_OUTPUT_STATS_ROW(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public NV_ENC_OUTPUT_STATS_ROW position(long position) { + return (NV_ENC_OUTPUT_STATS_ROW)super.position(position); + } + @Override public NV_ENC_OUTPUT_STATS_ROW getPointer(long i) { + return new NV_ENC_OUTPUT_STATS_ROW((Pointer)this).offsetAddress(i); + } + + /** [in]: Struct version */ + public native @Cast("uint32_t") int version(); public native NV_ENC_OUTPUT_STATS_ROW version(int setter); + /** [out]: QP of the row */ + public native @Cast("uint8_t") byte QP(); public native NV_ENC_OUTPUT_STATS_ROW QP(byte setter); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint8_t") byte reserved(int i); public native NV_ENC_OUTPUT_STATS_ROW reserved(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer reserved(); + /** [out]: Bitcount of the row */ + public native @Cast("uint32_t") int bitcount(); public native NV_ENC_OUTPUT_STATS_ROW bitcount(int setter); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint32_t") int reserved1(int i); public native NV_ENC_OUTPUT_STATS_ROW reserved1(int i, int setter); + @MemberGetter public native @Cast("uint32_t*") IntPointer reserved1(); +} diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_PIC_PARAMS.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_PIC_PARAMS.java index a7fb697b44d..981b87ffc2b 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_PIC_PARAMS.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_PIC_PARAMS.java @@ -115,9 +115,19 @@ public class NV_ENC_PIC_PARAMS extends Pointer { NV_ENC_PIC_PARAMS::meSbHintsCount must never exceed the total number of SBs in frame * the max number of candidates per SB provided during encoder initialization. The max number of candidates per SB is maxMeHintCountsPerBlock[0].numCandsPerSb + maxMeHintCountsPerBlock[1].numCandsPerSb */ public native @Cast("uint32_t") int meSbHintsCount(); public native NV_ENC_PIC_PARAMS meSbHintsCount(int setter); + /** [in]: Specifies the buffer index in which the encoder state will be saved for current frame encode. It must be in the + range 0 to NV_ENC_INITIALIZE_PARAMS::numStateBuffers - 1. */ + public native @Cast("uint32_t") int stateBufferIdx(); public native NV_ENC_PIC_PARAMS stateBufferIdx(int setter); + /** [in]: Specifies the reconstructed frame buffer pointer to output reconstructed frame, if enabled by setting NV_ENC_INITIALIZE_PARAMS::enableReconFrameOutput. + Client must allocate buffers for writing the reconstructed frames and register them with the Nvidia Video Encoder Interface with NV_ENC_REGISTER_RESOURCE::bufferUsage + set to NV_ENC_OUTPUT_RECON. + Client must use the pointer obtained from ::NvEncMapInputResource() API and assign it to NV_ENC_PIC_PARAMS::outputReconBuffer. + Reconstructed output will be in NV_ENC_BUFFER_FORMAT_NV12 format when chromaFormatIDC is set to 1. + chromaFormatIDC = 3 is not supported. */ + public native NV_ENC_OUTPUT_PTR outputReconBuffer(); public native NV_ENC_PIC_PARAMS outputReconBuffer(NV_ENC_OUTPUT_PTR setter); /** [in]: Reserved and must be set to 0 */ public native @Cast("uint32_t") int reserved3(int i); public native NV_ENC_PIC_PARAMS reserved3(int i, int setter); - @MemberGetter public native @Cast("uint32_t*") IntPointer reserved3(); + @MemberGetter public native @Cast("uint32_t*") IntPointer reserved3(); /** [in]: Reserved and must be set to NULL */ public native Pointer reserved4(int i); public native NV_ENC_PIC_PARAMS reserved4(int i, Pointer setter); @MemberGetter public native @Cast("void**") PointerPointer reserved4(); diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RC_PARAMS.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RC_PARAMS.java index 1a6bf798814..cf7cd8fe129 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RC_PARAMS.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RC_PARAMS.java @@ -76,13 +76,18 @@ public class NV_ENC_RC_PARAMS extends Pointer { /** [in]: When AQ (Spatial) is enabled (i.e. NV_ENC_RC_PARAMS::enableAQ is set), this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive). If not set, strength is auto selected by driver. */ public native @Cast("uint32_t") @NoOffset int aqStrength(); public native NV_ENC_RC_PARAMS aqStrength(int setter); + /** [in]: Set this to 1 to enable lookahead externally. + Application must call NvEncLookahead() for NV_ENC_RC_PARAMS::lookaheadDepth number of frames, + before calling NvEncEncodePicture() for the first frame */ + public native @Cast("uint32_t") @NoOffset int enableExtLookahead(); public native NV_ENC_RC_PARAMS enableExtLookahead(int setter); /** [in]: Reserved bitfields and must be set to 0 */ public native @Cast("uint32_t") @NoOffset int reservedBitFields(); public native NV_ENC_RC_PARAMS reservedBitFields(int setter); /** [in]: Specifies the minimum QP used for rate control. Client must set NV_ENC_CONFIG::enableMinQP to 1. */ public native @ByRef NV_ENC_QP minQP(); public native NV_ENC_RC_PARAMS minQP(NV_ENC_QP setter); /** [in]: Specifies the maximum QP used for rate control. Client must set NV_ENC_CONFIG::enableMaxQP to 1. */ public native @ByRef NV_ENC_QP maxQP(); public native NV_ENC_RC_PARAMS maxQP(NV_ENC_QP setter); - /** [in]: Specifies the initial QP used for rate control. Client must set NV_ENC_CONFIG::enableInitialRCQP to 1. */ + /** [in]: Specifies the initial QP hint used for rate control. The parameter is just used as hint to influence the QP difference between I,P and B frames. + Client must set NV_ENC_CONFIG::enableInitialRCQP to 1. */ public native @ByRef NV_ENC_QP initialRCQP(); public native NV_ENC_RC_PARAMS initialRCQP(NV_ENC_QP setter); /** [in]: Specifies the temporal layers (as a bitmask) whose QPs have changed. Valid max bitmask is [2^NV_ENC_CAPS_NUM_MAX_TEMPORAL_LAYERS - 1]. Applicable only for constant QP mode (NV_ENC_RC_PARAMS::rateControlMode = NV_ENC_PARAMS_RC_CONSTQP). */ diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_REGISTER_RESOURCE.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_REGISTER_RESOURCE.java index 5f62598ca8b..c3a3f62b13c 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_REGISTER_RESOURCE.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_REGISTER_RESOURCE.java @@ -80,6 +80,12 @@ width of the allocation in bytes (i.e. The fence NV_ENC_FENCE_POINT_D3D12::pFence and NV_ENC_FENCE_POINT_D3D12::signalValue will be used to do GPU signal when GPU operation finishes, if NV_ENC_FENCE_POINT_D3D12::bSignal is set. */ public native NV_ENC_FENCE_POINT_D3D12 pInputFencePoint(); public native NV_ENC_REGISTER_RESOURCE pInputFencePoint(NV_ENC_FENCE_POINT_D3D12 setter); + /** [out]: Chroma offset for the reconstructed output buffer when NV_ENC_BUFFER_USAGE::bufferUsage is set + to NV_ENC_OUTPUT_RECON and D3D11 interface is used. + When chroma components are interleaved, 'chromaOffset[0]' will contain chroma offset. + chromaOffset[1] is reserved for future use. */ + public native @Cast("uint32_t") int chromaOffset(int i); public native NV_ENC_REGISTER_RESOURCE chromaOffset(int i, int setter); + @MemberGetter public native @Cast("uint32_t*") IntPointer chromaOffset(); /** [in]: Reserved and must be set to 0. */ public native @Cast("uint32_t") int reserved1(int i); public native NV_ENC_REGISTER_RESOURCE reserved1(int i, int setter); @MemberGetter public native @Cast("uint32_t*") IntPointer reserved1(); diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RESTORE_ENCODER_STATE_PARAMS.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RESTORE_ENCODER_STATE_PARAMS.java new file mode 100644 index 00000000000..419fc1341d1 --- /dev/null +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/NV_ENC_RESTORE_ENCODER_STATE_PARAMS.java @@ -0,0 +1,58 @@ +// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.nvcodec.nvencodeapi; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; +import org.bytedeco.nvcodec.nvcuvid.*; +import static org.bytedeco.nvcodec.global.nvcuvid.*; + +import static org.bytedeco.nvcodec.global.nvencodeapi.*; + + + +/** + * Restore encoder state parameters + */ +@Properties(inherit = org.bytedeco.nvcodec.presets.nvencodeapi.class) +public class NV_ENC_RESTORE_ENCODER_STATE_PARAMS extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public NV_ENC_RESTORE_ENCODER_STATE_PARAMS() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public NV_ENC_RESTORE_ENCODER_STATE_PARAMS(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public NV_ENC_RESTORE_ENCODER_STATE_PARAMS(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public NV_ENC_RESTORE_ENCODER_STATE_PARAMS position(long position) { + return (NV_ENC_RESTORE_ENCODER_STATE_PARAMS)super.position(position); + } + @Override public NV_ENC_RESTORE_ENCODER_STATE_PARAMS getPointer(long i) { + return new NV_ENC_RESTORE_ENCODER_STATE_PARAMS((Pointer)this).offsetAddress(i); + } + + /** [in]: Struct version. */ + public native @Cast("uint32_t") int version(); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS version(int setter); + /** [in]: State buffer index to which the encoder state will be restored */ + public native @Cast("uint32_t") int bufferIdx(); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS bufferIdx(int setter); + /** [in]: State type to restore */ + public native @Cast("NV_ENC_STATE_RESTORE_TYPE") int state(); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS state(int setter); + /** [in]: Specifies the output buffer pointer, for AV1 encode only. + Application must call NvEncRestoreEncoderState() API with _NV_ENC_RESTORE_ENCODER_STATE_PARAMS::outputBitstream and + _NV_ENC_RESTORE_ENCODER_STATE_PARAMS::completionEvent as input when an earlier call to this API returned "NV_ENC_ERR_NEED_MORE_OUTPUT", for AV1 encode. */ + public native NV_ENC_OUTPUT_PTR outputBitstream(); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS outputBitstream(NV_ENC_OUTPUT_PTR setter); + /** [in]: Specifies the completion event when asynchronous mode of encoding is enabled. Used for AV1 encode only. */ + public native Pointer completionEvent(); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS completionEvent(Pointer setter); + /** [in]: Reserved and must be set to 0 */ + public native @Cast("uint32_t") int reserved1(int i); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS reserved1(int i, int setter); + @MemberGetter public native @Cast("uint32_t*") IntPointer reserved1(); + /** [in]: Reserved and must be set to NULL */ + public native Pointer reserved2(int i); public native NV_ENC_RESTORE_ENCODER_STATE_PARAMS reserved2(int i, Pointer setter); + @MemberGetter public native @Cast("void**") PointerPointer reserved2(); +} diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCLOOKAHEADPICTURE.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCLOOKAHEADPICTURE.java new file mode 100644 index 00000000000..37e17ba5abd --- /dev/null +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCLOOKAHEADPICTURE.java @@ -0,0 +1,25 @@ +// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.nvcodec.nvencodeapi; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; +import org.bytedeco.nvcodec.nvcuvid.*; +import static org.bytedeco.nvcodec.global.nvcuvid.*; + +import static org.bytedeco.nvcodec.global.nvencodeapi.*; + +@Properties(inherit = org.bytedeco.nvcodec.presets.nvencodeapi.class) +public class PNVENCLOOKAHEADPICTURE extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public PNVENCLOOKAHEADPICTURE(Pointer p) { super(p); } + protected PNVENCLOOKAHEADPICTURE() { allocate(); } + private native void allocate(); + public native @Cast("NVENCSTATUS") int call(Pointer encoder, NV_ENC_LOOKAHEAD_PIC_PARAMS lookaheadParams); +} diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCOPENENCODESESSION.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCOPENENCODESESSION.java index 6688898f254..a117a8da1d3 100644 --- a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCOPENENCODESESSION.java +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCOPENENCODESESSION.java @@ -15,7 +15,6 @@ import static org.bytedeco.nvcodec.global.nvencodeapi.*; - /** \cond API PFN */ /* * Defines API function pointers diff --git a/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCRESTOREENCODERSTATE.java b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCRESTOREENCODERSTATE.java new file mode 100644 index 00000000000..28659d24ab1 --- /dev/null +++ b/nvcodec/src/gen/java/org/bytedeco/nvcodec/nvencodeapi/PNVENCRESTOREENCODERSTATE.java @@ -0,0 +1,25 @@ +// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.nvcodec.nvencodeapi; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; +import org.bytedeco.nvcodec.nvcuvid.*; +import static org.bytedeco.nvcodec.global.nvcuvid.*; + +import static org.bytedeco.nvcodec.global.nvencodeapi.*; + +@Properties(inherit = org.bytedeco.nvcodec.presets.nvencodeapi.class) +public class PNVENCRESTOREENCODERSTATE extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public PNVENCRESTOREENCODERSTATE(Pointer p) { super(p); } + protected PNVENCRESTOREENCODERSTATE() { allocate(); } + private native void allocate(); + public native @Cast("NVENCSTATUS") int call(Pointer encoder, NV_ENC_RESTORE_ENCODER_STATE_PARAMS restoreState); +} diff --git a/onnxruntime/cppbuild.sh b/onnxruntime/cppbuild.sh index e09d280d821..d1fe5c72ef6 100755 --- a/onnxruntime/cppbuild.sh +++ b/onnxruntime/cppbuild.sh @@ -21,7 +21,7 @@ if [[ "$EXTENSION" == *gpu ]]; then GPU_FLAGS="--use_cuda" fi -ONNXRUNTIME=rel-1.15.0 +ONNXRUNTIME=1.15.0 mkdir -p "$PLATFORM$EXTENSION" cd "$PLATFORM$EXTENSION" @@ -33,7 +33,7 @@ if [[ ! -d onnxruntime ]]; then fi cd onnxruntime git reset --hard -git checkout $ONNXRUNTIME +git checkout v$ONNXRUNTIME git submodule update --init --recursive git submodule foreach --recursive 'git reset --hard' diff --git a/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApi.java b/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApi.java index 8506465ccc8..db97a3de1d0 100644 --- a/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApi.java +++ b/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApi.java @@ -4289,4 +4289,20 @@ public native OrtStatus GetOptionalContainedTypeInfo( @Const OrtOptionalTypeInfo */ public native OrtStatus KernelContext_GetAllocator( @Const OrtKernelContext context, @Const OrtMemoryInfo mem_info, @Cast("OrtAllocator**") PointerPointer out); public native OrtStatus KernelContext_GetAllocator( @Const OrtKernelContext context, @Const OrtMemoryInfo mem_info, @ByPtrPtr OrtAllocator out); + + /** \brief Returns a null terminated string of the build info including git info and cxx flags + * + * @return UTF-8 encoded version string. Do not deallocate the returned buffer. + * + * @since Version 1.15. + */ + public static class BytePointer_GetBuildInfoString extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public BytePointer_GetBuildInfoString(Pointer p) { super(p); } + protected BytePointer_GetBuildInfoString() { allocate(); } + private native void allocate(); + public native @Cast("const char*") BytePointer call(); + } + public native BytePointer_GetBuildInfoString GetBuildInfoString(); public native OrtApi GetBuildInfoString(BytePointer_GetBuildInfoString setter); } diff --git a/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApiBase.java b/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApiBase.java index 398cee13dc0..326f4c81369 100644 --- a/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApiBase.java +++ b/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/OrtApiBase.java @@ -42,6 +42,9 @@ public class OrtApiBase extends Pointer { * @param version [in] Must be ::ORT_API_VERSION * @return The ::OrtApi for the version requested, nullptr will be returned if this version is unsupported, for example when using a runtime * older than the version created with this header file. + * + * One can call GetVersionString() to get the version of the Onnxruntime library for logging + * and error reporting purposes. */ public static class GetApi_int extends FunctionPointer { static { Loader.load(); } @@ -52,24 +55,18 @@ public static class GetApi_int extends FunctionPointer { public native @Const OrtApi call(@Cast("uint32_t") int version); } public native GetApi_int GetApi(); public native OrtApiBase GetApi(GetApi_int setter); - public static class Pointer_GetVersionString extends FunctionPointer { - static { Loader.load(); } - /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ - public Pointer_GetVersionString(Pointer p) { super(p); } - protected Pointer_GetVersionString() { allocate(); } - private native void allocate(); - public native @Cast("const ORTCHAR_T*") Pointer call(); - } - /** Returns a null terminated string of the version of the Onnxruntime library (eg: "1.8.1") */ - public native Pointer_GetVersionString GetVersionString(); public native OrtApiBase GetVersionString(Pointer_GetVersionString setter); - public static class Pointer_GetBuildInfoString extends FunctionPointer { + + /** \brief Returns a null terminated string of the version of the Onnxruntime library (eg: "1.8.1") + * + * @return UTF-8 encoded version string. Do not deallocate the returned buffer. + */ + public static class BytePointer_GetVersionString extends FunctionPointer { static { Loader.load(); } /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ - public Pointer_GetBuildInfoString(Pointer p) { super(p); } - protected Pointer_GetBuildInfoString() { allocate(); } + public BytePointer_GetVersionString(Pointer p) { super(p); } + protected BytePointer_GetVersionString() { allocate(); } private native void allocate(); - public native @Cast("const ORTCHAR_T*") Pointer call(); + public native @Cast("const char*") BytePointer call(); } - /** Returns a null terminated string of the build info including git info and cxx flags */ - public native Pointer_GetBuildInfoString GetBuildInfoString(); public native OrtApiBase GetBuildInfoString(Pointer_GetBuildInfoString setter); + public native BytePointer_GetVersionString GetVersionString(); public native OrtApiBase GetVersionString(BytePointer_GetVersionString setter); } diff --git a/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/global/onnxruntime.java b/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/global/onnxruntime.java index f6e4c74c6e3..26913d76bb5 100644 --- a/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/global/onnxruntime.java +++ b/onnxruntime/src/gen/java/org/bytedeco/onnxruntime/global/onnxruntime.java @@ -124,6 +124,8 @@ public class onnxruntime extends org.bytedeco.onnxruntime.presets.onnxruntime { // #define ORTCHAR_T char // #endif +/** ORTCHAR_T, ORT_TSTR are reserved specifically for path handling. + * All other strings are UTF-8 encoded, use char and std::string */ // #ifndef ORT_TSTR // #ifdef _WIN32 // #define ORT_TSTR(X) L##X @@ -647,14 +649,14 @@ public enum OrtSparseIndicesFormat { * This function returns the onnxruntime version string * * org.bytedeco nvcodec-platform -12.0.16-1.5.9-SNAPSHOT +12.1.14-1.5.9-SNAPSHOT version string major.minor.rev */ -@Namespace("Ort") public static native @ByVal @Cast("std::basic_string*") Pointer GetVersionString(); +@Namespace("Ort") public static native @StdString BytePointer GetVersionString(); /** * This function returns the onnxruntime build information: including git branch, * git commit id, build type(Debug/Release/RelWithDebInfo) and cmake cpp flags. * *string */ -@Namespace("Ort") public static native @ByVal @Cast("std::basic_string*") Pointer GetBuildInfoString(); +@Namespace("Ort") public static native @StdString BytePointer GetBuildInfoString(); /** * This is a C++ wrapper for OrtApi::GetAvailableProviders() and diff --git a/platform/pom.xml b/platform/pom.xml index 44907ba6a54..d627eb7ee75 100644 --- a/platform/pom.xml +++ b/platform/pom.xml @@ -156,7 +156,7 @@ org.bytedeco hdf5-platform -1.14.0-${project.version} +1.14.1-${project.version} org.bytedeco @@ -231,7 +231,7 @@org.bytedeco llvm-platform -16.0.3-${project.version} +16.0.4-${project.version} org.bytedeco @@ -276,7 +276,7 @@org.bytedeco nvcodec-platform -12.0.16-${project.version} +12.1.14-${project.version} org.bytedeco diff --git a/tvm/platform/gpu/pom.xml b/tvm/platform/gpu/pom.xml index 375b0888231..247fce50dfe 100644 --- a/tvm/platform/gpu/pom.xml +++ b/tvm/platform/gpu/pom.xml @@ -29,7 +29,7 @@org.bytedeco llvm-platform -16.0.3-${project.parent.version} +16.0.4-${project.parent.version} org.bytedeco diff --git a/tvm/platform/pom.xml b/tvm/platform/pom.xml index 3bcb2920915..fc6329925c7 100644 --- a/tvm/platform/pom.xml +++ b/tvm/platform/pom.xml @@ -28,7 +28,7 @@org.bytedeco llvm-platform -16.0.3-${project.parent.version} +16.0.4-${project.parent.version} org.bytedeco diff --git a/tvm/pom.xml b/tvm/pom.xml index b824ccab5e5..79365da36ef 100644 --- a/tvm/pom.xml +++ b/tvm/pom.xml @@ -23,7 +23,7 @@org.bytedeco llvm -16.0.3-${project.parent.version} +16.0.4-${project.parent.version} org.bytedeco @@ -61,7 +61,7 @@org.bytedeco llvm-platform -16.0.3-${project.parent.version} +16.0.4-${project.parent.version} org.bytedeco