Message ID | 52D51179.8030102@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ? 2014?01?14? 18:29, Andrzej Hajda ??: > On 01/14/2014 06:17 AM, randy wrote: >> Yes, it make encoder work. But sadness ./mfc-encode -m >> /dev/video1 -c h264,header_mode=1 -d 1 will still output a zero >> demo.out without header-mode or set it to zero will works. What >> is the problem? > > It seems infradead repo is not synchronized with our internal > repo. Please apply attached patch. > No, it has been applied in public repo. And my code is in applied version, but it doesn't work. Here is the log ============================ mfc codec encoding example application Andrzej Hajda <a.hajda@samsung.com> Copyright 2012 Samsung Electronics Co., Ltd. 70.259455868:args.c:parse_args:190: codec: H264 70.259635952:args.c:parse_args:187: opt header_mode=1 mfc.c:mfc_create:85: error: Cannot subscribe EOS event for MFC 70.286725493:mfc.c:mfc_create:87: MFC device /dev/video1 opened with fd=3 70.294186576:v4l_dev.c:v4l_req_bufs:116: Succesfully requested 16 buffers for device 3:0 70.294508201:func_dev.c:func_req_bufs:42: Succesfully requested 16 buffers for device -1:1 70.294936410:func_dev.c:func_enq_buf:113: Enqueued buffer 0/16 to -1:1 70.295440952:func_dev.c:func_enq_buf:113: Enqueued buffer 1/16 to -1:1 70.295692535:func_dev.c:func_enq_buf:113: Enqueued buffer 2/16 to -1:1 70.295912035:func_dev.c:func_enq_buf:113: Enqueued buffer 3/16 to -1:1 70.296122285:func_dev.c:func_enq_buf:113: Enqueued buffer 4/16 to -1:1 70.296310368:func_dev.c:func_enq_buf:113: Enqueued buffer 5/16 to -1:1 70.296477410:func_dev.c:func_enq_buf:113: Enqueued buffer 6/16 to -1:1 70.296626993:func_dev.c:func_enq_buf:113: Enqueued buffer 7/16 to -1:1 70.296788618:func_dev.c:func_enq_buf:113: Enqueued buffer 8/16 to -1:1 70.296949910:func_dev.c:func_enq_buf:113: Enqueued buffer 9/16 to -1:1 70.297115327:func_dev.c:func_enq_buf:113: Enqueued buffer 10/16 to -1:1 70.297277993:func_dev.c:func_enq_buf:113: Enqueued buffer 11/16 to -1:1 70.297435618:func_dev.c:func_enq_buf:113: Enqueued buffer 12/16 to -1:1 70.297591993:func_dev.c:func_enq_buf:113: Enqueued buffer 13/16 to -1:1 70.297760868:func_dev.c:func_enq_buf:113: Enqueued buffer 14/16 to -1:1 70.297917910:func_dev.c:func_enq_buf:113: Enqueued buffer 15/16 to -1:1 70.336368993:v4l_dev.c:v4l_req_bufs:116: Succesfully requested 4 buffers for device 3:1 70.336587368:func_dev.c:func_req_bufs:42: Succesfully requested 4 buffers for device 4:0 70.342405784:v4l_dev.c:v4l_enq_buf:211: Enqueued buffer 0/4 to 3:1 70.348009117:v4l_dev.c:v4l_enq_buf:211: Enqueued buffer 1/4 to 3:1 70.352857159:v4l_dev.c:v4l_enq_buf:211: Enqueued buffer 2/4 to 3:1 70.357489076:v4l_dev.c:v4l_enq_buf:211: Enqueued buffer 3/4 to 3:1 State [enq cnt/max]: [Off 0 0/0|Rdy 16 0/1] [Off 0 0/0|Off 4 0/0] [Off 0 0/0|Off 0 0/0] State [enq cnt/max]: [Off 0 0/0|Rdy 16 0/1] [Off 0 0/0|Off 4 0/0] [Off 0 0/0|Off 0 0/0] 70.357812534:func_dev.c:func_deq_buf:79: Dequeued buffer 0/16 from - -1:1 ret=25344 70.357841701:func_dev.c:func_deq_buf:88: End on -1:1 70.357882201:v4l_dev.c:v4l_enq_buf:211: Enqueued buffer 0/16 to 3:0 70.357961534:v4l_dev.c:v4l_stream_set:76: Stream started on fd=3:0 70.358038117:v4l_dev.c:v4l_stream_set:92: Stream started on fd=3:1 70.358070659:v4l_dev.c:v4l_enq_buf:226: EOS sent to 3:0, ret=-1 State [enq cnt/max]: [Off 0 0/0|End 15 1/1] [Bus 1 0/1|Bus 4 0/0] [Off 0 0/0|Off 0 0/0] 70.358163367:io_dev.c:wait_for_ready_devs:64: Will poll fd=3 events=7 root@kagami:~/v4l2-mfc-encoder# ls -l demo.out - -rw-r--r-- 1 root root 0 Jan 14 16:48 demo.out > Regards Andrzej > Thank you ayaka -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJS1Wq7AAoJEPb4VsMIzTziM/UH/0LSC7xRC35nzPhAPue8yFw+ /OMpCcM1OArsqKIGqrGNaDTnkePSkQ22/W1CbtbrJatpDmI1zLZOfJIK4w4PCd0E LV/NoVqdr8N5aLsmrC5Ao7zXViCiSDVMxqyAGPXObXA+2IJDxf34yWAxTGIVYlo6 Q2B5EMWyF4GHBvF1shk/So0YF6RBpI8s6on54QoSaNon95dupsk1QQ0ceXmPj/6c X/fI5M6etToml0txKpXD4auafLxb8ebZAn4ZHx2F69WFIJFozLL9FkYl6MizORkN ke34+xhQUZ6NF4ykBtbCUHVacDegsbiW/ISKtpjxDoWLRcIZPy0BvuUE8guY/Uk= =0BWS -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 01/14/2014 05:50 PM, randy wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > ? 2014?01?14? 18:29, Andrzej Hajda ??: >> On 01/14/2014 06:17 AM, randy wrote: >>> Yes, it make encoder work. But sadness ./mfc-encode -m >>> /dev/video1 -c h264,header_mode=1 -d 1 will still output a zero >>> demo.out without header-mode or set it to zero will works. What >>> is the problem? >> It seems infradead repo is not synchronized with our internal >> repo. Please apply attached patch. >> > No, it has been applied in public repo. > And my code is in applied version, but it doesn't work. > Here is the log > ============================ > mfc codec encoding example application > Andrzej Hajda <a.hajda@samsung.com> > Copyright 2012 Samsung Electronics Co., Ltd. > > 70.259455868:args.c:parse_args:190: codec: H264 > 70.259635952:args.c:parse_args:187: opt header_mode=1 > mfc.c:mfc_create:85: error: Cannot subscribe EOS event for MFC This error shows that end-of-stream support is not implemented in the MFC driver. > 70.358070659:v4l_dev.c:v4l_enq_buf:226: EOS sent to 3:0, ret=-1 > Ditto Are you sure you have used kernel 3.12? Have you compiled the program with proper kernel-headers? Regards Andrzej -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
? 2014?01?15? 15:08, Andrzej Hajda ??: > On 01/14/2014 05:50 PM, randy wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> ? 2014?01?14? 18:29, Andrzej Hajda ??: >>> On 01/14/2014 06:17 AM, randy wrote: >>>> Yes, it make encoder work. But sadness ./mfc-encode -m >>>> /dev/video1 -c h264,header_mode=1 -d 1 will still output a zero >>>> demo.out without header-mode or set it to zero will works. What >>>> is the problem? >>> It seems infradead repo is not synchronized with our internal >>> repo. Please apply attached patch. >>> >> No, it has been applied in public repo. >> And my code is in applied version, but it doesn't work. >> Here is the log >> ============================ >> mfc codec encoding example application >> Andrzej Hajda <a.hajda@samsung.com> >> Copyright 2012 Samsung Electronics Co., Ltd. >> >> 70.259455868:args.c:parse_args:190: codec: H264 >> 70.259635952:args.c:parse_args:187: opt header_mode=1 >> mfc.c:mfc_create:85: error: Cannot subscribe EOS event for MFC > This error shows that end-of-stream support is not implemented in the > MFC driver. >> 70.358070659:v4l_dev.c:v4l_enq_buf:226: EOS sent to 3:0, ret=-1 >> > Ditto > > Are you sure you have used kernel 3.12? Have you compiled the program with > proper kernel-headers? > Sorry, I forget to switch to new kernel, but in new kernel it doesn't work too. root@kagami:~/v4l2-mfc-encoder# ./mfc-encode -m /dev/video1 -c h264,header_mode=1 -d 1 mfc codec encoding example application Andrzej Hajda <a.hajda@samsung.com> Copyright 2012 Samsung Electronics Co., Ltd. 106.984340799:args.c:parse_args:190: codec: H264 106.984870424:args.c:parse_args:187: opt header_mode=1 106.999434841:mfc.c:mfc_create:87: MFC device /dev/video1 opened with fd=3 107.15356632:v4l_dev.c:v4l_req_bufs:116: Succesfully requested 16 buffers for device 3:0 107.15534549:func_dev.c:func_req_bufs:42: Succesfully requested 16 buffers for device -1:1 107.15708424:func_dev.c:func_enq_buf:113: Enqueued buffer 0/16 to -1:1 107.15862049:func_dev.c:func_enq_buf:113: Enqueued buffer 1/16 to -1:1 107.16004132:func_dev.c:func_enq_buf:113: Enqueued buffer 2/16 to -1:1 107.16146841:func_dev.c:func_enq_buf:113: Enqueued buffer 3/16 to -1:1 107.16284799:func_dev.c:func_enq_buf:113: Enqueued buffer 4/16 to -1:1 107.16429049:func_dev.c:func_enq_buf:113: Enqueued buffer 5/16 to -1:1 107.16569382:func_dev.c:func_enq_buf:113: Enqueued buffer 6/16 to -1:1 107.16715257:func_dev.c:func_enq_buf:113: Enqueued buffer 7/16 to -1:1 107.16859924:func_dev.c:func_enq_buf:113: Enqueued buffer 8/16 to -1:1 107.17006674:func_dev.c:func_enq_buf:113: Enqueued buffer 9/16 to -1:1 107.17158466:func_dev.c:func_enq_buf:113: Enqueued buffer 10/16 to -1:1 107.17307132:func_dev.c:func_enq_buf:113: Enqueued buffer 11/16 to -1:1 107.17455632:func_dev.c:func_enq_buf:113: Enqueued buffer 12/16 to -1:1 107.17599216:func_dev.c:func_enq_buf:113: Enqueued buffer 13/16 to -1:1 107.17748299:func_dev.c:func_enq_buf:113: Enqueued buffer 14/16 to -1:1 107.17897341:func_dev.c:func_enq_buf:113: Enqueued buffer 15/16 to -1:1 v4l_dev.c:v4l_req_bufs:111: error: Failed to request 4 buffers for device 3:1) root@kagami:~/v4l2-mfc-encoder# ls -l demo.out -rw-r--r-- 1 root root 0 Jan 15 15:49 demo.out root@kagami:~/v4l2-mfc-encoder# uname -a Linux kagami 3.13.0-rc8-00018-g8f39393-dirty #17 SMP PREEMPT Wed Jan 15 18:40:53 CST 2014 armv7l GNU/Linux root@kagami:~/v4l2-mfc-encoder# dmesg|grep mfc [ 1.295000] s5p-mfc 13400000.codec: decoder registered as /dev/video0 [ 1.295000] s5p-mfc 13400000.codec: encoder registered as /dev/video1 [ 100.645000] s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed [ 100.645000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to allocate Bank1 temporary buffer [ 107.065000] s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed [ 107.065000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to allocate Bank1 temporary buffer > Regards > Andrzej > > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 01/15/2014 04:50 PM, randy wrote: > > Sorry, I forget to switch to new kernel, > but in new kernel it doesn't work too. > root@kagami:~/v4l2-mfc-encoder# ./mfc-encode -m /dev/video1 -c > h264,header_mode=1 -d 1 > mfc codec encoding example application > Andrzej Hajda <a.hajda@samsung.com> > Copyright 2012 Samsung Electronics Co., Ltd. > > 106.984340799:args.c:parse_args:190: codec: H264 > 106.984870424:args.c:parse_args:187: opt header_mode=1 > 106.999434841:mfc.c:mfc_create:87: MFC device /dev/video1 opened with fd=3 > 107.15356632:v4l_dev.c:v4l_req_bufs:116: Succesfully requested 16 > buffers for device 3:0 > 107.15534549:func_dev.c:func_req_bufs:42: Succesfully requested 16 > buffers for device -1:1 > 107.15708424:func_dev.c:func_enq_buf:113: Enqueued buffer 0/16 to -1:1 > 107.15862049:func_dev.c:func_enq_buf:113: Enqueued buffer 1/16 to -1:1 > 107.16004132:func_dev.c:func_enq_buf:113: Enqueued buffer 2/16 to -1:1 > 107.16146841:func_dev.c:func_enq_buf:113: Enqueued buffer 3/16 to -1:1 > 107.16284799:func_dev.c:func_enq_buf:113: Enqueued buffer 4/16 to -1:1 > 107.16429049:func_dev.c:func_enq_buf:113: Enqueued buffer 5/16 to -1:1 > 107.16569382:func_dev.c:func_enq_buf:113: Enqueued buffer 6/16 to -1:1 > 107.16715257:func_dev.c:func_enq_buf:113: Enqueued buffer 7/16 to -1:1 > 107.16859924:func_dev.c:func_enq_buf:113: Enqueued buffer 8/16 to -1:1 > 107.17006674:func_dev.c:func_enq_buf:113: Enqueued buffer 9/16 to -1:1 > 107.17158466:func_dev.c:func_enq_buf:113: Enqueued buffer 10/16 to -1:1 > 107.17307132:func_dev.c:func_enq_buf:113: Enqueued buffer 11/16 to -1:1 > 107.17455632:func_dev.c:func_enq_buf:113: Enqueued buffer 12/16 to -1:1 > 107.17599216:func_dev.c:func_enq_buf:113: Enqueued buffer 13/16 to -1:1 > 107.17748299:func_dev.c:func_enq_buf:113: Enqueued buffer 14/16 to -1:1 > 107.17897341:func_dev.c:func_enq_buf:113: Enqueued buffer 15/16 to -1:1 > v4l_dev.c:v4l_req_bufs:111: error: Failed to request 4 buffers for > device 3:1) > root@kagami:~/v4l2-mfc-encoder# ls -l demo.out > -rw-r--r-- 1 root root 0 Jan 15 15:49 demo.out > root@kagami:~/v4l2-mfc-encoder# uname -a > Linux kagami 3.13.0-rc8-00018-g8f39393-dirty #17 SMP PREEMPT Wed Jan 15 > 18:40:53 CST 2014 armv7l GNU/Linux > root@kagami:~/v4l2-mfc-encoder# dmesg|grep mfc > [ 1.295000] s5p-mfc 13400000.codec: decoder registered as /dev/video0 > [ 1.295000] s5p-mfc 13400000.codec: encoder registered as /dev/video1 > [ 100.645000] s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed > [ 100.645000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to allocate > Bank1 temporary buffer > [ 107.065000] s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed > [ 107.065000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to allocate > Bank1 temporary buffer Try to increase CMA size in kernel config - CONFIG_CMA_SIZE_MBYTES, by default it is set to 16MB, try for example 64MB. Regards Andrzej -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ? 2014?01?16? 20:37, Andrzej Hajda ??: > On 01/15/2014 04:50 PM, randy wrote: >> Sorry, again, I forget to enable CMA, as exynos4_defconf and MFC doesn't depend on it. But 16MB can't work with the same log as below. >> root@kagami:~/v4l2-mfc-encoder# ./mfc-encode -m /dev/video1 -c >> h264,header_mode=1 -d 1 mfc codec encoding example application >> Andrzej Hajda <a.hajda@samsung.com> Copyright 2012 Samsung >> Electronics Co., Ltd. >> >> 106.984340799:args.c:parse_args:190: codec: H264 >> 106.984870424:args.c:parse_args:187: opt header_mode=1 >> 106.999434841:mfc.c:mfc_create:87: MFC device /dev/video1 opened >> with fd=3 107.15356632:v4l_dev.c:v4l_req_bufs:116: Succesfully >> requested 16 buffers for device 3:0 >> 107.15534549:func_dev.c:func_req_bufs:42: Succesfully requested >> 16 buffers for device -1:1 >> 107.15708424:func_dev.c:func_enq_buf:113: Enqueued buffer 0/16 to >> -1:1 107.15862049:func_dev.c:func_enq_buf:113: Enqueued buffer >> 1/16 to -1:1 107.16004132:func_dev.c:func_enq_buf:113: Enqueued >> buffer 2/16 to -1:1 107.16146841:func_dev.c:func_enq_buf:113: >> Enqueued buffer 3/16 to -1:1 >> 107.16284799:func_dev.c:func_enq_buf:113: Enqueued buffer 4/16 to >> -1:1 107.16429049:func_dev.c:func_enq_buf:113: Enqueued buffer >> 5/16 to -1:1 107.16569382:func_dev.c:func_enq_buf:113: Enqueued >> buffer 6/16 to -1:1 107.16715257:func_dev.c:func_enq_buf:113: >> Enqueued buffer 7/16 to -1:1 >> 107.16859924:func_dev.c:func_enq_buf:113: Enqueued buffer 8/16 to >> -1:1 107.17006674:func_dev.c:func_enq_buf:113: Enqueued buffer >> 9/16 to -1:1 107.17158466:func_dev.c:func_enq_buf:113: Enqueued >> buffer 10/16 to -1:1 107.17307132:func_dev.c:func_enq_buf:113: >> Enqueued buffer 11/16 to -1:1 >> 107.17455632:func_dev.c:func_enq_buf:113: Enqueued buffer 12/16 >> to -1:1 107.17599216:func_dev.c:func_enq_buf:113: Enqueued buffer >> 13/16 to -1:1 107.17748299:func_dev.c:func_enq_buf:113: Enqueued >> buffer 14/16 to -1:1 107.17897341:func_dev.c:func_enq_buf:113: >> Enqueued buffer 15/16 to -1:1 v4l_dev.c:v4l_req_bufs:111: error: >> Failed to request 4 buffers for device 3:1) > Try to increase CMA size in kernel config - > CONFIG_CMA_SIZE_MBYTES, by default it is set to 16MB, try for > example 64MB. > If I change it to 64MB, I will got v4l_dev.c:v4l_enq_buf:207: error: Error 22 enq buffer 0/16 to 3:0 and the below in dmesg as CONFIG_CMA_SIZE_MBYTES=64 root@kagami:~/v4l2-mfc-encoder# dmesg|grep mfc [ 1.295000] s5p-mfc 13400000.codec: decoder registered as /dev/video0 [ 1.295000] s5p-mfc 13400000.codec: encoder registered as /dev/video1 [ 146.975000] s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed [ 146.975000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to allocate Bank1 temporary buffer [ 196.255000] s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed [ 196.255000] s5p_mfc_alloc_codec_buffers_v5:186: Failed to allocate Bank2 temporary buffer > Regards Andrzej > > > Thank you ayaka -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJS2DNJAAoJEPb4VsMIzTzi2NkH/iotPpDrRerh2E1fJTlzZP0a awcb+qtOfM7MkGAtMtdOTBtiFT8+R4xXMWFhKOcm22zBki+XBe5e2AIk/ekJLqlg Xm4lVjM1cGR1wVYVwxRi7prnPTWIZKCi+NgA+lmmu1ASt0/A3hvqqARF7Wa/pKiI +GDwfzBYhdLIKmfSCgz4bP8VWm//6ERevzBDLtXahjQqc/mCmudAYUfB31EhHrSY J3b9V+zZOjmlSxm3wZezlS0y0SbAR1FWJa4XKcCiKpH08bqkUhwQnVEay4wsz05P tnd9Fc/uRkAZVHWkKwHk2+HqHRpfBqWYO61/fwISf5tX9Mr6EOBivtauRcJPrHw= =Ag18 -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 >> [ 100.645000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to >> allocate Bank1 temporary buffer [ 107.065000] >> s5p_mfc_alloc_priv_buf:43: Allocating private buffer failed [ >> 107.065000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to >> allocate Bank1 temporary buffer > Try to increase CMA size in kernel config - CONFIG_CMA_SIZE_MBYTES, > by default it is set to 16MB, try for example 64MB. I am very sorry, I don't test it carefully, the mfc-encode can't work on 3.13-rc8, with or without header_mode=1 it will got v4l_dev.c:v4l_req_bufs:111: error: Failed to request 4 buffers for device 3:1) and [ 1706.540000] s5p_mfc_alloc_codec_buffers_v5:177: Failed to allocate Bank1 temporary buffer In the old 3.5 kernel, it has this kind of problem too, [ 0.210000] Failed to declare coherent memory for MFC device (0 bytes at 0x43000000) I wonder is there some problem of the board or core board. But it seems that result of 3.5 is better(but without the I-frame, the encoded data is useless as I know) Thank you ayaka -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJS2Dy3AAoJEPb4VsMIzTziYooH/3GxuPn2bt74QQF0fy8yZH+T kE4K9F9JUValDfdQc0GBnFDRBb4CIbL4ncWoRhj4mjH3Iu3OOxWjRgEl/aZ+TzZg 3BJSTI9Wnaxt4sFCVJKHtYY9Ei7nv2548/hC2UzkrzmtPYIiUBmEarbI4rcrX3/Y II1Oe8GoCvyyD7/BJ37ENKX1Y3O1ZvwZJvKaTRamAJQmJKpR5/wFvrRBqp1kLG5l 1LHJOM2qfWAB7HWlALDXpgYS8UhovHWPqWZj7tLKzLEibvRKqqD6+ZRY29nJTkED KcvNY6pGv5vdoQoP6cHAWARg8WwGCR3brOXiPaNCp3GtsFfATEDHLhOIIc12vOg= =fa3t -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From bccf89a62a2e45cd45f4bf5d4adff9ec8a16b3bd Mon Sep 17 00:00:00 2001 From: Andrzej Hajda <a.hajda@samsung.com> Date: Mon, 20 May 2013 09:24:23 +0200 Subject: [PATCH] Do not stop encoding after empty buffers Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> --- v4l2-mfc-encoder/func_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v4l2-mfc-encoder/func_dev.c b/v4l2-mfc-encoder/func_dev.c index c3fff54..3cddef1 100644 --- a/v4l2-mfc-encoder/func_dev.c +++ b/v4l2-mfc-encoder/func_dev.c @@ -76,13 +76,13 @@ int func_deq_buf(struct io_dev *dev, enum io_dir dir) for (i = 0; i < bufs->nplanes; ++i) bufs->bytesused[bufs->nplanes * idx + i] = lens[i]; - dbg("Dequeued buffer %d/%d from %d:%d", idx, bufs->count, dev->fd, dir); + dbg("Dequeued buffer %d/%d from %d:%d ret=%d", idx, bufs->count, dev->fd, dir, ret); --dev->io[dir].nbufs; ++dev->io[dir].counter; - if (ret <= 0 || (dev->io[dir].limit && + if (ret < 0 || (dev->io[dir].limit && dev->io[dir].limit <= dev->io[dir].counter)) { dev->io[dir].state = FS_END; dbg("End on %d:%d", dev->fd, dir); -- 1.8.3.2