[19072] 2017-08-23_模糊测试之AVI文件分析

文档创建者:s7ckTeam
浏览次数:9
最后更新:2025-01-18
2017-08-23_模糊测试之AVI文件分析 A V I i   2 0 1 7 - 0 8 - 2 3 A V I A u d i o   V i d e o   I n t e r l e a v e d 1 9 9 2 1 1 W i n d o w s A V I D V D A V I A V I b y i A V I 1 .   A V I A V I ( A u d i o   V i d e o   I n t e r l e a v e d ) M i c r o s o f t R I F F M i c r o s o f t   V i d e o   f o r   W i n d o w s   ( V F W ) W i n d o w s   9 5 / 9 8 O S / 2 2 .   A V I 使 3 .   A V I A V I R I F F A V I R I F F A V I R I F F R I F F R e s o u r c e   I n t e r c h a n g e   F i l e   F o r m a t w i n d o w s w a v e M I D I A V I   R I F F C h u n k 3 4 I D R I F F I D R I F F R I F F R I F F R I F F R I F F I D " L I S T " L I S T L I S T L I S T R I F F L I S T F o r m T y p e L i s t   T y p e   4 C h u n k   I D 4 A V I A V I 使 R I F F A V I R I F F A V I 3 1 I D " h d r l " L I S T A V I 2 I D   " m o v i " L I S T A V I 3 I D   " i d x l "   " m o v i " L I S T A V I A V I
A V I B M P A V I B M P V I A V I a n a l y s i s A V I   E a s y _ B M P 2 A V I      
a v i c v L o a d I m a g e   c v C r e a t e V i d e o W r i t e r   c v W r i t e F r a m e c v G e t C a p t u r e P r o p e r t y c v C a p t u r e F r o m F i l e   c v Q u e r y F r a m e 便 B M P A V I
O p e n C V   M F C A V I 1 .   M F C D i a l o g - b a s e d   A p p l i c a t i o n 2 .   M F C 使 U n i c o d e N 3 . C D i a l o g M F C  
4 . T O D O B u t t o n 5 .     O n B n C l i c k e d B u t t o n 1 ( ) O n B n C l i c k e d B u t t o n 5 ( ) 6 .  
7 .   G r o u p   B o x       A V I 8 .  
m _ 1 ,   m _ 2 ,   m _ 3 ,   m _ 4 9 . B Y _ M F C _ Y J C D l g . h # p r a g m a   o n e # i n c l u d e   " c v . h " # i n c l u d e   " h i g h g u i . h " # i n c l u d e   " c x c o r e . h " # i n c l u d e   < s t d i o . h > # i n c l u d e   " s h l w a p i . h " # i n c l u d e   < d i r e c t . h > # i n c l u d e   < i o . h > # i n c l u d e   < v e c t o r > u s i n g   n a m e s p a c e   s t d ; # d e f i n e   U M _ P R O G R E S S   W M _ U S E R + 1 1 0 . }   a f x _ m s g   L R E S U L T   O n r o g r e s s ( W P A R A M ,   L P A R A M ) ; p u b l i c :                 c h a r *   c h o i s e b m p p a t h ( H W N D   h W n d , C H A R   * s z T i t l e ,   C H A R   * s z P a t h ) ; p u b l i c :                 i n t   b m p t o a v i ( ) ; p u b l i c :                 a f x _ m s g   v o i d   O n B n C l i c k e d B u t t o n 1 0 ( ) ;                   v o i d   G e t F i l e ( C S t r i n g   s P a t h ,   v e c t o r < C S t r i n g >   * f i l e P a t h s ) ;                 C S t r i n g   g e t F i l e E x t ( C S t r i n g   f i l e P a t h ) ;                 B O O L   _ _ c d e c l   i s S a m e T y p e   ( c h a r   * E x t , c o n s t   c h a r   * f o r m a t ,   . . . ) ;   1 1 . B Y _ M F C _ Y J C D l g . c p p # i f d e f _ D E B U G   # i n c l u d e   < s t d l i b . h >     # e n d i f C S t r i n g   b m p _ p a t h 1 ; C S t r i n g   b m p _ p a t h ; / / b m p ( h e c h e n g ) C S t r i n g   A v i F i l e N a m e ; / / A V I L C S t r i n g   A V I _ p a t h ; i n t   i   =   1 ; / / i n t   b m p t o a v i ( L P V O I D   l p P a r a m e t e r ) ; / / s h e n g m i n g
C E d i t   d l g ;   1 2 . E N D _ M E S S A G E - M A P   O N _ M E S S A G E ( U M _ P R O G R E S S , O n r o g r e s s ) 1 3 .   c h a r *   C O P E N C V _ A V I _ B M P D l g : : c h o i s e b m p p a t h ( H W N D   h W n d , C H A R   * s z T i t l e ,   C H A R   * s z P a t h ) / / {                 B R O W S E I N F O   b i ;                 L P C I T E M I D L I S T   p I t e m I D L i s t ;                 b i . h w n d O w n e r   =   A f x G e t M a i n W n d ( ) - > G e t S a f e H w n d ( ) ;                 b i . p i d l R o o t   =   N U L L ;                 b i . p s z D i s p l a y N a m e   =   s z P a t h ;                 b i . l p s z T i t l e   =   s z T i t l e ;                 b i . u l F l a g s   =   B I F _ R E T U R N O N L Y F S D I R S ;                 b i . l p f n   =   N U L L ;                 b i . i I m a g e   =   0 ;                 p I t e m I D L i s t   =   S H B r o w s e F o r F o l d e r ( & b i ) ;                 i f ( N U L L   = =   S H G e t P a t h F r o m I D L i s t ( p I t e m I D L i s t ,   s z P a t h )   )                 {                     A f x M e s s a g e B o x ( " " ) ;                 }                 r e t u r n   ( c h a r * ) s z P a t h ; }   1 4 . O n B n C l i c k e d B u t t o n 2 ( )   i f   ( 0   = =   m _ 1 . G e t W i n d o w T e x t L e n g t h ( ) )                 {                                 A f x M e s s a g e B o x ( " p l e a s e   C H O I S E   b m p _ f i l e n a m e ! " ) ;                                 e x i t ( 1 ) ;                 }                 i f   ( 0   = =   m _ 1 . G e t W i n d o w T e x t L e n g t h ( ) )                 {                                 A f x M e s s a g e B o x ( " p l e a s e   I N P U T   b m p _ f i l e n a m e ! " ) ;                                 e x i t ( 1 ) ;                 }         / / A f x B e g i n T h r e a d ( ( A F X _ T H R E A D P R O C ) b m p t o a v i ,   ( v o i d * ) t h i s ) ;                 P o s t M e s s a g e ( U M _ P R O G R E S S ) ;                 b m p t o a v i ( ) ; }   i n t   C O P E N C V _ A V I _ B M P D l g : : b m p t o a v i ( ) {                 C S t r i n g   F i l e N a m e ;         C v V i d e o W r i t e r   * w r i t e r ;         I p l I m a g e   * f r a m e ;                 v e c t o r < C S t r i n g >   i m g F i l e P a t h s ;                   G e t D l g I t e m T e x t ( I D C _ E D I T 1 , b m p _ p a t h ) ; / / B M P                   G e t F i l e ( b m p _ p a t h ,   & i m g F i l e P a t h s ) ;                   f o r   ( i n t   i = 0   ; i <   i m g F i l e P a t h s . s i z e ( ) ; + + i )                 {                                                 f r a m e   =   c v L o a d I m a g e ( i m g F i l e P a t h s . a t ( i ) . G e t B u f f e r ( ) ) ;                                 i f ( i   = =   0 )                                 {                                                 i n t   A v i F o r a m t   =   - 1 ; / /                                                 i n t   F P S   =   2 5 ;                                                 i n t   A v i C o l o r   =   1 ;                                                 w r i t e r = c v C r e a t e V i d e o W r i t e r ( A v i F i l e N a m e , - 1 , F P S , c v G e t S i z e ( f r a m e ) , A v i C o l o r ) ;                                 }                                 c v W r i t e F r a m e ( w r i t e r , f r a m e ) ;
                                c v W r i t e F r a m e ( w r i t e r , f r a m e ) ;                                 c v W a i t K e y ( 1 ) ;                                   c v R e l e a s e I m a g e ( & f r a m e ) ;                 }                 c v R e l e a s e V i d e o W r i t e r ( & w r i t e r ) ;                                 r e t u r n   0 ; }   / * *   * / v o i d   C O P E N C V _ A V I _ B M P D l g : : G e t F i l e ( C S t r i n g   s P a t h ,   v e c t o r < C S t r i n g >   * f i l e P a t h s ) {                 i f   ( s P a t h . I s E m p t y ( ) )                 {                                 r e t u r n ;                 }                 C F i l e F i n d       f f ;                 C S t r i n g                                 s z D i r   =   s P a t h ;                 C S t r i n g                                 E x t ;                   i f ( s z D i r . R i g h t ( 1 )   ! =   " " )                                 s z D i r   + =   " " ;                   s z D i r   + =   " * . * " ;                   B O O L   r e s   =   f f . F i n d F i l e ( s z D i r ) ;                 w h i l e (   r e s   )                 {                                 r e s   =   f f . F i n d N e x t F i l e ( ) ;                                   C S t r i n g   s F i l e N a m e ;                                 i f   ( f f . I s D i r e c t o r y ( )   & &   ! f f . I s D o t s ( ) ) / /                                 {                                                 C S t r i n g   s F i l e P a t h   =   f f . G e t F i l e P a t h ( ) ;                                                 s F i l e N a m e   =   f f . G e t F i l e T i t l e ( ) ;                                                 G e t F i l e ( s F i l e P a t h ,   f i l e P a t h s ) ;                                 }                                 e l s e   i f   ( ! f f . I s D i r e c t o r y ( )   & &   ! f f . I s D o t s ( ) ) / /                                 {                                                 C S t r i n g       s t r F i l e P a t h   =   f f . G e t F i l e P a t h ( ) ;                                                 E x t   =   g e t F i l e E x t ( f f . G e t F i l e P a t h ( ) ) ;                                                 i f   ( i s S a m e T y p e ( E x t . G e t B u f f e r ( ) , " s s " , " b m p " , " j p g " ) )                                                 {                                                                 f i l e P a t h s - > p u s h _ b a c k ( s t r F i l e P a t h ) ;                                                 }                                 }                 }                   f f . C l o s e ( ) ;   }   C S t r i n g   C O P E N C V _ A V I _ B M P D l g : : g e t F i l e E x t ( C S t r i n g   f i l e P a t h ) {                 f i l e P a t h . R e l e a s e B u f f e r ( ) ;                 i n t   p o s   =   f i l e P a t h . R e v e r s e F i n d ( ' . ' ) ;                 i f   ( p o s   > =   0 )                 {                                 r e t u r n   f i l e P a t h . R i g h t ( f i l e P a t h . G e t L e n g t h ( )   -   p o s   - 1 ) ;                 } } B O O L   _ _ c d e c l   C O P E N C V _ A V I _ B M P D l g : : i s S a m e T y p e   ( c h a r   * E x t , c o n s t   c h a r   * f o r m a t ,   . . . )  
B O O L   _ _ c d e c l   C O P E N C V _ A V I _ B M P D l g : : i s S a m e T y p e   ( c h a r   * E x t , c o n s t   c h a r   * f o r m a t ,   . . . )   {                   v a _ l i s t   a p ;                     i n t                                 b u f f i n g ;                   i n t                                 r e t v a l ;                 c h a r                 c h ;                   c h a r                 * e x t ;                   v a _ s t a r t ( a p ,   f o r m a t ) ;                 _ A S S E R T E ( f o r m a t   ! =   N U L L ) ;                   e x t   =   s t r l w r ( E x t ) ;                   w h i l e ( c h   =   * ( f o r m a t + + ) )                 {                                 s w i t c h ( c h )                                 {                                 c a s e   ' s ' :                                                 {                                                                 c h a r   * p   =   v a _ a r g ( a p ,   c h a r   * ) ;                                                                 i f   ( 0   = =   s t r c m p ( E x t , p ) )                                                                 {                                                                                 r e t u r n   1 ;                                                                 }                                                                 b r e a k ;                                                 }                                 d e f a u l t :                                                 {                                                                 p r i n t f ( " i n p u t   p a r a m e t e r   i s   e r r o r   n " ) ;                                                                 r e t u r n   - 1 ;                                                 }                                                 b r e a k ;                                 }                 }                 r e t u r n ( 0 ) ;   1 5 . O n B n C l i c k e d B u t t o n 1 ( )     c h a r   p a t h [ M A X _ P A T H ] ;                 c h o i s e b m p p a t h ( m _ h W n d , " b m p " , p a t h ) ;         b m p _ p a t h   =   p a t h ;                 S e t D l g I t e m T e x t ( I D C _ E D I T 1 , b m p _ p a t h ) ;                 A v i F i l e N a m e   =   " E : a v i . a v i " ;                 S e t D l g I t e m T e x t ( I D C _ E D I T 2 , " E : a v i . a v i " ) ; 1 6 . O n B n C l i c k e d B u t t o n 3 ( )     C F i l e D i a l o g   d l g ( t r u e , N U L L , N U L L , O F N _ H I D E R E A D O N L Y   |   O F N _ O V E R W R I T E P R O M P T , N U L L , N U L L , 0 ) ;                 i f ( ! d l g . D o M o d a l ( ) )                 {                                 A f x M e s s a g e B o x ( " " ) ;                                 e x i t ( 1 ) ;                 }                 A V I _ p a t h   =   d l g . G e t P a t h N a m e ( ) ;                 S e t D l g I t e m T e x t ( I D C _ E D I T 3 , A V I _ p a t h ) ; }   L R E S U L T     C O P E N C V _ A V I _ B M P D l g : : O n r o g r e s s ( W P A R A M ,   L P A R A M ) {                 p g c t r l . O f f s e t P o s ( 2 ) ;                 p g c t r l . S e t S t e p ( 1 ) ; / /                 p g c t r l . S e t R a n g e 3 2 ( 1 , 1 0 0 0 ) ;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则