Giter VIP home page Giter VIP logo

Comments (7)

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
Can you please provide the ffmpeg commandline and its output like requested ?

Thanks.

Original comment by [email protected] on 15 Apr 2010 at 1:45

from ffmbc.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
Sorry. Here is the command line and the output using a simple Avisynth script. 
The 
"*** drop!" warning only occurs when we use Avisynth, and the output file is 
always 
empty. in this case. 

Encoding the same input file without using Avisynth works well. 

Thank you.

D:\>ffmpeg.exe -i test-ffmbc.avs -vcodec mpeg2video -r 25 -pix_fmt yuv422p 
-minrate 
50000k -maxrate 50000k -b 50000k -intra -flags +ildct+low_delay -dc 10 -flags2 
+ivlc+non_linear_q -ps 1 -qmin 1 -qmax 3 -top 1 -bufsize 2000000 
-rc_init_occupancy 
2000000 -rc_buf_aggressivity 0.25 -an test.m2v
FFmpeg version FFmbc-0.3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  built on Nov 15 2009 17:57:32 with gcc 4.2.4
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-mingw32- 
--cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 
--enable-
avisynth --enable-gpl --enable-version3 --enable-zlib --enable-bzlib 
--enable-libgsm 
--enable-libfaad --enable-pthreads --enable-libvorbis --enable-libtheora 
--enable-
libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-
libschroedinger --enable-libx264 --enable-libopencore_amrwb --enable-
libopencore_amrnb
  libavutil     50. 4. 0 / 50. 4. 0
  libavcodec    52.41. 0 / 52.41. 0
  libavformat   52.39. 2 / 52.39. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 7. 1 /  0. 7. 1
Input #0, avs, from 'test-ffmbc.avs':
  Duration: 00:00:10.00, start: 0.000000, bitrate: 0 kb/s
    Stream #0.0(und): Video: rawvideo, bgra, 604x56, tbc N/A, 25976 kb/s, fps 24.000, 
tbf 1/24
File 'test.m2v' already exists. Overwrite ? [y/N] y
Output #0, mpeg2video, to 'test.m2v':
    Stream #0.0(und): Video: mpeg2video, yuv422p, 604x56, tbc 1/25, q=1-3, 50000 
kb/s, tbf 1/90000
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
stream #0.0 decoder does not set reordered opaque
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
*** drop!
frame=    1 fps=  0 q=1.6 Lsize=     244kB time=0.04 bitrate=50000.0kbits/s 
dup=0 
drop=239
video:244kB audio:0kB global headers:0kB muxing overhead 0.000000%

Original comment by [email protected] on 19 Apr 2010 at 8:49

from ffmbc.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
Could you please try with 0.4-rc1 ?

Original comment by [email protected] on 27 Apr 2010 at 11:44

from ffmbc.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
the same here:
The file is self contained QuickTime loaded via QTInput() avisynth plugin 
because
without avisynth I get [dvvideo @ 0x179aa10]AC EOB marker is absent pos=66

iotzo@iotzo-PC /cygdrive/g
$ /home/iotzo/FFmbc-0.4-rc1/ffmpeg.exe  -y -i test.avs  g:/test.avi
FFmpeg version FFmbc-0.4-rc1, Copyright (c) 2000-2010 the FFmpeg developers
  built on May  5 2010 02:00:20 with gcc 4.3.4 20090804 (release) 1
  configuration: --enable-avisynth --enable-pthreads
  libavutil     50.14. 0 / 50.14. 0
  libavcodec    52.66. 0 / 52.66. 0
  libavformat   52.60. 0 / 52.60. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.18. 0 /  1.18. 0
  libswscale     0.10. 0 /  0.10. 0
Input #0, avs, from 'test.avs':
  Duration: 00:46:41.76, start: 0.000000, bitrate: N/A
    Stream #0.0(und): Video: rawvideo, yuyv422, 720x576, tbc N/A, 165888 kb/s, fps 25.000
    Stream #0.1(und): Audio: pcm_s32le, 48000 Hz, 2 channels, s32, 3072 kb/s
[ffmpeg_output @ 0x17a9400]auto-inserting filter 'auto-inserted scaler 0' 
between the
filter 'src' and the filter 'out'
[scale @ 0x17a9640]fmt:yuyv422 720x576 -> fmt:yuv420p 720x576
Output #0, avi, to 'g:/test.avi':
  Metadata:
    encoder: FFmbc 0.4
    Stream #0.0(und): Video: mpeg4, yuv420p, 720x576, tbc 1/25, q=2-31, 200 kb/s
    Stream #0.1(und): Audio: mp2, 48000 Hz, 2 channels, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
stream #0.0 decoder does not set reordered opaque
*** drop!
stream #0.0 decoder does not set reordered opaque
*** drop!
stream #0.0 decoder does not set reordered opaque
*** drop!
stream #0.0 decoder does not set reordered opaque
*** drop!
frame=    1 fps=  0 q=5.3 Lsize=      50kB time=0.04 bitrate=10209.6kbits/s 
dup=0 drop=20
video:33kB audio:6kB global headers:0kB muxing overhead 26.669975%


Original comment by [email protected] on 5 May 2010 at 8:51

from ffmbc.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
I understand there is DV decoding bug, which should be fixed.
Can you rerun the command with -v 4 to have vsync info ?

Unfortunately I cannot test avisynth support myself, so this will be hard to 
debug. 

Original comment by [email protected] on 5 May 2010 at 5:42

from ffmbc.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
Thank You for the quick response:)
I must say that even with "[dvvideo @ 0x16baa00]AC EOB marker is absent pos=xx"
message the result seems to be OK, but was worried about that message and 
because of
that I decided to use QuickTime decoder via avisynth for DV decoding
Here is the -v 4 test:

$ /home/iotzo/FFmbc-0.4-rc1/ffmpeg.exe -v 4 -vframes 100 -y -i g:/test.mov   
g:/test.avi
FFmpeg version FFmbc-0.4-rc1, Copyright (c) 2000-2010 the FFmpeg developers
  built on May  5 2010 02:00:20 with gcc 4.3.4 20090804 (release) 1
  configuration: --enable-avisynth --enable-pthreads
  libavutil     50.14. 0 / 50.14. 0
  libavcodec    52.66. 0 / 52.66. 0
  libavformat   52.60. 0 / 52.60. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.18. 0 /  1.18. 0
  libswscale     0.10. 0 /  0.10. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'g:/test.mov':
  Duration: 00:46:41.81, start: 0.-145200, bitrate: 30360 kb/s
    Stream #0.0(eng): Video: dvvideo, yuv420p, 720x576, tbc 1/25, 28799 kb/s, PAR
59:54 DAR 295:216, fps 24.999
    Stream #0.1(eng): Audio: pcm_s16be, 48000 Hz, 2 channels, s16, 1536 kb/s
    Stream #0.2(eng): Data: tmcd / 0x64636D74
    Metadata:
      reel_name(eng): 001
Output #0, avi, to 'g:/test.avi':
  Metadata:
    encoder: FFmbc 0.4
    Stream #0.0(eng): Video: mpeg4, yuv420p, 720x576 [PAR 59:54 DAR 295:216], tbc
1/25, q=2-31, 200 kb/s
    Stream #0.1(eng): Audio: mp2, 48000 Hz, 2 channels, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
vdelta:0.000000, ost->sync_opts:0, ost->sync_ipts:0.000000 nb_frames:1
vdelta:0.630000, ost->sync_opts:2, ost->sync_ipts:0.065200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:3, ost->sync_ipts:0.105200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:4, ost->sync_ipts:0.145200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:5, ost->sync_ipts:0.185200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:6, ost->sync_ipts:0.225200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:7, ost->sync_ipts:0.265200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:8, ost->sync_ipts:0.305200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:9, ost->sync_ipts:0.345200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:10, ost->sync_ipts:0.385200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:11, ost->sync_ipts:0.425200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:12, ost->sync_ipts:0.465200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:13, ost->sync_ipts:0.505200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:14, ost->sync_ipts:0.545200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:15, ost->sync_ipts:0.585200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:16, ost->sync_ipts:0.625200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:17, ost->sync_ipts:0.665200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:18, ost->sync_ipts:0.705200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:19, ost->sync_ipts:0.745200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:20, ost->sync_ipts:0.785200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:21, ost->sync_ipts:0.825200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:22, ost->sync_ipts:0.865200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:23, ost->sync_ipts:0.905200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:24, ost->sync_ipts:0.945200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:25, ost->sync_ipts:0.985200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:26, ost->sync_ipts:1.025200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:27, ost->sync_ipts:1.065200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:28, ost->sync_ipts:1.105200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:29, ost->sync_ipts:1.145200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:30, ost->sync_ipts:1.185200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:31, ost->sync_ipts:1.225200 nb_frames:1
[dvvideo @ 0x16baa00]AC EOB marker is absent pos=64
    Last message repeated 6 times
[dvvideo @ 0x16baa00]AC EOB marker is absent pos=66
[dvvideo @ 0x16baa00]AC EOB marker is absent pos=64
vdelta:-0.370000, ost->sync_opts:32, ost->sync_ipts:1.265200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:33, ost->sync_ipts:1.305200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:34, ost->sync_ipts:1.345200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:35, ost->sync_ipts:1.385200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:36, ost->sync_ipts:1.425200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:37, ost->sync_ipts:1.465200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:38, ost->sync_ipts:1.505200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:39, ost->sync_ipts:1.545200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:40, ost->sync_ipts:1.585200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:41, ost->sync_ipts:1.625200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:42, ost->sync_ipts:1.665200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:43, ost->sync_ipts:1.705200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:44, ost->sync_ipts:1.745200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:45, ost->sync_ipts:1.785200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:46, ost->sync_ipts:1.825200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:47, ost->sync_ipts:1.865200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:48, ost->sync_ipts:1.905200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:49, ost->sync_ipts:1.945200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:50, ost->sync_ipts:1.985200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:51, ost->sync_ipts:2.025200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:52, ost->sync_ipts:2.065200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:53, ost->sync_ipts:2.105200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:54, ost->sync_ipts:2.145200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:55, ost->sync_ipts:2.185200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:56, ost->sync_ipts:2.225200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:57, ost->sync_ipts:2.265200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:58, ost->sync_ipts:2.305200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:59, ost->sync_ipts:2.345200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:60, ost->sync_ipts:2.385200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:61, ost->sync_ipts:2.425200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:62, ost->sync_ipts:2.465200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:63, ost->sync_ipts:2.505200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:64, ost->sync_ipts:2.545200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:65, ost->sync_ipts:2.585200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:66, ost->sync_ipts:2.625200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:67, ost->sync_ipts:2.665200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:68, ost->sync_ipts:2.705200 nb_frames:1/s
vdelta:-0.370000, ost->sync_opts:69, ost->sync_ipts:2.745200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:70, ost->sync_ipts:2.785200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:71, ost->sync_ipts:2.825200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:72, ost->sync_ipts:2.865200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:73, ost->sync_ipts:2.905200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:74, ost->sync_ipts:2.945200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:75, ost->sync_ipts:2.985200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:76, ost->sync_ipts:3.025200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:77, ost->sync_ipts:3.065200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:78, ost->sync_ipts:3.105200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:79, ost->sync_ipts:3.145200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:80, ost->sync_ipts:3.185200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:81, ost->sync_ipts:3.225200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:82, ost->sync_ipts:3.265200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:83, ost->sync_ipts:3.305200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:84, ost->sync_ipts:3.345200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:85, ost->sync_ipts:3.385200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:86, ost->sync_ipts:3.425200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:87, ost->sync_ipts:3.465200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:88, ost->sync_ipts:3.505200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:89, ost->sync_ipts:3.545200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:90, ost->sync_ipts:3.585200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:91, ost->sync_ipts:3.625200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:92, ost->sync_ipts:3.665200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:93, ost->sync_ipts:3.705200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:94, ost->sync_ipts:3.745200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:95, ost->sync_ipts:3.785200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:96, ost->sync_ipts:3.825200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:97, ost->sync_ipts:3.865200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:98, ost->sync_ipts:3.905200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:99, ost->sync_ipts:3.945200 nb_frames:1
vdelta:-0.370000, ost->sync_opts:100, ost->sync_ipts:3.985200 nb_frames:1
frame=  100 fps=  0 q=31.0 Lsize=     491kB time=3.98 bitrate=1009.8kbits/s
video:444kB audio:31kB global headers:0kB muxing overhead 3.381809%

Original comment by [email protected] on 5 May 2010 at 9:41

from ffmbc.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 27, 2024
I believe this issue is fixed.

Original comment by [email protected] on 4 Apr 2011 at 10:10

  • Changed state: Fixed

from ffmbc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.