Age | Commit message (Collapse) | Author |
|
allow to not automatically call ./configure , since there are times when it
should not be done (e.g. packaging).
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Replace "return NULL" with "pthread_exit(NULL)" in video_thread.
Video thread rewind is not happening properly when the video thread
return with NULL. Because of it, stack smashing detected and not
allowing subsequent videos to play.
Signed-off-by: prasanth kamuju <prasanth.kamuju@linaro.org>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
using gstreamer/tools/gst-indent script, as per Gstreamer coding style
guidelines.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
The initial code we inherit was using 2 threads, 1 to wait on the driver, and
another one to wait from commands forwarded by the first thread.
Instead simply use 1 main thread that processes all commands from the driver
without the need for an intermediate queue or thread.
This patch does not seem to make any functional change. Also removed the queue
and msg queue implementation which are not needed anymore.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
* Try to use proper LOG level when appropriate
* Remove leading/trailing '\n'
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
For mp4 and 3gp files the buffers were decoded in the same
input order(increasing timestamp), But in case .mov files,
some buffers were decoded later. So always get the frame
which is having lower PST.
|
|
The actual buffer count should be less than max/2
for smooth playback of 1080p videos,if it is less
set the actual buffer count = max/2.
|
|
For H264 codec, MotionVector buffer is required for the
h/w decoder internal use.
|
|
|
|
when the reconfig event comes from the driver, recreate the gstbuffers
in the pool based on the h/w decoder requirement of actual buffes.
|
|
Set the actual count of ion buffers with h/w decoder
for filling the decoded data .
|
|
ION and VDEC were open in open() call and should be closed
in close() call.
|
|
Call the ioctl to free the input buffers and then
unmap the input buffers.
|
|
Send the frame info to the h/w decoder. Otherwise
when the sync frame/keyframe arrives, it will return
all the decoded frames before accepting the new frame.
|
|
The output buffer have 2 plans called Luma and Chroma.
Those are 8Kb alignment and Gstramer expects in 4Kb alignment.
So the 2nd plan, Chroma offset has to be changed based on Luma
if the Luma offset is not under 4Kb.
Ex: 800*480 video, In the Tile buffer, luma is
ROUND_UP_128(800) * ROUND_UP_32(480)
it will become 896 * 480 = 430080 it is 4Kb align but not 8Kb alig
So Luma plan ends at 434176
Chroma, ROUND_UP_128(800) * ROUND_UP_32(480/2)
896 * 256 = 229376
when the output buffer is converted to GST buffer,
Chroma offset should be 434176, not 430080
|
|
This plugin requires libdrm library functions
|
|
This will improve performance by re-use the preallocated buffers,
Instead of allocating new buffer for each decoded frame
|
|
This will improve the performance by removing the
extra copy from decoded ION buffer to gst_buffer.
Instead by using drm APIs, can convert the ION buffer
pointer to dma buffer and then assign it to gst-buffer pointer
|
|
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
We want to try to reuse the same element for all the supported codecs, so let's
look at the CAPS and configure the downstream codec accordingly.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
|
|
Src and Sink pads were added for mpeg
Increased the priority, so that playbin pick up the h/w plugin in
g-streamer pipe line.
|
|
|
|
Once decoding is completed, STOP the video decoder core
and unmap the ION buffers and then free those buffers.
Along with it, removed extra buffers.
|
|
Receive already decoded buffers once EOS is reached
|
|
Extra log messages are creating extra delay in between
the frames.
|
|
For the decoder buffer, should use gstvideodecoder APIs for map
and then call finish_frame to handover the decoded buffer to next
element. Internally it will call gst_pad_push.
|
|
push the decoded buffer to next element using gstvideodecoder
base call APIs.
|
|
|
|
|
|
|