[FFmpeg-devel] Collection of patches

Thorsten Jordan tjordan
Tue Apr 22 12:36:02 CEST 2008


Dear ffmpeg-developers,

During the last 12-15 monthes I used ffmpeg because of my work as
software developer in a company developing multimedia entertainment
devices. I had many questions and some suggestions on this list, and I
got more helpful feedback from you than I could give back. As I am now
quitting this job I want to thank you finally for your help and
apologize for the nasty questions.

As a tiny compensation I want to share the patches with the public I
maintained myself, maybe someone wants to take over them. Some of them
cover open issues (of minor importance).

Additionally I wrote a new TS muxer during the last weeks that can mux
also h264, and also a h264 parser and analyzer. With this code one can
analyze a raw h264 elementary stream and generate PTS+DTS for it. It can
additionally split PAFF coded frames in two fields, so AUDs are
generated for both fields if there are none or only one for the whole frame.

This is useful for the ffmpeg TS demuxer, maybe also the muxer and of
course for the case that h264 streams are just copied. E.g. if you remux
an AVI file to a MP4 file, you won't have valid PTS from AVI, but you
need to give it to MP4. With that analyzer you can generate PTS and much
more, like generating AUDs for every field in PAFF streams, that are not
mandatory for TS, but usual.

I can't supply patches for ffmpeg as this code is C++ anyway, but if
anyone writing the TS muxer/demuxer or anything similar wants to share
some knowledge he may contact me at thorsten_jordan -at- gmx -dot- de.

So thanks for reading so far and here are the patches:

make libxvid wrapper use threads (supported with newest cvs xvid only)
libxvidff_use_threads.patch

Make AVCHD (mts) files give better PTS values, as PCR packets are
scanned ignoring the mts<->ts difference:
mts_pcr_parse_syncbyte_check.patch

Do not split the h264 "headers" off too early, as when a SEI follows a
SPS, split must not stop there but also include the following PPS:
h264_parser_SEI_ignore.patch

Set pixel aspect ratio for xvid wrapper:
libxvid_set_pixelaspect.patch

Give name of two-pass-stats file to x264 (ugly solution though):
x264_2pass_statfilename.patch

undef DEBUG_SEEK in libavformat/utils.c as this causes much computations
when opening large TS files (complete parsing of whole file on open
instead on demand) - this was once rejected because it would break
regression checks - I propose to adapt the check rather or to see why
the check won't work when debug code is disabled! :
proposal-undef-DEBUG_SEEK.patch

-- 
Greetings, Thorsten
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libxvidff_use_threads.patch
Type: text/x-patch
Size: 640 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080422/06cf72eb/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mts_pcr_parse_syncbyte_check.patch
Type: text/x-patch
Size: 485 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080422/06cf72eb/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_SEI_ignore.patch
Type: text/x-patch
Size: 697 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080422/06cf72eb/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libxvid_set_pixelaspect.patch
Type: text/x-patch
Size: 639 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080422/06cf72eb/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x264_2pass_statfilename.patch
Type: text/x-patch
Size: 881 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080422/06cf72eb/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: proposal-undef-DEBUG_SEEK.patch
Type: text/x-patch
Size: 395 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080422/06cf72eb/attachment-0005.bin>



More information about the ffmpeg-devel mailing list