Commit ce68167e authored by Christophe Massiot's avatar Christophe Massiot

suite du parseur.

parent 54f82a15
...@@ -105,6 +105,18 @@ typedef struct vpar_thread_s ...@@ -105,6 +105,18 @@ typedef struct vpar_thread_s
#define SEQUENCE_END_CODE 0x1B7 #define SEQUENCE_END_CODE 0x1B7
#define GROUP_START_CODE 0x1B8 #define GROUP_START_CODE 0x1B8
/* extension start code IDs */
#define SEQUENCE_EXTENSION_ID 1
#define SEQUENCE_DISPLAY_EXTENSION_ID 2
#define QUANT_MATRIX_EXTENSION_ID 3
#define COPYRIGHT_EXTENSION_ID 4
#define SEQUENCE_SCALABLE_EXTENSION_ID 5
#define PICTURE_DISPLAY_EXTENSION_ID 7
#define PICTURE_CODING_EXTENSION_ID 8
#define PICTURE_SPATIAL_SCALABLE_EXTENSION_ID 9
#define PICTURE_TEMPORAL_SCALABLE_EXTENSION_ID 10
/******************************************************************************* /*******************************************************************************
* Prototypes * Prototypes
*******************************************************************************/ *******************************************************************************/
......
...@@ -383,7 +383,7 @@ static void SequenceHeader( vpar_thread_t * p_vpar ) ...@@ -383,7 +383,7 @@ static void SequenceHeader( vpar_thread_t * p_vpar )
*****************************************************************************/ *****************************************************************************/
static void GroupHeader( vpar_thread_t * p_vpar ) static void GroupHeader( vpar_thread_t * p_vpar )
{ {
/* Nothing to do, we don't care */ /* Nothing to do, we don't care. */
DumpBits( &p_vpar->bit_stream, 27 ); DumpBits( &p_vpar->bit_stream, 27 );
ExtensionAndUserData( p_vpar ); ExtensionAndUserData( p_vpar );
} }
...@@ -467,9 +467,57 @@ static void __inline__ ReferenceUpdate( vpar_thread_t * p_vpar, ...@@ -467,9 +467,57 @@ static void __inline__ ReferenceUpdate( vpar_thread_t * p_vpar,
*****************************************************************************/ *****************************************************************************/
static void ExtensionAndUserData( vpar_thread_t * p_vpar ) static void ExtensionAndUserData( vpar_thread_t * p_vpar )
{ {
/* Nothing to do, we don't care. */ while( !p_vpar->b_die )
DumpBits( &p_vpar->bit_stream, 27 ); {
ExtensionAndUserData( p_vpar ); NextStartCode( p_vpar );
switch( ShowBits( &p_vpar->bit_stream, 32 ) )
{
case EXTENSION_START_CODE:
DumpBits32( &p_vpar->bit_stream );
switch( GetBits( &p_vpar->bit_stream, 4 ) )
{
case SEQUENCE_DISPLAY_EXTENSION_ID:
SequenceDisplayExtension( p_vpar );
break;
case QUANT_MATRIX_EXTENSION_ID:
QuantMatrixExtension( p_vpar );
break;
case SEQUENCE_SCALABLE_EXTENSION_ID:
SequenceScalableExtension( p_vpar );
break;
case PICTURE_DISPLAY_EXTENSION_ID:
PictureDisplayExtension( p_vpar );
break;
case PICTURE_SPATIAL_SCALABLE_EXTENSION_ID:
PictureSpatialScalableExtension( p_vpar );
break;
case PICTURE_TEMPORAL_SCALABLE_EXTENSION_ID:
PictureTemporalScalableExtension( p_vpar );
break;
case COPYRIGHT_EXTENSION_ID:
CopyrightExtension( p_vpar );
break;
default:
}
break;
case USER_DATA_START_CODE:
DumpBits32( &p_vpar->bit_stream );
/* Wait for the next start code */
break;
default:
return;
}
}
}
/*****************************************************************************
* SequenceDisplayExtension : Parse the sequence_display_extension structure
*****************************************************************************/
static void SequenceDisplayExtension( vpar_thread_t * p_vpar )
{
} }
/***************************************************************************** /*****************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment