[FFmpeg-devel] regarding 1578 bug
anshul
anshul.ffmpeg at gmail.com
Tue Dec 10 15:11:27 CET 2013
On 12/10/2013 05:09 PM, Michael Niedermayer wrote:
> On Tue, Dec 10, 2013 at 01:09:42PM +0530, anshul wrote:
>> Hi
>> I was looking in ffmpeg .c function name do_video_out()
>> can any one give me the explanation, why we are not using break
>> in case VSYNC_VSCFR;
>>
>> because if i put the break over there then i don't have frame dropping
> because for constant frame rate output if there are more frames than
> 1/rate, its needed to drop some.
>
>
>> case VSYNC_VSCFR:
>> if (ost->frame_number == 0 && delta - duration >= 0.5) {
>> av_log(NULL, AV_LOG_DEBUG, "Not duplicating %d initial
>> frames\n", (int)lrintf(delta - duration));
>> delta = duration;
>> ost->sync_opts = lrint(sync_ipts);
>> }
>> case VSYNC_CFR:
>> // FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
>> if (delta < -1.1)
>> nb_frames = 0;
>> else if (delta > 1.1)
>> nb_frames = lrintf(delta);
>> break;
>>
>> Thanks
>> Anshul
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
I am using ffmpeg command
ffmpeg -y -loglevel 'debug' -r 1/5 -f concat -i /tmp/tmpk7FXmb
-pix_fmt yuv420p -s 640x480
"output/Great_Lakes_region_timeshare_camp.mp4" 2> log.txt
I have only 25 image from what i want to make movie my fourth image is
dropped
Console output with value of duration,ost->sync_opts,in_picture->pts and
delta
ffmpeg version N-58950-g8e5a298 Copyright (c) 2000-2013 the FFmpeg
developers
built on Dec 10 2013 12:36:38 with gcc 4.7 (SUSE Linux)
configuration: --disable-optimizations
libavutil 52. 58.100 / 52. 58.100
libavcodec 55. 45.100 / 55. 45.100
libavformat 55. 22.100 / 55. 22.100
libavdevice 55. 5.102 / 55. 5.102
libavfilter 3. 92.100 / 3. 92.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
Input #0, concat, from '/tmp/tmpk7FXmb':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj444p(pc), 640x480 [SAR 72:72 DAR
4:3], 25 tbr, 25 tbn, 25 tbc
[swscaler @ 0xb1b4040] deprecated pixel format used, make sure you did
set range correctly
Output #0, mp4, to 'output/Great_Lakes_region_timeshare_camp.mp4':
Metadata:
encoder : Lavf55.22.100
Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 640x480
[SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 16384 tbn, 0.20 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> mpeg4)
Press [q] to stop, [?] for help
duration1.000000 ost->sync_opts= 0 in_picture->pts=0 delta= 1.000000
Input stream #0:0 frame changed from size:640x480 fmt:yuvj444p to
size:279x181 fmt:yuvj420p
[swscaler @ 0xb483cc0] deprecated pixel format used, make sure you did
set range correctly
duration1.000000 ost->sync_opts= 1 in_picture->pts=0 delta= 0.000000
Input stream #0:0 frame changed from size:279x181 fmt:yuvj420p to
size:270x187 fmt:yuvj420p
[swscaler @ 0xb463200] deprecated pixel format used, make sure you did
set range correctly
duration1.000000 ost->sync_opts= 2 in_picture->pts=0 delta= -1.000000
Input stream #0:0 frame changed from size:270x187 fmt:yuvj420p to
size:279x181 fmt:yuvj420p
[swscaler @ 0xb463200] deprecated pixel format used, make sure you did
set range correctly
duration1.000000 ost->sync_opts= 3 in_picture->pts=0 delta= -2.000000
Input stream #0:0 frame changed from size:279x181 fmt:yuvj420p to
size:640x480 fmt:yuvj444p
[swscaler @ 0xb463200] deprecated pixel format used, make sure you did
set range correctly
duration1.000000 ost->sync_opts= 3 in_picture->pts=0 delta= -2.000000
duration1.000000 ost->sync_opts= 3 in_picture->pts=1 delta= -1.000000
duration1.000000 ost->sync_opts= 4 in_picture->pts=2 delta= -1.000000
duration1.000000 ost->sync_opts= 5 in_picture->pts=3 delta= -1.000000
duration1.000000 ost->sync_opts= 6 in_picture->pts=4 delta= -1.000000
duration1.000000 ost->sync_opts= 7 in_picture->pts=5 delta= -1.000000
duration1.000000 ost->sync_opts= 8 in_picture->pts=6 delta= -1.000000
duration1.000000 ost->sync_opts= 9 in_picture->pts=7 delta= -1.000000
duration1.000000 ost->sync_opts= 10 in_picture->pts=8 delta= -1.000000
duration1.000000 ost->sync_opts= 11 in_picture->pts=9 delta= -1.000000
duration1.000000 ost->sync_opts= 12 in_picture->pts=10 delta= -1.000000
duration1.000000 ost->sync_opts= 13 in_picture->pts=11 delta= -1.000000
duration1.000000 ost->sync_opts= 14 in_picture->pts=12 delta= -1.000000
duration1.000000 ost->sync_opts= 15 in_picture->pts=13 delta= -1.000000
duration1.000000 ost->sync_opts= 16 in_picture->pts=14 delta= -1.000000
duration1.000000 ost->sync_opts= 17 in_picture->pts=15 delta= -1.000000
duration1.000000 ost->sync_opts= 18 in_picture->pts=16 delta= -1.000000
duration1.000000 ost->sync_opts= 19 in_picture->pts=17 delta= -1.000000
duration1.000000 ost->sync_opts= 20 in_picture->pts=18 delta= -1.000000
duration1.000000 ost->sync_opts= 21 in_picture->pts=19 delta= -1.000000
duration1.000000 ost->sync_opts= 22 in_picture->pts=20 delta= -1.000000
duration1.000000 ost->sync_opts= 23 in_picture->pts=21 delta= -1.000000
frame= 24 fps=0.0 q=2.0 Lsize= 156kB time=00:02:00.00 bitrate=
10.7kbits/s dup=0 drop=2
video:155kB audio:0kB subtitle:0 global headers:0kB muxing overhead
0.580371%
I think in_picture->pts is not increasing quite well
I also don't undestand why it is changing my image to yuv444p ,according
to line one line from log
Input stream #0:0 frame changed from size:279x181 fmt:yuvj420p to
size:640x480 fmt:yuvj444p
I never asked ffmpeg to convert in pixel format to yuv444p, i asked for
yuv420p
I feel there is no problem in image, because in list of image i gave 2nd
and forth image same,
if it has converted yuv444p to yuv420p then nnext time when same image
come, it should
do same conversion properly
Please point me some document, so that I can make my timing
understanding good, It look like
these concepts of mine are weak
Thanks
Anshul
More information about the ffmpeg-devel
mailing list