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.

 
Mjpeg Claims Yv12 Decode/encode
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
rjisinspired
Posted: Sep 1 2010, 09:30 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



I have reinstalled the Picvideo MJPEG codec and it is stated that this codec will decompress and compress YV12 color spaces but the only three subsampling methods I am seeing under the compression setting is 1:1:1, 4:2:2 and 4:1:1. Am I missing something here?

If I select 4:2:2 which is YUY2? Wouldn't this conversion degrade the video quality somewhat by up/down sampling? 4:1:1, I believe is what is used for DV and 1:1:1, I'm assuming means either full color space or no subsampling? I thought 4:4:4 was full color space but now I'm not sure?

I use to have a page that showed every color space, gray scale, fourCC's, etc, but I can't locate this site which was a black page with information in a table-set and I believe that page may answer some questions for me.

Is it worth using MJPEG on HD files? Reason why I am trying this is because of the speed I am reading about this codec and that it produces decent file sizes and also being editor friendly.
 
       Top
dloneranger
Posted: Sep 1 2010, 02:42 PM


Moderator


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



Would that be http://www.fourcc.org ?

The yuv's are here http://www.fourcc.org/yuv.php

YV12 http://www.fourcc.org/yuv.php#YV12http://w...rg/yuv.php#YV12
YV12 is planar and full size Y and half height&width for U and V
4:2:0

YUY2 http://www.fourcc.org/yuv.php#YUY2
YUY2 is not-planar and full size Y, half size width for U and V, full size height for U and V

The 4:2:2's are sort of misleading, as a way of identifying a format, UYUV, YUY2 and YV16 (plus others) are all 4:2:2

4:2:2's better sampling quality than YV12 (U and V have twice the vertical resolution)

Going upwards in quality is lossless, so that's not a problem, coming back down will halve the U and V height, getting an average out of each 2 pixel high block or simply just using every other line



--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
rjisinspired
Posted: Sep 1 2010, 03:26 PM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



Yes that's the site. Thanks.

I didn't find anything on 1:1:1 on the fourcc site but from what someone I saw post as a response to some blog: 1:1:1 is used interchangeably with 4:4:4

MJPEG seemed to work out nicely with the Flip HD files. I had abandoned this codec before because when I worked with DV files, the quality would degrade by getting pixely even at a setting of 18. With the HD stuff I stayed at the default 16 and I can't tell any difference from my eyes between the quality from the MP4 original and the encoded MJPEG version at 16.

What confuses me is that MJPEG claims to encode in YV12, 4:2:0, but there is no option shown for that kind of subsampling in the encoder profile. Using MJPEG for a work file, going from YV12 to YUY2 and then back again to YV12 for the final video seem like maybe a big deal but maybe not?

My idea of thought was to stay within YV12 so I wouldn't have to go from one color space to the other and back but I'm guessing it doesn't matter? I read on forums such as doom and others and they talk about loss of quality from going from one color space to another and from what I am reading it seems to me that a lot of the loss is chroma information from how the chroma information is spaced further apart?
 
       Top
dloneranger
Posted: Sep 1 2010, 04:09 PM


Moderator


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



They get really picky over there ;-)
When they say 'lose information' they means mathematically, you will, although in practice the differences range from unnoticeable to noticable-if-you-know-what-to-look-for

You'll lose information if the original recording was full size y,u and v and then you go downwards
If you're starting from a lower colourspace, then it's not really such a problem
Going upwards just means some of the chroma information is duplicated

The actual act of compressing, may alter the chroma etc, which when resampled to a lower colourspace could alter the values a bit
....lots of if's and maybe's there

In theory it's probably better to stay in one colourspace all the way through
But in practice it may make no real difference, especially if it's just the yuv colourspaces
Going rgb<->yuv is much worse, but if you use filters you'll probably do that as well :-)


Is there a benefit to mjpeg as an inbetween format?
It's a lossy compression anyway, so potential colourspace problems can be outweighed by the 'lossyness' of the mjpeg codec?
I'm going to guess that it's a format vegas understands
I've never used vegas, so I usually use lagarith for my intermediate work

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
rjisinspired
Posted: Sep 2 2010, 12:20 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



I'm using MJPEG because it is the smallest for file sizes I have seen, next to FFV1 which is really slooow to work with. The same 19GB file with FFV1 or 23GB with huffyuv; I get 2.98GB with MJPEG at quality 16. I don't notice any changes in quality.

MJPEG becomes like huffyuv, as file sizes go, at about quality 19.

I have read about a huffyuv version that works with YV12 but I haven't found that modded version yet but huffy YV12 does exist in FFDshow encoder under the color space option though once in a while playback issues or encoding issues occur through Vegas when using that.

I had used Lagarith but stopped because Vegas will only load a Lagarith encoded file no more than 3GB size per video. After that all that imports is the audio track. Plus MPC-HC complains about a non-sequential chunk or will say cannot render file and a filter graph pops up.

Now that I have graphstudio I can put in the LAG file and see what loads, or doesn't load. Maybe I'm missing something.

 
       Top
mariushudea
Posted: Sep 4 2010, 05:55 PM


Advanced Member


Group: Members
Posts: 54
Member No.: 22873
Joined: 19-January 08



You're saying you're using this with Flip HD... well, as far as I read on the net, that camera records in mp4, h264 1280x720 max.

That means the video is already YV12, 4:2:0, so don't see why this discussion about 4:2:2, 4:2:0 and so on - you won't get more improvement.

personally, I don't think it's worth using mjpg - use Lagarith or h264 at a high quality preset.

x264.exe --crf 16-18 should be more than transparent (23 is the default)
 
     Top
rjisinspired
Posted: Sep 4 2010, 11:54 PM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



The final video lands up as x264. I'm using MJPEG as an intermediate.

What I mean about MJPEG claiming that it works with 4:2:0 and encodes to it; there is no "4:2:0" option in the encoding settings, so from what I'm seeing, the choices I have are 4:2:2, 4:1:1 or 1:1:1 subsampling options, creating a color space conversion which I would prefer not to do and just resave the MJPEG as 4:2:0, or to bypass color space conversion, but those options don't show up in the MJPEG settings anywhere.

I know up-converting won't gain me anything, they are just choices to choose from and I have been using 4:2:2 because there isn't any use going all the way to 1:1:1 except bigger file sizes and 4:1:1 is used for DV from what I have looked into.

Lagarith is nice, however I cannot use this in Vegas if the file size exceeds over 3 GB, I only get audio imported and not video when I try to import a file over 3GB. Plus MPC-HC doesn't play Lagarith encoded files, audio but not video.

This happens either with using Vdub or Vegas, encoding to Lagarith. With Vegas encodes to Lagarith I also get a non-sequential chunk error dialog with a graph with a red and blue line when playing the files back with MPC-HC, whatever this means.

To my eyes MJPEG encoded videos don't look bad. I can't tell the difference at all between the original MP4 and the MJPEG file. I have once in a while read about some users who dislike MJPEG but not really give a reason as to why it is disliked or on why not to use it altogether. I would be interested to hear the reasons why MJPEG might be discouraged as an encoder of choice?
 
       Top
dloneranger
Posted: Sep 5 2010, 12:42 AM


Moderator


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



QUOTE (rjisinspired @ Sep 5 2010, 12:54 AM)
With Vegas encodes to Lagarith I also get a non-sequential chunk error dialog with a graph with a red and blue line when playing the files back with MPC-HC, whatever this means.

That usually (always?) means the audio and video are not interleaved
Have you checked that you have the latest version of lagarith?

I must see if there's a trial version of vegas..

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
rjisinspired
Posted: Sep 5 2010, 01:04 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



Yeah. From what I recall the value is every 0.250 seconds for interleaving.

I'll check a little more on the version of lagarith. I'm encoding a dvd right now and I don't want to budge anything at the moment. Though I'm pretty sure I downloaded the latest lagarith. Will check soon.
 
       Top
dloneranger
Posted: Sep 5 2010, 01:21 AM


Moderator


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



Downloaded the trial v9.0e and so far vegas seems fine with >4gb lagarith encoded files

I'm just rendering it to see if the output file's ok

On the render options, try changing the interleave to per frame instead on 250ms

--------------------
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: Sep 5 2010, 02:07 AM


Moderator


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



So.. vegas finished rendering to avi with lagarith codec and audio interleave set to every frame

The resulting file plays fine in mpc + others and appears to have no problems

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
rjisinspired
Posted: Sep 5 2010, 05:43 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



This is what I get after rendering from either Vdub or Vegas:

user posted image


Where's the video? huh.gif

Explains the pin problem. I have to redo my dvd project all over again. I think I'm starting to see why MJPEG isn't all that great. Starting to see fuzz blocks on reencoding with it.

I'm left with huffyuv at this point but the files will not fit on a DL DVD disk, I will need to span them. I spent a day so far doing what i was doing and it was a lot of work. My only resolve is to select as close as I can each piece of video segments through Vegas and hope the VCF settings for the filter curves line up where they should and reencode with huffyuv in Vdub.

Line up the pots of coffee. I'm doing an all-nighter, again.

In case anybody asks; the Grillf is not a typo. There is a place that has a sign with the bottom part of the "E" broken off. So I made a comic piece about it.
 
       Top
rjisinspired
Posted: Sep 5 2010, 06:20 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



hmmmm. I tried changing the interleaving for "per frame" instead of the 0.250 setting and even went as far as reinstalling Lag through the inf file, my current version is the same as the one offered at the site but I thought what the hey, but I'm still getting video without video, just audio..

Update: Out of fiddling with the settings again I decided to switch to RGB. RGB is the only setting that works it looks like but the files are way bigger which is expected. Going to have a lot of big files to delete after I'm done, lol.
 
       Top
rjisinspired
Posted: Sep 5 2010, 07:13 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



I also realize that the brightness/gamma is all wrong with the dvd files.

Is there a way I could adjust something internally in dvd files to ramp down the brightness. Short of this I will have to give up this project and just hand over something. It will be mediocre but as I try to redo what I have done in the past day, the VCF files don't even match up with the work files I was working on. So all of the correcting I had done means nil and I'm making things much worse for myself.

I can only put in a correction intro piece and reauthor the DVD as-is since I saw that the intro text feel outside of the tv area slightly.

This is a mess.
 
       Top
dloneranger
Posted: Sep 5 2010, 03:03 PM


Moderator


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



Dude, I hate your pc tongue.gif

Here's a pic of how graphedit should look with lagarith using yv12
user posted image
Everything for decoding the video is part of windows itself (the colourspace converter etc)

Here's what I'd try
1)
Check that those things shown in graphedit haven't become disabled - use that program you used for disabling the flip codecs the other day
Check in ffdshow (both normal and vfw) that it can decode the yuv file formats
(That's the 'raw' one at the bottom of the list of codecs)
Then check ffdshow's output options to check that YV12,YUYU,UYVY are ticked

Uninstall lagarith from the control panel
Get the latest installer from http://lags.leetcode.net/codec.html and run that (not the .inf version)
Then make a test clip in vdub encoded with lagarith (20 seconds would do)
See if that test clip loads back into virtualdub, then check graphedit

2)
Too bright might be a levels issue
There's an 'alias format' filter in virtualdub that can switch between them
MultiAdjust also has levels options for input and output
(turn off levels16-239, then if it's still off, try adjusting the brightness or contrast downwards, play with the brightness types for best shadow/midrange balance)


--------------------
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:
14 replies since Sep 1 2010, 09:30 AM Track this topic | Email this topic | Print this topic

<< Back to Codec Discussion