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.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 ASP

Reply
 
Thread Tools Search this Thread Display Modes
Old 17th November 2004, 19:53   #21  |  Link
Ark
Aikidoka
 
Ark's Avatar
 
Join Date: Nov 2003
Location: Italy
Posts: 216
Ok, here's a small clip with 2 I-frames, both of which are "bad".
Attached Files
File Type: zip test-eqm_v3ulr.zip (95.9 KB, 165 views)
__________________
Xvid fan ;)
Ark is offline   Reply With Quote
Old 18th November 2004, 13:37   #22  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
Thanks. V3 ULR is going to be revisioned.
EDIT: Download the new matrix

Last edited by Sharktooth; 18th November 2004 at 16:13.
Sharktooth is offline   Reply With Quote
Old 18th November 2004, 21:49   #23  |  Link
COREiP
Registered User
 
COREiP's Avatar
 
Join Date: Oct 2004
Posts: 65
Is the trellis overflow bug being fixed?
COREiP is offline   Reply With Quote
Old 19th November 2004, 21:25   #24  |  Link
minolta
Registered User
 
Join Date: Feb 2004
Posts: 103
^^re-up^^

Scanned through my videos with ffdshow OSD display (frame type, frame quant). It seems all "P-frame; Quant 1" have ugly 8x8 blocks as SharkTooth describes.
-minolta

p.s. Yes, custom-matrix "adr99?" and trellis enabled. Also, Q1 I-frames were not affected, just Q1 P-frames (same with SharkTooth's examples).

Last edited by minolta; 19th November 2004 at 23:00.
minolta is offline   Reply With Quote
Old 22nd November 2004, 15:42   #25  |  Link
skal
Registered User
 
Join Date: Jun 2003
Posts: 121
Quote:
Originally posted by COREiP
Is the trellis overflow bug being fixed?

Note: Last time i checked, Trellis was only used for Inter
blocks, IIRC.
So i'm a little dubious about the I-frame bug being
related to trellis quant.


Note2: there's a #define TL_SHIFT in mbtransquant.c
in XviD's sources that controls the dynamic range
of calcs. Try reducing it...


Bye!

Skal
skal is offline   Reply With Quote
Old 22nd November 2004, 16:42   #26  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
Disabling Trellis fix the blocking... so the bug is somewhere in trellis code...
Sharktooth is offline   Reply With Quote
Old 4th December 2004, 09:56   #27  |  Link
Peter Cheat
Just a Member
 
Join Date: Aug 2004
Location: Australia
Posts: 225
Changing:

Code:
#define TL_SHIFT 11
to

Code:
#define TL_SHIFT 10
solves the problem! Thanks skal.
__________________
If you want it done properly, do it yourself!
Modified Libavcodec Site
Peter Cheat is offline   Reply With Quote
Old 4th December 2004, 10:12   #28  |  Link
Koepi
Moderator
 
Koepi's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 4,454
Silent update on my site: reduced the range from 11 to 10 as well. (in the 1.1.-127 test build)

Please download and test if this helps your problem!

Regards
Koepi
Koepi is offline   Reply With Quote
Old 4th December 2004, 13:58   #29  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
It seems it fixes the blocking with my matrix.
Now i'm testing with other matrices...
Sharktooth is offline   Reply With Quote
Old 5th December 2004, 03:27   #30  |  Link
COREiP
Registered User
 
COREiP's Avatar
 
Join Date: Oct 2004
Posts: 65
Is the fix in XviD 1.0.2 updated as well?
COREiP is offline   Reply With Quote
Old 5th December 2004, 08:40   #31  |  Link
Koepi
Moderator
 
Koepi's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 4,454
Quote:
Originally posted by COREiP
Is the fix in XviD 1.0.2 updated as well?
Quote:
Originally posted by Koepi
(in the 1.1.-127 test build)
Why should I add that comment if it was not true?
Koepi is offline   Reply With Quote
Old 5th December 2004, 09:40   #32  |  Link
celtic_druid
Registered User
 
celtic_druid's Avatar
 
Join Date: Oct 2001
Location: Melbourne, Australia
Posts: 2,171
Wouldn't be v1.0.2 if it was updated anyway.
celtic_druid is offline   Reply With Quote
Old 5th December 2004, 15:26   #33  |  Link
Omni
Registered User
 
Join Date: Jan 2003
Posts: 52
tested it with 2 CM's and i have the same old blocking problem @quant=1.3+trellis and quant=1+trellis
First matrix was my own tuned for a one-pass encode.
Second one was 6 of 9 (valid).
you can try a "all 8" matrix for intra and inter frame (for tuning the trellis settings).
normal mpeg looks fine now.
your turn again
Omni is offline   Reply With Quote
Old 5th December 2004, 16:03   #34  |  Link
Koepi
Moderator
 
Koepi's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 4,454
Not really.

With "valid" matrices the problem seems to be solved.

The trellis calculation precision has a range of 10 to 16 - so I will not set it to 9. Time to think about the implicated problems of custom "not quite standard conform" matrices per se

Cheers
Koepi
Koepi is offline   Reply With Quote
Old 5th December 2004, 16:11   #35  |  Link
Omni
Registered User
 
Join Date: Jan 2003
Posts: 52
well, sounds at least reasonable
Omni is offline   Reply With Quote
Old 6th December 2004, 14:34   #36  |  Link
skal
Registered User
 
Join Date: Jun 2003
Posts: 121
Quote:
Originally posted by Koepi
Not really.

With "valid" matrices the problem seems to be solved.

Koepi

Well, there might be another way of fixing the problem than
decreasing the calc precision: we could switch trellis off
for Quant=1 or 2, since it's most probably CPU wasting
(all the more that there are a lot of non-zero coeffs to
scrutinize).

But, before: is the blocking bug only present when Quant = 1 or 2??

Skal
skal is offline   Reply With Quote
Old 6th December 2004, 15:04   #37  |  Link
Koepi
Moderator
 
Koepi's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 4,454
The error is seen only at quant=1 and with extreme matrices if i'm not mistaken.

Regards
Koepi
Koepi is offline   Reply With Quote
Old 6th December 2004, 15:09   #38  |  Link
Omni
Registered User
 
Join Date: Jan 2003
Posts: 52
right, mostly matrices which use values smaller than 12 or something like that (haven't tried it yet but at least every inter-matrix which has 8's in the upper left part fails definitely, at least in my case)
Omni is offline   Reply With Quote
Old 6th December 2004, 15:27   #39  |  Link
skal
Registered User
 
Join Date: Jun 2003
Posts: 121
Quote:
Originally posted by Omni
right, mostly matrices which use values smaller than 12 or something like that (haven't tried it yet but at least every inter-matrix which has 8's in the upper left part fails definitely, at least in my case)

All right, so could someone change the source and
only call trellis for quant>2, e.g?

Namely, line 219 of mbtransquant.c should consist of:

if(sum && pMB->quant>2 && (frame->vop_flags & XVID_VOP_TRELLISQUANT))
{
...
}



Is there a quality impact? Is the bug gone?
Syskin are you there?

Skal
skal is offline   Reply With Quote
Old 6th December 2004, 15:42   #40  |  Link
celtic_druid
Registered User
 
celtic_druid's Avatar
 
Join Date: Oct 2001
Location: Melbourne, Australia
Posts: 2,171
If anyone wants to test the above change:
http://celticdruid.no-ip.com/test/xvidcore.7z

Other than that it is a vanilla ICL7.1 cvs head compile.
celtic_druid is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 10:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.