Multimedia API Reference

November 16, 2016 | 24.2.1 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nvee_jpeg_decode.md
Go to the documentation of this file.
1 Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2 
3 @page ee_jpeg_decode Image Decoder Sample
4 @{
5 
6  - [Overview](#overview)
7  - [Key Structure and Classes](#key)
8 
9 - - - - - - - - - - - - - - -
10 <a name="overview">
11 ## Overview ##
12 
13 The JPEG decode sample demonstrates JPEG decode and optional use of the lib4L2 conversion API, should buffer format conversion be required.
14 
15 ![](nvee_jpeg_decoder.jpg)
16 
17 #### Additional Details
18 
19 The output plane is used to receive input and the capture plane is used to produce output.
20 When calling [decodeToFd](classNvJPEGDecoder.html#ad23c66c8f6ff167a8f32737904674cad), the data format matches Tegra hardware so that no format conversion
21 is required. Calling [decodeToBuffer](classNvJPEGDecoder.html#a36819bd7bb80afc37854539c3d24a83a) requires converting the buffer to software format after
22 hardware-accelerated JPEG decoding. The JPEG file format contains the standard software format.
23 
24 - - - - - - - - - - - - - - -
25 <a name="key">
26 ## Key Structure and Classes ##
27 
28 This sample uses the following key structures and classes:
29 
30 |Element|Description|
31 |---|---|
32 |[NvVideoConverter](classNvVideoConverter.html)|Contains elements and functions for video format conversion.|
33 |[NvJpegDecoder](classNvJpegDecoder.html)|Contains elements and functions for decoding JPEG images.|
34 
35 %NvVideoConverter contains all video converting related elements and functions. Key members of %NvVideoConverter used in the sample are:
36 
37 |%NvVideoConverter Member|Description|
38 |---|---|
39 |[output_plane](classNvV4l2Element.html#aaba251827cef1b23e7c42f776e95fee5)|V4l2 output plane.|
40 |[capture_plane](classNvV4l2Element.html#a91806d7ed13b4b2c48758e8a02f46c6d)|V4l2 capture plane.|
41 |[waitForIdle](classNvVideoConverter.html#a2f5d1a234427862adf9cae7323b5e24c)|Wait until all queued output plane buffers are processed and dequeued from the capture plane.|
42 |[setOutputPlaneFormat](classNvVideoDecoder.html#a7cacbe8afce830495c25514cbd7c8efe)|Set output plane format.|
43 |[setCapturePlaneFormat](classNvVideoDecoder.html#abc20773d70cfafed881238dfda6046ce)|Set capture plane format.|
44 
45 The %NvVideoConverter elements `output_plane` and `capture_plane` belong to the NvV4l2ElementPlane class. Key members of [NvV4l2ElementPlane](group__ee__nvv4lelementplane__group.html) used in the sample are as follows:
46 
47 |Element|Description|
48 |---|---|
49 |[setupPlane](classNvV4l2ElementPlane.html#a89959f455e5222f686187cc826b1b345)|Setup the plane of V4l2 element.|
50 |[deinitPlane](classNvV4l2ElementPlane.html#af89cfe87d8f818beb0478bcf5b72574c)|Destroy the plane of V4l2 element.|
51 |[setStreamStatus](classNvV4l2ElementPlane.html#a03164dde4d7ab41f3e92b41e13059316)|Start/Stop the stream.|
52 |[setDQThreadCallback](classNvV4l2ElementPlane.html#a37f213325e0e4857180f5b2319317d6a)|Set the callback function of the dqueue buffer thread.|
53 |[startDQThread](classNvV4l2ElementPlane.html#a31f77f5e5ed1f320caa44a868a7cbedd)|Start the thread of the dqueue buffer.|
54 |[stopDQThread](classNvV4l2ElementPlane.html#aa798d14493de321fa90aeab6d944ca87)|Stop the thread of the dqueue buffer.|
55 |[qBuffer](classNvV4l2ElementPlane.html#af4d52964fcfd37082f47682e457f5e95)|Queue the V4l2 buffer.|
56 |[dqBuffer](classNvV4l2ElementPlane.html#a8dfcbc666ee6f36a02abfb1170ae05cd)|Dequeue the V4l2 buffer.|
57 |[getNumBuffers](classNvV4l2ElementPlane.html#ac5cd394a7e0a4afd69395759aeac8787)|Get the number of the V4l2 buffer.|
58 |getNumQueuedBuffers|Get the number of the V4l2 buffer under queue.|
59 |[getNthBuffer](classNvV4l2ElementPlane.html#a868d438908f3d267dd4af1033133892f)| Get the NvBuffer at Index N.|
60 
61 The [NvJpegDecoder](classNvJPEGDecoder.html) class contains all of the functions for JPEG image decoding. Key members used are:
62 
63 |Function|Description|
64 |---|---|
65 |[decodeToFd](classNvJPEGDecoder.html#ad23c66c8f6ff167a8f32737904674cad)|Decode to hardware buffer (at a file descriptor) where the data is available to other components.|
66 |[decodeToBuffer](classNvJPEGDecoder.html#a36819bd7bb80afc37854539c3d24a83a)|Decode to a software buffer.|
67 
Defines a helper class for operations performed on a V4L2 Element plane.
Class representing a buffer.
Definition: NvBuffer.h:85
Defines a helper class for V4L2 Video Converter.