An example
- Load your flag

- Look for a silk-like cloth texture , by example on
google image and load it as a layer set to "Hard Light"
Color -> Desaturate in case you decided to use a colored texture so that "wrinkle" layer will not be using colors

- Control the output given by that layer with Color -> Brightness/Contrast for that wrinkle layer

- In case you have noisy result, just use Filter -> Blur -> Gaussian blur on your wrinkle layer until you're satisfied

- Still with your wrinkle layer selected -> Select -> Select All (or CTRL+A) , then CTRL+C (or Edit -> Copy) then Edit -> Paste As -> New Image

- Back now to the image you were working on, this time select your flag layer only (not the wrinkle one anymore)

- Now time to displace, click then Filter -> Map -> Displace
Be sure to change the picture used by Pinch and Whirl to the actual wrinkle, by default it may use the flag instead, that's the reason we copy/pasted the wrinkly into a new image or you wouldn't have been able to use that wrinkle as the displace texture
And change the Edge behaviour to Smear for better result

- Press Ok , result :

You can now just fix where it's needed with some brush of the color needed, in my example the black patch in the middle of the red color is fixed by simply brushing that part to red on the now displaced flag layer.

And nothing stop you to edit manually the now displaced flag layer with colored brush to get a better result

Note : use less wrinkled silk texture and you will obtain less dramatic displacement if you wish, or just tone down the Pinch and Whirl values (default 20 , that i used in that example) to lower ones, 10 should be good