First is some more debugging lines useful for figuring out why automatica palette selection didn't work.
The other is a comment about how the code will segfault if there are more than 64 formats. Currently there are not.
Lastly witch a variable from int to unsigned int. There is no way for it to go negative and logically should always be positive, so by making it an unsigned in we don't have to cast it later.
* ZoneMinder compiles with ffmpeg 0.5..master
* Make VideoStream class able to stream through ffmpeg better.
* Ability to use fixed quality instead of fixed bitrate (by specifying bitrate 0...100)
* Format url parameter supports <format>/<encoder> syntax
Details:
- Redefine av_err2str to a to avoid compiler warning on newer g++'s
- When using rtp format; if ffmpeg does not have a default codec, use CODEC_ID_MPEG4. (because this is what the default is as of 2.2 when this code was written)
- Specify ofc->packet_size if rtp format is requested
- Video generated in a thread to guarantee a constant fps.
- Move _AVCODECID definition into zm_ffmpeg.h (and use instead of (AV)CodecID
- Call avformat_network_init because ffmpeg warns about it beeing required soon.
- increase VideoStream::video_outbuf_size to 4MiB to be able to encode larger pictures
1) Removed the V4L2_CAPTURE_FIELDS option.
2) V4L2 Interlacing control options added to the new per-monitor deinterlacing option.
3) Fixed the 32bit version of Linear.
4) Added Blend (50%) and Blend (25%).
5) Completed the grayscale version of the Four Field Motion Adaptive deinterlacing algorithm.
1) Added a workaround against SWS_CPU_CAPS_SSE2 not being defined.
2) Fixed enableDisableAlarms javascript error.
3) swscale unsupported format errors now include the unsupported format in the error.
4) Fixed a small error affecting local cameras with rotation enabled.
1) Fixed wrong size calculation in Image::AssignDirect.
2) Improved libjpeg subpixel order selection.
3) Finished adding support in the simple Overlay function.
4) Completed Flip and Rotate 32bit RGB support.
5) Allow ZM to compile on 32bit with omit frame pointer disabled by defining _DEBUG
To use one less register in the SSE algorithms.
6) Removed the counter variable in some loops to reduce loop overhead.
7) Modified crop query error handling.
8) Most of the shared data now declared as volatile.
9) Small improvements to the AlarmedPixels motion detection.
10) Changed the default blend percent from 7% to 12%.
11) Fixed an earlier bug created by me: motion detection checking the wrong pixels.
2) ZoneMinder should now compile cleanly wihout swscale
3) Fixed multiple monitors capturing from the same device and channel.
Current code allows for multiple monitors sharing the same device, each on a different channel
Or, multiple monitors sharing the same device, all on the same channel.
In both cases, capture method, width, height and palette must be identical on all monitors.
However, target colorspace can be different because each monitor handles the format conversion separately.
2) Allow ZM to compile without swscale - hopefully
3) Saved few cpu cycles during image blending
4) Fixed wrong zone colours showing up
5) Unrelated fix: Allow ZM to be compiled with the latest ffmpeg revisions
2) Changed image class buffer related functions
3) Improved format selection for local cameras
4) Removed imagesize check for swscale
5) Fixed mmap unexpected memory size when changing capture options
6) Fixed unrelated bug in zmdc.pl: sockets directory doesn't exist
2) SSE2 aligned memcpy now functional
3) Fixed fill functions bug from an earlier commit
4) Many changes to zm_local_camera.cpp format selection
5) Fixed memory leak in AssignDirect()
6) Fixed Target Colorspace webinterface issues
7) Small other changes