projects
/
libam7xxx.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
am7xxx: add support for Acer C112
[libam7xxx.git]
/
examples
/
am7xxx-play.c
diff --git
a/examples/am7xxx-play.c
b/examples/am7xxx-play.c
index
5aa53ae
..
2fc8763
100644
(file)
--- a/
examples/am7xxx-play.c
+++ b/
examples/am7xxx-play.c
@@
-17,6
+17,12
@@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/**
+ * @example examples/am7xxx-play.c
+ * am7xxx-play uses libavdevice, libavformat, libavcodec and libswscale to
+ * decode the input, encode it to jpeg and display it with libam7xxx.
+ */
+
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
@@
-84,7
+90,7
@@
static int video_input_init(struct video_input_ctx *input_ctx,
/* get information on the input stream (e.g. format, bitrate, framerate) */
ret = avformat_find_stream_info(input_format_ctx, NULL);
if (ret < 0) {
/* get information on the input stream (e.g. format, bitrate, framerate) */
ret = avformat_find_stream_info(input_format_ctx, NULL);
if (ret < 0) {
- fprintf(stderr, "cannot get information on the stream");
+ fprintf(stderr, "cannot get information on the stream
\n
");
goto cleanup;
}
goto cleanup;
}
@@
-115,7
+121,7
@@
static int video_input_init(struct video_input_ctx *input_ctx,
/* find the decoder for the video stream */
input_codec = avcodec_find_decoder(input_codec_ctx->codec_id);
if (input_codec == NULL) {
/* find the decoder for the video stream */
input_codec = avcodec_find_decoder(input_codec_ctx->codec_id);
if (input_codec == NULL) {
- fprintf(stderr, "input_codec is NULL!");
+ fprintf(stderr, "input_codec is NULL!
\n
");
ret = -ENOTSUP;
goto cleanup;
}
ret = -ENOTSUP;
goto cleanup;
}
@@
-163,7
+169,7
@@
static int video_output_init(struct video_output_ctx *output_ctx,
int ret;
if (input_ctx == NULL) {
int ret;
if (input_ctx == NULL) {
- fprintf(stderr, "input_ctx must not be NULL!");
+ fprintf(stderr, "input_ctx must not be NULL!
\n
");
ret = -EINVAL;
goto out;
}
ret = -EINVAL;
goto out;
}
@@
-171,7
+177,7
@@
static int video_output_init(struct video_output_ctx *output_ctx,
/* create the encoder context */
output_codec_ctx = avcodec_alloc_context3(NULL);
if (output_codec_ctx == NULL) {
/* create the encoder context */
output_codec_ctx = avcodec_alloc_context3(NULL);
if (output_codec_ctx == NULL) {
- fprintf(stderr, "cannot allocate output codec context!");
+ fprintf(stderr, "cannot allocate output codec context!
\n
");
ret = -ENOMEM;
goto out;
}
ret = -ENOMEM;
goto out;
}
@@
-290,7
+296,7
@@
static int am7xxx_play(const char *input_format_string,
/* allocate an input frame */
picture_raw = avcodec_alloc_frame();
if (picture_raw == NULL) {
/* allocate an input frame */
picture_raw = avcodec_alloc_frame();
if (picture_raw == NULL) {
- fprintf(stderr, "cannot allocate the raw picture frame!");
+ fprintf(stderr, "cannot allocate the raw picture frame!
\n
");
ret = -ENOMEM;
goto cleanup_output;
}
ret = -ENOMEM;
goto cleanup_output;
}
@@
-598,7
+604,7
@@
int main(int argc, char *argv[])
am7xxx_context *ctx;
am7xxx_device *dev;
am7xxx_context *ctx;
am7xxx_device *dev;
- while ((opt = getopt(argc, argv, "f:i:o:s:uF:q:l:
hp:
")) != -1) {
+ while ((opt = getopt(argc, argv, "f:i:o:s:uF:q:l:
p:h
")) != -1) {
switch (opt) {
case 'f':
input_format_string = strdup(optarg);
switch (opt) {
case 'f':
input_format_string = strdup(optarg);
@@
-678,11
+684,6
@@
int main(int argc, char *argv[])
log_level = AM7XXX_LOG_ERROR;
}
break;
log_level = AM7XXX_LOG_ERROR;
}
break;
- case 'h':
- usage(argv[0]);
- ret = 0;
- goto out;
- break;
case 'p':
power_mode = atoi(optarg);
switch(power_mode) {
case 'p':
power_mode = atoi(optarg);
switch(power_mode) {
@@
-699,6
+700,11
@@
int main(int argc, char *argv[])
goto out;
}
break;
goto out;
}
break;
+ case 'h':
+ usage(argv[0]);
+ ret = 0;
+ goto out;
+ break;
default: /* '?' */
usage(argv[0]);
ret = -EINVAL;
default: /* '?' */
usage(argv[0]);
ret = -EINVAL;