[FFmpeg-trac] #6971(undetermined:new): ffmpeg drops frames after deinterlacing

FFmpeg trac at avcodec.org
Fri Nov 23 23:29:54 EET 2018


#6971: ffmpeg drops frames after deinterlacing
-------------------------------------+-------------------------------------
             Reporter:  CaryKnoop    |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:  cuvid        |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------

Comment (by malakudi):

 @oromit, can you comment on the following? I run with debug_ts and see
 this pattern:
 {{{
 filter -> pts:32 pts_time:0.64 exact:31.859459 time_base:1/50
 filter -> pts:33 pts_time:0.66 exact:32.859459 time_base:1/50
 filter -> pts:34 pts_time:0.68 exact:33.859459 time_base:1/50
 filter -> pts:35 pts_time:0.7 exact:34.859459 time_base:1/50
 filter -> pts:36 pts_time:0.72 exact:35.859459 time_base:1/50
 filter -> pts:37 pts_time:0.74 exact:36.859459 time_base:1/50
 filter -> pts:38 pts_time:0.76 exact:37.859459 time_base:1/50
 filter -> pts:39 pts_time:0.78 exact:38.859459 time_base:1/50
 filter -> pts:40 pts_time:0.8 exact:39.859459 time_base:1/50
 filter -> pts:41 pts_time:0.82 exact:40.859459 time_base:1/50
 filter -> pts:42 pts_time:0.84 exact:41.859459 time_base:1/50
 filter -> pts:43 pts_time:0.86 exact:42.859459 time_base:1/50
 filter -> pts:44 pts_time:0.88 exact:43.859459 time_base:1/50
 filter -> pts:45 pts_time:0.9 exact:44.859459 time_base:1/50
 filter -> pts:46 pts_time:0.92 exact:45.859459 time_base:1/50
 filter -> pts:47 pts_time:0.94 exact:46.859459 time_base:1/50
 filter -> pts:48 pts_time:0.96 exact:47.859459 time_base:1/50
 filter -> pts:49 pts_time:0.98 exact:48.859459 time_base:1/50
 filter -> pts:50 pts_time:1 exact:49.859459 time_base:1/50
 filter -> pts:51 pts_time:1.02 exact:50.859459 time_base:1/50
 filter -> pts:52 pts_time:1.04 exact:51.859459 time_base:1/50
 filter -> pts:53 pts_time:1.06 exact:52.859459 time_base:1/50
 filter -> pts:54 pts_time:1.08 exact:53.859459 time_base:1/50
 filter -> pts:55 pts_time:1.1 exact:54.859459 time_base:1/50
 filter -> pts:56 pts_time:1.12 exact:55.859459 time_base:1/50
 filter -> pts:57 pts_time:1.14 exact:56.859459 time_base:1/50
 filter -> pts:58 pts_time:1.16 exact:57.859459 time_base:1/50
 filter -> pts:59 pts_time:1.18 exact:58.859459 time_base:1/50
 filter -> pts:60 pts_time:1.2 exact:59.859459 time_base:1/50
 filter -> pts:61 pts_time:1.22 exact:60.859459 time_base:1/50
 filter -> pts:62 pts_time:1.24 exact:61.859459 time_base:1/50
 filter -> pts:63 pts_time:1.26 exact:62.859459 time_base:1/50
 filter -> pts:64 pts_time:1.28 exact:63.859459 time_base:1/50
 filter -> pts:65 pts_time:1.3 exact:64.859459 time_base:1/50
 filter -> pts:66 pts_time:1.32 exact:65.859459 time_base:1/50
 filter -> pts:67 pts_time:1.34 exact:66.859459 time_base:1/50
 filter -> pts:68 pts_time:1.36 exact:67.859459 time_base:1/50
 filter -> pts:69 pts_time:1.38 exact:68.859459 time_base:1/50
 filter -> pts:70 pts_time:1.4 exact:69.859459 time_base:1/50
 filter -> pts:71 pts_time:1.42 exact:70.859459 time_base:1/50
 filter -> pts:72 pts_time:1.44 exact:71.859459 time_base:1/50
 filter -> pts:73 pts_time:1.46 exact:72.859459 time_base:1/50
 filter -> pts:74 pts_time:1.48 exact:73.859459 time_base:1/50
 filter -> pts:75 pts_time:1.5 exact:74.859459 time_base:1/50
 filter -> pts:76 pts_time:1.52 exact:75.859459 time_base:1/50
 filter -> pts:77 pts_time:1.54 exact:76.859459 time_base:1/50
 filter -> pts:78 pts_time:1.56 exact:77.859459 time_base:1/50
 filter -> pts:79 pts_time:1.58 exact:78.859459 time_base:1/50
 filter -> pts:80 pts_time:1.6 exact:79.859459 time_base:1/50
 filter -> pts:81 pts_time:1.62 exact:80.859459 time_base:1/50
 filter -> pts:82 pts_time:1.64 exact:81.859459 time_base:1/50
 filter -> pts:83 pts_time:1.66 exact:82.859459 time_base:1/50
 filter -> pts:84 pts_time:1.68 exact:83.859459 time_base:1/50
 filter -> pts:85 pts_time:1.7 exact:84.859459 time_base:1/50
 filter -> pts:86 pts_time:1.72 exact:85.859459 time_base:1/50
 filter -> pts:87 pts_time:1.74 exact:86.859459 time_base:1/50
 filter -> pts:88 pts_time:1.76 exact:87.859459 time_base:1/50
 filter -> pts:89 pts_time:1.78 exact:88.859459 time_base:1/50
 filter -> pts:90 pts_time:1.8 exact:89.859459 time_base:1/50
 filter -> pts:91 pts_time:1.82 exact:90.859459 time_base:1/50
 filter -> pts:92 pts_time:1.84 exact:91.859459 time_base:1/50
 filter -> pts:93 pts_time:1.86 exact:92.859459 time_base:1/50
 filter -> pts:98 pts_time:1.96 exact:97.859459 time_base:1/50
 filter -> pts:101 pts_time:2.02 exact:100.859459 time_base:1/50
 filter -> pts:102 pts_time:2.04 exact:101.859459 time_base:1/50
 filter -> pts:104 pts_time:2.08 exact:103.859459 time_base:1/50
 filter -> pts:100 pts_time:2 exact:99.859459 time_base:1/50
 filter -> pts:99 pts_time:1.98 exact:98.859459 time_base:1/50
 *** dropping frame 66 from stream 0 at ts 100
 filter -> pts:110 pts_time:2.2 exact:109.859459 time_base:1/50
 *** dropping frame 66 from stream 0 at ts 99
 filter -> pts:115 pts_time:2.3 exact:114.859459 time_base:1/50
 filter -> pts:114 pts_time:2.28 exact:113.859459 time_base:1/50
 filter -> pts:116 pts_time:2.32 exact:115.859459 time_base:1/50
 *** dropping frame 68 from stream 0 at ts 114
 filter -> pts:112 pts_time:2.24 exact:111.859459 time_base:1/50
 filter -> pts:111 pts_time:2.22 exact:110.859459 time_base:1/50
 *** dropping frame 69 from stream 0 at ts 112
 filter -> pts:122 pts_time:2.44 exact:121.859459 time_base:1/50
 *** dropping frame 69 from stream 0 at ts 111
 filter -> pts:127 pts_time:2.54 exact:126.859459 time_base:1/50
 filter -> pts:126 pts_time:2.52 exact:125.859459 time_base:1/50
 filter -> pts:128 pts_time:2.56 exact:127.859459 time_base:1/50
 *** dropping frame 71 from stream 0 at ts 126
 filter -> pts:124 pts_time:2.48 exact:123.859459 time_base:1/50
 filter -> pts:123 pts_time:2.46 exact:122.859459 time_base:1/50
 *** dropping frame 72 from stream 0 at ts 124
 filter -> pts:134 pts_time:2.68 exact:133.859459 time_base:1/50
 *** dropping frame 72 from stream 0 at ts 123
 filter -> pts:139 pts_time:2.78 exact:138.859459 time_base:1/50
 filter -> pts:138 pts_time:2.76 exact:137.859459 time_base:1/50
 filter -> pts:140 pts_time:2.8 exact:139.859459 time_base:1/50
 *** dropping frame 74 from stream 0 at ts 138
 filter -> pts:136 pts_time:2.72 exact:135.859459 time_base:1/50
 filter -> pts:135 pts_time:2.7 exact:134.859459 time_base:1/50
 *** dropping frame 75 from stream 0 at ts 136
 filter -> pts:146 pts_time:2.92 exact:145.859459 time_base:1/50
 *** dropping frame 75 from stream 0 at ts 135
 filter -> pts:151 pts_time:3.02 exact:150.859459 time_base:1/50
 filter -> pts:150 pts_time:3 exact:149.859459 time_base:1/50
 filter -> pts:152 pts_time:3.04 exact:151.859459 time_base:1/50
 *** dropping frame 77 from stream 0 at ts 150
 filter -> pts:148 pts_time:2.96 exact:147.859459 time_base:1/50
 filter -> pts:147 pts_time:2.94 exact:146.859459 time_base:1/50
 *** dropping frame 78 from stream 0 at ts 148
 filter -> pts:158 pts_time:3.16 exact:157.859459 time_base:1/50
 *** dropping frame 78 from stream 0 at ts 147
 filter -> pts:163 pts_time:3.26 exact:162.859459 time_base:1/50
 filter -> pts:162 pts_time:3.24 exact:161.859459 time_base:1/50
 filter -> pts:164 pts_time:3.28 exact:163.859459 time_base:1/50
 *** dropping frame 80 from stream 0 at ts 162
 filter -> pts:160 pts_time:3.2 exact:159.859459 time_base:1/50
 filter -> pts:159 pts_time:3.18 exact:158.859459 time_base:1/50
 *** dropping frame 81 from stream 0 at ts 160
 filter -> pts:170 pts_time:3.4 exact:169.859459 time_base:1/50
 *** dropping frame 81 from stream 0 at ts 159
 filter -> pts:175 pts_time:3.5 exact:174.859459 time_base:1/50
 filter -> pts:174 pts_time:3.48 exact:173.859459 time_base:1/50
 filter -> pts:176 pts_time:3.52 exact:175.859459 time_base:1/50
 *** dropping frame 83 from stream 0 at ts 174
 filter -> pts:172 pts_time:3.44 exact:171.859459 time_base:1/50
 filter -> pts:171 pts_time:3.42 exact:170.859459 time_base:1/50
 *** dropping frame 84 from stream 0 at ts 172
 filter -> pts:182 pts_time:3.64 exact:181.859459 time_base:1/50
 *** dropping frame 84 from stream 0 at ts 171
 filter -> pts:187 pts_time:3.74 exact:186.859459 time_base:1/50
 filter -> pts:186 pts_time:3.72 exact:185.859459 time_base:1/50
 filter -> pts:188 pts_time:3.76 exact:187.859459 time_base:1/50
 *** dropping frame 86 from stream 0 at ts 186
 filter -> pts:184 pts_time:3.68 exact:183.859459 time_base:1/50
 filter -> pts:183 pts_time:3.66 exact:182.859459 time_base:1/50
 *** dropping frame 87 from stream 0 at ts 184
 filter -> pts:194 pts_time:3.88 exact:193.859459 time_base:1/50
 *** dropping frame 87 from stream 0 at ts 183
 filter -> pts:199 pts_time:3.98 exact:198.859459 time_base:1/50
 filter -> pts:198 pts_time:3.96 exact:197.859459 time_base:1/50
 filter -> pts:200 pts_time:4 exact:199.859459 time_base:1/50
 *** dropping frame 89 from stream 0 at ts 198
 }}}

 Above log is with -r 50 on output. It seems the frames timestamps are not
 coming in order and that's why they are dropped. Maybe we could introduce
 a buffer to re-order the frames there? Sorry if my suggestion is stupid, I
 don't completely understand the internals, just trying to find a solution.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6971#comment:26>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list