[FFmpeg-devel] [PATCH 06/11] [WIP][RFC]tools: add ffserver_config_test

Lukasz Marek lukasz.m.luki2 at gmail.com
Mon Nov 17 03:00:22 CET 2014


On 17.11.2014 02:46, Lukasz Marek wrote:
> Work in progress...
> Need support
>
> Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> ---
>   Makefile                     |   4 +-
>   ffserver_config.c            |  40 ++++++++++
>   ffserver_config.h            |   7 ++
>   tools/ffserver_config_test.c | 178 +++++++++++++++++++++++++++++++++++++++++++
>   4 files changed, 228 insertions(+), 1 deletion(-)
>   create mode 100644 tools/ffserver_config_test.c

Hi,

Two things.

First of all, I created this test to check if all this stuff i did with 
stream config is ok. I cherry-picked it with dependencies onto 
f524d2e47c055ce304d76bc87da9efb72e376eac
I assume copy-paste is safe.
I attached test results.
current.txt is result on this commit.
base.txt is result on f524d2e47c055ce304d76bc87da9efb72e376eac
it can be compared with kdiff3 or something.

You notice that original code set 128k bit rate for video streams unless 
it was set explicitly. new code set strict and debug for both type of 
strings.

There is an alias "b" and "ab" in libavcodec/options_table.h so every 
audio stream has reported "a:,b=128000" which is not relevant, I removed 
it in base_clean.txt in case some one want to have cleaner view.
I pushed f524d2e47c055ce304d76bc87da9efb72e376eac with picked commits 
into my github on ffserver branch. (it has very first versions of this 
patchset, but test is the same)

I provide it just in case someone is interested, but everything seems to 
be ok it.



Second thing, I don't know how to integrate this test into build system.
I put it into tool, but it requires ffserver_config.o and cmdutils.o
For now it have to be build with make && make tools/ffserver_config_test 
as these two *.o are not treated as  dependencies. I don't know where to 
place it in general, so I could use some help.

-------------- next part --------------
Testing aliased stream options
Debug 1:
a:,b=128000
v:,b=128000,debug=0x00000001
Strict -2:
a:,b=128000
v:,b=128000,strict=-2
AudioBitRate 192:
a:,b=192000,ab=192000
v:,b=128000
AudioChannels 4:
a:,b=128000,ac=4
v:,b=128000
AudioSampleRate 22050:
a:,b=128000,ar=22050
v:,b=128000
VideoBitRateRange 1000-2000:
a:,b=128000
v:,b=128000,maxrate=2000000,minrate=1000000
VideoBufferSize 4:
a:,b=128000
v:,b=128000,bufsize=32768
VideoBitRateTolerance 500:
a:,b=128000
v:,b=128000,bt=500000
VideoBitRate 1500:
a:,b=128000
v:,b=1500000
VideoSize 1280x720:
a:,b=128000
v:video_size=1280x720,b=128000
VideoFrameRate 25:
a:,b=128000
v:time_base=1/25,b=128000
PixelFormat yuv420p:
a:,b=128000
v:pixel_format=yuv420p,b=128000
VideoGopSize 4:
a:,b=128000
v:,b=128000,g=4
VideoIntraOnly :
a:,b=128000
v:,b=128000,g=1
VideoHighQuality :
a:,b=128000
v:,b=128000,mbd=1
Video4MotionVector :
a:,b=128000
v:,b=128000,flags=0x00000004,mbd=1
VideoTag XVID:
a:,b=128000
v:codec_tag=1145656920,b=128000
BitExact :
a:,b=128000
v:,b=128000,flags=0x00800000
DctFastint :
a:,b=128000
v:,b=128000,dct=1
IdctSimple :
a:,b=128000
v:,b=128000,idct=2
Qscale 4:
a:,b=128000
v:,b=128000,flags=0x00000002,global_quality=472
VideoQDiff 4:
a:,b=128000
v:,b=128000,qdiff=4
VideoQMax 20:
a:,b=128000
v:,b=128000,qmax=20
VideoQMin 5:
a:,b=128000
v:,b=128000,qmin=5
LumiMask 0.5:
a:,b=128000
v:,b=128000,lumi_mask=0.500000
DarkMask 0.5:
a:,b=128000
v:,b=128000,dark_mask=0.500000

-------------- next part --------------
Testing aliased stream options
Debug 1:
a:,b=128000
v:,debug=0x00000001
Strict -2:
a:,b=128000
v:,strict=-2
AudioBitRate 192:
a:,b=192000,ab=192000
v:,
AudioChannels 4:
a:,b=128000,ac=4
v:,
AudioSampleRate 22050:
a:,b=128000,ar=22050
v:,
VideoBitRateRange 1000-2000:
a:,b=128000
v:,maxrate=2000000,minrate=1000000
VideoBufferSize 4:
a:,b=128000
v:,bufsize=32768
VideoBitRateTolerance 500:
a:,b=128000
v:,bt=500000
VideoBitRate 1500:
a:,b=128000
v:,b=1500000
VideoSize 1280x720:
a:,b=128000
v:video_size=1280x720,
VideoFrameRate 25:
a:,b=128000
v:time_base=1/25,
PixelFormat yuv420p:
a:,b=128000
v:pixel_format=yuv420p,
VideoGopSize 4:
a:,b=128000
v:,g=4
VideoIntraOnly :
a:,b=128000
v:,g=1
VideoHighQuality :
a:,b=128000
v:,mbd=1
Video4MotionVector :
a:,b=128000
v:,flags=0x00000004,mbd=1
VideoTag XVID:
a:,b=128000
v:codec_tag=1145656920,
BitExact :
a:,b=128000
v:,flags=0x00800000
DctFastint :
a:,b=128000
v:,dct=1
IdctSimple :
a:,b=128000
v:,idct=2
Qscale 4:
a:,b=128000
v:,flags=0x00000002,global_quality=472
VideoQDiff 4:
a:,b=128000
v:,qdiff=4
VideoQMax 20:
a:,b=128000
v:,qmax=20
VideoQMin 5:
a:,b=128000
v:,qmin=5
LumiMask 0.5:
a:,b=128000
v:,lumi_mask=0.500000
DarkMask 0.5:
a:,b=128000
v:,dark_mask=0.500000

-------------- next part --------------
Testing aliased stream options
Debug 1:
a:,b=128000,debug=0x00000001
v:,debug=0x00000001
Strict -2:
a:,b=128000,strict=-2
v:,strict=-2
AudioBitRate 192:
a:,b=192000,ab=192000
v:,
AudioChannels 4:
a:,b=128000,ac=4
v:,
AudioSampleRate 22050:
a:,b=128000,ar=22050
v:,
VideoBitRateRange 1000-2000:
a:,b=128000
v:,maxrate=2000000,minrate=1000000
VideoBufferSize 4:
a:,b=128000
v:,bufsize=32768
VideoBitRateTolerance 500:
a:,b=128000
v:,bt=500000
VideoBitRate 1500:
a:,b=128000
v:,b=1500000
VideoSize 1280x720:
a:,b=128000
v:video_size=1280x720,
VideoFrameRate 25:
a:,b=128000
v:time_base=1/25,
PixelFormat yuv420p:
a:,b=128000
v:pixel_format=yuv420p,
VideoGopSize 4:
a:,b=128000
v:,g=4
VideoIntraOnly :
a:,b=128000
v:,g=1
VideoHighQuality :
a:,b=128000
v:,mbd=1
Video4MotionVector :
a:,b=128000
v:,flags=0x00000004,mbd=1
VideoTag XVID:
a:,b=128000
v:codec_tag=1145656920,
BitExact :
a:,b=128000
v:,flags=0x00800000
DctFastint :
a:,b=128000
v:,dct=1
IdctSimple :
a:,b=128000
v:,idct=2
Qscale 4:
a:,b=128000
v:,flags=0x00000002,global_quality=472
VideoQDiff 4:
a:,b=128000
v:,qdiff=4
VideoQMax 20:
a:,b=128000
v:,qmax=20
VideoQMin 5:
a:,b=128000
v:,qmin=5
LumiMask 0.5:
a:,b=128000
v:,lumi_mask=0.500000
DarkMask 0.5:
a:,b=128000
v:,dark_mask=0.500000



More information about the ffmpeg-devel mailing list