Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
#141 | Link | |
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
Quote:
BTW, I've seen an MPEG1 that had a height not a multiple of 16. But DGMPGDec is riddled through with the assumption that the display width/height are the same as the encoded width/height. The result is a black bar at the bottom. The workaround (for now) is to put Crop() in the script. |
|
|
|
|
|
|
#144 | Link |
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
1.4.0 beta 8
This addresses a bug in transport parsing. For details, see here: http://forum.doom9.org/showthread.php?t=93190
DGMPGDec 1.4.0b8: http://neuron2.net/dgmpgdec/dgmpgdec140b8.zip |
|
|
|
|
|
#145 | Link |
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
1.4.0 release candidate 1
Here is 1.4.0 release candidate 1. The changes from beta 8 are as follows:
* Removed YV12toYUY2() and YV12toRGB24() because they duplicate Avisynth native filters. * Changed the LumaFilter() offset parameter default to 0 (from -2). http://neuron2.net/dgmpgdec/dgmpgdec140rc1.zip |
|
|
|
|
|
#146 | Link |
|
Moderator
![]() Join Date: Nov 2002
Location: Inside
Posts: 718
|
I thought we had those colorspace converters because AviSynth did not have the necessary information to upsample interlaced formats correctly some of the time? (ie: PROGRESSIVE_FRAME flag)
EDIT - See this thread: http://forum.doom9.org/showthread.ph...12toYUY2%28%29 EDIT2: I remembered in the old MPEG2Dec3 manual the lumaoff parameter was set to -2 with a comment "for iago", so I did a search for "iago mpeg2dec3" and found this thread: http://forum.doom9.org/showthread.ph...iago+mpeg2dec3 which basically says MarcFD set the lumaoff to -2 to avoid luma blocks. It is a long thread, but just look for iago and MarkFD's comments. Summary: iago did some extensive testing and saw blocks in the black areas, but seting lumaoff=-2 tweaked the luma just enough to remove the blocks without changing the original image in a perceptable way. MarkFD accepted it, but thought it was not the best solution. Last edited by Cyberia; 16th June 2005 at 06:02. |
|
|
|
|
|
#147 | Link | ||
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
Quote:
Quote:
Last edited by neuron2; 16th June 2005 at 06:45. |
||
|
|
|
|
|
#148 | Link |
|
Registered User
Join Date: Nov 2001
Posts: 217
|
@neuron2
I address you about this subject for second time First time here http://forum.doom9.org/showthread.ph...698#post655698 As I think I couldn't make me understand I''ll try to be more clear now LumaFilter had serveral bugs and special features First time a bug was detected was about LumOffsetMask and LumGainMask http://forum.doom9.org/showthread.ph...136#post322136 I've spotted to Nic but for what I've seen just half of the bug has been fixed.The way the variables were declared (__declspec(align(8)) static __int16) didn't allow a second instance of the filter in the same chain; cause it repeat the first input parameters; are still present in two cases in DGDecode.dll. In fact what I've done was completely change the way to pass the parameters Another question it has not parameters controls.In some cases it can output corropted images.I've also included that. There also an important feature which I've also pointed in this thread http://forum.doom9.org/showthread.php?t=71452 more than a year ago.Nobody answered. Finally I've believe that when MarcFd tested LumaFilter was in time when there was a SeparateFieldsYV12 in MPEG2Dec3 0.94 which worked creating two real new frames in different memory areas.SeparateFields the internal one just redifine the size of pitches and readjust the pointers.That is why any filter built over frame area (pitch*height) will not work correctly.To avoid that I've include row loops when vi.IsFieldBased()=true By now is an easy solution but I'm not sure if it is the best. Anyway for my own use I've modified a little bit SeparateFieldsYV12 as an idependant plugin If anyone is interested to bring it up just ask. Obviously the -2 parameters as default you've already corrected And finally I've made separate assemblers codes for SSE2 ISSE and MMX where I've added some optimizations. There is a lot of duplicated code and I hope as always you can be generous in your opinions. This plugin was renamed as you can see for one I've found more appropiate and to avoid conflicts Many would ask why all this; just to improve perfomance and in some of my machines more than 50%. *********************************************************************************** LumaYV12 plugin for Avisynth 2.5 by ARDA. LumaYV12 is a new version of LumaFilter included in MPEG2DEC3.dll by MarcFD. It assumes [0->255] YUV range, and not CCIR 601 [16->235]. Use limiter() afterwards if you think you need it. Syntax: LumaYV12(lumoff=param,lumgain=param) or LumaYV12(param,param) WARNING!!WARNING!! lumoff=-256 to 256 (integer) ; default 0 and will do nothing. lumgain=0 to 2.0 (float) ; 1.0 is default and will do nothing. ************************************************************************************ WARNING!!WARNING!! This plugins was done for my own use trying to achieve a better perfomance in my pentium4 cpu; I've also included Integer SSE and MMX routines but perfomance was not tested. It must run on any SSE2 machine but perfomance is not guaranteed. I've also included row routines to avoid first line problem after separatefields. Seems there is not real two frames, but a redefintion of pointers and pitches. Maybe there's another way to avoid that problem but I couldn't find an easier one. Row loops will be here till SeparateFields could be modified. Actually they are exercises; so there are a lot of unnecessary duplicated code. There must be a lot of spanglish variable names; my apologizes for that. Please be patient!.- I'm an eternal newbie coder.- ************************************************************************************ download http://ardaversions.iespana.es/lumayv12.7z As always I hope this can be useful. ARDA Last edited by ARDA; 16th June 2005 at 10:43. |
|
|
|
|
|
#149 | Link | ||||
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
Quote:
Quote:
Quote:
Quote:
I'll test your filter version and if it appears OK, I'll replace the existing broken one with it. Thanks for your contribution. Also, if you could report your issues in the development thread prior to the release candidates appearing, it would be appreciated. Last edited by neuron2; 16th June 2005 at 14:52. |
||||
|
|
|
|
|
#150 | Link |
|
Registered User
Join Date: Nov 2003
Location: Poland
Posts: 39
|
neuron2, thank you very much for MPEG 1 support.
DGDecode is great and now it's even better. I have a question connected to MPEG 1 support. DGDecode seems to output YV12 by default for MPEG 1. Is it intended behaviour ? If it is, does using upconv=true result in original YUY2 or is it the upsampled version ? Sorry if I'm being silly, but I couldn't find anything about it.
|
|
|
|
|
|
#151 | Link | ||
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
Quote:
Quote:
|
||
|
|
|
|
|
#155 | Link | ||||
|
Registered User
Join Date: Nov 2001
Posts: 217
|
Quote:
Quote:
Quote:
Quote:
could be usefull. But I hope you understand after looking at the sources that I've used such filter as exercise for many other things. Your mate ARDA |
||||
|
|
|
|
|
#157 | Link | |
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
Quote:
|
|
|
|
|
|
|
#158 | Link | |
|
_
![]() Join Date: Jan 2002
Posts: 16,633
|
Quote:
|
|
|
|
|
|
|
#159 | Link | |
|
Registered User
Join Date: Nov 2003
Location: Poland
Posts: 39
|
Quote:
I have to remember that.
|
|
|
|
|
|
|
#160 | Link | |||
|
Life looks better in HDTV
Join Date: Jun 2003
Location: UK
Posts: 10,008
|
Hi Donald,
Earlier today approached mpucoder about with the following suggestion: - Quote:
Quote:
Quote:
I wonder, is this a DGIndex problem or an I going about this entire exercise the wrong way? Regards
__________________
Still confused about anamorphic images? Then look here! | Main Encoding Interests: Hardware device playback | My Gear | |
|||
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|