bare-ffmpeg 1.0.0-4 → 1.0.0-6

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.
package/binding.c CHANGED
@@ -1373,51 +1373,6 @@ bare_ffmpeg_frame_get_audio_channel(js_env_t *env, js_callback_info_t *info) {
1373
1373
  return result;
1374
1374
  }
1375
1375
 
1376
- static js_value_t *
1377
- bare_ffmpeg_frame_get_image_data(js_env_t *env, js_callback_info_t *info) {
1378
- int err;
1379
-
1380
- size_t argc = 1;
1381
- js_value_t *argv[1];
1382
-
1383
- err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1384
- assert(err == 0);
1385
-
1386
- assert(argc == 1);
1387
-
1388
- bare_ffmpeg_frame_t *frame;
1389
- err = js_get_arraybuffer_info(env, argv[0], (void **) &frame, NULL);
1390
- assert(err == 0);
1391
-
1392
- int size = av_image_get_buffer_size(
1393
- frame->handle->format,
1394
- frame->handle->width,
1395
- frame->handle->height,
1396
- 1
1397
- );
1398
- assert(size > 0);
1399
-
1400
- js_value_t *result;
1401
-
1402
- uint8_t *buffer;
1403
- err = js_create_arraybuffer(env, size, (void **) &buffer, &result);
1404
- assert(err == 0);
1405
-
1406
- err = av_image_copy_to_buffer(
1407
- buffer,
1408
- size,
1409
- (const uint8_t *const *) frame->handle->data,
1410
- frame->handle->linesize,
1411
- frame->handle->format,
1412
- frame->handle->width,
1413
- frame->handle->height,
1414
- 1
1415
- );
1416
- assert(err >= 0);
1417
-
1418
- return result;
1419
- }
1420
-
1421
1376
  static js_value_t *
1422
1377
  bare_ffmpeg_frame_get_width(js_env_t *env, js_callback_info_t *info) {
1423
1378
  int err;
@@ -1562,37 +1517,6 @@ bare_ffmpeg_frame_set_pixel_format(js_env_t *env, js_callback_info_t *info) {
1562
1517
  return NULL;
1563
1518
  }
1564
1519
 
1565
- static js_value_t *
1566
- bare_ffmpeg_frame_get_linesize(js_env_t *env, js_callback_info_t *info) {
1567
- int err;
1568
-
1569
- size_t argc = 2;
1570
- js_value_t *argv[2];
1571
-
1572
- err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1573
- assert(err == 0);
1574
-
1575
- assert(argc == 2);
1576
-
1577
- bare_ffmpeg_frame_t *frame;
1578
- err = js_get_arraybuffer_info(env, argv[0], (void **) &frame, NULL);
1579
- assert(err == 0);
1580
-
1581
- uint32_t channel;
1582
- err = js_get_value_uint32(env, argv[1], &channel);
1583
- assert(err == 0);
1584
-
1585
- assert(channel < AV_NUM_DATA_POINTERS);
1586
-
1587
- int32_t linesize = frame->handle->linesize[channel];
1588
-
1589
- js_value_t *result;
1590
- err = js_create_int32(env, linesize, &result);
1591
- assert(err == 0);
1592
-
1593
- return result;
1594
- }
1595
-
1596
1520
  static js_value_t *
1597
1521
  bare_ffmpeg_frame_alloc(js_env_t *env, js_callback_info_t *info) {
1598
1522
  int err;
@@ -1700,6 +1624,39 @@ bare_ffmpeg_image_fill(js_env_t *env, js_callback_info_t *info) {
1700
1624
  return NULL;
1701
1625
  }
1702
1626
 
1627
+ static js_value_t *
1628
+ bare_ffmpeg_image_get_line_size(js_env_t *env, js_callback_info_t *info) {
1629
+ int err;
1630
+
1631
+ size_t argc = 3;
1632
+ js_value_t *argv[3];
1633
+
1634
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1635
+ assert(err == 0);
1636
+
1637
+ assert(argc == 3);
1638
+
1639
+ int64_t pixel_format;
1640
+ err = js_get_value_int64(env, argv[0], &pixel_format);
1641
+ assert(err == 0);
1642
+
1643
+ int32_t width;
1644
+ err = js_get_value_int32(env, argv[1], &width);
1645
+ assert(err == 0);
1646
+
1647
+ int32_t plane;
1648
+ err = js_get_value_int32(env, argv[2], &plane);
1649
+ assert(err == 0);
1650
+
1651
+ int32_t linesize = av_image_get_linesize((enum AVPixelFormat) pixel_format, width, plane);
1652
+
1653
+ js_value_t *result;
1654
+ err = js_create_int32(env, linesize, &result);
1655
+ assert(err == 0);
1656
+
1657
+ return result;
1658
+ }
1659
+
1703
1660
  static js_value_t *
1704
1661
  bare_ffmpeg_packet_init(js_env_t *env, js_callback_info_t *info) {
1705
1662
  int err;
@@ -2166,18 +2123,17 @@ bare_ffmpeg_exports(js_env_t *env, js_value_t *exports) {
2166
2123
  V("initFrame", bare_ffmpeg_frame_init)
2167
2124
  V("destroyFrame", bare_ffmpeg_frame_destroy)
2168
2125
  V("getFrameAudioChannel", bare_ffmpeg_frame_get_audio_channel)
2169
- V("getFrameImageData", bare_ffmpeg_frame_get_image_data)
2170
2126
  V("getFrameWidth", bare_ffmpeg_frame_get_width)
2171
2127
  V("setFrameWidth", bare_ffmpeg_frame_set_width)
2172
2128
  V("getFrameHeight", bare_ffmpeg_frame_get_height)
2173
2129
  V("setFrameHeight", bare_ffmpeg_frame_set_height)
2174
2130
  V("getFramePixelFormat", bare_ffmpeg_frame_get_pixel_format)
2175
2131
  V("setFramePixelFormat", bare_ffmpeg_frame_set_pixel_format)
2176
- V("getFrameLineSize", bare_ffmpeg_frame_get_linesize)
2177
2132
  V("allocFrame", bare_ffmpeg_frame_alloc)
2178
2133
 
2179
2134
  V("initImage", bare_ffmpeg_image_init)
2180
2135
  V("fillImage", bare_ffmpeg_image_fill)
2136
+ V("getImageLineSize", bare_ffmpeg_image_get_line_size)
2181
2137
 
2182
2138
  V("initPacket", bare_ffmpeg_packet_init)
2183
2139
  V("initPacketFromBuffer", bare_ffmpeg_packet_init_from_buffer)
package/lib/constants.js CHANGED
@@ -12,7 +12,7 @@ module.exports = exports = {
12
12
  UYVY422: binding.AV_PIX_FMT_UYVY422,
13
13
  YUV420P: binding.AV_PIX_FMT_YUV420P
14
14
  },
15
- mediaType: {
15
+ mediaTypes: {
16
16
  UNKNOWN: binding.AVMEDIA_TYPE_UNKNOWN,
17
17
  VIDEO: binding.AVMEDIA_TYPE_VIDEO,
18
18
  AUDIO: binding.AVMEDIA_TYPE_AUDIO,
package/lib/frame.js CHANGED
@@ -45,14 +45,6 @@ module.exports = class FFmpegFrame extends ReferenceCounted {
45
45
  return Buffer.from(binding.getFrameAudioChannel(this._handle, i))
46
46
  }
47
47
 
48
- imageData() {
49
- return Buffer.from(binding.getFrameImageData(this._handle))
50
- }
51
-
52
- lineSize(channel) {
53
- return binding.getFrameLineSize(this._handle, channel)
54
- }
55
-
56
48
  alloc() {
57
49
  binding.allocFrame(this._handle, 32)
58
50
  }
package/lib/image.js CHANGED
@@ -44,4 +44,12 @@ module.exports = class FFmpegImage {
44
44
  frame._handle
45
45
  )
46
46
  }
47
+
48
+ lineSize(plane = 0) {
49
+ return binding.getImageLineSize(this._pixelFormat, this._width, plane)
50
+ }
51
+
52
+ static lineSize(pixelFormat, width, plane = 0) {
53
+ return binding.getImageLineSize(pixelFormat, width, plane)
54
+ }
47
55
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-ffmpeg",
3
- "version": "1.0.0-4",
3
+ "version": "1.0.0-6",
4
4
  "description": "Low-level FFmpeg bindings for Bare",
5
5
  "exports": {
6
6
  ".": "./index.js",