Re: Questions / Bug fixes / Patches
Andrew Dunstan <[email protected]> Thu, 25 Nov 2010 17:33:39 +1100
| Newsgroups | gmane.comp.video.xvid.devel |
|---|---|
| Message-ID | <[email protected]> |
Are you sure your method of testing directshow filters is accurate? I don't think simply counting the number of output frames is sufficient, maybe the filter is displaying the previous frame for a longer period of time (which IMHO would be valid behaviour). > Date: Wed, 24 Nov 2010 23:52:40 -0500 > From: [email protected] > To: [email protected] > Subject: Re: [XviD-devel] Questions / Bug fixes / Patches > > On 2010-11-24 06:46, Michael Militzer wrote: > > Carl, > > > > I have applied the frame_drop_ratio patch to CVS. When frame_drop_ratio is > > set to "0", no N_VOPs will now be produced anymore by xvidcore. Hopefully, > > this will workaround the issues you observed with MP4Box muxed .mp4 files. > > > > I have to admit however that I'm still confused: If I recall correctly > > we concluded last time when this topic was discussed that MP4Box appears > > to rewrite N_VOPs as P_VOPs with all Skip-MBs upon muxing a xvid encoded > > stream into .mp4 files using the -nodrop option. Your most recent post > > however seems to indicate that the N_VOPs are preserved by MP4Box for > > -nodrop. Has MP4Box behavior changed? > > > > Best regards, > > Michael > > Greetings, > You are right, but maybe it was because I did a wrong > manipulation, or the stream was packed? Now I have been very careful to > do some accurate tests. Here is some further analysis on the issues I > have encountered. I have used Mencoder to encode the same file which > contains 1176 frames The main difference is the xvid level (Mencoder > has the same patch as i submitted to you) and the packed stream indicator. > > The conclusions I see is as follows: > > - When B-frames are disabled (Such as in Simple Profile), packed > bitstream for those profiles is not supported at all. See TEST 4, and > even in VFW the packed bitstream option is disabled. Because of this non > packed bitstream N-VOPs are inserted, is that actually logical and allowed? > > - A lot of the decoders (see end of the analysis) are not frame accurate > and do not consider the N-VOPs accurately, this seems to even be the > case of the Xvid Directshow filter(?). > > > - When I run MP4Box on TEST 4, with the following options: > > > mp4box -nodrop -new -add %2_%bitRateHigh%_MP4@SP_Xvid_packed.avi > %2_MP4@SP_%bitRateHigh%_Xvid_packed_nodrop.mp4 > > MP4Box gives the following result : > > AVI XVID video import - 320 x 240 @ 29.9700 FPS - 1176 Frames > Indicated Profile: ISO Reserved Profile > Import results: 1176 VOPs (6 Is - 1170 Ps) > Stream has 27 N-VOPs > Converting to ISMA Audio-Video MP4 file... > Saving > C:\video\testsuite\xvidtests\sherlock_qvga@30fps_MP4@SP_768k_Xvid_packed_nodrop.mp4: > 0.500 secs Interleaving > > GSpot then indicates that the resulting MP4 has DF N-VOPs as P-VOPs. > 1176 frames total. > > > MP4Box gives the following result : > > mp4box -new -add %2_%bitRateHigh%_MP4@SP_Xvid_packed.avi > %2_MP4@SP_%bitRateHigh%_Xvid_packed.mp4 > > AVI XVID video import - 320 x 240 @ 29.9700 FPS - 1176 Frames > Indicated Profile: ISO Reserved Profile > Import results: 1149 VOPs (6 Is - 1143 Ps) > import using Variable Frame Rate - Removed 27 N-VOPs > Converting to ISMA Audio-Video MP4 file... > Saving > C:\video\testsuite\xvidtests\sherlock_qvga@30fps_MP4@SP_768k_Xvid_packed.mp4: > 0.500 secs Interleaving > > > GSpot then indicates that the resulting MP4 has only P-VOP, but only > 1,149 frames, so 27 frames have been removed. > > > The four encoding tests I used: > > TEST 1 ============================================= > sherlock_qvga@30fps_768k_MP4@ASP_DivX_Xvid.avi > Mencoder options: > bitrate=768 > profile=asp5 > me_quality=6 > trellis > vhq=1 > min_iquant=2 > min_pquant=2 > min_bquant=2 > frame_drop_ratio=0 > nopacked > par=vga11 > max_bframes=2 > MPEG4Modifier analysis on output file: > Packed bitstream: No > QPel: No > GMC: No > Interlaced: No > Aspect ratio: Square pixels > Quant type: H.263 > FourCC: XVID > User data: XviD0050 > > I-VOPs: 6 (0,51%) > P-VOPs: 453 (38,52%) > B-VOPs: 717 (60,97%) > S-VOPs: 0 (0,00%) > N-VOPs: 0 (0,00%) > > Max consecutive B-VOPs: 2 > 1 consec: 41,02% > 2 consec: 58,98% > > > TEST 2 ============================================= > sherlock_qvga@30fps_768k_MP4@ASP_DivX_Xvid_packed.avi > Mencoder options: > bitrate=768 > profile=asp5 > me_quality=6 > trellis > vhq=1 > min_iquant=2 > min_pquant=2 > min_bquant=2 > frame_drop_ratio=0 > packed > par=vga11 > max_bframes=2 > MPEG4Modifier analysis on output file: > Packed bitstream: Yes > QPel: No > GMC: No > Interlaced: No > Aspect ratio: Square pixels > Quant type: H.263 > FourCC: XVID > User data: DivX503b1393p > XviD0050 > > I-VOPs: 6 (0,51%) > P-VOPs: 453 (38,52%) > B-VOPs: 717 (60,97%) > S-VOPs: 0 (0,00%) > N-VOPs: 0 (0,00%) > > Max consecutive B-VOPs: 2 > 1 consec: 41,02% > 2 consec: 58,98% > > > > TEST 3 ============================================= > sherlock_qvga@30fps_768k_MP4@SP_Xvid.avi > Mencoder options: > bitrate=768 > me_quality=6 > trellis > vhq=1 > min_iquant=2 > min_pquant=2 > min_bquant=2 > frame_drop_ratio=0 > nopacked > par=vga11 > profile=sp4a > MPEG4Modifier analysis on output file: > Packed bitstream: No > QPel: No > GMC: No > Interlaced: No > Aspect ratio: Square pixels > Quant type: H.263 > FourCC: XVID > User data: XviD0050 > > I-VOPs: 6 (0,51%) > P-VOPs: 1143 (97,19%) > B-VOPs: 0 (0,00%) > S-VOPs: 0 (0,00%) > N-VOPs: 27 (2,30%) > > > TEST 4 ============================================= > sherlock_qvga@30fps_768k_MP4@SP_Xvid_packed.avi > Mencoder options: > bitrate=768 > me_quality=6 > trellis > vhq=1 > min_iquant=2 > min_pquant=2 > min_bquant=2 > frame_drop_ratio=0 > packed > par=vga11 > profile=sp4a > MPEG4Modifier analysis on output file: > Packed bitstream: No > QPel: No > GMC: No > Interlaced: No > Aspect ratio: Square pixels > Quant type: H.263 > FourCC: XVID > User data: XviD0050 > > I-VOPs: 6 (0,51%) > P-VOPs: 1143 (97,19%) > B-VOPs: 0 (0,00%) > S-VOPs: 0 (0,00%) > N-VOPs: 27 (2,30%) > > > > CODEC TESTS (using GraphStudio) > ------------------------------- > > These tests check the video output of the different DirectShow filters > tested, on > the MP4 generated by TEST 4 (With the 27 N-VOP frames in the MP4 Stream). > > -> 3IVX 5.0.2 > -> DivX 6.8.5 > -> Xvid 1.2.2 > -> FFDSHOW tryouts 3530 (August 2010) > > > > 1) MPC MP4 Splitter -> FFDSHOW -> Monograph FRAME Grabber (YUV Sequence) > > Generated YUV (I420 file size): 132 364 800. > 1149 Frames grabbed (NOK!) > > 2) 3IVX MPEG-4 Splitter -> 3IVX Video Decoder -> Monograph FRAME Grabber > (YUV Sequence) > > Generated YUV (I420 file size): 135 475 200. > 1176 Frames grabbed (OK) > > > 3) 3IVX MPEG-4 Splitter -> XVID Video Decoder -> Monograph FRAME Grabber > (YUV Sequence) > > Generated YUV (I420 file size): 108 199 936. > 939 Frames grabbed (NOK!) > > 4) MPC MPEG-4 Splitter -> XVID Video Decoder -> Monograph FRAME Grabber > (YUV Sequence) > > Generated YUV (I420 file size): 140 083 200. > 1216 Frames grabbed (NOK!) > > > 5) MPC MPEG-4 Splitter -> DivX Video Decoder -> Monograph FRAME Grabber > (YUV Sequence) > > Generated YUV (I420 file size): 135 475 200. > 1176 Frames grabbed (OK) > > > Hope this helps you out a bit, if not, I can send you my complte batch > files, tools as well as the video sequence tested. > > Best regards, > Carl > _______________________________________________ > Xvid-devel mailing list > [email protected] > http://list.xvid.org/mailman/listinfo/xvid-devel