@@ -190,7 +190,7 @@ int *mbEndPos;
190
190
int mapEdLen ;
191
191
int mbEndFd ;
192
192
193
- struct MBIdx intraDep [MAX_FRAME_NUM_IN_GOP ][MAX_MB_H ][MAX_MB_W ][MAX_DEP_MB ];
193
+ // struct MBIdx intraDep[MAX_FRAME_NUM_IN_GOP][MAX_MB_H][MAX_MB_W][MAX_DEP_MB];
194
194
//struct MBIdx interDep[MAX_FRAME_NUM_IN_GOP][MAX_MB_H][MAX_MB_W][MAX_DEP_MB];
195
195
int interDepMask [MAX_FRAME_NUM_IN_GOP ][MAX_MB_H ][MAX_MB_W ];
196
196
@@ -253,18 +253,18 @@ void unload_frame_mb_edindex(void) {
253
253
}
254
254
255
255
void load_frame_mb_stindex (int p_videoFileIndex ) {
256
- char curDir [100 ];
257
256
struct stat sbuf ;
258
- char * data ;
259
- LOGI (10 , "+++++load_frame_mb_stindex: %s" , gVideoCodecCtxList [p_videoFileIndex ]-> g_mbStPosFileName );
257
+ char l_mbStPosFileName [100 ];
258
+ sprintf (l_mbStPosFileName , "./%s_mbstpos_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], g_decode_gop_num );
259
+ LOGI (10 , "+++++load_frame_mb_stindex: %s" , l_mbStPosFileName );
260
260
//if (fd = open(gVideoCodecCtxList[p_videoFileIndex]->g_mbStPosFileName, O_RDONLY) == -1) {
261
- if ((mbStartFd = open (gVideoCodecCtxList [ p_videoFileIndex ] -> g_mbStPosFileName , O_RDONLY )) == -1 ) {
261
+ if ((mbStartFd = open (l_mbStPosFileName , O_RDONLY )) == -1 ) {
262
262
LOGE (1 , "file open error: %s" , gVideoCodecCtxList [p_videoFileIndex ]-> g_mbStPosFileName );
263
263
perror ("file open error: " );
264
264
exit (1 );
265
265
}
266
266
//if (stat(gVideoCodecCtxList[p_videoFileIndex]->g_mbStPosFileName, &sbuf) == -1) {
267
- if (stat (gVideoCodecCtxList [ p_videoFileIndex ] -> g_mbStPosFileName , & sbuf ) == -1 ) {
267
+ if (stat (l_mbStPosFileName , & sbuf ) == -1 ) {
268
268
LOGE (1 , "stat error" );
269
269
exit (1 );
270
270
}
@@ -286,12 +286,14 @@ void load_frame_mb_stindex(int p_videoFileIndex) {
286
286
287
287
void load_frame_mb_edindex (int p_videoFileIndex ) {
288
288
struct stat sbuf ;
289
- LOGI (10 , "+++++load_frame_mb_edindex, file: %s" , gVideoCodecCtxList [p_videoFileIndex ]-> g_mbEdPosFileName );
290
- if ((mbEndFd = open (gVideoCodecCtxList [p_videoFileIndex ]-> g_mbEdPosFileName , O_RDONLY )) == -1 ) {
289
+ char l_mbEdPosFileName [100 ];
290
+ sprintf (l_mbEdPosFileName , "./%s_mbedpos_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], g_decode_gop_num );
291
+ LOGI (10 , "+++++load_frame_mb_edindex, file: %s" , l_mbEdPosFileName );
292
+ if ((mbEndFd = open (l_mbEdPosFileName , O_RDONLY )) == -1 ) {
291
293
LOGE (1 , "file open error" );
292
294
exit (1 );
293
295
}
294
- if (stat (gVideoCodecCtxList [ p_videoFileIndex ] -> g_mbEdPosFileName , & sbuf ) == -1 ) {
296
+ if (stat (l_mbEdPosFileName , & sbuf ) == -1 ) {
295
297
LOGE (1 , "stat error" );
296
298
exit (1 );
297
299
}
@@ -309,7 +311,41 @@ void load_frame_mb_edindex(int p_videoFileIndex) {
309
311
LOGI (10 , "+++++load_frame_mb_edindex finished, exit the function" );
310
312
}
311
313
312
- static void load_intra_frame_mb_dependency (int p_videoFileIndex , int _stFrame , int _edFrame ) {
314
+ unsigned char * intraDepMap , * intraDepMapMove ;
315
+ long intraDepMapLen ;
316
+ int intraDepFd ;
317
+ void unload_intra_frame_mb_dependency (void ) {
318
+ close (intraDepFd );
319
+ munmap (intraDepMap , intraDepMapLen );
320
+ }
321
+ static void load_intra_frame_mb_dependency (int p_videoFileIndex ) {
322
+ char l_depIntraFileName [100 ];
323
+ struct stat sbuf ;
324
+ sprintf (l_depIntraFileName , "./%s_intra_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], g_decode_gop_num );
325
+ LOGI (10 , "+++++load_intra_frame_mb_dependency, file: %s" , l_depIntraFileName );
326
+ if ((intraDepFd = open (l_depIntraFileName , O_RDONLY )) == -1 ) {
327
+ LOGE (1 , "file open error" );
328
+ exit (1 );
329
+ }
330
+ if (stat (l_depIntraFileName , & sbuf ) == -1 ) {
331
+ LOGE (1 , "stat error" );
332
+ exit (1 );
333
+ }
334
+ LOGI (10 , "file size: %ld" , sbuf .st_size );
335
+ //mbEndPos = mmap((caddr_t)0, sbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
336
+ //mbEndPos = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
337
+ intraDepMapLen = sbuf .st_size ;
338
+ intraDepMap = mmap (0 , sbuf .st_size , PROT_READ , MAP_PRIVATE , intraDepFd , 0 );
339
+ intraDepMapMove = intraDepMap ;
340
+ if (intraDepMap == MAP_FAILED ) {
341
+ LOGE (1 , "mmap error" );
342
+ perror ("mmap error: " );
343
+ exit (1 );
344
+ }
345
+ LOGI (10 , "+++++load_intra_frame_mb_dependency finished, exit the function" );
346
+ }
347
+
348
+ /*static void load_intra_frame_mb_dependency(int p_videoFileIndex, int _stFrame, int _edFrame) {
313
349
char aLine[40], *aToken;
314
350
int l_idxF, l_idxH, l_idxW, l_depH, l_depW, l_curDepIdx;
315
351
LOGI(10, "load_intra_frame_mb_dependency\n");
@@ -357,7 +393,7 @@ static void load_intra_frame_mb_dependency(int p_videoFileIndex, int _stFrame, i
357
393
}
358
394
}
359
395
LOGI(10, "load_intra_frame_mb_dependency finished\n");
360
- }
396
+ }*/
361
397
362
398
unsigned char * interDepMap , * interDepMapMove ;
363
399
long interDepMapLen ;
@@ -367,14 +403,15 @@ void unload_inter_frame_mb_dependency(void) {
367
403
munmap (interDepMap , interDepMapLen );
368
404
}
369
405
static void load_inter_frame_mb_dependency (int p_videoFileIndex ) {
370
- //mmap operation
406
+ char l_depInterFileName [ 100 ];
371
407
struct stat sbuf ;
372
- LOGI (10 , "+++++load_inter_frame_mb_dependency, file: %s" , gVideoCodecCtxList [p_videoFileIndex ]-> g_interDepFileName );
373
- if ((interDepFd = open (gVideoCodecCtxList [p_videoFileIndex ]-> g_interDepFileName , O_RDONLY )) == -1 ) {
408
+ sprintf (l_depInterFileName , "./%s_inter_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], g_decode_gop_num );
409
+ LOGI (10 , "+++++load_inter_frame_mb_dependency, file: %s" , l_depInterFileName );
410
+ if ((interDepFd = open (l_depInterFileName , O_RDONLY )) == -1 ) {
374
411
LOGE (1 , "file open error" );
375
412
exit (1 );
376
413
}
377
- if (stat (gVideoCodecCtxList [ p_videoFileIndex ] -> g_interDepFileName , & sbuf ) == -1 ) {
414
+ if (stat (l_depInterFileName , & sbuf ) == -1 ) {
378
415
LOGE (1 , "stat error" );
379
416
exit (1 );
380
417
}
@@ -443,14 +480,16 @@ void unload_frame_dc_pred_direction(void) {
443
480
}
444
481
445
482
static void load_gop_dc_pred_direction (int p_videoFileIndex ) {
483
+ char l_dcPredFileName [100 ];
446
484
struct stat sbuf ;
447
- LOGI (10 , "load_gop_dc_pred_direction: %s\n" , gVideoCodecCtxList [p_videoFileIndex ]-> g_dcPredFileName );
448
- if ((dcpFd = open (gVideoCodecCtxList [p_videoFileIndex ]-> g_dcPredFileName , O_RDONLY )) == -1 ) {
449
- LOGE (1 , "file open error: %s" , gVideoCodecCtxList [p_videoFileIndex ]-> g_dcPredFileName );
485
+ sprintf (l_dcPredFileName , "./%s_dcp_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], g_decode_gop_num );
486
+ LOGI (10 , "load_gop_dc_pred_direction: %s\n" , l_dcPredFileName );
487
+ if ((dcpFd = open (l_dcPredFileName , O_RDONLY )) == -1 ) {
488
+ LOGE (1 , "file open error: %s" , l_dcPredFileName );
450
489
perror ("file open error: " );
451
490
exit (1 );
452
491
}
453
- if (stat (gVideoCodecCtxList [ p_videoFileIndex ] -> g_dcPredFileName , & sbuf ) == -1 ) {
492
+ if (stat (l_dcPredFileName , & sbuf ) == -1 ) {
454
493
LOGE (1 , "stat error" );
455
494
exit (1 );
456
495
}
@@ -530,7 +569,7 @@ static void load_pre_computation_result(int p_videoFileIndex, int _stFrame, int
530
569
//load_frame_mb_index(p_videoFileIndex, _stFrame, _edFrame); //the mb index position
531
570
load_frame_mb_stindex (p_videoFileIndex ); //the mb index position
532
571
load_frame_mb_edindex (p_videoFileIndex ); //the mb index position
533
- load_intra_frame_mb_dependency (p_videoFileIndex , _stFrame , _edFrame ); //the intra-frame dependency
572
+ load_intra_frame_mb_dependency (p_videoFileIndex ); //the intra-frame dependency
534
573
load_inter_frame_mb_dependency (p_videoFileIndex ); //the inter-frame dependency
535
574
load_gop_dc_pred_direction (p_videoFileIndex ); //the dc prediction direction
536
575
}
@@ -640,27 +679,32 @@ static int copy_bits(unsigned char *data, unsigned char *buf, int startPos, int
640
679
return bufPos ;
641
680
}
642
681
643
- static void compute_mb_mask_from_intra_frame_dependency_for_single_mb (int p_videoFileIndex , int _stFrame , int _frameNum , struct MBIdx _Pmb ) {
682
+ static void compute_mb_mask_from_intra_frame_dependency_for_single_mb (int p_videoFileIndex , int _stFrame , int _frameNum , struct MBIdx _Pmb , int _height , int _width ) {
644
683
struct Queue l_q ;
645
- struct MBIdx l_mb ;
684
+ struct MBIdx l_mb , l_mb2 ;
646
685
int l_i ;
686
+ unsigned char * p , * pframe ;
647
687
648
688
initQueue (& l_q );
649
689
enqueue (& l_q , _Pmb );
690
+ pframe = intraDepMapMove + (_frameNum - _stFrame )* _height * _width * 6 ;
650
691
while (ifEmpty (& l_q ) == 0 ) {
651
692
//get the front value
652
693
l_mb = front (& l_q );
653
694
//mark the corresponding position in the mask
654
695
if (gVideoCodecCtxList [p_videoFileIndex ]-> selected_mb_mask [l_mb .h ][l_mb .w ] > 1 ) {
655
- //it has been tracked before
696
+ //it has been tracked before
656
697
dequeue (& l_q );
657
698
continue ;
658
699
}
659
700
gVideoCodecCtxList [p_videoFileIndex ]-> selected_mb_mask [l_mb .h ][l_mb .w ]++ ;
660
- for (l_i = 0 ; l_i < MAX_DEP_MB ; ++ l_i ) {
661
- if (intraDep [_frameNum - _stFrame ][l_mb .h ][l_mb .w ][l_i ].h == -1 )
662
- break ;
663
- enqueue (& l_q , intraDep [_frameNum - _stFrame ][l_mb .h ][l_mb .w ][l_i ]);
701
+ for (l_i = 0 ; l_i < 3 ; ++ l_i ) {
702
+ p = pframe + (l_mb .h * _width + l_mb .w )* 8 + l_i * 2 ;
703
+ if ((* p != 0 ) || (* (p + 1 ) != 0 )) {
704
+ l_mb2 .h = * p ;
705
+ l_mb2 .w = * (p + 1 );
706
+ enqueue (& l_q , l_mb2 );
707
+ }
664
708
}
665
709
dequeue (& l_q );
666
710
}
@@ -680,7 +724,7 @@ static void compute_mb_mask_from_intra_frame_dependency(int p_videoFileIndex, in
680
724
if (gVideoCodecCtxList [p_videoFileIndex ]-> selected_mb_mask [l_i ][l_j ] == 1 ) {
681
725
l_mb .h = l_i ;
682
726
l_mb .w = l_j ;
683
- compute_mb_mask_from_intra_frame_dependency_for_single_mb (p_videoFileIndex , _stFrame , _frameNum , l_mb );
727
+ compute_mb_mask_from_intra_frame_dependency_for_single_mb (p_videoFileIndex , _stFrame , _frameNum , l_mb , _height , _width );
684
728
}
685
729
}
686
730
}
@@ -771,6 +815,7 @@ void dep_decode_a_video_packet(int p_videoFileIndex) {
771
815
int ti , tj ;
772
816
FILE * tmpF , * postF ;
773
817
unsigned char interDep [8 ];
818
+ unsigned char intraDep [6 ];
774
819
char aLine [40 ], * aToken ;
775
820
unsigned char l_depH , l_depW , l_curDepIdx ;
776
821
int l_idxF , l_idxH , l_idxW ;
@@ -812,7 +857,7 @@ void dep_decode_a_video_packet(int p_videoFileIndex) {
812
857
fclose (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredF );
813
858
fclose (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepF );
814
859
fclose (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepF );
815
- //post processing for inter and intra frame dependency files to make them mmap compatible
860
+ //post processing for inter frame dependency files to make them mmap compatible
816
861
sprintf (l_depInterFileName , "%s_inter_gop%d.txt.tmp" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
817
862
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName , "%s_inter_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
818
863
tmpF = fopen (l_depInterFileName , "r" );
@@ -843,14 +888,55 @@ void dep_decode_a_video_packet(int p_videoFileIndex) {
843
888
}
844
889
fclose (tmpF );
845
890
fclose (postF );
891
+ //post processing for intra-frame dependency
892
+ sprintf (l_depIntraFileName , "%s_intra_gop%d.txt.tmp" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
893
+ sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepFileName , "%s_intra_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
894
+ tmpF = fopen (l_depIntraFileName , "r" );
895
+ postF = fopen (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepFileName , "w" );
896
+ LOGI (10 , "...........processing %s to %s" , l_depIntraFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepFileName );
897
+ while (fgets (aLine , 40 , tmpF ) != NULL ) {
898
+ memset (intraDep , 0 , 6 );
899
+ if ((aToken = strtok (aLine , ":" )) != NULL ) //get the frame number, mb position first
900
+ l_idxF = atoi (aToken );
901
+ if ((aToken = strtok (NULL , ":" )) != NULL )
902
+ l_idxH = atoi (aToken );
903
+ if ((aToken = strtok (NULL , ":" )) != NULL )
904
+ l_idxW = atoi (aToken );
905
+ //get the dependency mb
906
+ do {
907
+ aToken = strtok (NULL , ":" );
908
+ if (aToken != NULL ) l_depH = (unsigned char ) atoi (aToken );
909
+ else break ;
910
+ aToken = strtok (NULL , ":" );
911
+ if (aToken != NULL ) l_depW = (unsigned char ) atoi (aToken );
912
+ else break ;
913
+ //put the dependencies into the array
914
+ if (l_depH == l_idxH - 1 && l_depW == l_idxW ) {
915
+ intraDep [0 ] = l_depH ;
916
+ intraDep [1 ] = l_depW ;
917
+ } else if (l_depH == l_idxH - 1 && l_depW == l_idxW + 1 ) {
918
+ intraDep [2 ] = l_depH ;
919
+ intraDep [3 ] = l_depW ;
920
+ } else if (l_depH == l_idxH && l_depW == l_idxW - 1 ) {
921
+ intraDep [4 ] = l_depH ;
922
+ intraDep [5 ] = l_depW ;
923
+ } else {
924
+ LOGE (1 , "EEEEEEEEEerror: intra dependency unexpected dependency" );
925
+ }
926
+ } while (aToken != NULL );
927
+ fwrite (intraDep , 1 , 6 , postF );
928
+ }
929
+ fclose (tmpF );
930
+ fclose (postF );
846
931
}
847
932
++ gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num ;
848
933
}
849
934
/*check if the dependency files exist, if not, we'll need to dump the dependencies*/
850
935
LOGI (10 , "dependency files for video %d gop %d" , p_videoFileIndex , gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
851
936
#ifdef ANDROID_BUILD
852
937
sprintf (l_depGopRecFileName , "%s_goprec_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
853
- sprintf (l_depIntraFileName , "%s_intra_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
938
+ sprintf (l_depIntraFileName , "%s_intra_gop%d.txt.tmp" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
939
+ sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepFileName , "%s_intra_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
854
940
sprintf (l_depInterFileName , "%s_inter_gop%d.txt.tmp" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
855
941
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName , "%s_inter_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
856
942
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName , "%s_mbstpos_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
@@ -859,24 +945,27 @@ void dep_decode_a_video_packet(int p_videoFileIndex) {
859
945
860
946
#else
861
947
sprintf (l_depGopRecFileName , "%s_goprec_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
862
- sprintf (l_depIntraFileName , "%s_intra_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
948
+ sprintf (l_depIntraFileName , "%s_intra_gop%d.txt.tmp" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
949
+ sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepFileName , "%s_intra_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
863
950
sprintf (l_depInterFileName , "%s_inter_gop%d.txt.tmp" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
864
951
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName , "%s_inter_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
865
952
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName , "%s_mbstpos_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
866
953
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbEdPosFileName , "%s_mbedpos_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
867
954
sprintf (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredFileName , "%s_dcp_gop%d.txt" , gVideoFileNameList [p_videoFileIndex ], gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
868
955
#endif
869
- LOGI (10 , "dependency files %s, %s, %s, %s, %s, %s for video %d gop %d" , l_depGopRecFileName , l_depIntraFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbEdPosFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredFileName , p_videoFileIndex , gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
956
+ LOGI (10 , "dependency files %s, %s, %s, %s, %s, %s for video %d gop %d" , l_depGopRecFileName , gVideoCodecCtxDepList [ p_videoFileIndex ] -> g_intraDepFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbEdPosFileName , gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredFileName , p_videoFileIndex , gVideoPacketQueueList [p_videoFileIndex ].dep_gop_num );
870
957
#ifdef CLEAR_DEP_BEFORE_START
871
958
remove (l_depGopRecFileName );
872
959
remove (l_depIntraFileName );
960
+ remove (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_intraDepFileName );
961
+ remove (l_depInterFileName );
873
962
remove (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_depInterFileName );
874
963
remove (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName );
875
964
remove (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbEdPosFileName );
876
965
remove (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredFileName );
877
966
#endif
878
967
gVideoCodecCtxDepList [p_videoFileIndex ]-> dump_dependency = 1 ;
879
- if ((if_file_exists (l_depGopRecFileName )) && (if_file_exists (l_depIntraFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbEdPosFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredFileName ))) {
968
+ if ((if_file_exists (l_depGopRecFileName )) && (if_file_exists (gVideoCodecCtxDepList [ p_videoFileIndex ] -> g_intraDepFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_interDepFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbStPosFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_mbEdPosFileName )) && (if_file_exists (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_dcPredFileName ))) {
880
969
//if all files exist, further check l_depGopRecFileName file content, see if it actually contains both GOP start and end frame
881
970
gVideoCodecCtxDepList [p_videoFileIndex ]-> g_gopF = fopen (l_depGopRecFileName , "r" );
882
971
if (load_gop_info (gVideoCodecCtxDepList [p_videoFileIndex ]-> g_gopF , & ti , & tj ) != 0 ) {
0 commit comments