[FFmpeg-devel] Translating 1080i HD, from h264 to mpeg2-hd is buggy.

wallak at free.fr wallak
Fri Oct 2 00:34:37 CEST 2009


I've tried to encode some HD streams to 1080i MPEG2-HD, with the following
command, but that failed with bad video artifacts, using the last ffmpeg git
release:

ffmpeg -i h264hd-test.ts -r 25 -vsync 2 -top 1 -fflags genpts -packetsize 2048
-g 15 -qmin 1 -qmax 31 \
-vcodec mpeg2video -vb 20000kb -minrate 800kb -maxrate 25000kb -bufsize
$[(512)*8]kb -flags +ildct+ilme -bf 2    -acodec mp2  -ab 192kb -ar 48000 -ac 2
\
-f mpegts -y output--mpeg2hd.ts

After some tests, I found that, the conversion failed to work after the release 
19147 . When I apply the 19146 to 19147 release patch back,  I get a compliant
MPEG2-HD output.

--- ffmpeg-r19147/libavformat/utils.c	2009-10-01 23:12:42.000000000 +0200
+++ ffmpeg-r19146/libavformat/utils.c	2009-10-01 22:34:54.000000000 +0200
@@ -751,9 +751,6 @@
     int num, den, presentation_delayed, delay, i;
     int64_t offset;

-    if (pc && pc->pict_type == FF_B_TYPE)
-        st->codec->has_b_frames = 1;
-
     /* do we have a video B-frame ? */
     delay= st->codec->has_b_frames;
     presentation_delayed = 0;


Have you an idea to fix this problem properly for the last ffmpeg release ?


Best Regards,
Wallak.



More information about the ffmpeg-devel mailing list