[MEncoder-users] level_idc, PS3 DivX implementation and re-encoding

Alex Bennee kernel-hacker at bennee.com
Tue Feb 10 18:21:21 CET 2009


2009/2/10 James Hastings-Trew <jimht at shaw.ca>:
> I'm unclear what you are asking. You start out mentioning divx, then
> talk about h.264 encoding. Two completely different things.

My apologies. I was under the impression "divx" was an MPEG-4
implementation to as well as mencoder's x264 codec. Having read more I
realise the situation is more complex than that.

> For PS3, the file should be an mp4 container with AAC audio and h.264
> video at high profile level 4. (
> http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html
> ) From what I remember, the default level mencoder uses is 5.

I can now generate suitable mp4 files for playing on the PS3. My
question is what to do about existing .avi files that contain MPEG-4
streams that were encoded with mencoder but with different settings.

E.g.
======= AVI Header =======
us/frame: 40000  (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames  total: 132662   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  720 x 416
==========================
list_end=0xD4
==> Found video stream: 0
[aviheader] Video stream found, -vid 0
====== STREAM Header =====
Type: vids   FCC: FMP4 (34504D46)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0   Len: 132662
Suggested BufferSize: 159107
Quality 0
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 720
  biHeight 416
  biPlanes 1
  biBitCount 24
  biCompression 877677894='FMP4'
  biSizeImage 898560
===========================
Regenerating keyframe table for MPEG-4 video.
list_end=0x146

> Alex Bennee wrote:
>> Hi,
>> Is there any way to check if an encoded file actually exceeded these
>> limits in it's encoding? If the limits do not exceed that of a lower
>> level_idc value should it be possible to tweak the file without
>> re-encoding?
>>
>> Failing that is it possible to re-encode by only re-coding the blocks
>> that exceed the lower level_idc limit? Or is a normal re-encode the
>> only solution (with the attendant losses)?

Do these questions make more sense with the added context?

--
Alex, homepage: http://www.bennee.com/~alex/
CV: http://www.bennee.com/~alex/cv.php



More information about the MEncoder-users mailing list