Isaac Connor
cae8978501
add an alignment variable to ffmpeg_camera to use wherever we want to tell ffmpeg about the buffer and linesize alignment. Figure out linesize in the constructor so that zm_monitor can pass the info along to zm_image.
2020-07-07 16:12:14 -04:00
Isaac Connor
402c0c6a1b
Fix build on older ffmpeg
2020-05-14 12:01:03 -04:00
Isaac Connor
bbf64de40e
If there is a failure when decoding due to lack of support for the codec profile, re-init without hwaccel
2020-05-13 08:04:53 -04:00
Isaac Connor
d31216330c
Only align buffers to 32bit if using a 32bit pix format. Fixes #2819
2020-04-23 18:07:07 -04:00
Isaac Connor
b85cf7d8a1
include error message when complaining about failing to create the hwaccell device
2020-01-07 11:03:45 -05:00
Isaac Connor
fd633a2175
Merge branch 'master' of github.com:zoneminder/ZoneMinder
2020-01-05 17:28:50 -05:00
Isaac Connor
05ac82b0bb
Handle failure to init hwdevice when trying to use hwaccel.
2020-01-05 17:27:45 -05:00
Isaac Connor
b5e3dbd415
put back 32bit alignment with a comment as to why
2019-12-29 12:52:34 -05:00
Isaac Connor
2581b86195
add more content to the error message when can't sws_scale.
...
Also fix problem when using 32bit on arm instead of 24bit, apparently 0 is a valid return result from sws_scale.
Also change the alignment in av_image_fill_arrays. At some point we cahnged it to 32bit aligned, but in 1.32 we didn't align at all. Not sure if it matters
.
2019-12-29 12:44:59 -05:00
Selva Nair
5260563ec4
Update frame deltas in the database to be relative to the video start time
...
Currenltly the frames written to database have delta time measured
from the event start time. As these deltas are also used to generate
any frame on the fly from the recorded video, these should be relative
to the video start time.
Adjust by subtracting the offset of the video start from event start.
Done when the event is closed.
If video is not stored, this has no effect.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Selva Nair
dd31279ca3
Fix the recorded video start time
...
The event start time already includes the duration of the
pre_event frames. Do not back track the video by a further
pre_event_count.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Selva Nair
2e7fad68d1
Properly compute video buffer length when analysis fps is set
...
Currently the number of video frames kept in the buffer is set as the
pre_event_count. This falls short when the capture fps is larger
than the analysis fps. Fix by computing the retained video duration
as pre_event_count/analysis_fps
No change if analysis fps is not set.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Isaac Connor
46991f04e6
better debugging when fail to sws_scale
2019-11-01 09:24:22 -04:00
Isaac Connor
7068769a90
zm_send_packet_receive_frame sends 0 as success
2019-10-18 13:52:07 -04:00
Isaac Connor
1dda79af46
remove debug
2019-09-25 12:00:00 -04:00
Isaac Connor
17e00cec94
Fix setting rtsp_transport when rtsp
2019-09-17 14:58:16 -04:00
Isaac Connor
4509c6a239
Don't set rtsp options unless we are using rtsp. Should prevent everyone from reporting the warning about unsupported options. Note that I removed some extra includs that have no business in zm_ffmpeg_camera.
2019-09-17 10:31:31 -04:00
Isaac Connor
701aa8d924
add flushing the resample buffer to get the remaining samples encoded
2019-09-13 10:55:30 -04:00
Isaac Connor
59940ab675
report pixformat names instead of just #'s on error
2019-08-28 09:19:57 -04:00
Isaac Connor
886a203bf1
Support hwaccel for non-passthrough case as well
2019-08-21 10:11:58 -04:00
Isaac Connor
01e988ffba
remove some redundant debugs. Improve some messages
2019-08-20 14:09:47 -04:00
Isaac Connor
ed190340b9
fix typo
2019-08-19 11:12:47 -04:00
Isaac Connor
c1984ad7cb
Fix problem calculating mem_size using an int from ImageSize. With camera resolutions going up, width*height*colour could exceed 32bits. So use a guarnteed 53bit type, which fixes the memsize calculations. Fixes #2682
2019-08-11 20:21:37 -04:00
Isaac Connor
5b62c91cc2
Improve some debugging to try to diagnose recent segfault report
2019-08-10 14:46:05 -04:00
Isaac Connor
bb6d2631c9
Fix hwaccel compile on pi
2019-08-08 09:26:40 -04:00
Isaac Connor
f3166663a5
unref hw_device_ctx on Close. I think this should release all the other hwaccel related stuff
2019-07-19 12:51:31 -04:00
Isaac Connor
542d88b6a4
fix compile without HWCONTEXT
2019-07-17 21:10:24 -04:00
Isaac Connor
75af397223
hwFrame isn't defined unless we have HWCONTEXT_H
2019-07-17 20:33:23 -04:00
Isaac Connor
ef9fe2dbd6
Free up hwFrame, preventing memleak
2019-07-17 10:06:30 -04:00
Isaac Connor
94cc85aa36
Sorta fix pts on encoded audio packets. Sync is off, but at least it is close
2019-07-07 08:57:22 -04:00
Isaac Connor
726e5c6dd5
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2019-07-03 09:50:49 -04:00
Isaac Connor
a9579484b8
gracefully handle failure to config hw pix fmt and debug a bit more
2019-07-03 09:49:53 -04:00
Isaac Connor
2dc60196c5
Code cleanup and cpplint
2019-07-02 11:14:24 -04:00
Isaac Connor
dd57fd95ce
Clean up cruft from videostore api. Fix packetqueue clear_unwanted_packets to take a pre_event_count and take it into consideration when finding the right spot in the queue to start recording.
2019-06-27 11:11:14 -04:00
Isaac Connor
0686f487ac
%s => %d for error count
2019-06-27 04:18:25 -04:00
Isaac Connor
d26286a170
fix test for hwtransfer needed
2019-06-27 03:40:18 -04:00
Isaac Connor
2a65b339c1
init hw_pix_fmt in constructor
2019-06-25 22:19:09 -04:00
Isaac Connor
7389bbcb25
better debug in selecting hw_format, add CUDA, add setting device for hwaccel
2019-06-25 21:47:19 -04:00
Isaac Connor
a44631a59d
rough in support for ffmpeg 3.4
2019-06-25 16:35:07 -04:00
Isaac Connor
5ab4414b11
Only include hwaccel support if LIBAVUTIL_HWCONTEXT_H is deifned
2019-06-25 15:58:55 -04:00
Isaac Connor
679b6b1b2d
remove old qsv code
2019-06-25 15:47:23 -04:00
Isaac Connor
cf7f3e8a88
add passing hwaccel name and device. use av_make_error_string(ret).c_str() to reduce code and increase consistency
2019-06-25 15:33:54 -04:00
Isaac Connor
2cbcaeebbc
clean out old hwdecode stuff. refactor common code out
2019-06-25 14:11:59 -04:00
Isaac Connor
246b4cb9d1
working hwdecode
2019-06-24 17:22:59 -04:00
Isaac Connor
dab9544845
Revert audio sync fixes ( #2646 )
...
* Reference /run/zm instead of /var/run/zm because systemd-tmpfiles complains about it
* Spacing, google code style and tabs to spaces
* Revert the work I did to srt packets by dts after changing their time_base. It doesn't work. Instead since dts doesn't actually matter to playback, only ffmpeg storing, munge it to whatever is neccessary to make ffmpeg happy.
2019-06-24 11:27:47 -04:00
Isaac Connor
470da03322
Merge sync fixes from storageareas
2019-06-20 15:14:20 -04:00
Isaac Connor
30a210f68f
also need to adjust dts of last packet when switching events
2019-06-12 10:05:08 -04:00
Isaac Connor
0a9ae1d4f9
Include pixdesc.h to get av_get_pix_fmt_name(AVPixelFormat)
2019-06-11 13:55:57 -04:00
Isaac Connor
acb95709e6
Fix issues with too much audio in events by storing packets in the queue with their timestamps converted to AV_TIME_BASE_Q, so that we can sort video and audio packets together.
2019-06-11 10:19:42 -04:00
Isaac Connor
7671f59d2f
Add error counting on decoding
2019-04-09 12:27:40 -04:00