{"name": "ff_vc1_decode_sequence_header", "code": "__int64 __fastcall ff_vc1_decode_sequence_header ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 * @@a3@@ ) { unsigned int @@v3@@ ; int @@v6@@ ; unsigned int @@v7@@ ; unsigned int @@v8@@ ; @@v3@@ = show_bits_long ( @@a3@@ , Number ) ; av_log ( @@a1@@ , Number L , String , @@v3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits ( ( __int64 ) @@a3@@ , Number ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) == Number ) av_log ( @@a1@@ , Number L , String ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) == Number ) { * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_vc1_adv_progressive_8x4_zz ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_vc1_adv_progressive_4x8_zz ; return decode_sequence_header_adv ( @@a2@@ , @@a3@@ ) ; } * ( _DWORD * ) ( @@a2@@ + Number ) = Number ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_wmv2_scantableA ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_wmv2_scantableB ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number ; } * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) == Number && ! * ( _DWORD * ) ( @@a2@@ + Number ) ) av_log ( @@a1@@ , Number L , String ) ; if ( * ( int * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) > Number ) * ( _DWORD * ) ( @@a2@@ + Number ) = Number ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( ! * ( _DWORD * ) ( @@a2@@ + Number ) ) { * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct_8 ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct84_add ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct48_add ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct44_add ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct_add_8 ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct84_add ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct48_add ; * ( _QWORD * ) ( @@a2@@ + Number ) = & ff_simple_idct44_add ; } * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( ! * ( _DWORD * ) ( @@a2@@ + Number ) && ! * ( _DWORD * ) ( @@a2@@ + Number ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number ; } * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( ! * ( _DWORD * ) ( @@a2@@ + Number ) && * ( _DWORD * ) ( @@a2@@ + Number ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number ; } * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number ; } * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) && ! * ( _DWORD * ) ( @@a2@@ + Number ) ) av_log ( @@a1@@ , Number L , String ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) ) { @@v8@@ = get_bits ( ( __int64 ) @@a3@@ , Number ) ; @@v7@@ = get_bits ( ( __int64 ) @@a3@@ , Number ) ; @@v6@@ = ff_set_dimensions ( * ( _QWORD * ) ( @@a2@@ + Number ) , @@v8@@ , @@v7@@ ) ; if ( @@v6@@ < Number ) { av_log ( @@a1@@ , Number L , String , @@v8@@ , @@v7@@ ) ; return ( unsigned int ) @@v6@@ ; } skip_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; if ( ( unsigned int ) get_bits1 ( ( __int64 ) @@a3@@ ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number ; } skip_bits ( ( __int64 ) @@a3@@ , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = Number ; } else { * ( _DWORD * ) ( @@a2@@ + Number ) = get_bits1 ( ( __int64 ) @@a3@@ ) ; } if ( ! * ( _DWORD * ) ( @@a2@@ + Number ) ) av_log ( @@a1@@ , Number L , String ) ; if ( ! * ( _DWORD * ) ( @@a2@@ + Number ) ) skip_bits ( ( __int64 ) @@a3@@ , Number ) ; av_log ( @@a1@@ , Number L , String String String String String , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "__int64"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s60"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s64"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}]}
{"name": "get_bits", "code": "__int64 __fastcall get_bits ( __int64 @@a1@@ , int @@a2@@ ) { unsigned int @@v2@@ ; unsigned int @@v3@@ ; unsigned int @@v5@@ ; unsigned int @@v6@@ ; unsigned int @@v7@@ ; @@v7@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v6@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v5@@ = * ( _DWORD * ) ( ( @@v7@@ >> Number ) + * ( _QWORD * ) @@a1@@ ) ; @@v2@@ = NEG_USR32 ( ( HIBYTE ( @@v5@@ ) | ( unsigned __int16 ) ( HIWORD ( @@v5@@ ) << Number ) | ( ( ( unsigned __int16 ) ( ( _WORD ) @@v5@@ << Number ) | BYTE1 ( @@v5@@ ) ) << Number ) ) << ( @@v7@@ & Number ) , @@a2@@ ) ; @@v3@@ = @@a2@@ + @@v7@@ ; if ( @@v6@@ <= @@a2@@ + @@v7@@ ) @@v3@@ = @@v6@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; return @@v2@@ ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s24"}]} {"name": "show_bits", "code": "__int64 __fastcall show_bits ( __int64 @@a1@@ , char @@a2@@ ) { unsigned int @@v3@@ ; unsigned int @@v4@@ ; @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v3@@ = * ( _DWORD * ) ( ( @@v4@@ >> Number ) + * ( _QWORD * ) @@a1@@ ) ; return ( unsigned int ) NEG_USR32 ( ( HIBYTE ( @@v3@@ ) | ( unsigned __int16 ) ( HIWORD ( @@v3@@ ) << Number ) | ( ( ( unsigned __int16 ) ( ( _WORD ) @@v3@@ << Number ) | BYTE1 ( @@v3@@ ) ) << Number ) ) << ( @@v4@@ & Number ) , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}]} {"name": "skip_bits", "code": "__int64 __fastcall skip_bits ( __int64 @@a1@@ , int @@a2@@ ) { unsigned int v2 ; unsigned int @@v3@@ ; __int64 result ; v2 = @@a2@@ + * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) <= v2 ) v2 = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v3@@ = v2 ; result = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; return result ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]} {"name": "get_bits1", "code": "__int64 __fastcall get_bits1 ( __int64 @@a1@@ ) { unsigned __int8 @@v2@@ ; unsigned int @@v3@@ ; @@v3@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v2@@ = ( unsigned __int8 ) ( * ( unsigned __int8 * ) ( ( @@v3@@ >> Number ) + * ( _QWORD * ) @@a1@@ ) << ( @@v3@@ & Number ) ) >> Number ; if ( ( signed int ) @@v3@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ) ++ @@v3@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; return @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s5"}]} {"name": "show_bits_long", "code": "__int64 __fastcall show_bits_long ( __int64 * @@a1@@ , int @@a2@@ ) { __int64 v3 ; __int64 v4 ; __int64 @@v5@@ [ Number ] ; if ( @@a2@@ <= Number ) return show_bits ( ( __int64 ) @@a1@@ , @@a2@@ ) ; v3 = @@a1@@ [ Number ] ; @@v5@@ [ Number ] = * @@a1@@ ; @@v5@@ [ Number ] = v3 ; v4 = @@a1@@ [ Number ] ; @@v5@@ [ Number ] = @@a1@@ [ Number ] ; @@v5@@ [ Number ] = v4 ; return get_bits_long ( ( __int64 ) @@v5@@ , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v5", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s32"}]} {"name": "decode_sequence_header_adv", "code": "__int64 __fastcall decode_sequence_header_adv ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 result ; __int64 v3 ; __int64 v4 ; int @@v5@@ ; int @@v6@@ ; unsigned int v7 ; int v8 ; unsigned int v9 ; int v10 ; int @@i@@ ; int @@v12@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; if ( * ( int * ) ( @@a1@@ + Number ) > Number ) av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number * ( get_bits ( @@a2@@ , Number ) + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number * ( get_bits ( @@a2@@ , Number ) + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; skip_bits1 ( @@a2@@ ) ; av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String String String String , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; result = Number ; } else { v3 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( v3 + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( v3 + Number ) ; if ( ( unsigned int ) get_bits1 ( @@a2@@ ) ) { @@v12@@ = Number ; av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; v9 = get_bits ( @@a2@@ , Number ) + Number ; v7 = get_bits ( @@a2@@ , Number ) + Number ; av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String , v9 , v7 ) ; if ( ( unsigned int ) get_bits1 ( @@a2@@ ) ) @@v12@@ = get_bits ( @@a2@@ , Number ) ; if ( @@v12@@ && @@v12@@ <= Number ) { * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = * ( ( _QWORD * ) & ff_vc1_pixel_aspect + @@v12@@ ) ; } else if ( @@v12@@ == Number ) { v10 = get_bits ( @@a2@@ , Number ) + Number ; v8 = get_bits ( @@a2@@ , Number ) + Number ; v4 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( v4 + Number ) = v10 ; * ( _DWORD * ) ( v4 + Number ) = v8 ; } else { av_reduce ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L , ( int ) ( v9 * * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) , ( int ) ( v7 * * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) , Number ) ; } ff_set_sar ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String , * ( unsigned int * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) , * ( unsigned int * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; if ( ( unsigned int ) get_bits1 ( @@a2@@ ) ) { if ( ( unsigned int ) get_bits1 ( @@a2@@ ) ) { * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number ; * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = get_bits ( @@a2@@ , Number ) + Number ; } else { @@v6@@ = get_bits ( @@a2@@ , Number ) ; @@v5@@ = get_bits ( @@a2@@ , Number ) ; if ( @@v6@@ > Number && @@v6@@ <= Number && @@v5@@ > Number && @@v5@@ <= Number ) { * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = * ( ( _DWORD * ) & ff_vc1_fps_dr + @@v5@@ - Number ) ; * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number * * ( ( _DWORD * ) & ff_vc1_fps_nr + @@v6@@ - Number ) ; } } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number ; } if ( ( unsigned int ) get_bits1 ( @@a2@@ ) ) { * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; } } * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits1 ( @@a2@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { * ( _DWORD * ) ( @@a1@@ + Number ) = get_bits ( @@a2@@ , Number ) ; skip_bits ( @@a2@@ , Number ) ; skip_bits ( @@a2@@ , Number ) ; for ( @@i@@ = Number ; @@i@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) { skip_bits ( @@a2@@ , Number ) ; skip_bits ( @@a2@@ , Number ) ; } } result = Number L ; } } else { av_log ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; result = Number ; } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}]}