Log in

View Full Version : Samsung SC-HMX R10SN Camcorder = Dupe frame issues. [Sample Incld.]


n0an
2nd January 2010, 12:40
So apparently, my friend's Samsung SC-HMX R10SN camcorder has serious ghosting issues. It records H.264/MP4 at 1080p at 60i (field-rate) and 30fps progressive. The 30fps even after decimating to 24fps has serious ghosting issues, while the 60i is better with Yadif(order=1, mode=0).Srestore(frate=23.976). The video is really grainy, but I guess medium-ranged HDCAMs are like that. Okay so I figured 60i can be de-interlaced and brought down to 23.976 by Yadif(order=1, mode=0).Srestore(frate=23.976).

Samples

30fps - H.264/MP4
-fixing link-

60i - H.264/MP4 - 10s
http://www.sendspace.com/file/3vqf2y

Can anyone please confirm this? If I am wrong, read on::

---30fps Story---

I encoded the sample to MKV@AVC.L3, and during playback on MPC-HC it looked laggy and wavy due to ghosting. There is a video of me and my friend playing football in which we can see dupe frames following us when we run. Here's the duping pattern:

F = actual frame
D - dupe frames

At 30fps:

F D D D F D D D F D D D

At 24fps after decimating 30fps:

F D D F D D F D D

Anyone knows a workaround for this?


Full camera specs:

http://www.scribd.com/doc/15462047/Samsung-Camcorder-HMXR10-User-Manual

scharfis_brain
2nd January 2010, 12:45
provide unprocessed sample videos

n0an
2nd January 2010, 18:44
Samples added.

Guest
3rd January 2010, 15:36
[bump after forum move]

scharfis_brain
3rd January 2010, 16:10
the 60i sample video is 30fps progressive until frame 347.
starting from frame 348 it still is 30 fps progressive but phase shifted, so it exhibits interlacing artifacts.
you can fix this by using triticals tfm(). It will temporally align the fields to recover the original progressive 30fps.

did your camera switch to 30fps due to the low light situation maybe?
please redo the recording at full daylight.

n0an
3rd January 2010, 21:47
You think tfm().Yadif(order=1, mode=0).Srestore(frate=23.976) is the right solution to it?

I am not sure if it switched. I had it on 60i (super fine mode*) all the time. These are the modes in it:

[HD]1080/60i (SF) ( ): Records in the HD 1920x1080/60i, Super Fine format.
• [HD]1080/60i (N) ( ): Records in the HD 1920x1080/60i, Fine format.
• [HD]1080/30p ( ): Records in the HD (1920x1080 30p) format.
• [HD]720/60p ( ): Records in the HD (1280x720 60p) format.
• [SD]480/60p ( ): Records in the SD ( 720x480 60p) format.

The 30fps mode has serious ghosting issues in the pattern mentioned in the original post. Is there a way to drop the dupe frames for 30p/60p recordings?

/neuron2: thanks bud :).

*Menu has 2 settings: sf and n
> sf = super fine, n = normal

scharfis_brain
3rd January 2010, 23:34
decide!
either tfm OR yadif!

also srestore() is NOT intended for straight camera footage.
it will just drop frames irregulary and thus yielding into very jerky motion!

n0an
4th January 2010, 04:58
Okay, I will use tfm(). Is there an efficient way to bring down the framerate to 24p/30p without dupe frames?

scharfis_brain
5th January 2010, 20:08
please read the documentation supplied with tivtc.dll.

tdecimate might help you here.

n0an
5th January 2010, 22:50
I used tfm().tdecimate() and it gives me 47.952 fps. I posted it here because I have very little experience with processing direct captured video.

scharfis_brain
6th January 2010, 00:45
you did something wrong.

provide your FULL script as well as the input file.

n0an
6th January 2010, 04:53
Input file is the MU link in the first post.

DirectShowSource("C:\Users\Admin\Desktop\samsung_dupeprob\house-60i.MP4")
tfm().tdecimate()
Lanczos4Resize(868, 368)

scharfis_brain
6th January 2010, 12:52
do NOT use directshowsoure.
use the decoder from neuron2 instead or something else.

n0an
6th January 2010, 22:53
neuron2 has DGDecode and DGAVCDecode, but both don't decode .MP4. Could you please be straight to the point? I am already a bit confused, so please don't add on to it:confused:.

Guest
6th January 2010, 23:51
Demux the streams from the MP4 using YAMB.

n0an
7th January 2010, 00:11
Demux the streams from the MP4 using YAMB.

Oh thanks, neuron2. I loaded the .dga file with AVCSource(). The DGSource() asks me to run the CUVID server, but when I run that file it asks me for nvcuda.dll. I Googled, but couldn't find it. Is there much difference in your decoder and AVCSource?

tfm().tdecimate() gives me 24fps now. Thanks once again both of you :).