Re: [Mjpeg-users] Top-forward for DV?
--- On Fri, 6/26/09, Hervé herve.flo...@free.fr wrote: if I well remember (I didn't verify with the lastest version), TOP_FORWARD only shift luma (chroma was let in state) I finally had time to check this. I put a bunch of yuvcorrect -T TOP_FORWARD -T INTERLACED_TOP_FIRST and yuvcorrect -T BOTT_FORWARD -T INTERLACED_BOTTOM_FIRST commands, repeatedly, into a video-processing pipeline. If this bug existed, I figured this would make the chroma noticeably out of sync with the intensity. It looked perfect to me. So at least we can say this bug has been fixed. :-) Steven Boswell -- ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Top-forward for DV?
I've got to get out the door and don't have time to do much more than clear out the mailbox. No problem...I couldn't get to this e-mail until after work anyway :-) Shift the video one line up or down within the frame. This is MUCH better (I think) than shifting the video 1/2 frame. Thanks for the tip! I'll try it on the next telecined video I convert! I don't suppose there's a way to shift a DV file by one line without a decode/encode like in the script I attached at the beginning of this thread... :-) Steven Boswell -- ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Top-forward for DV?
yuvkineco is top field first only. [...] yuvcorrect top_forward is harmful. Rats...my memory of the conversation was that TOP_FORWARD was necessary to correct DV of telecined video. (I searched the mailing list archives, by asking Google for TOP_FORWARD site:mail-archive.com, but couldn't find why TOP_FORWARD was harmful.) As an experiment, I tried running yuvkineco on video without doing TOP_FORWARD, and it was visibly worse. Maybe that's because yuvkineco is top-field-first only? It didn't seem to complain about being given bottom-field-first video. The reverse-telecined videos I make with yuvkineco TOP_FORWARD look great to me...and I thought I was nitpicky about these things. :-) Have I been living a lie? What should I be doing? Steven Boswell -- ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] y4mdenoise (was Re: build failure on MacOS 10.5.7)
Whoops! That was an integration error. I just checked in the fix. Sorry about that! For those of you that aren't subscribed to the mjpeg-developer list, I've been doing heavy development of y4mdenoise lately, I've finally found a practical implementation of my original idea, and it's faster than it's ever been. For those of you keeping up with latest CVS, check it out! Steven Boswell --- On Thu, 6/4/09, Christian Ebert blacktr...@gmx.net wrote: From: Christian Ebert blacktr...@gmx.net Subject: [Mjpeg-users] build failure on MacOS 10.5.7 To: mjpeg-users@lists.sourceforge.net Date: Thursday, June 4, 2009, 10:32 AM Hi, With latest CVS mjpegtools do not build anymore here: [...] Making all in y4mdenoise [...] Undefined symbols: void BitmapRegion2Dshort, int::SubtractBitmapRegion2Dshort, int (Status_t, BitmapRegion2Dshort, int const), referenced from: void BitmapRegion2Dshort, int::MakeBorderBitmapRegion2Dshort, int (Status_t, BitmapRegion2Dshort, int const)in newdenoise.o -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] Building from CVS (was Re: y4mdenoise)
I wish I could help you...maybe one of the developers that knows our build system better could help? I'm running Fedora Core 9 and have the following SDL-related packages installed: SDL-1.2.13-3.fc9.i386 SDL_gfx-devel-2.0.16-5.fc9.i386 SDL_gfx-2.0.16-5.fc9.i386 SDL_image-1.2.6-6.fc9.i386 SDL-devel-1.2.13-3.fc9.i386 Dunno if any of them are significant. Steven Boswell --- On Thu, 6/4/09, Hervé herve.flo...@free.fr wrote: Le 4 juin 09 à 21:26, Steven Boswell II a écrit : For those of you keeping up with latest CVS, check it out! could give some tips? I downloaded cvs, I made cd … ./autogen.sh - configure.ac:276: warning: macro `AM_PATH_SDL' not found in library configure.ac:276: warning: macro `AM_PATH_SDL' not found in library configure.ac:96: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:276: error: possibly undefined macro: AM_PATH_SDL autoreconf: /usr/bin/autoconf failed with exit status: 1 so, I download and install SDL-1.2.13 (I thought that my current version was maybe too old?!) but I have the same error do you have a how to compile from cvs? thanks :-) -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] mplex fail......
Granted, mplex shouldn't crash on this, but you do realize that you're multiplexing two sound files together without any video file, right? Shouldn't one of them be a video file? --- On Fri, 5/15/09, Martin Leicht martin.lei...@arcor.de wrote: $ mplex -f 8 maus.mp2 maus.mp2 -o film.mpg -- Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Fixing black areas
What I've got now is a dumb little program that searches for dark groups and changes them to white so they show up and you can see which areas would be filtered if the stub filter routines actually had some code written. Sort of a 'yuvplay' that can be used to see what areas meet the 'dark' criteria. If you'd like a copy to laugh at or use as a template/startingpoint I could certainly do that. Sure, I'd like to see it. I'm seeing this artifact more in my VideoCDs than in my DVDs. It almost looks like the quantization floor is set really high for MPEG-1 video or something. The non-dark scenes all look really good. What about using an edge-detection algorithm to find the boundaries of large areas, then testing if the large area is low-intensity before setting it all to black? I haven't looked into edge-detection algorithms recently, but it sounds good... Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Make Yahoo! your home page http://www.yahoo.com/r/hs --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Fixing black areas (was Re: [Mjpeg-users] Numerical stream conditioning)
What about having a selective median (for want of a better term) type filter. What I'm thinking is a median type filter that becomes more aggressive as the overall luminance of the frame / block becomes darker. I started on that, had a prototype program that displayed the areas that would be filtered, and the interest was shall we say a bit underwhelming so I abandoned it. Was that y4mblackfix? I thought the problem was that it artifacted strangely, not that people weren't interested. I ask because I've got one video in my collection that has a LOT of action in the almost-black areas, and I'm keen to fix the problem. What's the general idea -- if the luminance is less than a certain value, clamp the color to white? Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ --- This SF.net email is sponsored by: 2005 Windows Mobile Application Contest Submit applications for Windows Mobile(tm)-based Pocket PCs or Smartphones for the chance to win $25,000 and application distribution. Enter today at http://ads.osdn.com/?ad_id=6882alloc_id=15148op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Numerical stream conditioning
As a last step before the encoder perhaps 'y4mdenoise -t 1' would be a good choice. Actually, y4mdenoise -z 1 -t 1...the default value of -z is 2, and y4mdenoise -z 2 -t 1 will probably generate nasty results. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Numerical stream conditioning
I'm not quite sure though what is meant by numerical conditioning. All processing on a computer is numerical, isn't it? :-) By numerical conditioning, I meant ensuring that the parts of your video that LOOK the same are NUMERICALLY the same, so that mpeg2enc's motion-detection will succeed. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Numerical stream conditioning
This makes me wonder: There is a difference between a clean, high quality stream from a human perspective and from the perspective of an encoder (in the sense that is is 'easy' to encode), is there? If there is no difference, then there is no point in talking about video processing that improves video streams numerically (for encoding), but not visibly. Yes, there's a difference. A human may not be able to tell the difference between luminosity levels 128 and 129, but the computer can, and if you have a screen that's all 128-level except for lots of 129-level dots spread throughout randomly, the computer is going to waste a lot of space encoding it, and if the pattern of 129-level dots changes every frame, motion-detection will fail too. But it'll all look the same to a human being. From this simple example, one can easily infer that something that looks the same to a human being does not necessarily look the same to the computer. Many users lack the knowledge to process their video material in a way that allows mpeg2enc to get the most out of it. Us developers too :-) I've been working on how to convert the analog sources in my collection (LaserDiscs and VHS tapes) to very clean VCDs/DVDs. It's taken 2 1/2 years. I've had to write a new denoiser, I had to beg other programmers to make fixes in parts of the code, and slowly I'm getting to my goal. I'm working on a bash script (and a Wizard style Kommander GUI to control it) for using mpeg2enc, which features 'source profiles' like 'consumer DV camera', 'Computer Generated' or 'VHS Tape'. My scripts, and the ones you're generating, should end up as part of mjpegtools, part of some future GUI video-editing system, and as notes in our HOWTO. If there are general processing methods that are beneficial for *any* video stream that needs to be reduced to MPEG, it is desireable to perform such processing by default. In many cases, the default values strike a balance between quality and speed. For instance, there's no need to make the user pay for mpeg2enc -4 1 -2 1 until they're ready for it and willing to pay the price. Perhaps a section in the mpeg2enc manpage about stream conditioning would help. Sure...as soon as we know how to do it :-) I'm not quite sure though what is meant by numerical conditioning. Any processing that has no visible effect, only numerical. y4mdenoise run at very low tolerances (-z 1 -t 1 or -z 1 -t 2) qualifies as such processing. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Open-source video editing (was Re: [Mjpeg-users] losing the plot)
I'm also developing an obsession for open source video processing. I develop scripts (and graphical wizards to control/run them, for inexprienced/lazy users) that push the limits of the current state of Linux video processing tools. Ah, cool! That wasn't the direction I was planning to take, but it's definitely something I'd like to see in open-source GUI video editing. So please keep it up! I tried to contact the author of the SMIL Utils to ask about development and features that could improve the capabilities of video processing scripts, but I did not receive a response. Do you plan to take a look at the SMIL utils as well? I'm very interested in what you're planning to do. My vision is to have a video-editing system that's based around hierarchical composition of independent parts. For example, instead of making the user physically glue parts of their audio/video together, I prefer letting them describe the various sections of their audio/video generically, build hierarchies of such sections, and let the editing system adjust the overall composition based on small edits to individual parts. Basically a graphically-edited makefile for video. For instance, I see a lot of TV programs and movies where the sound for the next scene starts before the video part. I want to have an A/V section that, for example, officially starts at the beginning of the video part, but contains a prelude that will get blended with any video prepended to its beginning. Such a section could be moved around the hierarchy, but would automatically blend itself in with whatever it's paired with. That's just one example of the abilities I'd like to see for A/V sections...there are plenty of others. Attached to this e-mail is an example script-file for a tool I wrote about two years ago. I called it lavmix. It took me about four days to write, and does a lot of what I want in an audio/video composition tool. But it's text-file based; I'd prefer something that allows the information to be edited and browsed graphically. I'd rather turn it into a GUI product, rather than spend lots of time making the text-file parser deal with syntax and semantic errors better. (Which is why I never released the code.) Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ test.lmx Description: test.lmx
[Mjpeg-users] Re: Open-source video editing
So, basically you are suggesting classical timeline editing with addition of hierarchial grouping of video fragments and transition effects? I guess so. I don't know all the video-editing terminology yet. :-) Being able to treat video production as a bunch of independent but combinable parts, in my mind, allows for a lot of the touch-and-go that it takes to produce a video in the real world. For instance, most scenes are shot several times. Each take should be easily inserted and removed, so that they can be viewed together with takes of other scenes, and otherwise strongly support the desire of the director to futz around with it until it comes out feeling right. Also, being able to store various versions of the same video in one source file, i.e. different top-level mixes of the same pieces, allow directors to contemplate different versions of the video more easily. Or say that a better method has been found for preprocessing some piece of raw video. It should be possible to make those changes, and allow the effects to bubble up through a hierarchy that describes how the video is to be made. Basically, I'm not sure how I would live without this sort of hierarchical composition of independent pieces. It sounds like it would be tedious and error-prone. I've already edited three short movies with lavmix, and the ability to make small changes and rebuild the movie was a godsend to the editing phase. Attached to this e-mail is an example script-file for a tool I wrote about two years ago. It looks like Kino's SMIL on steroids.. Except for that it isn't SMIL format. :) I hadn't heard of SMIL format when I wrote lavmix. I had heard *of* XML, but never looked into it. But it's text-file based Writing scripts (and GUI's to those scripts) to manipulate SMIL files and do complex video editing on DV files is a lot easier than adding those features to Kino. That's a really good point! Maybe I'll flesh out lavmix as a command-line tool, with an XML/SMIL source format, then turn to writing a GUI. That gets everyone using it as early as possible, and any major architectural flaws and limitations will be found before tons of time is invested in a GUI. Plus, I'll be able to release this a lot earlier than I thought! (Though first, I'll probably implement some long-planned improvements to y4mdenoise. I think I can seriously increase the quality and performance again.) So, are you planning to create an alternative to Kino? There are several open-source video-editing projects out there. Off the top of my head, I know of lvs (Linux Video Studio, part of the mjpegtools family as far as I know), kino, cinelerra, and hvirtual. I'm sure there are more. Their suitability for what I want to do probably mostly depends on whether the programmers commented their source code and wrote design documentation and so on. I'm sick of slogging through non-documented code, and if they're all like that, I'll probably write my own from scratch. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] losing the plot
Clearly, kino needs to deal with other file formats, such as lossless-compressed Quicktime files. Ok so need to export in quicktime to feed into kino really. Oh...does kino already support Quicktime? Do we have a tool that'll export raw YUV video as lossless-compressed Quicktime files? If so, I'll start using it ASAP! As soon as I get mjpegtools' video quality up to my standards (and I'm getting REALLY close), I plan for my next obsession to be bringing open-source video editing up to snuff. I know of kino, lvs, cinelerra, and hvirtual, but haven't looked too deeply into them yet. I noticed you're using y4mdenoise with -I 0, to force it to deal with the video as progressive frames, but the rest of the pipeline (y4mscaler, y4munsharp, y4mtoppm, etc.) is presumably dealing with interlaced video. mmm I thought it was detecting it automatically from input... If the input is already progressive, then you don't need to pass -I 0 to y4mdenoise. And if the input is interlaced, you're better off treating it as progressive until such time (if any) that something expects it to be interlaced (like mpeg2enc). Also, consider playing with the -z and -t parameters to y4mdenoise -- a small change can make a big difference. (Although the default parameters, intended for VHS video, might be just fine with old home-movie film.) Don't forget that I denoise 1300*1100 ~ish frames before bringing them down to DV size. That's fine, but remember, mpeg2enc's motion detection requires numerical equality. What do you mean by numerical equality ? As you know, the pixels are represented on a computer by numbers. For mpeg2enc to detect that a group of pixels in the current frame is the same as a group of pixels in a previous frame, the pixel values must be equal to each other -- they can't just look close enough. y4mdenoise will make them equal. I'm not sure about yuvdenoise. using y4mdenoise with very low settings, e.g. y4mdenoise -z 1 -t 1, with your high-quality input, may work wonders. Just wondering then if it is necessary to do it twice. I thought that denoising the big frames before scaling down will give a better result Yes, it will, but the first y4mdenoise is to denoise your video, and the second y4mdenoise (with very low settings) is to optimize your video stream so that mpeg2enc will have a better chance of detecting motion. The low settings will ensure that no human-perceptible changes in the video will happen, but mpeg2enc will see the difference your compression efficiency will improve. But it needs to happen right before mpeg2enc or the effect will probably be lost. Will give it a go this weekend !! Great! Let us all know how it goes! I've been obsessing over video quality for about 2 1/2 years now, so any sort of description you can give of the remaining artifacts in your video may trigger something in my experience. So feel free to share. BTW, it's occurring to me that you're scanning in your 8mm/16mm home videos at over a megapixel per frame. How are you doing that? My family has a bunch of old 8mm film of family events from decades ago, and we've been meaning to give them the pro treatment. What are you using to scan in the frames of your film? Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] some good, some bad
Ok, it realy must have something to do with multiplexing. IIRC, you're using mjpegtools 1.6.2. I'm pretty sure our DVD handling was still embryonic at that point. You may want to ugrade to 1.6.3, the latest release. (A lot of work is going on in mpeg2enc right now, so I'm not sure if it's safe to upgrade to latest CVS.) After a lot of frustrating tests I hear ya, man! I've been doing digital video for just over 2 years now, and I've gotten so far with my quality, but there always seems to be some new artifact to cause me grief. Steven Boswell ulatekh at yahoo dot com __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] One (new) artifact to go before perfection...
Feed progressive stream to mpeg2enc -p, so don't do 2nd yuvcorrect -T INTERLACED_TOP_FIRST. Ah, I didn't realize that. That should end up in the man page, and as a warning inside mpeg2enc, probably. And, if the result of yuvcorrect -T LINE_SWITCH twice is correct, both LINE_SWITCH are not needed. Yeah, I'm kinda unsure why I need both of them too. But if I don't do the first one, yuvkineco gets lost, and generates mostly Ds. With the line-switch, I get the expected OOO_X pattern. And if I don't do the second one, the picture looks much worse. I guess you want to convert a correct bottom-field-first stream to a correct top-field-first stream to feed to yuvkineco, if so you should use yuvcorrect -T TOP_FORWARD -T INTERLACED_TOP_FIRST, not LINE_SWITCH. Won't that throw off yuvkineco? None of the frames it sees will be actual complete film frames, and there's no yuvkineco command for top field replaced by previous one and output. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - You care about security. So do we. http://promotions.yahoo.com/new_mail --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] One (new) artifact to go before perfection...
The enclosed script was used to process a Laserdisc of a film. I even hand-edited the file generated by yuvkineco to make sure it took apart the 3-2 pulldown exactly. And the video looks absolutely antiseptic...on my computer screen. But if I burn a DVD of it and play it on the TV, there is a very slight vertical jitter! I can advance the video forward one frame at a time, and I see the picture moving up and down, ever so slightly. I thought it was field order, and re-generated the video, adding -z b to mpeg2enc's options, but the problem remains. This artifact did NOT happen on two other LaserDiscs I converted -- both were genuinely 60 fields per second, not converted film. It DID happen on one other LaserDisc that was also converted film, though. Does anyone know what this could possibly be? Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail makedvd.sh Description: makedvd.sh
Re: [Mjpeg-users] yuvkineco - kudos and requests
Current yuvkineco handles top-field-first 4:2:0 stream only. I'm planning support 4:4:4, 4:2:2, 4:1:1 streams, [...] I think I can hack so in not so long time. Please wait. That would be great. Thank you! One other request I thought of recently...now that we have a top-notch de-interlacer in yuvdeinterlace, is it possible to use it on D/d/M/m/E/e/N/n frames? I don't know if the de-interlacer is available in a shared library, but that's probably not too hard to fix. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. http://promotions.yahoo.com/new_mail --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] yuvkineco - kudos and requests
If you have a progressive frame in 4:2:0, then the first chroma line is the average from lines 1 and 2. The second chroma line is the average of 3 and 4. Right - for 4:2:0. The average from lines 1 and 2 and 'lines 3 and 4' are the :0 of 4:2:0. 4:1:1 is not subsampled vertically. But I have an _interlaced 3-2 pulldown_ of a progressive frame. So 4:2:0 chroma line 1 will be an average of 4:1:1 chroma lines 1 and 3. I need 4:2:0 chroma line 1 to be an average of 4:1:1 chroma lines 1 and 2. That's why I think I have to swap lines 2 3 of every group of 4 chroma lines. [if] I want to convert it back to 24fps, I first have to swap lines 2 3 of every 4 lines of the 4:1:1 color, in order to get the progressive-frame color to come out right. With 4:1:1 all that I think is needed is to undo the 2:3 pulldown to get rid of the repeated fields. That will give you a 24 (well, 24000/1001 ;)) 4:1:1 progressive image. Then later on when you convert to 4:2:0 y4mscaler will do the right thing with respect to the chroma. Right, as soon as yuvkineco can handle 4:1:1, so that I can run y4mscaler *after* it instead of before it. But you're saying the 4:1:1 chroma line-swap is not needed? Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Find what you need with new enhanced search. http://info.mail.yahoo.com/mail_250 --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] Re: [Mjpeg-developer] y4mdenoise
This was originally posted to mjpeg-developer, but I figured most users would be interested in this. What are normal values for not-moved, moved, and new? It depends entirely on your video. There are no normal values. In general, one should watch the numbers coming from y4mdenoise, and then look at the original video, and based on that, tweak the -z/-Z/-t/-T threshold parameters to match what you would expect it to find on that particular video. (I get 4 lines for a given frame, presumably the two interlaced fields times the two domains (Y and CrCb)) Indeed, that is what you're seeing. y4mdenoise's verbose output looks like this: Frame A: BB.B% not-moved, CC.C%+DD.D% moved, EE.E%+FF.F% new A is the frame number, repeated for each field and for each component of the video (i.e. Y and CbCr). B is the percentage of pixels found in the zero-motion pass (i.e. the -z/-Z options). C is the percentage of pixels found in the motion-searching pass for which the found region had a zero motion vector. D is the percentage of pixels found in the motion-searching pass for which the found region had a non-zero motion vector. (The relation between B and C should give you additional info for how well you chose values for -z/-Z/-t/-T.) E is the percentage of pixels found to be new information during the motion-searching pass, using a heuristic that tends to speed up results for scene-changes and other times when there is very little repeated information between two frames. F is the percentage of pixels found to be new information at the end of the frame, when all analysis is completed. As soon as I can figure out how to explain all that simply, I'll put it into the manpage :-) Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
o With 4:2:0 material, you can't just re-label a stream from top-field-first to progressive or vice-versa: that will screw up the chroma planes. Eh? It was my understanding that the lines of the top field were stored at even y indices, and the lines of the bottom field were stored at odd y indices, in the YCbCr data returned by y4m_read_frame(). The code for y4m_read_fields() certainly suggests that too. Which means I don't see how interpreting the data as a frame or as two fields changes the storage format of chroma or anything else. When you change the tag, you also have to resample the chroma, or it will get muddled by the next device/program that tries touches it. Do we have a tool that does that, then? Steven Boswell ulatekh at yahoo dot com __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
If you have a progressive frame in 4:2:0, then the first chroma line is the average from lines 1 and 2. The second chroma line is the average of 3 and 4. If you have an interlaced frame, the first chroma line is the average of the first two lines of the first field. With the fields interleaved, they are lines 1 and 3. The second chroma line is from the first two lines of the second field, which are lines 2 and 4. Assuming top field first. OK, I'm pretty sure I understand this. But wouldn't I have to have 4:4:4 data (i.e. 720x480 chroma data to go along with my 720x480 intensity data) in order to fix the chroma properly? Can I even get that? Also, when dealing with an NTSC signal of something that was originally 24 fps, i.e. the not really interlaced case, wouldn't the color be subsampled according to progressive frame rules? Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. http://promotions.yahoo.com/new_mail --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
Attached to this letter is the shell script I used recently to convert a videotape that was made of a 24-frame-per-second film. It's almost identical to the near-perfection scripts I posted earlier, but it contains a call to yuvkineco. If you know your videotape is of a film, and you're not running yuvkineco to get rid of the ~6 extra frames per second, then you're strangling your video quality! Not only does yuvkineco remove 20% of the frames in your video, and allow the remaining frames to consume 20% more space, but that one glitchy frame every ~5 frames is enough to throw the efficiency of denoising and MPEG encoding out of whack. If you're worried about yuvkineco's ability to strip extra frames out of your video, run it with the -C option, then look at the output, and verify that the before/after frame times stay mostly matched up. (I was worried that yuvkineco would glitch on video where I had to cut out the commercials, but it didn't.) Right before I call yuvkineco, I call yuvcorrect to change bottom-field-interlacing to top-field-interlacing. yuvkineco needs top-field-interlaced vidoe for some reason; that can probably be fixed. yuvkineco puts out a progressive-frame stream, though, so before the video gets sent to mpeg2enc, I pipe it through another yuvcorrect that changes the stream header back to top-field-interlaced. The 824 kbps bitrate you see in the VideoCD portion of the script is NOT a typo. The video looks just fine at that rate! I noticed that -K kvcd seems to improve video quality with low-bitrate recordings, even though -H still produces a nice VideoCD. Also, I started using yuvdeinterlace when converting DVD video to VCD. Another big difference! I've always been lukewarm about deinterlacing, but it turns out that's mostly because xine's deinterlacer is so crappy. Our deinterlacer is MUCH higher quality. Another tool worth using! Steven Boswell ulatekh at yahoo dot com __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com makedvd.sh Description: makedvd.sh
Re: [Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
before the video gets sent to mpeg2enc, I pipe it through another yuvcorrect that changes the stream header back to top-field-interlaced. What's wrong with feeding mpeg2enc the stream of progressive frames? I would think that is exactly what you want to do, with 24fps film material. It's my understanding that progressive-frame DVDs can't be played by all DVD players. I could be wrong...I often am... :-) Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Find what you need with new enhanced search. http://info.mail.yahoo.com/mail_250 --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
I'm still not sold completely on deinterlacing Actually, you're right, deinterlacing isn't needed on film sources. But it's doing great on a pee-wee soccer-league game that I shot on VHS-C. If yuvcorrect has been called to convert bottom to top first then why pipe it through another yuvcorrect that changes the stream header back to top-field-interlaced.? It's already been converted to top at the start And then yuvkineco converts it to progressive-frame. That's why it has to be converted back to top-field interlaced by an additional yuvcorrect. Notice that neither y4mdenoise nor yuvmedianfilter needed -I 0. The 824 kbps bitrate you see in the VideoCD portion of the script is NOT a typo. The video looks just fine Oh, I've gotten 824 or less when doing VCD encoding too - but unless you use VBR the stream gets padded to 1152 so there's no space savings. No, this is 824 kbps CBR video. Use -f 2 with mplex to generate something that isn't padded to 1152. I make VideoCDs like this all the time. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
It's my understanding that progressive-frame DVDs can't be played by all DVD players. You can feed mpeg2enc a progressive stream and it will do The Right Thing. Basically the progressive frame gets split into two fields and the flag in the MPEG2 header turned on that says both fields came from the same point in time. OK. The last I asked this question, I think Bernhard told me that mpeg2enc wouldn't give me what I expected. Guess this is something else to try! Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? The all-new My Yahoo! - What will yours do? http://my.yahoo.com --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Achieving near-perfection with NTSC videotapes of 24fps films
LOL! Worst file name ever! :) Do you have a filt tool to demangle that? Actually, it's quite apparrent what it means after looking at it for a couple seconds: Also, since my filename is meant to represent the processing pipeline, and said pipeline is described earlier in the same file, I figured it would be clear enough what all the pieces meant, but, hey, maybe I could have made it more obvious ;-) maintaining that in a separate form (on paper or in a text file) just was way more hassle than simply encoding it into the filename. I write a more verbose version of my recording notes on the right quadrant of every CD/DVD I burn. And on windows, it would just become URGHA~1.MPG :) Myself, personally, I could care less what it (or what my own lengthy file names) become under windows, as I don't do windows. :) I second that! :-) I only use Windows for tax software and the occasional video game. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] yuvkineco usage for VHS-to-DVD?
With the recent mpeg2enc bug fixes, I've finally created artifact-free DVD video from VHS videotapes. The last 2 artifacts I noticed have gone away. Happy day! I think my next step is to learn how to use yuvkineco, to make my movie denoising/encoding more efficient. I searched the mjpeg-users archives for anything mentioning yuvkineco and read most of it, but I want to make sure I understand. The attached shell script is what I'm using for a music video I recorded off digital cable TV onto VHS videotape. (It's just my previously-posted near-perfection with videotapes script, tuned for a different recording.) I'm thinking of putting yuvkineco in the pipeline between y4mscaler and yuvscaler; is that right? If I'm making an NTSC DVD, what framerate do I want to convert to, 1 (24000/1001) or 2 (24)? Do I then add -p to my mpeg2enc options? Do I need to do anything else? And most importantly...what are the odds I'll have to hand-edit the file generated by yuvkineco -C? I'm running it on the music video right now, and it looks like it's getting out of sync: 135630/01:15:21:00 108612/01:15:25:12 Here, 75 minutes into the video, it's off by 4 seconds? Any information would be appreciated. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 makedvd.sh Description: makedvd.sh
Re: [Mjpeg-users] Example: using y4mdenoise to achieve near-perfection with videotapes (more)
--- John Gay [EMAIL PROTECTED] wrote: Very nice discussion! This is the type of info I'm here for! I'll have to start keeping copies of these very good technical discussions regarding the various mjpeg-tools and their many settings. We really oughta put this information into the HOWTO. I'd do it, but the organization of the info in our HOWTO file kinda baffles me :-) Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] y4mdenoise (in CVS) now does 2 processors!
it's nice to see the main thread (the one denoising intensity) running near 100% CPU usage. That's how y4mdenoise has always behaved grin - but now it's using part of the 2nd cpu as well :) But how much better is it filling up both CPUs? Do you have any sense of how much less overall idle time you have now? Also, does the idle CPU percentage change if you modify the run priorities (done with renice under most Unices)? Maybe it's paranoia, but I swear there's a lot less idle CPU time if y4mdenoise is running at -10 and the rest of the pipeline is running at 0, instead of my usual setup where everything runs at 19. And I was pretty sure process scheduling didn't work like that. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] Bug fixes to 2-processor y4mdenoise
My last set of changes broke the -B option! And I fixed a bunch of other bugs I found, most of which would have caused y4mdenoise to crash upon exit. Get the latest CVS and the problems should be fixed. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? The all-new My Yahoo! - Get yours free! http://my.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] y4mdenoise (in CVS) now does 2 processors!
I don't know when we developers will officially release a new version of mjpegtools -- there's currently a coding frenzy around mpeg2enc and the denoisers. So you'll still have to get the latest CVS version in order to use y4mdenoise. But if you do, I just finished writing the first dual-processor version! You control it with the new -p option. -p 0 preserves the old behavior. -p 1 moves the reading/writing of frames into separate threads. -p 2 moves color-denoising into a separate thread. So far, that's as parallel as y4mdenoise gets. I can make it more parallel by making it denoise separate slices of the same frame in different threads, but that's going to be a LOT of work, so I figure I'd write this first get it out there. I'm testing it on a dual-processor Athlon MP 2800+ machine. Even running the massive near-perfection with videotapes pipeline I posted to this list a few days ago, I can't quite fill up the processors -- total idle time hovers around 20%. But it's better than it was. And it's nice to see the main thread (the one denoising intensity) running near 100% CPU usage. Anyway, enjoy. Steven Boswell ulatekh at yahoo dot com __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Re: yuvdenoise vs. y4mdenoise
I do hope you weren't offended that I said it was slow :-) Heh, no problem -- after all, y4mdenoise is a lot slower than I wanted it to be. But outside of writing a multi-processor version, I'm currently not sure what else I can do to speed it up. Until I know, I have to expend political capital to defend my code. :-) The chain that I've got right now takes around 18 hours to encode a 2-hour video (using an Athlon XP 2600). yuvdenoise is generally a large part of that (let's say 7 hours of it), so using y4mdenoise makes it a 2-day encoding job rather than 1 day and I really couldn't tell too much difference with the naked eye between yuvdenoise and y4mdenoise, at least not enough to justify the difference in performance at this time. Totally understandable. y4mdenoise was intended to clean up my precious antique videotape collection, where I *am* willing to wait 2-4 days to process a single tape on my Athlon XP 1800+. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Yahoo! Mail - Find what you need with new enhanced search. http://info.mail.yahoo.com/mail_250 --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Example: using y4mdenoise to achieve near-perfection with videotapes
So I say use -H! Or as I do, combine the hi-res tables and the tmpgenc tables - basically use the Intra portion of the 'hi' and the nonIntra of the tmpgenc. The best of both worlds so to speak. I'm pretty sure I tried that, and gained back some artifacts that I had previously removed. (Mostly the notorious stair-steppy things on slanted transitions between very light areas and very dark areas :-) cables! I swear by Monster cables. My 1-meter To each his own. The electrons don't care :) I dunno, back when I upgraded my audio cables to Monster, I noticed a BIG difference. Aieee - but if you're using a composite cable then the VCR is MASHING/MUSHING/CURDLING/DOWNGRADING/etc the Y and C signals into a composite signal - that is a LOSSY (and damaging) conversion and even the best Y/C separator can not recover the original signals 100% accurately. Eh? I thought VHS videotapes were composite video, and that composite video means the intensity/color/sync were all mixed together in the same signal. Am I wrong? I already have a Monster S-Video cable, I'm just not using it because I thought I was getting better results this way. Do I have to start doing my videotapes all over AGAIN?! :-( Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Send a seasonal email greeting and help others. Do good. http://celebrity.mail.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
yuvdenoise vs. y4mdenoise (was Re: [Mjpeg-users] CVS version of mpeg2enc vs the last 'release')
--- Ray Cole [EMAIL PROTECTED] wrote: I originally built from CVS wanting to try y4mdenoise, but it is just too slow for me to use. yuvdenoise and y4mdenoise, completely separate from algorithmic differences, have one very important difference right off the bat. yuvdenoise analyzes the new frame in terms of non-overlapping 8x8 blocks. y4mdenoise analyzes the new frame in terms of overlapping 4x2 blocks (for intensity) and 2x2 blocks (for color), and all matches are flood-filled to extend them to pixel accuracy before applying them. From that point of view, y4mdenoise should be 15x to 60x slower than yuvdenoise, but instead (the last I heard) it's about 3x slower, despite all the extra work it's doing. Keep that in mind when you say it's slow. Also, yuvdenoise has an artifact that leaves traces of previous frames behind in new frames. You see this especially in fade-outs, where an afterimage is left behind in the blank screen. You also see this in after-movie credits against a black background; the black left behind by moving credits is a different color than the black in the rest of the image. Use yuvdenoise if you want to remove most of the noise from your video stream. y4mdenoise is more of an image-reconstructor than a denoiser, really. It tends to make VHS videotapes look like LaserDiscs. I think it even has forensic applications, e.g. one could run security-camera video through it to bring out details in perpetrators' faces. I recently got access to a dual-processor machine, and so now I can implement and test a multi-processor-aware version of y4mdenoise. Since it naturally processes intensity separately from color, I can do them in parallel; that should be an easy change to write. I can also process different parts of the frame in parallel, but that will be much more difficult to write. So if you've got a multi-processor computer, you may get some relief soon. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Send holiday email and support a worthy cause. Do good. http://celebrity.mail.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] Example: using y4mdenoise to achieve near-perfection with videotapes
hear from Andrew Stevens that he's looked at the 2 video clips I sent him has resolved those issues, I'll be back to testing the CVS version of mpeg2enc. (Bugs are keeping me from using -q 2 or -q 1 reliably.) In the commented-out portions of my script, you can see how I generate VideoCDs. After using yuvmedianfilter to blur the video slightly (but in a non-interlaced way, so as to lightly deinterlace the video), I downscale it to VCD size, and before sending it to mpeg2enc, I pipe it through y4mdenoise with the error limit turned all the way down. Here, y4mdenoise is not being used to remove noise, it's being used to condition the video stream numerically so that motion-detection has a better chance of succeeding. It produces a noticeable increase in detail on the final VideoCD. Hope this helps. Feel free to ask questions. I think this is everything I know about producing artifact-free digital video, but who knows. Steven Boswell ulatekh at yahoo dot com __ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com makedvd.sh Description: makedvd.sh
[Mjpeg-users] Example: using y4mdenoise to achieve near-perfection with videotapes (more)
Oops, I forgot to discuss the non-denoising- related aspects of the way I use mpeg2enc! :-) The first mpeg2enc in the script file generates a DVD. -b 9300 is the highest I go in practice; that allows for 384 kbps audio and (my estimate) 120 kbps for the information mplex adds, staying under the limit of 9800 kbps for DVDs. -D 10 does something to increase the resolution. I don't totally understand it. I don't know if I saw a difference. But it's supposed to work. -H selects the high-quality quantizing matrix. The other developers told me I was nuts for using it, since it'd wildly increase the bitrate needed to encode my video. But y4mdenoise seems to do a lot of good for the bitrate. One video I did recently needed an average bitrate of 5050 kbps to fit on a DVD, but -q 3 got away with -b 5500 and -q 4 got away with -b 7500. Another recent video needed an average 6450 kbps for the video, but -q 3 took -b 9300 and still had space left over on the DVD. And -H gets rid of artifacts I see with the other quantizing matrices; the most obvious one is stair-steppy artifacts along slanted transitions between very light areas and very dark areas. So I say use -H! -4 1 -2 1 makes mpeg2enc spend as much time as possible detecting motion. Most of the compression possible with video is based around the idea that any parts of the new frame that you can copy from the previous frame saves you the space needed to explicitly describe those areas. The problem is, the areas need to be _numerically_ equal, not just look close enough -- mpeg2enc doesn't know what that is. y4mdenoise is my answer to how to tell a computer what close enough looks like, and it seems to do a pretty good job. Therefore, I think any extra time spent by mpeg2enc detecting parts of the new frame that are moved instances of parts of the previous frame is a Good Thing, and so I use the highest setting possible for -4 and -2. The rest of the options are not related to denoising or quality, just DVD format. Steven Boswell ulatekh at yahoo dot com __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] New denoiser in CVS!
For those of you brave enough to try the CVS version of mjpegtools, our new denoiser has been checked in made a part of the standard build! It's called y4mdenoise. It comes with a man page to help you figure out how to run it. http://195.70.35.24/~ulatekh/ contains examples of the denoiser in action. Enjoy! And please let me know what you think of the new denoiser! (I'm kinda jonesing for some feedback hereLOL) Steven Boswell ulatekh at adelphia dot net --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
[Mjpeg-users] Samples of our new denoiser!
Unless you subscribe to mjpeg-developer, you haven't heard of our new denoiser. I posted it to the list on Thursday, and am waiting for a few more comments before I check it into CVS. But there are finally some video clips available! http://195.70.35.24/~ulatekh/ Andras Kadinger, fellow mjpeg-developer subscriber, was nice enough to agree to host this. The web page contains 2 movie clips that pretty dramatically show the results of using the denoiser vs. not using it. Steven Boswell ulatekh at adelphia dot net --- This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek For a limited time only, get FREE Ground shipping on all orders of $35 or more. Hurry up and shop folks, this offer expires April 30th! http://www.thinkgeek.com/freeshipping/?cpg=12297 ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] --reduce-hf question
In a previous conversation on this mailing list, I was advised against using --keep-hf with analog source material. However, my (informal) tests seemed to indicate that --keep-hf did pretty good with denoised (i.e. yuvdenoise/yuvmedianfilter) analog source material. I wasn't sure if it was just my imagination. Anyone have any experience with this? Steven Boswell, [EMAIL PROTECTED] Richard Ellis [EMAIL PROTECTED] wrote: In my experience with experimenting with the --reduce-hf flag to mpeg2enc,that having the flag turned on created a ringing effect at sharp edgetransitions in the playback image.[...]I have not been able to find a similar effect from usingyuvdenoise/yuvmedian and turning on the "--keep-hf" flag to mpeg2enc.Do you Yahoo!? Yahoo! Web Hosting - establish your business online
Re: [Mjpeg-users] blockiness in dark scenes
Hello, Did anyone ever write you back about this? I couldn't find a reply on the mailing list. I wish I could help you, but all I can say is, I see this frequently on my digital cable TV. It may be a known hard problem with MPEG encoding in general. I'd like to know what to do to solve it too. Any of the experts out there feel like sharing their wisdom? :-) Steven Boswell, [EMAIL PROTECTED] "Steven M. Schultz" [EMAIL PROTECTED] wrote: Hi -A number of movies I've encoded look good as long as the picturesdo not get too dark - but night scenes or the transitions that involved fading to and from black do not look very good (looks a bitlike the game of Life being played on the TV screen).Is there a type of filtering that might be helpful in preventing the'dancing blocks' from appearing when dark scenes are encoded withmpeg2enc? Cheers,Steven SchultzDo you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, and more
Re: [Mjpeg-users] Mplex fails (too many dropped frames), Sizzle/ffmpegX
You may have the same problem, though8000 kbps video + 256 kbps audio 8192 kbps already, even without the extra space mplex needs. For all the fun that DVDs promise, I have to say, I've found that for most things I'm happy with VCDs. (Not even SVCDsjust normal old VCDs.) They take 3 hours to encode instead of 24, they fit onto CD-R media, and everyone with a CD burner can copy them. Steven Boswell, [EMAIL PROTECTED] Simon Michael Heywood [EMAIL PROTECTED] wrote: I kind of suspected this is the case so have just re-encoded my video at 8000kbps, but since my computer's not so quick it's taken over the weekend so I haveyet to try re mplex-ing. I'll let people know what happens.Cheers again,Slowly it's all becoming clearerDo you Yahoo!? Yahoo! Shopping - Send Flowers for Valentine's Day
Re: [Mjpeg-users] maximizing mpeg2 quality
Is that with or without my one-line patch? Just making surebecause adding "if (denoisier.sharpen == 0) return;" to the beginning of sharpen_frame() was what it took to speed things up for me. (Just wanted to verify my observation was valid :-) Steven Boswell, [EMAIL PROTECTED] "Steven M. Schultz" [EMAIL PROTECTED] wrote: If you do you the denoiser then "-S 0" should be used to avoid introducting bitnoise (using "-S 0" also speeds up yuvdenoise about 20%)Do you Yahoo!? Yahoo! Shopping - Send Flowers for Valentine's Day
Re: [Mjpeg-users] MJPEG encoding performances
That's because yuv2lav is not multi-threaded -- it reads from the YUV stream, compresses the image, and writes it to the output file, all in one thread. Fixing that is one of my near-future planned projects (sometime after finding a new place to live getting a day job :-). Steven Boswell, [EMAIL PROTECTED] Selva Nair [EMAIL PROTECTED] wrote: cat video.yuv | yuv2lav -o video.avi39.9 fpsThe resulting avi is, of course, mjpegtools compatible unlike mencoder's.By the way, only 80% of the cpu gets used, dont know why.Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now
[Mjpeg-users] Questions (catching up after 1 1/2 weeks)
Before I left, I was wrestling with the issue of DVD chapters. I had modified mpeg2enc so that the -S option took the name of a file that contained a list of frames at which to start chapters. But I couldn't get it working right; if I used the unmodified mplex (i.e. with the -M flag forced on), I'd get one big video with no chapters, and if I used my modified mplex (i.e. the the -M flag forced off), I'd get a separate video file for each chapter, but my DVD player would hiccup between chapters. (My brother's DVD player didn't just hiccup, it paused for a second or more! So it's official, I screwed something up. Not that any of you needed to be told that. :-) I now think I know what the problem is, but I have to do a bit of coding to test it out. I'm thinking it's because the -S option of mpeg2enc and the -S option of mplex actually do very different things. mpeg2enc -S creates sequence-end markers in the video stream, which mplex uses to make separate video files, and mplex -S will create separate files too, but using a completely different technique. I'm guessing that what I really should have done is modify mplex's -S option to react to frame numbers, instead of mpeg2enc's -S option. What do the experts think? (Don't worry, I'll do the coding, I just wanted to bounce the concept off of you. Also, I've been thinking about how to do that change cleanly, and think I've got it, so the next version you see won't be a complete hack.) On another topic, Dan Scholnik asked if anyone else is seeing color-shifting in their yuvdenoise output. No, but I *am* seeing complete loss of color near the edges between moving parts non-moving parts. Andrew, I'm pretty sure the 5-second video clip I sent you shows that problem, near the top part of the guitarist's hand. Finally, I have a question about encoding hardwareright now I have a Pinnacle PCTV, which is basically just a Bt878 with an S-Video input. Now that I'm doing more DVDs, I'm planning to upgrade to either an LML-33 or a Canopus ADVC-100. The LML-33 allows for raw-video capture, which is comforting for a purist like me, but I figure I'll still get queueing frame twice messages from streamer. The Canopus ADVC-100, being an analog-to-DV converter, apparently bypasses the problem completely, but I wonder if converting to DV is going to remove much of the fine details that the denoiser would have preferred to see. Does anyone here have experience with both styles of video capturing? Thanks to all for your insights. I have to move, to a different town even, and so I'll be pretty flaky for the next month or so, but after that, I plan to resume spending a lot of time on digital video issues. Steven Boswell [EMAIL PROTECTED] --- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Questions (catching up after 1 1/2 weeks)
I'm planning to upgrade to either an LML-33 or a Canopus ADVC-100. [...] Does anyone here have experience with both styles of video capturing? I have used both LML33 and Canopus ADVC-100. If this is indication of what I thought of it, I sent my LML33 back to Linux Media Labs. Wow! That's pretty depressing. I really wanted to support any company dedicated to doing video under Linux. Can you recall any of the nasty details of what made you dislike the card so much? Steven Boswell [EMAIL PROTECTED] --- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] help - lavrec problems
My CPU just isn't fast enough to do 100% JPEG compression of incoming frames in real time, and I'm not willing to give up that quality. The Marvel does it in hardware of course That probably helps -- I have a Pinnacle PCTV. I bought it because it's a Brooktree 878 and thus well-supported under Linux, and it has an S-Video input. I use xawtv's streamer to do my recording, then run yuv2lav as a post-processing step. I have been unable to get streamer working satisfactorily. What sort of problems are you seeing? I'm using version 3.73 with a few self-written patches. Over time, I've figured out that the queueing frame twice messages are just messages, that they don't appear to have any effect on the output video. With streamer, I'm able to do recordings on a loaded system, i.e. processing other movies in the background. If I try that with lavrec, I get a LOT of inserted/deleted frames. Steven Boswell [EMAIL PROTECTED] --- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] help - lavrec problems
I have been unable to get streamer working satisfactorily. What sort of problems are you seeing? I'm using version 3.73 with a few self-written patches. We're straying a bit OT here but hey :-) I can accept that. :-) For everyone's info, I answered him privately, sending him the patches I apply to xawtv the shell script I use to record DVDs. Steven Boswell [EMAIL PROTECTED] --- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Any tool to get rid of THIS type of noise?
From what I remember, isn't the data on a LaserDisc stored in analogue format, or is that only the /really/ old ones? It's my understanding that LaserDiscs totally pre-date digital video, and that all LaserDisc video is analog. I'm sure someone on this list will know if I'm wrong. That's one reason I like them so much; most film/video engineers totally understand analog video, so they would produce very competent LaserDiscs. But digital video is such a different beast, they're not going to understand it, by and large, and I think that explains why most DVDs look so bad. If this is true, then perhaps just wiping the disc surface, or trying some of that 'disc fixer' solution aimed at CD-ROMs / music CDs which fills in the gaps may just yield a solution :) Yeah, I've washed the disc pretty well. Alcohol, cotton swabs, and soft cloth diapers are my tools. For really bad messes, I'll break out the 409 sometimes. I don't think it's surface noise; some of the glitches persist for 2 or 3 frames, in the same area. It'd be pretty hard to get surface noise to create that sort of artifact, I think, especially on a CLV LaserDisc. On Friday I'm gonna visit my LaserDisc expert (the cool guy that runs http://www.rossexchange.com/ -- thousands of LaserDiscs for sale; he repairs players too!) and see if he knows why a LaserDisc would look this way. I was just wondering if anyone knew of a digital tool that could take out such artifacts, or if such a tool is even possible. Steven Boswell [EMAIL PROTECTED] --- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] help - lavrec problems
Here's the script I use to record all of my VCDs. I'll try it but question, what version of xawtv do you use? marvels page on sourceforge has patches up to 3.74, which I've been trying to use and did not like. I'm using 3.73, which came with my Red Hat 7.3. I'm also doing this on an Athlon XP 1800+, though the yuvscaler doesn't use all that much CPU anyway. Steven Boswell [EMAIL PROTECTED] --- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Video-encoding questions (mostly DVD related)
I apologize for asking this AGAIN, but apparently I'm still missing some important detail... mplex generated one big file, and a warning that said Sequence end marker found in video stream but single-segment splitting specified! for every chapter mark. I burned it to DVD, and there were no chapters. I then hacked mplex so that -M wasn't automatically turned on by -f 8, and burned those separate videos to one DVD; that gave me chapters, but there's a tiny audio hiccup between each track now. As I wrote in the mail shortly before you should not use the -M switch (or any other spliting by mplex). If you multiplex a DVD the -M switch was deactivated because it generated several files. The -M option does not generate valid MPEG streams. But that's just it -- mplex's -f 8 option sets opt_multifile_segment to true, in multplex.cc (in version 1.6.1, it's line 275). Isn't that just like using the -M switch explicitly? I have to hack the source code to set it to false, in order to get separate files. I then hacked mplex so that -M wasn't automatically turned on by -f 8, and burned those separate videos to one DVD; that gave me chapters, but there's a tiny audio hiccup between each track now. In general: you really really want the latest mplex from CVS either stable or developer branches for DVD. They fix and important timing bug and a couple of other things too. The between-track audio hiccup is still there, but it's much smaller than it was. Thank you!! I'm sure the rest of it will disappear once you and the dvdauthor devleoper(s) agree on what to do about this. :-) Steven Boswell [EMAIL PROTECTED] --- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users
Re: [Mjpeg-users] Video-encoding questions (mostly DVD related)
Bernhard Praschinger wrote: Am I correct if I say that the HP dvd200i is a DVD+R/RW writer ? If yes read the mjpeg-howto (on SF): Section Creating DVD's. I've done so. It uses dd to write to a DVD?? WHOA :-) But it just worked; I have my first chaptered DVD-video. Thanks a bazillion!!! Here's a dumb questionI'm assuming that the sequence-end/ sequence-begin marks produced by mpeg2enc's -S option are the same thing as chapter marks. Is that correct? Basically, yes. OK, cool. mplex generated one big file, and a warning that said Sequence end marker found in video stream but single-segment splitting specified! for every chapter mark. I burned it to DVD, and there were no chapters. I then hacked mplex so that -M wasn't automatically turned on by -f 8, and burned those separate videos to one DVD; that gave me chapters, but there's a tiny audio hiccup between each track now. Pretty neat that I can burn MPEG-2 video to a DVD, and that it works in my player; as far as I can tell, that's not standard, i.e. I think the audio is supposed to be uncompressed 48kHz PCM. Now that I can actually see my video, I have a new problem -- although most of it looks wonderful, parts of it don't look all that good! There's quite a bit of fuzziness at the boundaries between black areas and light areas (i.e. I've seen it with white and pink). It looks like the artifacts I see in the VideoCD that I made of the same LaserDisc, i.e. rather large rectangular jaggies along the edge. The fuzziness is not in the MJPEG version, i.e. the still-frame JPEGs don't seem to have that problem. Here's the command line that I used to generate the video: lav2yuv -v 0 -A 1:1 -P 4:3 movie.eli \ | yuvscaler -v 0 -n n -I ACTIVE_690x480+12+0 \ | mpeg2enc -v 0 -f 8 -b 5000 -B 305 -S frames.txt -V 224 \ -h -4 1 -2 1 -s -r 16 -q 4 -a 2 -F 4 -n n -o video.m2v Can anyone see anything especially broken about it? (The -B 305 was a typo, but I don't think it affects anything, especially since this is my magic hacked-up version of mpeg2enc that takes a list of frame numbers where sequence-ends should be put.) The -q 4 is new to me; I mostly produce VideoCDs. The intention was very high quality. I almost did -q 1 but wanted to reserve that for a later experiment. (What can I say, I want a perfect-looking DVD of my Pink Floyd: live at Pompeii LaserDisc, especially since I doubt that'll ever get released on DVD. :-) Thanks to all for your help! My very next step is to figure out how to contribute the changes I've made to mjpegtools. I'm gonna try the patches page. Steven Boswell [EMAIL PROTECTED] --- This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will allow you to extend the highest allowed 128 bit encryption to all your clients even if they use browsers that are limited to 40 bit encryption. Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en ___ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users