Opened 14 years ago Closed 14 years ago #64 closed defect (fixed)AMVRES 1/8th 12-tap DCT-IF bug (QC_AMVRES_LOW_COMPLEXTY=0 case)
Description
[AMVRES=1 (QC_AMVRES macro = 1), QC_AMVRES_LOW_COMPLEXTY macro = 0]
5/8th position of 12-tap DCT-IF filter is strange: (it should be symmetric values to 3/8th position)
Here is the changes:
Current 3/8:
Current 5/8:
Fixed 5/8: (symmetric to 3/8)
Fortunately, default value of QC_AMVRES_LOW_COMPLEXTY = 1, so no performance change in default setting with this change. Attachments (1)Change History (7)Changed 14 years ago by wjhancomment:1 follow-up: ↓ 2 Changed 14 years ago by fbossen
Which one should actually be corrected? The 3/8 looks a bit funny since the first and last values are -3 whereas these are -1 for all other fractional positions. comment:2 in reply to: ↑ 1 Changed 14 years ago by wjhan
Replying to fbossen:
Patch is correct one. Here is simply rounded version of DCT-IF using the equation in A124.
And the code is:
#if BUGFIX64
#else
#endif
So first and last values of half, 3/8 and 5/8 should be -3 and those of quarter should be -2, but the current coefficients of half and quarter were designed to remove multiplication operation easily with small loss of coding efficiency. (already in CfP submission, A124)
Small differences of other positions between generated one and one in the source code are due to filter normalization. comment:3 Changed 14 years ago by fbossen
resolved in r178 comment:4 Changed 13 years ago by davidf
Updating component after adding WD (Text) tickets comment:5 Changed 13 years ago by davidf
comment:6 Changed 13 years ago by davidf
Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
Patch file for #64