[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[oc] Video compression systems (Suggesting H263 codec core)
Hi,
To get this project started, here's what I would like to suggest. In order
to be as open as possible and to be able to expand the project to say
MPEG-2 or similar, I would like to divide the project into separate blocks.
Since the DCT unit is a common block for all DCT based codecs this would be
one block, the audio codec and control logic would be another block. I
would like to divide the web-pages and the directory structure in the same
manner.
For example:
- video codec
- dct block
- dct engine
- (de)quantization unit
- entropy unit
- huffman coding
- run-length encoder/decoder
- huffman tables
- arithmetic coding
-
- H.261
- H.263
- MPEG-1
- MPEG-2
- MPEG-4
- etc.
- audio codec
- MPEG-1
- layer-1
- layer-2
- layer-3
- MPEG-2
- G.711
- G.722
- G.723
- G.728
- G.729
- etc.
- multiplexing
- H.222.0
- H.222.1
- etc.
- control
- H.230
- H.242
- H.245
- etc.
- multipoint
- etc. etc
- system
- H.320
- video: H.261 or H.263
- audio: G.711, G.722 or G.728
- multiplexing: H.221
- control: H.230 or H.242
- multipoint: H.231
- data: T.120
- MJPEG
- MPEG-1
- MPEG-1 video
- MPEG-1 audio
- etc.
All directories contain blocks with a specific function, except for the
'system' directory. It contains top-level modules that combine blocks from
the previous directories into a complete defined system.
This is a lot of work and it requires a lot of planning to have all blocks
operate as plug-and-play blocks, but this seems the best approach. We can
start with a few blocks to get the H.263 codec working and then move on to
other blocks. If people want to help, they can take on a block and thus
extend our system.
If you want to help or want to give any comments please do so.
Richard
--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml