Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6758 Discussions

How to configure to avoid PLUSPTYPE in H263 header?

llx
Beginner
506 Views

Hi,

Many tools and softphones we areplaying withcannot parse the PLUSPTYPE in H263 header. When I tried "no PLUSPTYPE" in h263.par, umc_video_enc_con still add PLUSPTYPE to me.

What else shall I changed? Thanks.

llx

0 Kudos
5 Replies
Vladimir_Dudnik
Employee
506 Views

Hello,

there is comment from our expert:

There's no such thing as PLUSPTYPE switch in the par file,

You can consider"no PLUSPTYPE" optionas unrestricted motion vector mode (see PAR file fromat):

3 // unrestricted motion vector: 0 - off; 1 - no PLUSPTYPE; 2 - PLUSPTYPE, UUI==1; 3 - PLUSPTYPE, UUI==01

To avoid PLUSPTYPEyou needtoturn offall the features which can be indicated only in the extended PTYPE (PLUSPTYPE) header

// horizontal_size - standardized picture formats only (sub-QCIF - 16CIF)
// vertical_size - standardized picture formats only (sub-QCIF - 16CIF)
// frame scale = 30000

// frame interval= 1001 * n, n= 1,2,3...
// unrestricted motion vector: 0 or 1

// advanced prediction: 0 - off (1MV), 1 - on (4MV, OBMC)
// advanced Intra coding =
0 (OFF)
// insert GOB headers: 0 - off, 1 - GOB headers without stuffing, 2 - GOB headers with stuffing (GSTUF)
// modified quantization mode =
0 - off

Regards,
Vladimir

0 Kudos
llx
Beginner
505 Views

Hi Vladimir,

After I turned all of them off, the PLUSPTYPE is still there. Here is the beginning of the encode output:

00 00 80 02 1C BC 01 00 13 C1 F8 F3 82 5C 94 4B

My par file is as below:

!! H.263 videoencoder sample !!
352x288.yuv // name of source files
352 // horizontal_size
288 // vertical_size
300 // number of frames
30000 // frame scale
1001 // frame interval
7 // IVOP quant
7 // PVOP quant
9 // BVOP quant
10 // IVOP distance
1 // PVOP distance
15 // PVOP searchWidth in full pel
15 // PVOP searchHeight in full pel
1 // Motion Estimation algorithm: 0 - full search, 1 - fast search
2 // Motion Estimation accuracy: 1 - full pel, 2 - half pel
1 // calculate PSNR
0 // RateControl 0 - no, 1 - FrameLayer(VBR)
400000 // BitRate, Kbps
50 // SceneChangeThreshold, %
1 // unrestricted motion vector: 0 - off; 1 - no PLUSPTYPE; 2 - PLUSPTYPE, UUI==1; 3 - PLUSPTYPE, UUI==01
0 // advanced prediction: 0 - off (1MV), 1 - on (4MV, OBMC)
0 // advanced Intra coding
0 // insert GOB headers: 0 - off, 1 - GOB headers without stuffing, 2 - GOB headers with stuffing (GSTUF)
0 // modified quantization mode: 0 - off, 1 - on
0 // frame skipping: 0 - disabled, 1 - enabled, default 1

Console output of umc_video_enc_con:

/intel/ipp/5.3.1.062/ipp-samples/audio-video-codecs/_bin/
linuxem64t_gcc3> ./umc_video_enc_con h263 -i foreman.yuv -n 300 -b 32000 -f 15 h263_4.par foreman_4.263

Starting H263 encoding foreman.yuv to file foreman_4.263
Source video width = 352, height = 288, frameRate = 15.00
Max frames to encode = 300
Encoding bit rate = 32000 bits per second
0.10.20.30.40.50.60.70.80.90.100.110.120.130.140.150.160.170.180.190.200.210.220.230.240.250.260.270.280.290.300.
Summary:
Num frames encoded = 300
Encoding Time = 1.17 sec, 256.02 fps
Overall Time = 1.24 sec, 242.58 fps
Average CPU usage = 0.00%
Encoded Size = 262754 bytes
Compression Ratio = 173.62
EncodedSize/ExpectedSize = 3.28

What else shall I do? Thanks.

llx

0 Kudos
Vladimir_Dudnik
Employee
505 Views

Hi

15 fpsis nota simple fraction of the standard picture clock frequency, 30000/1001, but exactly equals to 30000/1000 * 2, the clock conversion factor 1000 being the other option in H.263 and required the PLUSPTYPE header to be encoded.

Use -f 14.985 (ordiscarding -f at all andset frame interval to 2002 in the par file)to solve that

Regards,
Vladimir

0 Kudos
llx
Beginner
506 Views

Hi Vladimir,

It works, thank you very much.

But noticed that it is just the half speed of before. Is that possible to speed up the encoding?

/intel/ipp/5.3.1.062/ipp-samples/audio-video-codecs/_bin/
linuxem64t_gcc3> ./umc_video_enc_con h263 -i foreman.yuv -n 300 -b 32000 h263_8.par foreman_8_nofr.263

Starting H263 encoding foreman.yuv to file foreman_8_nofr.263
Source video width = 352, height = 288, frameRate = 14.99
Max frames to encode = 300
Encoding bit rate = 32000 bits per second
0.10.20.30.40.50.60.70.80.90.100.110.120.130.140.150.160.170.180.190.200.210.220.230.240.250.260.270.280.290.300.
Summary:
Num frames encoded = 300
Encoding Time = 1.12 sec, 267.18 fps
Overall Time = 1.19 sec, 252.79 fps
Average CPU usage = 0.00%
Encoded Size = 264163 bytes
Compression Ratio = 172.69
EncodedSize/ExpectedSize = 3.30

Thanks again.

llx

0 Kudos
Vladimir_Dudnik
Employee
506 Views

Hello,

How do you see performance degradation? According your previous post encoding speed was

- Encoding Time = 1.17 sec, 256.02 fps

and your the latest number is

Encoding Time = 1.12 sec, 267.18 fps

which is pretty close (and even a bit faster).

Regards,
Vladimir

0 Kudos
Reply