Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

Pages: (26) « First ... 9 10 [11] 12 13 ... Last » ( Go to first unread post )
Ffmpeg Input Driver, Experimental driver based on ffmpeg libs
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
raffriff42
Posted: Jan 21 2014, 10:03 AM


Advanced Member


Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12



QUOTE (dloneranger @ Jan 21 2014, 03:50 AM)
Easy to make mistakes on this....
I 'think' YUVJ420 is 601 full range Y and limited range YV https://wiki.videolan.org/YUV/#I420
(wtf???)

Don't recall hearing that before ... no citations on that page ...

Take a look at http://www.fourcc.org/fccyvrgb.php; scroll down to "Avery Lee's JFIF Clarification"
QUOTE
The JFIF file format that is commonly used with JPEG defines a YCbCr color space that is slightly different than usual, in that all components have the full [0,255] excursion rather than [16,235] and [16,240].


And here's the Avisynth wiki: Color_conversions: Converting to programming values
CODE
yuv [0,255]   y = Y * 255       v = V * 127.5 + 128  u = U * 127.5 + 128
yuv [16,235]  y = Y * 219 + 16  v = V * 112 + 128    u = U * 112 + 128
 
     Top
dloneranger
Posted: Jan 21 2014, 05:56 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



On that link it says it's that same as i420 (limited y,u,v) but with full range y
(sounds weird, and possibly erroneous - full range for all sounds more likely)

Try this, added yuv444, yuvj420,yuvj444
F:\SyncServices\Dropbox\Public\MyUploadedStuff\ffdshowtest.zip

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
raffriff42
Posted: Jan 21 2014, 08:01 PM


Advanced Member


Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12



Tested with color bars (which I had prepared earlier) in a bunch of formats: H.264, MPEG4, VC1, MJPEG, Lagarith*, Huffyyuv*, UTVideo*, Fraps*
- MJPEG opens w/o crashing!
- 444 source remains 444
- 420 remains 420 (*default decoders convert to RGB)
- 709 flag detected correctly, AFAICT
- no luma range problems seen, except as noted below

I saw a weird low-contrast issue with one MJPEG source, but I would not worry about it because (a) MJPEG has many encoder implementations & they are wildly inconsistent; and (b) with another MJPEG source the situation was reversed - FFinput appeared to be correct and the default appeared low-contrast. (anybody wanting correct color from MJPEG has to experiment, to find the correct decoder for that source)
 
     Top
dloneranger
Posted: Jan 21 2014, 08:26 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Fine, I'll put this up at the weekend as a new version
There's a bit of fiddling to do with it first though

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jan 22 2014, 06:25 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Managed to find some time to finish it off

V0.8.0.6 is on first post
And now also at sourceforge

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jan 23 2014, 05:25 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



0.8.0.7
Added option, default video decoding format for unusual formats
(There are many formats that virtualdub doesn't handle, now you can choose how they are decoded)
Updated ffdlls to 2.1.3


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
raffriff42
Posted: Jan 23 2014, 06:56 PM


Advanced Member


Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12



Thanks a lot dloneranger, I gave it a 5 star review on the sourceforge page.

I'm curious - can you give an example of a codec that needs/uses the default format setting?

 
     Top
dloneranger
Posted: Jan 23 2014, 07:07 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Not so much the codec as the format of the data, there's an enormous list of formats it supports (they're in ffmpeg's pixfmt.h scource code)
Some include things like
AV_PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
AV_PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
AV_PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
AV_PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
AV_PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
AV_PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
AV_PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
AV_PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUVA420P9BE, ///< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian


Basically the plugin asks ffmpeg what the format is, and uses virtualdub's nearest equivalent (assuming I've typed the code in)
If it doesn't match anything on my list, it'll use the default format instead and let ffmpeg do the conversion to that format

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
raffriff42
Posted: Jan 23 2014, 08:06 PM


Advanced Member


Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12



I see - there is no effect on codecs with common 8-bit, 420/422/444/RGB formats.

So for example: opening a sample video encoded with pic_fmt=yuv444p10le, File/Info shows "yuv444p10le(?)" but when viewed in the Filter chain, the default format is used (whichever default I have selected), as 10-bit processing is not supported. Right?
 
     Top
dloneranger
Posted: Jan 23 2014, 08:15 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Exactly right

The directly supported formats are rgb15/24/32, y8, yuv420/422/410/444/uyuv/yuyv, nv12/21
With the rest using the default

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Feb 27 2014, 10:18 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



V0.8.0.8
Updated to use ffdlls 2.1.4

Sorry about the delay on that, didn't notice ffmpeg had a new stable release out - feel free to pm me if I'm late on the next stable release

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
travisk
Posted: Feb 28 2014, 03:18 PM


Newbie


Group: Members
Posts: 4
Member No.: 37053
Joined: 29-August 13



Any changes in the source code? I updated the ffmpeg include and lib files for build. The stuff in audioconvert.h is deprecated. I was planning to look into eliminating it and send it to you, but haven't gotten around to it sad.gif
 
     Top
dloneranger
Posted: Feb 28 2014, 03:20 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



From 807 to 808 not much, just some test code (explaining variables so I could see what was happening while debugging)
Most of the stuff that changed up to 807 is just improved interfacing with virtualdub, a bit of zeroing out some buffers and the testing code

Most of the ffmpeg stuff is left alone as I haven't had time to see how it all fits together or read much of ffmpegs docs
I had a play with getting it seek better, and it'd seek to a frame like a demon but then wouldn't advance frame at a time (garbled display) so I'll leave that alone I think......

If you want to play with it - here's a problem scenario
Create a file with pcm audio (I used h264 for the video), turn audio display on in virtualdub, load the video
Now, there can be huge pauses when seeking - not often, but they're about 4 seconds long when they happen
And moving back/forward frame by frame at the end of the video can cause problems

(I'm a spare time hobbyist with little c++ skill, so that's a project for whenever I can find a lot of spare time or anyone else gets to look at it)

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Feb 28 2014, 03:36 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



A quick note from a PM
QUOTE
Also any thoughts as to why fcchandler quicktime plugin always encodes faster than the FFmpeg plugin ?

(I'll assume that decodes was meant instead of encodes)

Reply
QUOTE
re ffdshow plugin speed

I'd just accepted your claim that ffdshow was slower at decoding
But I did a bit of testing and it's not here

method -> load video, set fast recompress, pick uncompressed video codec, run analysis pass

source 1440x1080 .mp4 (h264,aac)
ffmpeg plugin 1 minute 9 seconds
quicktime plugin 4 minutes 35 seconds

source 640x480 .mkv (wmv3, ac3)
ffmpeg plugin 0 minutes 48 seconds
matroska plugin 0 minutes 49 seconds

So I'm not sure why yours would be slower than the quicktime plugin

If anyone else sees FFMpeg plugin being slow, I'd be interested in any data you have

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Mar 1 2014, 08:17 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Looks like comparing ffmpeg plugin and quicktime plugin gives a slight encoding performance penalty when using the ffmpeg plugin
Possibly something to do with the much higher IO % in virtualdub when using ffmpeg plugin, but not sure about that

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
378 replies since May 10 2011, 10:20 AM Track this topic | Email this topic | Print this topic
Pages: (26) « First ... 9 10 [11] 12 13 ... Last »
<< Back to VirtualDub Filters and Filter Development