node-av 2.6.3 → 2.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
Binary file
@@ -141,9 +141,6 @@ export declare class FilterPreset {
141
141
  * Adds a scale filter to the chain.
142
142
  * Automatically selects hardware-specific scaler if hardware context is set.
143
143
  *
144
- * Note: For OpenCL hardware contexts, consider using scaleOpenCL() which
145
- * integrates crop+scale in a single GPU operation instead of two passes.
146
- *
147
144
  * @param width - Target width in pixels
148
145
  *
149
146
  * @param height - Target height in pixels
@@ -166,55 +163,46 @@ export declare class FilterPreset {
166
163
  * ```
167
164
  *
168
165
  * @see {@link https://ffmpeg.org/ffmpeg-filters.html#scale | FFmpeg scale filter}
169
- * @see {@link scaleOpenCL}
170
166
  */
171
167
  scale(width: number, height: number, options?: Record<string, any>): FilterPreset;
172
168
  /**
173
- * Adds OpenCL scale filter with integrated crop support.
174
- * Only available for OpenCL hardware contexts.
175
- *
176
- * @param width - Output width in pixels
177
- *
178
- * @param height - Output height in pixels
179
- *
180
- * @param cropWidth - Crop width (optional)
181
- *
182
- * @param cropHeight - Crop height (optional)
183
- *
184
- * @param cropX - Crop offset X (default: 0)
185
- *
186
- * @param cropY - Crop offset Y (default: 0)
169
+ * Adds a GPU format conversion filter without scaling.
170
+ * Only available for hardware contexts. Uses hardware-specific scale filter with format parameter.
187
171
  *
188
- * @param options - Additional scaling options (e.g., algo for algorithm)
172
+ * @param format - Target pixel format (e.g., 'nv12', 'p010')
189
173
  *
190
174
  * @returns This instance for chaining
191
175
  *
192
176
  * @example
193
177
  * ```typescript
194
- * // Scale with crop
195
- * const hw = await HardwareContext.auto(); // OpenCL
196
- * const filter = FilterPreset.chain(hw)
197
- * .scaleOpenCL(1920, 1080, 100, 100, 50, 50)
198
- * .build();
199
- * // Generates: scale_opencl=1920:1080:cw=100:ch=100:cx=50:cy=50
178
+ * // Convert to NV12 on GPU without scaling
179
+ * chain.scaleFormat('nv12')
180
+ * // Generates: scale_vt=format=nv12 (VideoToolbox)
181
+ * // or: scale_cuda=format=nv12 (CUDA)
182
+ * // or: scale_opencl=format=nv12 (OpenCL)
200
183
  * ```
201
184
  *
202
185
  * @example
203
186
  * ```typescript
204
- * // Scale with crop from origin
187
+ * // Convert P010 NV12 on GPU
188
+ * const hw = await HardwareContext.auto();
205
189
  * const filter = FilterPreset.chain(hw)
206
- * .scaleOpenCL(1920, 1080, 100, 100)
190
+ * .scaleFormat('nv12')
207
191
  * .build();
208
- * // Generates: scale_opencl=1920:1080:cw=100:ch=100
192
+ * ```
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * // Scale then convert format (two separate GPU operations)
197
+ * chain.scale(1920, 1080)
198
+ * .scaleFormat('p010')
199
+ * // Generates: scale_vt=1920:1080,scale_vt=format=p010
209
200
  * ```
210
201
  */
211
- scaleOpenCL(width: number, height: number, cropWidth?: number, cropHeight?: number, cropX?: number, cropY?: number, options?: Record<string, any>): FilterPreset;
202
+ scaleFormat(format: string | AVPixelFormat): FilterPreset;
212
203
  /**
213
204
  * Adds a crop filter to the chain.
214
205
  *
215
- * Note: For OpenCL hardware contexts, consider using scaleOpenCL() which
216
- * integrates crop+scale in a single GPU operation instead of two passes.
217
- *
218
206
  * @param width - Width of the cropped area
219
207
  *
220
208
  * @param height - Height of the cropped area
@@ -233,13 +221,12 @@ export declare class FilterPreset {
233
221
  *
234
222
  * @example
235
223
  * ```typescript
236
- * // Hardware crop + scale (works with VAAPI, Vulkan, VideoToolbox, CUDA, QSV)
224
+ * // Hardware crop + scale
237
225
  * chain.crop(100, 100, 50, 50)
238
226
  * .scale(1920, 1080)
239
227
  * ```
240
228
  *
241
229
  * @see {@link https://ffmpeg.org/ffmpeg-filters.html#crop | FFmpeg crop filter}
242
- * @see {@link scaleOpenCL}
243
230
  */
244
231
  crop(width: number, height: number, x?: number, y?: number): FilterPreset;
245
232
  /**
@@ -134,9 +134,6 @@ export class FilterPreset {
134
134
  * Adds a scale filter to the chain.
135
135
  * Automatically selects hardware-specific scaler if hardware context is set.
136
136
  *
137
- * Note: For OpenCL hardware contexts, consider using scaleOpenCL() which
138
- * integrates crop+scale in a single GPU operation instead of two passes.
139
- *
140
137
  * @param width - Target width in pixels
141
138
  *
142
139
  * @param height - Target height in pixels
@@ -159,7 +156,6 @@ export class FilterPreset {
159
156
  * ```
160
157
  *
161
158
  * @see {@link https://ffmpeg.org/ffmpeg-filters.html#scale | FFmpeg scale filter}
162
- * @see {@link scaleOpenCL}
163
159
  */
164
160
  scale(width, height, options) {
165
161
  if (!this.support.scale) {
@@ -194,71 +190,63 @@ export class FilterPreset {
194
190
  return this;
195
191
  }
196
192
  /**
197
- * Adds OpenCL scale filter with integrated crop support.
198
- * Only available for OpenCL hardware contexts.
199
- *
200
- * @param width - Output width in pixels
201
- *
202
- * @param height - Output height in pixels
203
- *
204
- * @param cropWidth - Crop width (optional)
193
+ * Adds a GPU format conversion filter without scaling.
194
+ * Only available for hardware contexts. Uses hardware-specific scale filter with format parameter.
205
195
  *
206
- * @param cropHeight - Crop height (optional)
207
- *
208
- * @param cropX - Crop offset X (default: 0)
209
- *
210
- * @param cropY - Crop offset Y (default: 0)
211
- *
212
- * @param options - Additional scaling options (e.g., algo for algorithm)
196
+ * @param format - Target pixel format (e.g., 'nv12', 'p010')
213
197
  *
214
198
  * @returns This instance for chaining
215
199
  *
216
200
  * @example
217
201
  * ```typescript
218
- * // Scale with crop
219
- * const hw = await HardwareContext.auto(); // OpenCL
220
- * const filter = FilterPreset.chain(hw)
221
- * .scaleOpenCL(1920, 1080, 100, 100, 50, 50)
222
- * .build();
223
- * // Generates: scale_opencl=1920:1080:cw=100:ch=100:cx=50:cy=50
202
+ * // Convert to NV12 on GPU without scaling
203
+ * chain.scaleFormat('nv12')
204
+ * // Generates: scale_vt=format=nv12 (VideoToolbox)
205
+ * // or: scale_cuda=format=nv12 (CUDA)
206
+ * // or: scale_opencl=format=nv12 (OpenCL)
224
207
  * ```
225
208
  *
226
209
  * @example
227
210
  * ```typescript
228
- * // Scale with crop from origin
211
+ * // Convert P010 NV12 on GPU
212
+ * const hw = await HardwareContext.auto();
229
213
  * const filter = FilterPreset.chain(hw)
230
- * .scaleOpenCL(1920, 1080, 100, 100)
214
+ * .scaleFormat('nv12')
231
215
  * .build();
232
- * // Generates: scale_opencl=1920:1080:cw=100:ch=100
216
+ * ```
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * // Scale then convert format (two separate GPU operations)
221
+ * chain.scale(1920, 1080)
222
+ * .scaleFormat('p010')
223
+ * // Generates: scale_vt=1920:1080,scale_vt=format=p010
233
224
  * ```
234
225
  */
235
- scaleOpenCL(width, height, cropWidth, cropHeight, cropX = 0, cropY = 0, options) {
236
- if (!this.hardware || this.hardware.deviceType !== AV_HWDEVICE_TYPE_OPENCL) {
237
- throw new Error('scaleOpenCL() is only available for OpenCL hardware contexts');
226
+ scaleFormat(format) {
227
+ if (!this.hardware) {
228
+ return this;
238
229
  }
239
- let filter = `scale_opencl=${width}:${height}`;
240
- // Add crop parameters if specified
241
- if (cropWidth !== undefined && cropHeight !== undefined && cropWidth > 0 && cropHeight > 0) {
242
- filter += `:cw=${cropWidth}:ch=${cropHeight}`;
243
- if (cropX !== 0 || cropY !== 0) {
244
- filter += `:cx=${cropX}:cy=${cropY}`;
245
- }
230
+ // Special handling for different hardware scalers
231
+ let filterName;
232
+ if (this.hardware.deviceType === AV_HWDEVICE_TYPE_RKMPP) {
233
+ filterName = 'scale_rkrga';
246
234
  }
247
- // Add additional options
248
- if (options) {
249
- for (const [key, value] of Object.entries(options)) {
250
- filter += `:${key}=${value}`;
251
- }
235
+ else if (this.hardware.deviceType === AV_HWDEVICE_TYPE_VIDEOTOOLBOX) {
236
+ filterName = 'scale_vt';
252
237
  }
253
- this.add(filter);
238
+ else {
239
+ filterName = `scale_${this.hardware.deviceTypeName}`;
240
+ }
241
+ if (typeof format !== 'string') {
242
+ format = avGetPixFmtName(format) ?? 'nv12';
243
+ }
244
+ this.add(`${filterName}=format=${format}`);
254
245
  return this;
255
246
  }
256
247
  /**
257
248
  * Adds a crop filter to the chain.
258
249
  *
259
- * Note: For OpenCL hardware contexts, consider using scaleOpenCL() which
260
- * integrates crop+scale in a single GPU operation instead of two passes.
261
- *
262
250
  * @param width - Width of the cropped area
263
251
  *
264
252
  * @param height - Height of the cropped area
@@ -277,20 +265,20 @@ export class FilterPreset {
277
265
  *
278
266
  * @example
279
267
  * ```typescript
280
- * // Hardware crop + scale (works with VAAPI, Vulkan, VideoToolbox, CUDA, QSV)
268
+ * // Hardware crop + scale
281
269
  * chain.crop(100, 100, 50, 50)
282
270
  * .scale(1920, 1080)
283
271
  * ```
284
272
  *
285
273
  * @see {@link https://ffmpeg.org/ffmpeg-filters.html#crop | FFmpeg crop filter}
286
- * @see {@link scaleOpenCL}
287
274
  */
288
275
  crop(width, height, x = 0, y = 0) {
289
- // The crop filter sets AVFrame crop fields which are read by hardware scalers
290
- // Our patches (1001, 1002, 1003) enable scale_vt, scale_cuda, and scale_qsv to use these fields
291
- // This works for both software and hardware pipelines
292
- // For OpenCL, use scaleOpenCL() method instead for integrated crop+scale
293
- this.add(`crop=${width}:${height}:${x}:${y}`);
276
+ if (this.hardware?.deviceType === AV_HWDEVICE_TYPE_OPENCL) {
277
+ this.add(`scale_opencl=cw=${width}:ch=${height}:cx=${x}:cy=${y}`);
278
+ }
279
+ else {
280
+ this.add(`crop=${width}:${height}:${x}:${y}`);
281
+ }
294
282
  return this;
295
283
  }
296
284
  /**
@@ -505,6 +493,9 @@ export class FilterPreset {
505
493
  */
506
494
  format(pixelFormat) {
507
495
  if (Array.isArray(pixelFormat)) {
496
+ if (pixelFormat.length === 0) {
497
+ return this;
498
+ }
508
499
  // Create a chain of format filters
509
500
  const formats = pixelFormat.map((fmt) => {
510
501
  const formatName = typeof fmt === 'string' ? fmt : (avGetPixFmtName(fmt) ?? 'yuv420p');
@@ -1 +1 @@
1
- {"version":3,"file":"filter-presets.js","sourceRoot":"","sources":["../../src/api/filter-presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-presets.js","sourceRoot":"","sources":["../../src/api/filter-presets.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Codec, HardwareDeviceContext } from '../lib/index.js';
2
- import type { AVCodecID, AVHWDeviceType, AVPixelFormat } from '../constants/index.js';
2
+ import type { AVCodecID, AVHWDeviceType, AVPixelFormat, FFDecoderCodec, FFEncoderCodec } from '../constants/index.js';
3
3
  import type { BaseCodecName, HardwareOptions } from './types.js';
4
4
  /**
5
5
  * High-level hardware acceleration management.
@@ -259,6 +259,8 @@ export declare class HardwareContext implements Disposable {
259
259
  *
260
260
  * @param codec - Generic codec name (e.g., 'h264', 'hevc', 'av1') or AVCodecID
261
261
  *
262
+ * @param validate - Whether to validate encoder by testing (default: false)
263
+ *
262
264
  * @returns Hardware encoder codec or null if unsupported
263
265
  *
264
266
  * @example
@@ -281,7 +283,67 @@ export declare class HardwareContext implements Disposable {
281
283
  *
282
284
  * @see {@link Encoder.create} For using the codec
283
285
  */
284
- getEncoderCodec(codec: BaseCodecName | AVCodecID): Codec | null;
286
+ getEncoderCodec(codec: BaseCodecName | AVCodecID, validate?: boolean): Codec | null;
287
+ /**
288
+ * Test if hardware acceleration is working by decoding a test frame.
289
+ *
290
+ * Creates a simple decoder and attempts to decode with hardware acceleration.
291
+ * Returns true if hardware decoding succeeds, false otherwise.
292
+ * Useful for validating hardware setup before processing.
293
+ *
294
+ * @param codecId - Codec ID to test (default: H.264)
295
+ *
296
+ * @returns Promise that resolves to true if hardware works
297
+ *
298
+ * @example
299
+ * ```typescript
300
+ * const hw = HardwareContext.auto();
301
+ * if (hw && await hw.testDecoder()) {
302
+ * console.log('Hardware acceleration working!');
303
+ * // Proceed with hardware decoding/encoding
304
+ * } else {
305
+ * console.log('Hardware acceleration not available');
306
+ * // Fall back to software
307
+ * }
308
+ * ```
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * // Test specific hardware
313
+ * const cuda = HardwareContext.create(AV_HWDEVICE_TYPE_CUDA);
314
+ * if (cuda && await cuda.testDecoder()) {
315
+ * console.log('CUDA acceleration works');
316
+ * }
317
+ * ```
318
+ *
319
+ * @see {@link supportsCodec} For checking codec support
320
+ */
321
+ testDecoder(codecId?: AVCodecID): boolean;
322
+ /**
323
+ * Test if hardware encoding works with a specific codec pair.
324
+ *
325
+ * Attempts to decode and re-encode a test frame using hardware acceleration.
326
+ * Validates both decoding and encoding paths for the given codecs.
327
+ *
328
+ * @param decoderCodec - Codec name, ID, or instance to use for decoding
329
+ *
330
+ * @param encoderCodec - Codec name or instance to use for encoding
331
+ *
332
+ * @returns true if both decoding and encoding succeed
333
+ *
334
+ * @example
335
+ * ```typescript
336
+ * import { AV_CODEC_ID_H264 } from 'node-av/constants';
337
+ *
338
+ * const hw = HardwareContext.auto();
339
+ * if (hw && hw.testEncoder(AV_CODEC_ID_H264, AV_CODEC_ID_H264)) {
340
+ * console.log('Hardware H.264 encoding works!');
341
+ * }
342
+ * ```
343
+ *
344
+ * @see {@link getEncoderCodec} For obtaining hardware encoder codec
345
+ */
346
+ testEncoder(decoderCodec: FFDecoderCodec | Codec | AVCodecID, encoderCodec: FFEncoderCodec | Codec): boolean;
285
347
  /**
286
348
  * Find all codecs that support this hardware device.
287
349
  *
@@ -328,6 +390,18 @@ export declare class HardwareContext implements Disposable {
328
390
  * @see {@link Symbol.dispose} For automatic cleanup
329
391
  */
330
392
  dispose(): void;
393
+ /**
394
+ * Test hardware decoding with a specific codec.
395
+ *
396
+ * @param decoderCodec - Decoder codec name, ID, or instance to test
397
+ *
398
+ * @param encoderCodec - Optional encoder codec name or instance to test
399
+ *
400
+ * @returns true if decoding succeeds
401
+ *
402
+ * @internal
403
+ */
404
+ private testCodec;
331
405
  /**
332
406
  * Map AVCodecID to base codec name for hardware encoder lookup.
333
407
  *
@@ -341,6 +415,19 @@ export declare class HardwareContext implements Disposable {
341
415
  * @internal
342
416
  */
343
417
  private getBaseCodecName;
418
+ /**
419
+ * Map base codec name to AVCodecID for internal use.
420
+ *
421
+ * Converts generic codec names to AVCodecID enum values.
422
+ * Used internally for codec testing and validation.
423
+ *
424
+ * @param codecBaseName - Base codec name string
425
+ *
426
+ * @returns Corresponding AVCodecID or null if unsupported
427
+ *
428
+ * @internal
429
+ */
430
+ private getCodecIDFromBaseName;
344
431
  /**
345
432
  * Get the hardware decoder pixel format for this device type.
346
433
  *
@@ -1,5 +1,64 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { dirname, join } from 'node:path';
54
+ import { fileURLToPath } from 'node:url';
55
+ import { Decoder, Encoder, MediaInput } from '../api/index.js';
1
56
  import { AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX, AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, AV_CODEC_ID_AV1, AV_CODEC_ID_H263, AV_CODEC_ID_H264, AV_CODEC_ID_HEVC, AV_CODEC_ID_MJPEG, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_MPEG4, AV_CODEC_ID_PRORES, AV_CODEC_ID_VP8, AV_CODEC_ID_VP9, AV_HWDEVICE_TYPE_CUDA, AV_HWDEVICE_TYPE_D3D11VA, AV_HWDEVICE_TYPE_D3D12VA, AV_HWDEVICE_TYPE_DRM, AV_HWDEVICE_TYPE_DXVA2, AV_HWDEVICE_TYPE_MEDIACODEC, AV_HWDEVICE_TYPE_NONE, AV_HWDEVICE_TYPE_OPENCL, AV_HWDEVICE_TYPE_QSV, AV_HWDEVICE_TYPE_RKMPP, AV_HWDEVICE_TYPE_VAAPI, AV_HWDEVICE_TYPE_VDPAU, AV_HWDEVICE_TYPE_VIDEOTOOLBOX, AV_HWDEVICE_TYPE_VULKAN, AV_PIX_FMT_CUDA, AV_PIX_FMT_D3D11, AV_PIX_FMT_D3D12, AV_PIX_FMT_DRM_PRIME, AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_MEDIACODEC, AV_PIX_FMT_NV12, AV_PIX_FMT_OPENCL, AV_PIX_FMT_QSV, AV_PIX_FMT_VAAPI, AV_PIX_FMT_VIDEOTOOLBOX, AV_PIX_FMT_VULKAN, } from '../constants/constants.js';
2
57
  import { Codec, Dictionary, FFmpegError, HardwareDeviceContext } from '../lib/index.js';
58
+ const __filename = fileURLToPath(import.meta.url);
59
+ const __dirname = dirname(__filename);
60
+ const h264Data = join(__dirname, 'data', 'test_h264.h264');
61
+ const hevcData = join(__dirname, 'data', 'test_hevc.h265');
3
62
  /**
4
63
  * High-level hardware acceleration management.
5
64
  *
@@ -90,7 +149,17 @@ export class HardwareContext {
90
149
  const preferenceOrder = this.getPreferenceOrder();
91
150
  for (const deviceType of preferenceOrder) {
92
151
  try {
93
- return this.createFromType(deviceType, options.device, options.options);
152
+ if (deviceType === AV_HWDEVICE_TYPE_VAAPI && !options.device) {
153
+ options.device = '/dev/dri/renderD128'; // Default VAAPI render node
154
+ }
155
+ let hwCtx = this.createFromType(deviceType, options.device, options.options);
156
+ const isSupported = hwCtx.testDecoder();
157
+ if (!isSupported) {
158
+ hwCtx.dispose();
159
+ hwCtx = null;
160
+ continue;
161
+ }
162
+ return hwCtx;
94
163
  }
95
164
  catch {
96
165
  // Try next device type
@@ -330,6 +399,8 @@ export class HardwareContext {
330
399
  *
331
400
  * @param codec - Generic codec name (e.g., 'h264', 'hevc', 'av1') or AVCodecID
332
401
  *
402
+ * @param validate - Whether to validate encoder by testing (default: false)
403
+ *
333
404
  * @returns Hardware encoder codec or null if unsupported
334
405
  *
335
406
  * @example
@@ -352,12 +423,12 @@ export class HardwareContext {
352
423
  *
353
424
  * @see {@link Encoder.create} For using the codec
354
425
  */
355
- getEncoderCodec(codec) {
426
+ getEncoderCodec(codec, validate) {
356
427
  // Build the encoder name
357
- let codecBaseName = '';
428
+ let codecBaseName = null;
358
429
  let encoderSuffix = '';
359
430
  if (typeof codec === 'number') {
360
- codecBaseName = this.getBaseCodecName(codec) ?? '';
431
+ codecBaseName = this.getBaseCodecName(codec) ?? null;
361
432
  }
362
433
  else {
363
434
  codecBaseName = codec;
@@ -365,6 +436,7 @@ export class HardwareContext {
365
436
  if (!codecBaseName) {
366
437
  return null;
367
438
  }
439
+ const decoderCodecId = this.getCodecIDFromBaseName(codecBaseName);
368
440
  // We might only have hardware decode capabilities (d3d11va, d3d12va etc)
369
441
  // So we need to check for other hardware encoders
370
442
  const getAlternativeEncoder = () => {
@@ -422,8 +494,93 @@ export class HardwareContext {
422
494
  if (!encoderCodec?.isHardwareAcceleratedEncoder()) {
423
495
  return null;
424
496
  }
497
+ if (validate && decoderCodecId !== null) {
498
+ const isValid = this.testEncoder(decoderCodecId, encoderCodec);
499
+ if (!isValid) {
500
+ return null;
501
+ }
502
+ }
425
503
  return encoderCodec;
426
504
  }
505
+ /**
506
+ * Test if hardware acceleration is working by decoding a test frame.
507
+ *
508
+ * Creates a simple decoder and attempts to decode with hardware acceleration.
509
+ * Returns true if hardware decoding succeeds, false otherwise.
510
+ * Useful for validating hardware setup before processing.
511
+ *
512
+ * @param codecId - Codec ID to test (default: H.264)
513
+ *
514
+ * @returns Promise that resolves to true if hardware works
515
+ *
516
+ * @example
517
+ * ```typescript
518
+ * const hw = HardwareContext.auto();
519
+ * if (hw && await hw.testDecoder()) {
520
+ * console.log('Hardware acceleration working!');
521
+ * // Proceed with hardware decoding/encoding
522
+ * } else {
523
+ * console.log('Hardware acceleration not available');
524
+ * // Fall back to software
525
+ * }
526
+ * ```
527
+ *
528
+ * @example
529
+ * ```typescript
530
+ * // Test specific hardware
531
+ * const cuda = HardwareContext.create(AV_HWDEVICE_TYPE_CUDA);
532
+ * if (cuda && await cuda.testDecoder()) {
533
+ * console.log('CUDA acceleration works');
534
+ * }
535
+ * ```
536
+ *
537
+ * @see {@link supportsCodec} For checking codec support
538
+ */
539
+ testDecoder(codecId = AV_CODEC_ID_H264) {
540
+ try {
541
+ if (this.supportsCodec(codecId, false)) {
542
+ const isSupported = this.testCodec(codecId);
543
+ if (!isSupported) {
544
+ return false;
545
+ }
546
+ }
547
+ return true;
548
+ }
549
+ catch {
550
+ return false;
551
+ }
552
+ }
553
+ /**
554
+ * Test if hardware encoding works with a specific codec pair.
555
+ *
556
+ * Attempts to decode and re-encode a test frame using hardware acceleration.
557
+ * Validates both decoding and encoding paths for the given codecs.
558
+ *
559
+ * @param decoderCodec - Codec name, ID, or instance to use for decoding
560
+ *
561
+ * @param encoderCodec - Codec name or instance to use for encoding
562
+ *
563
+ * @returns true if both decoding and encoding succeed
564
+ *
565
+ * @example
566
+ * ```typescript
567
+ * import { AV_CODEC_ID_H264 } from 'node-av/constants';
568
+ *
569
+ * const hw = HardwareContext.auto();
570
+ * if (hw && hw.testEncoder(AV_CODEC_ID_H264, AV_CODEC_ID_H264)) {
571
+ * console.log('Hardware H.264 encoding works!');
572
+ * }
573
+ * ```
574
+ *
575
+ * @see {@link getEncoderCodec} For obtaining hardware encoder codec
576
+ */
577
+ testEncoder(decoderCodec, encoderCodec) {
578
+ const isSupported = this.testCodec(decoderCodec, encoderCodec);
579
+ if (!isSupported) {
580
+ return false;
581
+ }
582
+ return true;
583
+ }
427
584
  /**
428
585
  * Find all codecs that support this hardware device.
429
586
  *
@@ -502,6 +659,97 @@ export class HardwareContext {
502
659
  this._deviceContext.free();
503
660
  this._isDisposed = true;
504
661
  }
662
+ /**
663
+ * Test hardware decoding with a specific codec.
664
+ *
665
+ * @param decoderCodec - Decoder codec name, ID, or instance to test
666
+ *
667
+ * @param encoderCodec - Optional encoder codec name or instance to test
668
+ *
669
+ * @returns true if decoding succeeds
670
+ *
671
+ * @internal
672
+ */
673
+ testCodec(decoderCodec, encoderCodec) {
674
+ try {
675
+ const env_1 = { stack: [], error: void 0, hasError: false };
676
+ try {
677
+ let codecDecoder = null;
678
+ let codecEncoder = null;
679
+ if (decoderCodec instanceof Codec) {
680
+ codecDecoder = decoderCodec;
681
+ }
682
+ else if (typeof decoderCodec === 'string') {
683
+ codecDecoder = Codec.findDecoderByName(decoderCodec);
684
+ }
685
+ else {
686
+ codecDecoder = Codec.findDecoder(decoderCodec);
687
+ }
688
+ if (!codecDecoder) {
689
+ throw new Error('Decoder codec not found');
690
+ }
691
+ const testFilePath = codecDecoder.id === AV_CODEC_ID_HEVC ? hevcData : h264Data;
692
+ // Read test bitstream
693
+ const input = __addDisposableResource(env_1, MediaInput.openSync(testFilePath), false);
694
+ const videoStream = input.video();
695
+ const decoder = __addDisposableResource(env_1, Decoder.createSync(videoStream, {
696
+ hardware: this,
697
+ }), false);
698
+ const inputGenerator = input.packetsSync();
699
+ const frameGenerator = decoder.framesSync(inputGenerator);
700
+ let packetGenerator = null;
701
+ let encoder = null;
702
+ if (encoderCodec) {
703
+ if (encoderCodec instanceof Codec) {
704
+ codecEncoder = encoderCodec;
705
+ }
706
+ else if (typeof encoderCodec === 'string') {
707
+ codecEncoder = Codec.findEncoderByName(encoderCodec);
708
+ }
709
+ else if (encoderCodec) {
710
+ codecEncoder = Codec.findEncoder(encoderCodec);
711
+ }
712
+ if (!codecEncoder) {
713
+ throw new Error('Encoder codec not found');
714
+ }
715
+ encoder = Encoder.createSync(codecEncoder, {
716
+ timeBase: videoStream.timeBase,
717
+ frameRate: videoStream.avgFrameRate,
718
+ });
719
+ packetGenerator = encoder.packetsSync(frameGenerator);
720
+ }
721
+ const _encoder = __addDisposableResource(env_1, encoder, false);
722
+ let hasData = false;
723
+ const generator = packetGenerator ?? frameGenerator;
724
+ for (const _1 of generator) {
725
+ const env_2 = { stack: [], error: void 0, hasError: false };
726
+ try {
727
+ const _ = __addDisposableResource(env_2, _1, false);
728
+ hasData = true;
729
+ break; // We only need to decode one frame
730
+ }
731
+ catch (e_1) {
732
+ env_2.error = e_1;
733
+ env_2.hasError = true;
734
+ }
735
+ finally {
736
+ __disposeResources(env_2);
737
+ }
738
+ }
739
+ return hasData;
740
+ }
741
+ catch (e_2) {
742
+ env_1.error = e_2;
743
+ env_1.hasError = true;
744
+ }
745
+ finally {
746
+ __disposeResources(env_1);
747
+ }
748
+ }
749
+ catch {
750
+ return false;
751
+ }
752
+ }
505
753
  /**
506
754
  * Map AVCodecID to base codec name for hardware encoder lookup.
507
755
  *
@@ -540,6 +788,44 @@ export class HardwareContext {
540
788
  return null;
541
789
  }
542
790
  }
791
+ /**
792
+ * Map base codec name to AVCodecID for internal use.
793
+ *
794
+ * Converts generic codec names to AVCodecID enum values.
795
+ * Used internally for codec testing and validation.
796
+ *
797
+ * @param codecBaseName - Base codec name string
798
+ *
799
+ * @returns Corresponding AVCodecID or null if unsupported
800
+ *
801
+ * @internal
802
+ */
803
+ getCodecIDFromBaseName(codecBaseName) {
804
+ switch (codecBaseName) {
805
+ case 'av1':
806
+ return AV_CODEC_ID_AV1;
807
+ case 'h264':
808
+ return AV_CODEC_ID_H264;
809
+ case 'hevc':
810
+ return AV_CODEC_ID_HEVC;
811
+ case 'h263':
812
+ return AV_CODEC_ID_H263;
813
+ case 'mpeg2':
814
+ return AV_CODEC_ID_MPEG2VIDEO;
815
+ case 'mpeg4':
816
+ return AV_CODEC_ID_MPEG4;
817
+ case 'vp8':
818
+ return AV_CODEC_ID_VP8;
819
+ case 'vp9':
820
+ return AV_CODEC_ID_VP9;
821
+ case 'mjpeg':
822
+ return AV_CODEC_ID_MJPEG;
823
+ case 'prores':
824
+ return AV_CODEC_ID_PRORES;
825
+ default:
826
+ return null;
827
+ }
828
+ }
543
829
  /**
544
830
  * Get the hardware decoder pixel format for this device type.
545
831
  *
@@ -1 +1 @@
1
- {"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/api/hardware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/api/hardware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-av",
3
- "version": "2.6.3",
3
+ "version": "2.6.5",
4
4
  "description": "FFmpeg bindings for Node.js",
5
5
  "author": "seydx (https://github.com/seydx/av)",
6
6
  "type": "module",
@@ -36,7 +36,7 @@
36
36
  "build:examples": "tsc -p tsconfig.examples.json",
37
37
  "build:native": "node-gyp rebuild && cpy --flat build/Release/node-av.node binary/",
38
38
  "build:tests": "tsc -p tsconfig.tests.json",
39
- "build:tsc": "rimraf dist && tsc -p tsconfig.build.json",
39
+ "build:tsc": "rimraf dist && tsc -p tsconfig.build.json && cpy --flat src/api/data/* dist/api/data --parents",
40
40
  "clean": "rimraf dist && node-gyp clean && npm run generate && npm run format && npm run lint:fix && npm run build:tests && npm run build:examples && npm run build:tsc",
41
41
  "docs:dev": "npm run predocs && vitepress dev docs --port 5173",
42
42
  "docs:build": "npm run predocs && rimraf docs/.vitepress/dist && vitepress build docs && cpy --flat docs/logo.png docs/.vitepress/dist",
@@ -61,14 +61,14 @@
61
61
  "update": "updates --update ./"
62
62
  },
63
63
  "optionalDependencies": {
64
- "@seydx/node-av-darwin-arm64": "^2.6.3",
65
- "@seydx/node-av-darwin-x64": "^2.6.3",
66
- "@seydx/node-av-linux-arm64": "^2.6.3",
67
- "@seydx/node-av-linux-x64": "^2.6.3",
68
- "@seydx/node-av-win32-arm64-mingw": "^2.6.3",
69
- "@seydx/node-av-win32-arm64-msvc": "^2.6.3",
70
- "@seydx/node-av-win32-x64-mingw": "^2.6.3",
71
- "@seydx/node-av-win32-x64-msvc": "^2.6.3"
64
+ "@seydx/node-av-darwin-arm64": "^2.6.5",
65
+ "@seydx/node-av-darwin-x64": "^2.6.5",
66
+ "@seydx/node-av-linux-arm64": "^2.6.5",
67
+ "@seydx/node-av-linux-x64": "^2.6.5",
68
+ "@seydx/node-av-win32-arm64-mingw": "^2.6.5",
69
+ "@seydx/node-av-win32-arm64-msvc": "^2.6.5",
70
+ "@seydx/node-av-win32-x64-mingw": "^2.6.5",
71
+ "@seydx/node-av-win32-x64-msvc": "^2.6.5"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@camera.ui/ffmpeg": "^0.0.14",
@@ -83,8 +83,8 @@
83
83
  "concurrently": "^9.2.1",
84
84
  "cpy-cli": "^6.0.0",
85
85
  "cross-env": "^10.1.0",
86
- "eslint": "^9.36.0",
87
- "eslint-plugin-jsdoc": "^60.7.1",
86
+ "eslint": "^9.37.0",
87
+ "eslint-plugin-jsdoc": "^60.8.0",
88
88
  "globals": "^16.4.0",
89
89
  "node-addon-api": "^8.5.0",
90
90
  "node-gyp": "^11.4.2",
@@ -98,7 +98,7 @@
98
98
  "typedoc-vitepress-theme": "^1.1.2",
99
99
  "typescript": "^5.9.3",
100
100
  "typescript-eslint": "^8.45.0",
101
- "updates": "^16.7.4",
101
+ "updates": "^16.8.0",
102
102
  "vitepress": "^2.0.0-alpha.12"
103
103
  },
104
104
  "bugs": {