Interlaced video stuttery

General questions or discussion about HandBrake, Video and/or audio transcoding, trends etc.
Post Reply
rlevis

Interlaced video stuttery

Post by rlevis »

I tried to post this to a tech support forum where it would be more relevent, but it appears that is impossible without including an activity log, even when one would be a complete waste of time and space.

I'm encoding videos recorded from my Sony HD camera 1440 x 1080 25i. The encoded 25p progressive video is very stuttery during panning. The original interlaced video is smooth.

I'm using the "Slowest" deinterlacing method, and a high bitrate. 24p bluray movies are not stuttery, so I'm wondering where the problem is.

An answer to my post on the Doom9 forum would suggest there are 2 solutions. Either motion blur is added to give the appearence of smooth panning, or the resulting video frame rate is doubled to 50p.

Are either of these options available in Handbrake?

Thanks.
randomreuben
Veteran User
Posts: 468
Joined: Mon Nov 02, 2009 2:18 pm

Re: Interlaced video stuttery

Post by randomreuben »

Hi rlevis,

Finally! I've always said that it's just common sense that you don't provide an encode log when asking for tech support on an encode. Silly developers. What were they thinking?

Also what do you think of my tie? Does it go with my shirt? A lot of other forums want me to post a picture of my shirt and tie before they will offer an opinion, but that's a complete waste of time and space. Please give me your opinion on my tie and shirt combination soon.

All the best,

randomreuben
rlevis

Re: Interlaced video stuttery

Post by rlevis »

Maybe I should have posted to the suggestion forum, as that appears to be what I need. I take it that doesn't need an activity log.

This is not a failure of Handbrake, just a common issue that I've even had with interlaced DVD when converting to progressive using other software. I can assure you it is not a BFF/TFF issue if that is what the log is for.

What is needed are different types of deinterlacing. I've had suggested that YADIF.DLL is a very good one and offers many settings. Video cam pictures are often moving and I've had suggested a bob-based deinterlacer would be best and leave the framerate on 50p. Perhaps with an option to reinterlace afterwards back to 25i.

Should I move this to the suggestion forum? By the way, it doesn't appear you are wearing a tie, but the shirt is fine.
mduell
Veteran User
Posts: 7432
Joined: Sat Apr 21, 2007 8:54 pm

Re: Interlaced video stuttery

Post by mduell »

rlevis wrote:I'm encoding videos recorded from my Sony HD camera 1440 x 1080 25i. The encoded 25p progressive video is very stuttery during panning. The original interlaced video is smooth.
Do you mean 50i? 50i would become 25p after deinterlacing; 25i would become 12.5p. 12.5p would be kinda jerky.

This is exactly why an encoding log is demanded. It tells the developers what the program finds, not some [censored] the user makes up.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5585
Joined: Sat Feb 09, 2008 7:21 pm

Re: Interlaced video stuttery

Post by JohnAStebbins »

rlevis wrote:Maybe I should have posted to the suggestion forum, as that appears to be what I need. I take it that doesn't need an activity log.
Actually, you may not realize it, but you've disguised a support question as a feature request. Since you haven't provided enough information about your source and you know next to nothing about what handbrake can and can't do, you haven't provided enough information in order to even determine if there is a valid feature request here.
This is not a failure of Handbrake, just a common issue that I've even had with interlaced DVD when converting to progressive using other software. I can assure you it is not a BFF/TFF issue if that is what the log is for.
The log will tell us all about your source which you are failing to do.
What is needed are different types of deinterlacing. I've had suggested that YADIF.DLL is a very good one and offers many settings.
HandBrake uses yadif. This is documented in the user guide.
Video cam pictures are often moving and I've had suggested a bob-based deinterlacer would be best and leave the framerate on 50p. Perhaps with an option to reinterlace afterwards back to 25i.

Should I move this to the suggestion forum? By the way, it doesn't appear you are wearing a tie, but the shirt is fine.
bobbing is being worked on. don't expect it any time soon though.
rlevis

Re: Interlaced video stuttery

Post by rlevis »

Ok then, I'll give in and give you a log (below). I think the more beneficial action would be to give you a download link to the original m2ts and resulting mkv files. These are 4 seconds long.
http://www.stationplaylist.com/test.zip (10MB)

Playing the m2ts in the Sony PMB video utility and MediaPortal, it plays very smoothly during the panning. No stutter at all. Playing the resulting MKV in MediaPortal stutters a lot.

Interestingly, playing in Windows Media Player, both files are very stuttery. I assume WMP is not deinterlacing very well.

Code: Select all

# Windows GUI svn3511 2010091101
# Running: Microsoft Windows NT 5.1.2600 Service Pack 3
# CPU: AMD Phenom(tm) II X4 955 Processor
# Ram: 1790 MB
# Screen: 1440x900
# Temp Dir: H:\Documents and Settings\Ross\Local Settings\Temp\
# Install Dir: H:\Program Files\HandBrake
# Data Dir: H:\Documents and Settings\Ross\Application Data\HandBrake\HandBrake\0.9.4.3516

# CLI Query:  -i "H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts" -t 1 -c 1 -o "h:\dvd\test.mkv"  -f mkv --detelecine --decomb --strict-anamorphic  -e x264 -q 20 -a 1 -E ac3 -6 auto -R Auto -B auto -D 0 --markers="H:\Documents and Settings\Ross\Local Settings\Temp\test-1-chapters.csv" -x b-adapt=2 -v 2
# User Query: False
-------------------------------------------

[16:56:29] hb_init: checking cpu count
[16:56:29] hb_init: starting libhb thread
HandBrake svn3511 (2010091101) - MinGW i386 - http://handbrake.fr
4 CPUs detected
Opening H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts...
[16:56:29] hb_scan: path=H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts, title_index=1
libbluray/bdnav/index_parse.c:157: indx_parse(): error opening H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts/BDMV/index.bdmv
libbluray/bluray.c:960: nav_get_title_list(H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts) failed (0x1f5c310)
[16:56:29] bd: not a bd - trying as a stream/file instead
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Encrypted DVD support unavailable.
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[16:56:29] dvd: not a dvd - trying as a stream/file instead
[16:56:29] file is MPEG Transport Stream with 192 byte packets offset 4 bytes
[16:56:29] hb_ts_stream_find_pids - found the following PIDS
[16:56:29]     Video PIDS : 
[16:56:29]       0x1011 type H.264 (0x1b)
[16:56:29]     Audio PIDS : 
[16:56:29]       0x1100 type AC-3 (0x81)
[16:56:29] hb_ts_stream_getPEStype: EOF while searching for PID 0x1011
[16:56:29] hb_sample_pts: couldn't find video packet near 6285240
[16:56:29] transport stream pid 0x1100 (type 0x81) may be AC-3 audio (id 0x1100)
[16:56:29] transport stream doesn't seem to have video IDR frames
[16:56:29] scan: decoding previews for title 1
[16:56:29] scan: audio 0x1100: AC-3, rate=48000Hz, bitrate=256000 Unknown (AC3) (2.0 ch)
Scanning title 1...
Scanning title 1...
Scanning title 1...
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
[h264 @ 0x1fd4010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1fd4010]non-existing PPS referenced
Scanning title 1...
Scanning title 1...
Scanning title 1...
[h264 @ 0x204f8f0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
[h264 @ 0x204f8f0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x204f8f0]non-existing PPS referenced
Scanning title 1...
Scanning title 1...
[h264 @ 0x1f849e0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
[h264 @ 0x1f849e0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f849e0]non-existing PPS referenced
Scanning title 1...
Scanning title 1...
Scanning title 1...
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
[h264 @ 0x264f860]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264f860]non-existing PPS referenced
Scanning title 1...
[h264 @ 0x264fc20]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 7 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 31 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
[h264 @ 0x264fc20]non-existing SPS 32 referenced in buffering period
[h264 @ 0x264fc20]non-existing PPS referenced
Scanning title 1...
Scanning title 1...
[h264 @ 0x2049bb0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
[h264 @ 0x2049bb0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2049bb0]non-existing PPS referenced
Scanning title 1...
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 7 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 31 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
[h264 @ 0x1f93940]non-existing SPS 32 referenced in buffering period
[h264 @ 0x1f93940]non-existing PPS referenced
Scanning title 1...
Scanning title 1...
[h264 @ 0x2c1e9d0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
[h264 @ 0x2c1e9d0]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2c1e9d0]non-existing PPS referenced
Scanning title 1...
[h264 @ 0x2975010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 7 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 31 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
[h264 @ 0x2975010]non-existing SPS 32 referenced in buffering period
[h264 @ 0x2975010]non-existing PPS referenced
Scanning title 1...
Scanning title 1...
[16:56:33] hb_ts_stream_decode - eof
[16:56:33] Warning: Could not read data for preview 10, skipped
[16:56:33] scan: 9 previews, 1440x1080, 25.000 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 4:3
[16:56:33] Title is likely interlaced or telecined (8 out of 9 previews). You should do something about that.
[16:56:33] scan: title (0) job->width:1440, job->height:816
[16:56:33] stream: 18 good frames, 0 errors (0%)
Scanning title 1...
[16:56:33] libhb: scan thread found 1 valid title(s)
+ title 1:
  + stream: H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts
  + duration: 00:00:05
  + size: 1440x1080, pixel aspect: 4/3, display aspect: 1.78, 25.000 fps
  + autocrop: 0/0/0/0
  + chapters:
    + 1: cells 0->0, 0 blocks, duration 00:00:05
  + audio tracks:
    + 1, Unknown (AC3) (2.0 ch) (iso639-2: und), 48000Hz, 256000bps
  + subtitle tracks:
  + combing detected, may be interlaced or telecined
Reading chapter markers from file H:\Documents and Settings\Ross\Local Settings\Temp\test-1-chapters.csv
Invalid sample rate 0, using input rate 48000
[16:56:33] 1 job(s) to process
[16:56:33] starting job
[16:56:33] sync: expecting 153 video frames
[ac3 @ 0x3430010]No channel layout specified. The encoder will guess the layout, but it might be incorrect.
[16:56:33] work: only 1 chapter, disabling chapter markers
[16:56:33] job configuration:
[16:56:33]  * source
[16:56:33]    + H:\Documents and Settings\Ross\My Documents\My Pictures\4-09-2010\test.m2ts
[16:56:33]    + title 1, chapter(s) 1 to 1
[16:56:33]  * destination
[16:56:33]    + h:\dvd\test.mkv
[16:56:33]    + container: Matroska (.mkv)
[16:56:33]  * video track
[16:56:33]    + decoder: h264
[16:56:33]      + bitrate 200 kbps
[16:56:33]    + frame rate: same as source (around 25.000 fps)
[16:56:33]    + strict anamorphic
[16:56:33]      + storage dimensions: 1440 * 1080 -> 1440 * 1080, crop 0/0/0/0, mod 0
[16:56:33]      + pixel aspect ratio: 4 / 3
[16:56:33]      + display dimensions: 1920 * 1080
[16:56:33]    + filters
[16:56:33]      + Detelecine (pullup) (default settings)
[16:56:33]      + Decomb (default settings)
[16:56:33]    + encoder: x264
[16:56:33]      + options: b-adapt=2
[16:56:33]      + quality: 20.00 (RF)
[16:56:33]  * audio track 0
[16:56:33]    + decoder: Unknown (AC3) (2.0 ch) (track 1, id 1100)
[16:56:33]      + bitrate: 256 kbps, samplerate: 48000 Hz
[16:56:33]    + AC3 passthrough
[16:56:33] reader: first SCR 5422 id 4113 DTS 86400
[16:56:34] yadif thread started for segment 0
[16:56:34] yadif thread started for segment 1
[16:56:34] yadif thread started for segment 2
[16:56:34] yadif thread started for segment 3
[16:56:34] decomb thread started for segment 0
[16:56:34] decomb thread started for segment 1
[16:56:34] decomb thread started for segment 2
[16:56:34] decomb thread started for segment 3
[16:56:34] encx264: encoding with stored aspect 4/3
[16:56:34] encx264: Encoding at constant RF 20.000000
[16:56:34] h264: "" (1) at frame 0 time 3600
x264 [info]: using SAR=4/3
x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
x264 [info]: profile High, level 4.0
No accelerated IMDCT transform found
[16:56:37] hb_ts_stream_decode - eof
[16:56:37] stream: 115 good frames, 0 errors (0%)
[16:56:37] reader: done. 0 scr changes
[16:56:49] work: average encoding speed for job is 12.666667 fps
[16:56:49] sync: got 115 frames, 153 expected
[16:56:49] h264-decoder done: 115 frames, 0 decoder errors, 0 drops
[16:56:49] render: lost time: 3600 (1 frames)
[16:56:49] render: gained time: 3600 (4 frames) (0 not accounted for)
[16:56:49] render: average dropped frame duration: 3600
x264 [info]: frame I:1     Avg QP:20.88  size:108414  PSNR Mean Y:43.78 U:51.46 V:51.21 Avg:45.18 Global:45.18
x264 [info]: frame P:33    Avg QP:20.94  size: 71501  PSNR Mean Y:42.86 U:49.31 V:49.03 Avg:44.13 Global:44.06
x264 [info]: frame B:79    Avg QP:22.76  size: 28329  PSNR Mean Y:40.89 U:48.72 V:48.53 Avg:42.30 Global:42.21
x264 [info]: consecutive B-frames:  1.8% 10.7%  5.4% 82.1%
x264 [info]: mb I  I16..4:  6.7% 76.1% 17.2%
x264 [info]: mb P  I16..4:  4.4% 15.1%  2.5%  P16..4: 47.0% 20.8%  8.4%  0.0%  0.0%    skip: 1.6%
x264 [info]: mb B  I16..4:  0.4%  1.1%  0.1%  B16..8: 49.9% 10.6%  2.0%  direct:14.9%  skip:20.9%  L0:42.0% L1:47.9% BI:10.1%
x264 [info]: 8x8 transform intra:69.1% inter:69.6%
x264 [info]: coded y,uvDC,uvAC intra: 63.3% 82.1% 26.3% inter: 39.1% 52.9% 0.8%
x264 [info]: i16 v,h,dc,p: 35% 15% 11% 38%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 16% 27%  5%  6%  6%  7%  6%  7%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 18% 12%  5%  9%  9%  9%  7%  7%
x264 [info]: i8c dc,h,v,p: 50% 20% 22%  8%
x264 [info]: Weighted P-Frames: Y:21.2%
x264 [info]: ref P L0: 57.7% 16.3% 17.6%  7.5%  0.9%
x264 [info]: ref B L0: 92.2%  6.5%  1.2%
x264 [info]: ref B L1: 96.9%  3.1%
x264 [info]: SSIM Mean Y:0.9797611 (16.938db)
x264 [info]: PSNR Mean Y:41.493 U:48.919 V:48.696 Avg:42.861 Global:42.696 kb/s:8256.07
[16:56:49] mux: track 0, 113 frames, 4705910 bytes, 8184.19 kbps, fifo 8
[16:56:49] mux: track 1, 144 frames, 147456 bytes, 256.45 kbps, fifo 256
[16:56:49] decomb: deinterlaced 112 | blended 1 | unfiltered 0 | total 113
[16:56:49] libhb: work result = 0
Rip done!
HandBrake has exited.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Interlaced video stuttery

Post by jbrjake »

rlevis wrote:I tried to post this to a tech support forum where it would be more relevent, but it appears that is impossible without including an activity log, even when one would be a complete waste of time and space.
<snip>
I'm using the "Slowest" deinterlacing method, and a high bitrate.

<snip tedious coaxing to provide required information>

[16:56:33] + Decomb (default settings)
....and that is why we ask for logs.

You're telling us motion looks bad when you're using motion compensating deinterlacing. But you're not using motion compensating deinterlacing.
mduell
Veteran User
Posts: 7432
Joined: Sat Apr 21, 2007 8:54 pm

Re: Interlaced video stuttery

Post by mduell »

rlevis wrote:I tried to post this to a tech support forum where it would be more relevent, but it appears that is impossible without including an activity log, even when one would be a complete waste of time and space.

I'm using the "Slowest" deinterlacing method, and a high bitrate.
rlevis wrote:

Code: Select all

[16:56:33]    + filters
[16:56:33]      + Detelecine (pullup) (default settings)
[16:56:33]      + Decomb (default settings)
[16:56:33]    + encoder: x264
:roll: :roll: :roll:

After your big old rant about providing an encoding log, the encoding log demonstrates that you're lying about the settings.

You'll be shocked, shocked to hear that this is generally the case with users that refuse to provide encoding logs. The facts rarely match the claims.

:roll: :roll: :roll:
rlevis

Re: Interlaced video stuttery

Post by rlevis »

I wasn't lying about the settings. I reencoded a snippet of the file that I had encoded with the "Slower" deinterlacing option previously, but forgot to select the setting this time for the snippet. According to the documentation, Decomb does the same thing as Deinterlace "Slower" but only if it detects the frame needs deinterlacing.

Are you saying the "Slower" deinterlacing option provides motion compensating deinterlacing and Decomp doesn't?

Either way, the result is identical with the same stuttery playback.
TedJ
Veteran User
Posts: 5388
Joined: Wed Feb 20, 2008 11:25 pm

Re: Interlaced video stuttery

Post by TedJ »

Have you tried the same clip without detelecine?
User avatar
JohnAStebbins
HandBrake Team
Posts: 5585
Joined: Sat Feb 09, 2008 7:21 pm

Re: Interlaced video stuttery

Post by JohnAStebbins »

TedJ wrote:Have you tried the same clip without detelecine?
If he had supplied a log of the encode in question, we would know the answer to that :roll:
tlindgren
Bright Spark User
Posts: 245
Joined: Sun May 03, 2009 2:14 pm

Re: Interlaced video stuttery

Post by tlindgren »

rlevis wrote:Are you saying the "Slower" deinterlacing option provides motion compensating deinterlacing and Decomp doesn't?
No, you said you had used "Slowest", not "Slower". Slowest doesn't existing in newer Handbrake but when it did exist it was basically Slower (yadif) plus motion compensation and many people was around when it still existed. It was taken out due to crashes in the MC code which was fixed later but never put back (at least not in the Windows GUI).

I expect that "Slowest" corresponded to Deinterlace custom, 0:-1:0:1, though I'm not 100% sure what the third argument (Mode) was? Mode 0 is "fast" MC, but you'll still see a significant slowdown, IIRC it cut the encoding rate in half on my quad-core Core2 for High Profile encodes, all other profiles will be even more affected. Mode 1 (medium), 2 (slow) and 3 (very slow) only provides very minor improvements over "fast" IMHO but even medium is much slower than "fast" and it's gets worse quickly, mode 3 should probably have been called glacially slow instead. I would never use anything other than "fast" but tastes can be different.

Decomb can also use the same motion compensation, unfortunately it always use mode 2 ("slow") so if it does trigger on a significant number of frames it will likely cut your encoding rate drastically! This makes decomb/MC much less useful than it could be. But try decomb custom with 23:2:6:9:80:16:16:10:20:20:4:2:50:24:1:-1. It's the defaults, except 23 first instead of 7 to enable mcdeint post-processing.

In both cases the -1 in the strings is for auto-detect "parity", IE in order the two fields arrive. In some rare cases this is set wrong (some older DVDs for example) in which case it may be worthwhile to check a short section with manually set parity, try both 0 and 1.

The drawback with deinterlace is that even with motion compensation you're loosing resolution, decomb partially works around it but I've personally not had much luck with decomb+motion compensation. There's experimental Bob support being developed but it hasn't been committed yet, if that had been available it probably would have been the best option (not necessarily good, perhaps "least bad" is a better term).

It would have been nice if we could somehow tap into the vector adaptive deinterlacing that modern graphics card is capable of doing on display, but so far I've not seen a single encoder that can do this so apparently it's not easily accessible even if you're willing to be OS specific which Handbrake generally isn't. That means that if you only plan to play it on a modern computer it may actually make sense to encode it interlaced (and no vertical resizing!) and let the graphics card sort it out on display...

For more information wander around a bit at http://www.100fps.com/
User avatar
Rodeo
HandBrake Team
Posts: 12754
Joined: Tue Mar 03, 2009 8:55 pm

Re: Interlaced video stuttery

Post by Rodeo »

IIRC there is a bug in the deinterlace filter's version of mcdeint - it was fixed in decomb, but I'm unsure the fix made it into deinterlace (I don't know whether the code that does the actual deinterlacing is shared by both filters or duplicated). jbrjake could answer that.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Interlaced video stuttery

Post by jbrjake »

Mcdeint was never removed from deinterlace. In fact, I get better results with mcdeint in it right now than in decomb because actually it's decomb's version that has a bug*. We just hid the "slowest" option from deinterlace in the GUIs because for a long time mcdeint's Snow components caused crashes.

You can and always have been able to enable it using a custom option string. Deinterlace's relevant options are Yadif mode : Parity : Mcdeint mode. Yadif mode 1 is slower bobbing**-- spatio-temporal deinterlacing of every field. Parity should be -1 as tlindgren suggested. Mcdeint mode should be 2 or 3. So 1:-1:3.

What Rodeo is referring to about bugs in the deinterlace.c implementation vs. the decomb implementation concerns memory boundaries. In decomb I'm more careful about not leaving the picture's memory space when it's checking the slopes of lines. Another difference is that decomb's implementation uses the iterative motion search from Snow, whereas deinterlace's implementation uses uneven multi-hexagonal motion search which is a lot faster but not quite as good.

Re: using GPU for deinterlacing....I've tried this with OpenCL. I'm sure I made a bunch of amateur mistakes despite following all the best practices guides for memory access and other optimization techniques. But my conclusion was that the PCI bus was too much of a bottleneck to be worth it. IMO Video filtering is not an ideal task for video cards when you're dealing with 8-bit chroma subsampled video and/or not outputting your results directly to the screen.

* It's outputting pv->buf_out[!(frame^1)] instead of pv->buf_out[(frame^1)] where the mcdeint results are stored. I think I was trying to do frame-by-frame comparisons against yadif when I made that dumb change, and since mcdeint's final result is from the second field and yadif's is from the first, I didn't want to output the second buffer. Needs to be fixed after a bunch of higher priority filter changes are committed.

** Note: this is because mcdeint needs bobbed output from yadif. Do not use modes 1 or 3 of yadif without mcdeint. HB doesn't have the ability to output both frames currently and when it does it won't be called this way. In decomb, this is set up automagically when you use the mcdeint mode.
Post Reply