Decoder System For Decoding Multi-Standard Encoded Video
Presented herein are a decoder system for decoding multi-standard encoded video. In one embodiment, there is presented a system for decoding video data. The system comprises an outer loop symbol interpreter and an inner loop symbol interpreter. The outer loop symbol interpreter decodes VC-1 syntax and AVC syntax, at a slice or picture level. The inner loop symbol interpreter decodes VC-1 and AVC syntax at a macroblock level.
1 . A system for decoding video data, said system comprising:
a first symbol interpreter for decoding at a slice or picture level; and
a second symbol interpreter for decoding at a macroblock level.
2 . The system of claim 1 , wherein the second symbol interpreter comprises:
a coefficient constructor for constructing coefficients at the macroblock level.
3 . The system of claim 1 , wherein the second symbol interpreter comprises:
a vector constructor for constructing vectors at the macroblock level.
4 . The system of claim 1 , wherein the second symbol interpreter comprises:
variable length code engine for decoding variable length codes.
5 . The system of claim 1 , wherein the first symbol interpreter comprises an outer loop symbol interpreter.
6 . The system of claim 1 , wherein the second symbol interpreter comprises an inner loop symbol interpreter.
7 . The system of claim 1 , further comprising:
a slice descriptor buffer, the first symbol interpreter filling the slice descriptor buffer and the second symbol interpreter consuming the slice descriptor buffer prior to decoding macroblocks in a slice.
8 . A method for decoding video data, said system comprising:
decoding video data at a slice or picture level at first symbol interpreter;
decoding video data at a macroblock level at second symbol interpreter;
decoding video data at the macroblock level at the second symbol interpreter.
9 . The method of claim 8 , wherein decoding video data at the macroblock level comprises:
constructing coefficients at the macroblock level at a coefficient constructor.
10 . The method of claim 8 , wherein the decoding video data at the macroblock level comprises:
constructing vectors at the macroblock level at a vector constructor.
11 . The method of claim 8 , wherein the decoding video data at the macroblock level further comprises:
variable length code engine for decoding variable length codes.
12 . The method of claim 8 , wherein the first symbol interpreter comprises an outer loop symbol interpreter.
13 . The method of claim 8 , wherein the second symbol interpreter comprises an inner loop symbol interpreter.
14 . The method of claim 8 , further comprising:
filling a slice descriptor buffer of a slice in an outer loop and consuming the slice descriptor buffer prior to decoding macroblocks of a slice in an inner loop.
15 . A system for decoding video data, said system comprising:
a first symbol interpreter for decoding video data at a slice or picture level; and
a second symbol interpreter for decoding video data at a macroblock level.
16 . The system of claim 15 , wherein the first symbol interpreter provides decoded picture header syntax elements to the second symbol interpreter.
17 . The system of claim 15 , wherein the second symbol interpreter comprises:
a vector constructor for constructing vectors at the macroblock level.
18 . The system of claim 15 , wherein the second symbol interpreter comprises:
a coefficient constructor for constructing coefficients at the macroblock level.
19 . The system of claim 15 , wherein the second symbol interpreter comprises:
a variable length code engine for decoding variable length codes.
20 . The system of claim 15 , further comprising:
a dslice descriptor buffer, the first symbol interpreter filling the slice descriptor buffer and the second symbol interpreter consuming the slice descriptor buffer prior to decoding macroblocks in a slice.