[FFmpeg-devel] [PATCH 3/8] avpriv_find_start_code(): make the state parameter output only

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Feb 2 05:29:34 EET 2022


Scott Theisen:
> On 2/1/22 19:15, Andreas Rheinhardt wrote:
>> It seems you didn't get why the code currently is as it is: It allows to
>> use this function with non-contiguous input (as happens in our parsers
>> which operate on data that is not cleanly split into packets yet (it is
>> their job to create proper packets out of the input)). As an example,
>> say you have a buffer that ends with 0x00 00 and the next buffer
>> starting with 0x01 01. Then avpriv_find_start_code() will detect a start
>> code at the beginning of the second buffer if the user passes in the
>> same state again (and does not modify it in the meantime).
> 
> Without documentation or comments, in/out parameters are hard to infer
> and most uses were only out.
> 
> I might make a context free version for when the buffer is already
> packetized properly.
> 
>> You would have noticed this if you had run FATE on your patches (see
>> https://ffmpeg.org/fate.html#Using-FATE-from-your-FFmpeg-source-directory).
>>
> 
> Thanks for the link, I didn't see how to run FATE or get the samples for
> it.
> 
> Unfortunately, FATE fails before that:
> ```
> CC    tests/api/api-threadmessage-test.o
> LD    tests/api/api-threadmessage-test
> TEST    api-threadmessage
> Test api-threadmessage failed. Look at
> tests/data/fate/api-threadmessage.err for details.
> make: *** [tests/Makefile:257: fate-api-threadmessage] Error 127
> ```
> 
> ```
> cat tests/data/fate/api-threadmessage.err
> /home/htpc/build/mythtv-ffmpeg/FFmpeg/tests/api/api-threadmessage-test:
> error while loading shared libraries: libavutil.so.57: cannot open
> shared object file: No such file or directory
> ```
> 
> Which is strange because it does exist.
> ```
> ls -l libavutil/libavutil*
> -rw-rw-r-- 1 htpc htpc 4426450 Feb  1 22:06 libavutil/libavutil.a
> -rw-rw-r-- 1 htpc htpc     353 Feb  1 21:06 libavutil/libavutil.pc
> lrwxrwxrwx 1 htpc htpc      15 Feb  1 22:04 libavutil/libavutil.so ->
> libavutil.so.57
> -rwxrwxr-x 1 htpc htpc 2602848 Feb  1 22:04 libavutil/libavutil.so.57
> -rw-rw-r-- 1 htpc htpc      68 Nov  1 22:34 libavutil/libavutil.v
> -rw-rw-r-- 1 htpc htpc      65 Feb  1 22:04 libavutil/libavutil.ver
> -rw-rw-r-- 1 htpc htpc      82 Feb  1 21:05 libavutil/libavutil.version
> ```
> 
> I run configure with:
> ./configure --sysinclude=/usr/include --cc='ccache gcc' --cxx='ccache
> g++' --prefix=/usr/local --libdir=/usr/local/lib --enable-vdpau
> --enable-libxml2 --enable-libass --enable-libbluray --enable-vaapi
> --enable-libdrm --enable-gnutls --disable-stripping --disable-manpages
> --disable-podpages --disable-doc --disable-nvenc --enable-shared
> --disable-static --enable-gpl --enable-pic
> 
> Any idea why it's failing?
> 

libavutil.so.57 (and the other libraries) are probably not in your
library search path. You might e.g. set an rpath.

- Andreas


More information about the ffmpeg-devel mailing list