Log in

View Full Version : Why is there a maximum bitrate on a encoder?


lvq684
27th December 2009, 13:05
Hi.

I have a quite simple question. How come there is a maximum bitrate ón codecs? For an example, mpeg2 And vc-1 has a upper limit on 20 Mbit.

Thanks alot :)

Selur
27th December 2009, 14:26
because some one designed the encoder that way,...

LoRd_MuldeR
27th December 2009, 14:32
...or because the front-end doesn't expose an option to set the bitrate any higher, although the encoder would support it.


lvq684, what encoder (front-end) are you referring to ???

I ask, because MPEG-2 certainly does support higher bitrates than 20 MBit/s. And it easily needs higher bitrates for 1080p footage. Here is a 70 MBit/s CBR MPEG-2 sample:
http://www.w6rz.net/bbb24p_00.zip

Anyway, it makes sense to limit the encoder (or at least the front-end) to some "reasonable" maximum bitrate, so people don't produce totally insane streams ;)

But 20 MBit/s seems much too low for MPEG-2, at least if you are encoding HD footage. However if your software is intended for DVD authoring, it would make sense again.

(The maximum video bitrate for Video-DVD is 9800 kbit/s, as defined by the Video-DVD specifications. The maximum rate for Audio+Video is 10080 kbit/s)

Audionut
27th December 2009, 14:33
-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.23.0.0 |
-----------------------------------------

MPEG profile@level: MP@H-14
input: f:\country.avs
output: F:\test.m2v

--------------------
| encoder settings |
--------------------

profile: BEST
frames: 0 - 5000
framerate: 23.976
aspect ratio: 16:9
bitrate Kb/s: 25000
max. bitrate Kb/s: 90000
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no, BFF
goplen,B-pic: AUTO
dc_precision: 10
scan method: zigzag
bias: 0
chapter frames: 0
time code: 0 0 0 0
CPU: SSSE3
priority: idle
SMP active: yes
matrix: FOX1, adaptive
luminance gain: yes, level 1
adaptive quantization: yes, strength 1

------------------
| source stats |
------------------

nr. of frames in source: 5001
width*height: 1280x544
fps: 23.976
nr. of frames to encode: 5001
frames to encode: 0 - 5000

---------------------
| encoding - pass 1 |
---------------------

pass 1 encoding time: 0:00:45 (44.52 s)
fps: 112.3

--------------------------------
| encoding - intermediate pass |
--------------------------------

bitrate set to: 25000 kb/s
estimated output file length: 636546 kB
intermediate encoding time: 0.01 s

---------------------
| encoding - pass 2 |
---------------------

pass 2 encoding time: 0:01:11 (70.97 s)
fps: 70.5

------------------
| encoding stats |
------------------


adapted intra matrix used
adapted non-intra matrix used

nr. of gops: 430
nr. of frames: 5001
nr. of I-frames: 430
nr. of P-frames: 1391
nr. of B-frames: 3180
average bitrate: 24997
minimum bitrate: 230
maximum bitrate: 58261

bytes in bitstream: 651806567
bits in bitstream: 5214452536

average Quantizer: 2.568

total CPU time: 0:04:19 (258.73 s)
total elapsed time: 0:01:56 (115.87 s)

But 20 MBit/s seems much too low for MPEG-2, at least if you are encoding HD footage.

No, FOX1 matrix with average quant of 2.5 is just overkill. :)

LoRd_MuldeR
27th December 2009, 14:44
No, FOX1 matrix with average quant of 2.5 is just overkill. :)

Huh? I highly doubt you can encode arbitrary 1080p footage with MPEG-2 at a maximum bitrate of 20 MBit/s and still get nice results ;)

roozhou
28th December 2009, 02:40
Huh? I highly doubt you can encode arbitrary 1080p footage with MPEG-2 at a maximum bitrate of 20 MBit/s and still get nice results ;)

HDV uses ~25Mbps CBR MPEG2 and they look good to me, so 20Mbps would not be that bad.

SomeJoe
28th December 2009, 02:44
HDV uses ~25Mbps CBR MPEG2 and they look good to me, so 20Mbps would not be that bad.

HDV is 1440x1080, not 1920x1080. That's 25% less pixels to encode.

Blue_MiSfit
28th December 2009, 08:27
And HDV totally falls apart on high complexity scenes / fast pans.

I get mezzanine files at 80mbps intra only MPEG-2 that still have some ugly problems. Of course, that's mostly due to crap encoders - and intra-only, which is only really important for editing :p

~MiSfit